node_modules/
dist/
dist-worker/
*.db
.DS_Store
.wrangler/
# `npm pack` output — a build artifact, never committed (verify:npm-package packs into a scratch dir).
*.tgz
# Build-time generated source (not committed — regenerated by `packages/cli/build.mjs` from a
# fresh `packages/ui` build, same convention as every other package's gitignored `dist/`).
packages/cli/src/generated/
# Same build-time pattern for the fixed MCP App HTML resource.
packages/mcp-app/src/generated/
# Playwright E2E output (packages/ui) — never committed.
packages/ui/test-results/
packages/ui/playwright-report/
packages/mcp-app/test-results/
packages/ui/blob-report/
/docs/
/research/
.superbee.json
.agentstate.json
packages/worker/wrangler.local.jsonc
.claude/
.codex/
.config/

# the shared board — managed on the 'board' branch by superbee sync
.agentstate-lite/

# retained release-candidate output (scripts/release-candidate.mjs): the built tarball + manifest
# are transient CI/run artifacts, never committed.
release-candidate/

# Stryker mutation-testing output (npm run mutation:core / mutation:cli) — reports are CI
# artifacts, never committed; .stryker-tmp holds inPlace-mode backups during a run;
# stryker-output-<pid>.json files are tap-runner child results a killed child can orphan.
packages/*/reports/
packages/*/.stryker-tmp/
packages/*/stryker-output-*.json
