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
refactor(tour): rename walkthrough → tour (brand) + add docs pipeline
Brand: rename the user-facing system name from "walkthrough" to
"tour" for pithiness. Renamed:
- scripts/walkthrough.mts → scripts/tour.mts
- walkthrough.json → tour.json
- pnpm walkthrough:* → pnpm tour:*
- Prose / error messages / CLI help: "walkthrough" → "tour"
- .github/workflows/pages.yml + valtown.yml: paths trigger +
step names reflect new script/config paths
- tour.json "title": "Socket PackageURL.js Tour"
Not renamed (intentional — meander hardcodes them or external
identifiers we don't want to churn):
- walkthrough/ output directory (meander writes here)
- walkthrough.css, walkthrough-part-N.html (meander emits these)
- walkthrough-drag.js, walkthrough-sw.js, walkthrough-comments.js,
walkthrough-overrides.css (our shims — keep "walkthrough" prefix
so they sit alongside the meander CSS they extend, consistent in
devtools)
- wt-* CSS class prefix (backronym: "walking tour")
- Val Town credentials + val-name identifiers (rotating them
orphans existing creds)
A note-on-naming table in docs/tour.md spells this out for future
readers so the hybrid makes sense at first glance.
Docs pipeline (new): scripts/tour.mts renders docs/*.md markdown
entries listed in tour.json's new "docs" array into <filename>.html
pages alongside the generated part files. Each doc gets the same
chrome as a part page (favicons, preloads, SW, SRI, CSP) and a
topic-nav pill row. index.html picks up a new Topics section
linking every doc.
- Validator: validateDocFilenames enforces shape [a-z]+, uniqueness
against every other doc, and non-collision with part filenames —
all errors follow the ERROR MESSAGES doctrine.
- marked 18.0.0 pinned as devDep (no caret).
- First shipping doc: docs/tour.md — the pipeline walkthrough
itself. Remaining 7 docs (architecture, builders, converters,
safety, vers, contributing, release) land in follow-up commits.
Copy file name to clipboardExpand all lines: .claude/skills/content-filename-from-title/SKILL.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
---
2
2
name: content-filename-from-title
3
-
description: Turns a prose title into a short, single-word, URL-friendly filename for published content (docs, walkthrough parts, blog slugs, guide pages). Use when adding a new entry to a manifest that exposes public filenames (e.g. walkthrough.json parts, docs/*.md for GH Pages), when renaming an existing one, or when a user asks "what should I name this file?"
3
+
description: Turns a prose title into a short, single-word, URL-friendly filename for published content (docs, tour parts, blog slugs, guide pages). Use when adding a new entry to a manifest that exposes public filenames (e.g. tour.json parts, docs/*.md for GH Pages), when renaming an existing one, or when a user asks "what should I name this file?"
4
4
---
5
5
6
6
# content-filename-from-title
7
7
8
8
<task>
9
9
Produce a single-word, lowercase, ASCII-only filename (no extension,
10
10
no hyphens, no digits) that best represents the content of a titled
11
-
page. The filename goes into a config manifest — `walkthrough.json`
11
+
page. The filename goes into a config manifest — `tour.json`
12
12
part entries, `docs/` frontmatter, or similar — where it becomes the
13
13
public URL segment for that page.
14
14
</task>
@@ -30,14 +30,14 @@ procedure so the output is reproducible.
30
30
31
31
## Where it fits in the repo
32
32
33
-
-`walkthrough.json` — the `parts[].filename` field is the URL segment
33
+
-`tour.json` — the `parts[].filename` field is the URL segment
34
34
the page is published under at `socketdev.github.io/socket-packageurl-js/<filename>.html`.
35
35
-`docs/*.md` — the file stem becomes the URL segment when docs are
36
36
stitched into the GH Pages flow (see `docs/pages-design-system.md`
37
37
for the surrounding design system).
38
38
- Any future blog or guide manifest added to this repo.
39
39
40
-
A build-time validator in `scripts/walkthrough.mts` enforces the
40
+
A build-time validator in `scripts/tour.mts` enforces the
41
41
**shape** (`[a-z]+`) and **uniqueness**; this skill decides the
Copy file name to clipboardExpand all lines: CLAUDE.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,10 +102,10 @@ Errors are a UX surface. When validating config or enforcing invariants, every e
102
102
- If two records collide, name both — not just the second one found
103
103
- Suggest, don't auto-correct. An error that silently repairs state hides the bug in the next run
104
104
105
-
Example — validator on `walkthrough.json`:
105
+
Example — validator on `tour.json`:
106
106
107
-
- ✗ `Error: invalid walkthrough config`
108
-
- ✓ `walkthrough.json: part 3 ("Parsing & Normalization") is missing "filename". Add a single-word lowercase filename (e.g. "parsing") to this part — one per part is required to route /<slug>/part/3 at publish time.`
107
+
- ✗ `Error: invalid tour config`
108
+
- ✓ `tour.json: part 3 ("Parsing & Normalization") is missing "filename". Add a single-word lowercase filename (e.g. "parsing") to this part — one per part is required to route /<slug>/part/3 at publish time.`
0 commit comments