
!.claude/skills/
!.env.example
!.vscode/extensions.json
!.vscode/settings.json
# (promoted from state/builds/ when we want them as fixtures/demos).
# DB lives at state/init8.db (per config/init8.project.yml::paths.state_db).
# Direct Claude Code work artifacts (local, not project SSOT).
# Editors / OS
# Init8 runtime state — per-run ephemera, never committed.
# Node (reference products may have it)
# Python
# Reference products that ARE committed live under reference-products/
# Secrets
# Stray init8.db at repo root — gets created if a CLI invocation runs with
# The authoritative record lives in SQLite + YAML build traces;
# Use child-glob form + negation so git still descends into .claude/ to apply
# Validator cache
# a borked find_repo_root() resolution (Session 20 saw this once). The real
# re-runs rebuild. See state/README.md for the persistence model.
# sessions all discover them from this one path. See .claude/skills/README.md.
# short-circuit traversal).
# the !.claude/skills/ exception (a directory-level .claude/ ignore would
# …except skills. Skills are SSOT: Claude Code + Claude Desktop + future
*$py.class
*.egg-info/
*.py[cod]
*.swp
.DS_Store
.claude/*
.env
.env.*
.idea/
.mypy_cache/
.next/
.pyright/
.pytest_cache/
.ruff_cache/
.turbo/
.venv/
.vscode/*
/init8.db
/init8.db-journal
/init8.db-shm
/init8.db-wal
Thumbs.db
__pycache__/
build/
desktop.ini
dist/
env/
node_modules/
state/*.db
state/*.db-journal
state/*.db-shm
state/*.db-wal
state/build-traces/
state/builds/
state/deploys/
state/gitleaks-report.json
state/gitleaks-tracked.json
state/imports/
state/semgrep-report.json
tools/validators/.cache/
venv/
