Agent Flow
Implementation agents should not scan Snapshot blindly.
Use this discovery order:
- Read
docs/engineering-rules.md. - Read
docs/documentation-policy.md. - Read root
CLAUDE.md. - Read the nearest surface
CLAUDE.md. - Read Contributor Testing.
- Read the public entrypoint for the surface you are changing.
- Read the component, runtime, registry, generator, example, and nearest test files named by that surface guide.
For Snapshot UI work, treat these files as the canonical styling and composition pattern library:
src/ui/components/_base/schema.tssrc/ui/components/_base/style-surfaces.tssrc/ui/components/forms/button/standalone.tsxsrc/ui/components/forms/button/control.tsxsrc/ui/components/overlay/popover/standalone.tsxplayground/src/showcase.tsx
For app-author-facing discovery truth, treat these files as canonical:
apps/docs/src/content/docs/index.mdapps/docs/src/content/docs/start-here/index.mdapps/docs/src/content/docs/start-here/installation.mdapps/docs/src/content/docs/examples/index.mdplayground/src/showcase.tsx
Then execute the change in one pass:
- update the code
- update JSDoc on affected public exports
- update generated docs inputs
- update impacted guides under
apps/docs - update the top-level discovery pages if the capability inventory changed
- update impacted examples or playground showcase coverage
- update or add the nearest proving tests for the changed contract
- update the documentation impact map if the surface is new
- run
bun run docs:ci
If you introduce or change a visible UI surface:
- define or update named
slots - use canonical runtime state names
- update Theming and Styling when the platform pattern changed
- update any persona guide that should send app authors to the new surface
Canonical contributor instructions live in:
- root
CLAUDE.md src/ui/CLAUDE.mdsrc/ssr/CLAUDE.mdsrc/cli/CLAUDE.mdplayground/CLAUDE.mdapps/docs/CLAUDE.md
If public behavior changed and one of those layers did not move with it, the change is incomplete.