node_modules
.DS_Store

# ESLint cache
node_modules/.cache/eslint/
TO-DOS.md
CLAUDE.md
/research.claude/
commands.html

# Local test installs
.claude/

# Cursor IDE — local agents/skills bundle (never commit)
.cursor/

# Build artifacts (committed to npm, not git)
hooks/dist/

# Per-process atomic-write staging dirs used by scripts/build-hooks.js (see comment there)
hooks/.dist-staging-*/

# Coverage artifacts
coverage/

# Derived docs-guard test list (CI-generated by docs-required.yml, #3753)
.docs-guard-tests.txt
.docs-changed-paths.txt

# Animation assets
animation/
*.gif

# Internal planning documents
reports/
RAILROAD_ARCHITECTURE.md
.planning/
analysis/
docs/GSD-MASTER-ARCHITECTURE.md
docs/GSD-RUST-IMPLEMENTATION-GUIDE.md
docs/GSD-SYSTEM-SPECIFICATION.md
gaps.md
improve.md
philosophy.md

# Installed skills
.github/agents/gsd-*
.github/skills/gsd-*
.github/gsd-core/*
.github/skills/gsd-core
.github/copilot-instructions.md
.bg-shell/

# ── GSD baseline (auto-generated) ──
.gsd
Thumbs.db
*.swp
*.swo
*~
.idea/
.vscode/
*.code-workspace
.env
.env.*
!.env.example
.next/
dist/
build/

# ADR-457 build-at-publish: TS-generated runtime artifacts (compiled from src/*.cts
# by `npm run build:lib`). Source of truth is src/; these are emitted, never edited.
# Published via prepublishOnly; built before test via pretest. Grows as modules migrate.
/tsconfig.build.tsbuildinfo
/gsd-core/bin/lib/commonjs-marker.cjs
/gsd-core/bin/lib/broken-windows.cjs
/gsd-core/bin/lib/complexity-trigger.cjs
/gsd-core/bin/lib/refactor-trigger-command-router.cjs
/gsd-core/bin/lib/host-integration.cjs
/gsd-core/bin/lib/host-integration-sdk.cjs
/gsd-core/bin/lib/host-integration-adapters/imperative-hook-bus.cjs
/gsd-core/bin/lib/host-integration-adapters/cline-sdk-binding.cjs
/gsd-core/bin/lib/handshake-serialized.cjs
/gsd-core/bin/lib/install-effort-resolver.cjs
/gsd-core/bin/lib/install-model-override-resolver.cjs
/gsd-core/bin/lib/install-engine.cjs
/gsd-core/bin/lib/real-home-guard.cjs
/gsd-core/bin/lib/embedding-adapter.cjs
/gsd-core/bin/lib/adapter-declarative.cjs
/gsd-core/bin/lib/adapter-imperative.cjs
/gsd-core/bin/lib/model-adapter.cjs
/gsd-core/bin/lib/hook-bus.cjs
/gsd-core/bin/lib/state-io.cjs
/gsd-core/bin/lib/mcp-server.cjs
/gsd-core/bin/lib/mcp-catalog.cjs
/gsd-core/bin/lib/external-descriptor-trust.cjs
/gsd-core/bin/lib/cli-skew-check.cjs
/gsd-core/bin/lib/context-composer.cjs
/gsd-core/bin/lib/context-predicates.cjs
/gsd-core/bin/lib/workflow-fragments.cjs
/gsd-core/bin/lib/section-manifest.cjs
/gsd-core/bin/lib/capability-loader.cjs
/gsd-core/bin/lib/capability-source.cjs
/gsd-core/bin/lib/capability-ledger.cjs
/gsd-core/bin/lib/capability-trust.cjs
/gsd-core/bin/lib/capability-lifecycle.cjs
/gsd-core/bin/lib/capability-consent.cjs
/gsd-core/bin/lib/capability-lock.cjs
/gsd-core/bin/lib/markdown-sectionizer.cjs
# #3311: new module (milestone lock) — emitted artifact, never edited.
/gsd-core/bin/lib/milestone-lock.cjs
# #2657: these two (markdown-table.cjs, write-set.cjs) already had the
# pattern below since #2248, but stayed tracked because `git rm --cached`
# was never run — same untracking fix as the seven lines that follow.
/gsd-core/bin/lib/markdown-table.cjs
/gsd-core/bin/lib/write-set.cjs
# #2657: ADR-457 migration gap — these seven (of nine total; the two above
# are the other two) never got a .gitignore entry when their modules moved
# into src/*.cts, and were also never untracked.
/gsd-core/bin/lib/api-coverage.cjs
/gsd-core/bin/lib/assumption-delta.cjs
/gsd-core/bin/lib/claude-orchestration.cjs
/gsd-core/bin/lib/claude-orchestration-command-router.cjs
/gsd-core/bin/lib/external-job.cjs
/gsd-core/bin/lib/runtime-artifact-install-plan.cjs
/gsd-core/bin/lib/state-transition.cjs
# #3873: schema leaf module (ADR-3473 §8.8) — emitted artifact, never edited.
/gsd-core/bin/lib/state-md-schema.cjs
/gsd-core/bin/lib/resolution.cjs
/gsd-core/bin/lib/research-store.cjs
/gsd-core/bin/lib/research-provider.cjs
/gsd-core/bin/lib/package-legitimacy.cjs
/gsd-core/bin/lib/semver-compare.cjs
/gsd-core/bin/lib/plan-drift-guard.cjs
/gsd-core/bin/lib/edge-probe.cjs
/gsd-core/bin/lib/probe-core.cjs
/gsd-core/bin/lib/spec-section.cjs
/gsd-core/bin/lib/prohibition-enforcement.cjs
/gsd-core/bin/lib/ui-consideration-probe.cjs
/gsd-core/bin/lib/config-types.cjs
/gsd-core/bin/lib/cli-exit.cjs
/gsd-core/bin/lib/code-review-flags.cjs
/gsd-core/bin/lib/code-review-depth.cjs
/gsd-core/bin/lib/context-utilization.cjs
/gsd-core/bin/lib/artifacts.cjs
/gsd-core/bin/lib/command-arg-projection.cjs
/gsd-core/bin/lib/clock.cjs
/gsd-core/bin/lib/ui-safety-gate.cjs
/gsd-core/bin/lib/ui-frontend-evidence.cjs
/gsd-core/bin/lib/review-reviewer-selection.cjs
/gsd-core/bin/lib/review-lane-descriptor.cjs
/gsd-core/bin/lib/review-lane-invocation.cjs
/gsd-core/bin/lib/review-lane-runner.cjs
/gsd-core/bin/lib/clusters.cjs
/gsd-core/bin/lib/installer-migrations/001-legacy-orphan-files.cjs
/gsd-core/bin/lib/observability/redaction.cjs
/gsd-core/bin/lib/installer-migration-report.cjs
/gsd-core/bin/lib/prompt-budget.cjs
/gsd-core/bin/lib/secrets.cjs
/gsd-core/bin/lib/smart-entry.cjs
/gsd-core/bin/lib/phase-lifecycle.cjs
/gsd-core/bin/lib/workstream-name-policy.cjs
/gsd-core/bin/lib/decisions.cjs
/gsd-core/bin/lib/teams-status.cjs
/gsd-core/bin/lib/validate.cjs
/gsd-core/bin/lib/schema-detect.cjs
/gsd-core/bin/lib/runtime-name-policy.cjs
/gsd-core/bin/lib/runtime-identity.cjs
/gsd-core/bin/lib/runtime-slash.cjs
/gsd-core/bin/lib/observability/event.cjs
/gsd-core/bin/lib/workstream-inventory-builder.cjs
/gsd-core/bin/lib/plan-scan.cjs
/gsd-core/bin/lib/fallow-runner.cjs
/gsd-core/bin/lib/project-root.cjs
/gsd-core/bin/lib/installer-migration-authoring.cjs
/gsd-core/bin/lib/update-context.cjs
/gsd-core/bin/lib/installer-migrations/000-first-time-baseline.cjs
/gsd-core/bin/lib/installer-migrations/008-cursor-retire-commands-surface.cjs
/gsd-core/bin/lib/retired-artifact-cleanup.cjs
/gsd-core/bin/lib/runtime-homes.cjs
/gsd-core/bin/lib/model-catalog.cjs
/gsd-core/bin/lib/configuration.cjs
/gsd-core/bin/lib/state-document.cjs
/gsd-core/bin/lib/shell-command-projection.cjs
/gsd-core/bin/lib/security.cjs
/gsd-core/bin/lib/verification.cjs
/gsd-core/bin/lib/verification-command-router.cjs
/gsd-core/bin/lib/command-aliases.cjs
/gsd-core/bin/lib/config-schema.cjs
/gsd-core/bin/lib/model-profiles.cjs
/gsd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs
/gsd-core/bin/lib/installer-migrations/003-rename-get-shit-done-to-gsd-core.cjs
/gsd-core/bin/lib/installer-migrations/004-prune-stale-pristine-snapshots.cjs
/gsd-core/bin/lib/installer-migrations/005-opencode-baseline-commands-dir.cjs
/gsd-core/bin/lib/installer-migrations/006-pi-extension-cjs-to-js.cjs
/gsd-core/bin/lib/installer-migrations/007-retire-config-root-commonjs-marker.cjs
/gsd-core/bin/lib/installer-migrations/009-pi-retire-reserved-hooks-dir.cjs
/gsd-core/bin/lib/installer-migrations/010-antigravity-retire-confighome-artifacts.cjs
/gsd-core/bin/lib/observability/logger.cjs
/gsd-core/bin/lib/active-workstream-store.cjs
/gsd-core/bin/lib/adr-parser.cjs
/gsd-core/bin/lib/graphify.cjs
/gsd-core/bin/lib/graphify-command-router.cjs
/gsd-core/bin/lib/audit-command-router.cjs
/gsd-core/bin/lib/intel-command-router.cjs
/gsd-core/bin/lib/install-profiles.cjs
/gsd-core/bin/lib/intel.cjs
/gsd-core/bin/lib/installer-migrations.cjs
/gsd-core/bin/lib/worktree-base-ref.cjs
/gsd-core/bin/lib/worktree-safety.cjs
/gsd-core/bin/lib/planning-workspace.cjs
/gsd-core/bin/lib/planning-scope.cjs
/gsd-core/bin/lib/planning-snapshot.cjs
/gsd-core/bin/lib/planning-inspect.cjs
/gsd-core/bin/lib/planning-command-router.cjs
/gsd-core/bin/lib/plan-document.cjs
/gsd-core/bin/lib/state-contract.cjs
/gsd-core/bin/lib/pattern.cjs
/gsd-core/bin/lib/text-lines.cjs
/gsd-core/bin/lib/token-scanner.cjs
/gsd-core/bin/lib/health-diagnostic-types.cjs
/gsd-core/bin/lib/health-diagnostic.cjs
/gsd-core/bin/lib/health-diagnostic-rules/root-existence.cjs
/gsd-core/bin/lib/health-diagnostic-rules/state-consistency.cjs
/gsd-core/bin/lib/health-diagnostic-rules/config-validation.cjs
/gsd-core/bin/lib/health-diagnostic-rules/phase-structure.cjs
/gsd-core/bin/lib/health-diagnostic-rules/agent-install.cjs
/gsd-core/bin/lib/health-diagnostic-rules/roadmap-disk-consistency.cjs
/gsd-core/bin/lib/health-diagnostic-rules/worktree-health.cjs
/gsd-core/bin/lib/health-diagnostic-rules/milestone-archive-hygiene.cjs
/gsd-core/bin/lib/health-diagnostic-rules/consistency.cjs
/gsd-core/bin/lib/health-diagnostic-rules/install-surface-shadowing.cjs
/gsd-core/bin/lib/command-roster.cjs
/gsd-core/bin/lib/runtime-artifact-conversion.cjs
/gsd-core/bin/lib/runtime-artifact-layout.cjs
/gsd-core/bin/lib/install-scope.cjs
/gsd-core/bin/lib/install-fs-adapter.cjs
/gsd-core/bin/lib/user-artifact-staging.cjs
/gsd-core/bin/lib/installed-surface-resolver.cjs
/gsd-core/bin/lib/install-shadow-report.cjs
/gsd-core/bin/lib/runtime-config-adapter-registry.cjs
/gsd-core/bin/lib/runtime-hooks-surface.cjs
/gsd-core/bin/lib/command-routing-hub.cjs
/gsd-core/bin/lib/core-utils.cjs
/gsd-core/bin/lib/io.cjs
/gsd-core/bin/lib/phase-id.cjs
/gsd-core/bin/lib/normalize-test-command.cjs
/gsd-core/bin/lib/config-loader.cjs
/gsd-core/bin/lib/unusable-input.cjs
/gsd-core/bin/lib/model-resolver.cjs
/gsd-core/bin/lib/loop-resolver.cjs
/gsd-core/bin/lib/capability-state.cjs
/gsd-core/bin/lib/capability-writer.cjs
/gsd-core/bin/lib/capability-activation.cjs
/gsd-core/bin/lib/federated-config.cjs
/gsd-core/bin/lib/phase-locator.cjs
/gsd-core/bin/lib/plan-dependency-graph.cjs
/gsd-core/bin/lib/phase-estimation.cjs
/gsd-core/bin/lib/estimate-cli.cjs
/gsd-core/bin/lib/roadmap-parser.cjs
/gsd-core/bin/lib/drift.cjs
/gsd-core/bin/lib/cjs-command-router-adapter.cjs
/gsd-core/bin/lib/phase-command-router.cjs
/gsd-core/bin/lib/surface.cjs
/gsd-core/bin/lib/gap-checker.cjs
/gsd-core/bin/lib/gate-predicate-evaluator.cjs
/gsd-core/bin/lib/docs.cjs
/gsd-core/bin/lib/check-command-router.cjs
/gsd-core/bin/lib/verify-command-grounding.cjs
/gsd-core/bin/lib/frontmatter.cjs
/gsd-core/bin/lib/learnings.cjs
/gsd-core/bin/lib/gsd2-import.cjs
/gsd-core/bin/lib/profile-pipeline.cjs
/gsd-core/bin/lib/roadmap-upgrade.cjs
/gsd-core/bin/lib/phases-command-router.cjs
/gsd-core/bin/lib/verify-command-router.cjs
/gsd-core/bin/lib/eval.cjs
/gsd-core/bin/lib/eval-command-router.cjs
/gsd-core/bin/lib/init-command-router.cjs
/gsd-core/bin/lib/onboard-projection.cjs
/gsd-core/bin/lib/agent-command-router.cjs
/gsd-core/bin/lib/agent-install-check.cjs
/gsd-core/bin/lib/codex-agent-toml.cjs
/gsd-core/bin/lib/task-command-router.cjs
/gsd-core/bin/lib/validate-command-router.cjs
/gsd-core/bin/lib/workstream-inventory.cjs
/gsd-core/bin/lib/roadmap-command-router.cjs
/gsd-core/bin/lib/state-command-router.cjs
/gsd-core/bin/lib/config.cjs
/gsd-core/bin/lib/profile-output.cjs
/gsd-core/bin/lib/template.cjs
/gsd-core/bin/lib/commands.cjs
/gsd-core/bin/lib/state.cjs
/gsd-core/bin/lib/milestone.cjs
/gsd-core/bin/lib/phase.cjs
/gsd-core/bin/lib/verify.cjs
/gsd-core/bin/lib/init.cjs
/gsd-core/bin/lib/uat.cjs
/gsd-core/bin/lib/coverage.cjs
/gsd-core/bin/lib/uat-predicate.cjs
/gsd-core/bin/lib/workstream.cjs
/gsd-core/bin/lib/roadmap.cjs
/gsd-core/bin/lib/audit.cjs
/gsd-core/bin/lib/git-base-branch.cjs
/gsd-core/bin/lib/host-runtime-detection.cjs
__pycache__/
*.pyc
.venv/
venv/
target/
vendor/
# Vendored third-party artifacts under version control on purpose — see
# gsd-core/bin/lib/vendor/README.md. bin/** must have zero external requires
# (installed trees ship with no node_modules), so this one directory is a
# deliberate, tracked exception to the blanket `vendor/` ignore above.
!/gsd-core/bin/lib/vendor/
# Source-side twin (tsc resolves a .cts module's relative imports against
# src/, not the output dir) of the same vendored artifact — see
# scripts/lint-vendored-deps.cjs, which keeps both copies in sync.
!/src/vendor/
*.log
.cache/
tmp/
.worktrees
.envrc

# MemPalace per-project files (issue #185)
mempalace.yaml
entities.json
.planning/.mempalace-stage/

# Local scratch + Claude-test artifacts
.scratch/
claude-test-command.md

# Observability audit trail (issue #177) — append-only, local only
.planning/.gsd-trace.jsonl

# Mutation testing artifacts (issue #454)
.stryker-tmp/
.stryker-incremental.json
reports/mutation/

# Local Crabbox machine configuration
.crabbox.yaml
.crabbox.local.yaml

# Memtrace local daemon/runtime state (per-machine; never committed)
.memdb/
.memtrace/

# QA-walk report artifact (generated by tests/qa/run-report.cjs)
qa-report.json
