# === Local-only docs & design material  ===
# Code and configs are committed; documentation, the DEVLOG, roadmap, prompts, and design
# concepts stay local.
/*.md
/docs/
/roadmap/
/DEVLOG/
web/README.md
web/concepts/
crates/core/src/manifest/codec/BENCH_RESULTS.md

# === Rust / Cargo (server + core + sdk workspace) ===
/target/
**/*.rs.bk
# Cargo.lock IS committed (STYLE 3.1). .sqlx/ query cache IS committed (DATA_MODEL 6.1).

# === Node / web (Vite) ===
# web/.gitignore already covers node_modules, dist, dist-ssr, .vite, *.local
node_modules/
dist/
dist-ssr/
*.tsbuildinfo
# package-lock.json IS committed.

# === Python SDK (PyO3 / maturin) ===
__pycache__/
*.py[cod]
*$py.class
.venv/
venv/
env/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.pyright/
*.so
*.pyd
*.whl
wheelhouse/

# === Profiling / PGO (ADR-032) ===
*.profraw
*.profdata

# === Local config & secrets ===
.env
.env.*
!.env.example

# === Claude Code ===
.claude/settings.json
.claude/settings.local.json
.mcp.json

# === IDE / OS ===
.idea/
.vscode/
*.swp
*~
.DS_Store
Thumbs.db
desktop.ini

# === Logs ===
*.log

# === Playwright MCP debug artifacts ===
.playwright-mcp/
