Files
hmbown--codewhale/web/AGENTS.md
Hmbown f068b56d0c docs: trim crate-level AGENTS.md files to durable rules
crates/tui 88 -> 70, locales 57 -> 49, web 34 -> 30.

Same split as the root file. The perishable "Sharp edges" list moved to
docs/ops/CURRENT.md: the run_verifiers_background flake, the workflow history
card's Locale::En debt, and the classic-treatment freeze are lane state that
goes stale, not crate rules.

locales/AGENTS.md no longer hardcodes the pack count or names which packs are
complete. That list changed with every locale PR and the parity tests are
already the authoritative answer, so it now points at them.

crates/tui/AGENTS.md drops its restatement of the four-part string-addition
procedure and the do-not-delete pointer; locales/AGENTS.md and the root file
own those respectively. Verification commands stay at the narrowest scope where
they apply.
2026-08-02 16:56:34 -07:00

1.6 KiB

web — agent guidance

The codewhale.net site (Next.js). Read the repo-root AGENTS.md first.

  • Facts derive from the repo. npm run prebuild regenerates lib/facts.generated.ts (version, crate/provider/tool counts, license) and npm run check:facts fails if the committed copy drifts. Never hand-edit the generated file; change the source of truth in the repo and regenerate.

  • Gates (all must pass; CI runs them):

    npm ci && npm run prebuild && npm run check:facts && npm run check:docs \
      && npm test && npm run lint && npm run build
    

    check:docs verifies doc topics against real repo files, the version stamp, and install snippets — stale docs fail here, not in production.

  • Shared public copy lives in web/lib/content/. Locale-aware { en, zh } modules are the single source for product vocabulary and the getting-started path; pages render from them. Keep definitions verbatim with docs/public-surface-facts.json / docs/MODES.mdweb/lib/content/vocabulary.test.ts pins this. New locales extend the pairs, not the pages.

  • Real-session media goes through web/lib/media-manifest.ts. Never commit placeholder or staged footage; a pending entry renders the visible "recording pending release candidate" state via components/session-media.tsx. Flipping to published requires the full asset set and the enforceable file/byte/poster checks in media-manifest.test.ts.

  • AGENT.md (singular, next to this file) documents the community assistant — maintainer-owned automation. Don't extend it without Hunter.