You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,19 @@
7
7
- Write UI copy in present tense.
8
8
- If a beta or testing action is intentionally exposed in the UI, keep the copy short and action-oriented without internal implementation details.
9
9
10
+
## Public Release Copy
11
+
12
+
- Treat `CHANGELOG.md` as public end-user copy. It is shown inside the app, so write it for a broad audience.
13
+
- Write changelog entries in plain language around visible improvements, new capabilities, and user-facing fixes.
14
+
- Do not describe internal debugging, implementation mistakes, infrastructure failures, or engineering process details unless they matter directly to users.
15
+
- Avoid technical internals such as SQL, database query behavior, CI, hooks, migration mechanics, deployment plumbing, or exact failure modes in public changelog entries.
16
+
- If a change is mostly internal, summarize the user-facing benefit or omit it from the public changelog.
17
+
18
+
## Catalog References
19
+
20
+
- Do not use specific song titles, artist names, chart examples, or catalog contents as public examples in UI copy, documentation, or repo instructions unless the user explicitly asks for them.
21
+
- Keep public-facing copy neutral about catalog contents and focus on product behavior instead of example entries.
22
+
10
23
## Runtime And Browser Checks
11
24
12
25
- For this repo, assume the app is normally already running at `http://localhost:9000`.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
1. Branch from `main`.
6
6
7
7
Never commit directly to `main` and never push directly to `main`. If you start work while checked out on `main`, create a feature branch before staging, committing, or pushing. Do not bypass the repo hook that blocks commits on `main`.
8
-
2. Install dependencies and bootstrap local data:
8
+
2. Install dependencies and prepare the local app:
9
9
10
10
```bash
11
11
npm install
@@ -94,6 +94,9 @@ Do not leave code that expects a schema change without a checked-in migration.
94
94
- Keep [CHANGELOG.md](CHANGELOG.md), [package.json](package.json), and [package-lock.json](package-lock.json) aligned when preparing a release.
95
95
- Update the version and changelog for every branch that merges into `main`.
96
96
- Use a versioned changelog entry for shipped work. Do not keep an `Unreleased` section for merged changes.
97
+
- Treat [CHANGELOG.md](CHANGELOG.md) as public release notes for a broad audience because it is shown in the app.
98
+
- Write changelog entries around user-visible outcomes, not internal implementation details or engineering process notes.
99
+
- Avoid internal-only language in changelog entries, such as SQL, database query behavior, CI, hooks, migrations, deployment plumbing, or exact failure modes.
97
100
- Use `0.x.x` while the app is still pre-`1.0`.
98
101
- Use a patch release for routine shipped work, fixes, docs, workflow updates, and cleanup.
99
102
- Use a minor release when the shipped product scope expands materially.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ The local app runs on:
36
36
http://localhost:9000
37
37
```
38
38
39
-
Use the bundled sample catalog for normal local development. For Twitch auth, EventSub, bot flows, or panel testing, fill in the Twitch-related values in [`.env.example`](.env.example) and follow [docs/local-development.md](docs/local-development.md).
39
+
For Twitch auth, EventSub, bot flows, or panel testing, fill in the Twitch-related values in [`.env.example`](.env.example) and follow [docs/local-development.md](docs/local-development.md).
Copy file name to clipboardExpand all lines: docs/catalog-grouping-and-charter-preferences.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ When `grouped_project_id` is present on catalog rows, the app treats those chart
10
10
- song-group blacklists
11
11
- channel-scoped version handling in requests and management tools
12
12
13
-
Some catalog rows are not grouped upstream even though they are effectively alternate charts of the same song. In that case, RockList.Live uses a fallback grouping rule when it builds the version list for a playlist item:
13
+
Some catalog rows are not grouped upstream even though they are effectively alternate charts of the same song. In that case, RockList.Live uses a fallback grouping rule across grouped search results, request handling, and playlist version lists:
14
14
15
15
- same title
16
16
- same normalized artist name
@@ -21,9 +21,9 @@ Artist normalization is intentionally conservative. It currently:
21
21
- lowercases the name
22
22
- strips a leading `The `
23
23
24
-
That fallback is used when a viewer or manager adds a song and the app needs to preserve alternate chart versions on the resulting playlist item. It helps cases like `The Smashing Pumpkins` and `Smashing Pumpkins` when the upstream catalog does not provide a shared `grouped_project_id`.
24
+
That fallback keeps requester and streamer views aligned even when the upstream catalog does not provide a shared `grouped_project_id`.
25
25
26
-
Search results still render chart-level rows. The app does not persist a separate internal canonical grouping table yet, so fallback grouping is computed at request and add time rather than stored as new catalog metadata.
26
+
The app does not persist a separate internal canonical grouping table yet, so fallback grouping is computed from the catalog data rather than stored as new catalog metadata.
27
27
28
28
## Preferred Charters
29
29
@@ -47,4 +47,4 @@ Today, the app uses two layers:
47
47
1. upstream catalog grouping from CustomsForge when it exists
48
48
2. request-time fallback grouping for same-title and normalized-artist matches when upstream grouping is missing
49
49
50
-
That gives the streamer a fuller version list when requests are added, while keeping search and moderation behavior predictable.
50
+
That keeps search results, request handling, and playlist version selection consistent while preserving a fuller version list for streamers and moderators.
Copy file name to clipboardExpand all lines: docs/local-development.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,13 +49,13 @@ Add these when you test Twitch auth, EventSub, bot flows, or the panel:
49
49
50
50
Use `VITE_ALLOWED_HOSTS` when you need extra local hostnames, and `VITE_TWITCH_EXTENSION_API_BASE_URL` when the standalone panel build needs a different app origin.
51
51
52
-
4. Bootstrap the local D1 database:
52
+
4. Bootstrap the app database:
53
53
54
54
```bash
55
55
npm run db:bootstrap:local
56
56
```
57
57
58
-
That resets local D1, applies migrations, and seeds the bundled sample catalog.
58
+
That resets D1, applies migrations, and prepares the app database.
59
59
60
60
5. Start the app:
61
61
@@ -82,15 +82,15 @@ For this repo, treat `http://localhost:9000` as the default existing dev app. Be
82
82
83
83
Use `npm run db:migrate` for normal local schema updates.
84
84
85
-
Use `npm run db:bootstrap:local` only when you intentionally want to reset local data back to the bundled sample catalog.
85
+
Use `npm run db:bootstrap:local` only when you intentionally want to reset the app database.
86
86
87
-
## What Works With The Sample Catalog
87
+
## What Works Locally
88
88
89
89
- home page and channel pages
90
90
- search and filters
91
91
- settings and moderation UI
92
92
- playlist management flows
93
-
- Twitch panel UI against local data
93
+
- Twitch panel UI
94
94
95
95
Twitch sign-in, EventSub, bot replies, and hosted Twitch panel testing need valid Twitch credentials.
0 commit comments