# Dependencies node_modules/ # npm lockfile (project uses bun.lock; npm may regenerate this as a side # effect of npm subprocesses, but it should not be tracked) package-lock.json # Generated files dist/ build/ # Test fixtures simulate "generated dist" trees; keep them tracked so tests # can copy them into tmp git repos and assert is-generated behavior. !tests/framework-fixtures/**/dist/ !tests/framework-fixtures/**/dist/** # Build artifacts *.log # OS files .DS_Store Thumbs.db # IDE .vscode/ .idea/ # Claude Code local state .claude/projects/ .claude/scheduled_tasks.lock .claude/settings.local.json # Environment .env .env.local # Cloudflare .wrangler/ # Live mode session file + annotation screenshots (cleaned up on server stop) .impeccable-live.json .impeccable-live/ # Per-project live mode injection config (generated once per project by the # skill; wiped on skill update, regenerated on next live run) **/skills/impeccable/scripts/config.json # Extension build artifacts extension/detector/ # Legacy design context (pre-v3.1, auto-migrated to PRODUCT.md by load-context.mjs) .impeccable.md # Note: PRODUCT.md and DESIGN.md are INTENTIONALLY tracked in this repo — # they serve as reference implementations for users installing impeccable. # Users of impeccable in their own projects can choose whether to track them. # Evals (private, commercial) evals/ tests/evals-v2/ # Generated sub-pages (built from source/skills + content/site at build time) public/docs/ public/anti-patterns/ public/tutorials/ public/visual-mode/ public/slop/ # Note: harness skill directories (.claude/skills/, .cursor/skills/, etc.) # are intentionally tracked. npx skills reads them from this repo at install # time, and they enable clean submodule use. Run `bun run build` to refresh # them after editing source/skills/. # # Codex CLI consumes `.agents/skills/`; `.codex/` is not used. Ignore it so # local artifacts or old trees are never committed. .codex/