Use bun run typecheck for type checking. Typecheck runs tsgo --noEmit. Build emits both JS (via bun build) and .d.ts declarations (via tsc -p tsconfig.build.json). Bun is the runtime.
Check ./CONTEXT.md for terminology questions.
For user-facing changes, add a changeset to .changeset. Check all changesets there first to see if there are duplicates. We use @changesets/cli, but you can create/edit the file manually. Make all changesets patch (since we're pre-1.0). Use package.json#name for the name.
When changing public-facing behavior, check README.md to see if the documentation needs updating.
Issues live as GitHub issues in missingstudio/sanddune. See docs/agents/issue-tracker.md.
Default canonical labels (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix). See docs/agents/triage-labels.md.
Single-context layout: CONTEXT.md + docs/adr/ at the repo root. See docs/agents/domain.md.