Skip to content

docs: add CLAUDE.md as a short card - #12

Merged
NSchatz merged 1 commit into
mainfrom
harness/80-examples-claude-md-short-card
Oct 20, 2026
Merged

NSchatz merged 1 commit into
mainfrom
harness/80-examples-claude-md-short-card

Conversation

@NSchatz

@NSchatz NSchatz commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

What and why

This repo had no CLAUDE.md. This adds one as a short card (45 lines), the first thing a session reads here: what the repo is, the gate in the order to run it, the hazard, and the rules that bind. Nothing else changes.

The two rules come from this repo's own pull requests: #8 (cli-tour's old lockfile held @cosyte/fhir 0.0.10, which every peer range still accepted, so the lockfile is regenerated from scratch on a version move) and #7 and #10 (README claims narrowed to what the starters run and assert). There was no old CLAUDE.md, documentation/agent-notes*, CONTRIBUTING.md or CHANGELOG.md to carry rules over from.

Every command the card names, and how we checked it (checked, not run)

Command How checked
bash scripts/check-no-emdash.sh bash on PATH (command -v bash); git ls-files scripts/check-no-emdash.sh
its --stdin mode the script's usage line and its "${1:-}" = "--stdin" branch
npm ci npm built-in; npm on PATH (command -v npm)
npm test a test script in all 10 starters' package.json (jq -r '.scripts | keys[]')
npm start a start script in all 10 starters' package.json
git ls-files -- '*/package.json' | awk -F/ 'NF == 2 { print $1 }' git and awk on PATH; the same line as starters.yml's discover step; it lists the 10 starters
mise exec node@22 -- npm ci, mise exec node@22 -- npm test mise on PATH (command -v mise); under it node --version prints v22.23.3
rm -rf node_modules package-lock.json && npm install rm on PATH; npm install is an npm built-in
npm ls --all npm built-in

Paths it names, each listed by git ls-files: scripts/check-no-emdash.sh, .github/workflows/no-emdash.yml, .github/workflows/starters.yml. There is no root package.json, so the card names no root script.

The checks it names (no-emdash, All starters) are the two contexts gh api repos/cosyte/examples/rules/branches/main lists as required, and that ruleset allows squash merges only, which is why the card says the PR title and body become the commit on main.

How it was checked

  • wc -l < CLAUDE.md: 45.
  • bash scripts/check-no-emdash.sh with CLAUDE.md staged: OK. rg -n '[\x{2013}\x{2014}]' over CLAUDE.md, the commit message and this body: nothing.
  • Every starter, npm ci then npm test, on Node 24.22.0 and on Node 22.23.3 (mise exec node@22): 20 of 20 pass, 45 tests per Node line, 0 fail.

Harness-Task: 80

🤖 Generated with Claude Code

This repo had no CLAUDE.md. The card is what a session reads first here:
what the repo is, the gate in the order to run it, the hazard (a starter
gets copied into production, so its data stays synthetic and its patterns
safe), and two rules, each with the pull request whose failure proved it:
regenerate a lockfile from scratch on a version move (#8), and a README
says only what its starter runs and asserts (#7, #10).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NSchatz
NSchatz merged commit b575811 into main Oct 20, 2026
23 checks passed
@NSchatz
NSchatz deleted the harness/80-examples-claude-md-short-card branch October 20, 2026 04:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant