# Python
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
dist/
build/
*.egg

# Virtual env
.venv/
venv/
env/

# Environment variables
.env
.env.local

# IDE
.vscode/
.idea/
*.swp
*.swo

# Testing
.pytest_cache/
.coverage
htmlcov/

# Ruff
.ruff_cache/

# OS
.DS_Store
Thumbs.db

# Claude Code (local dev config). Ignore .claude/* by default, but TRACK the
# safety-enabling dev artifacts that ship with the project (ADR-037):
#   - .claude/agents/  — agents that drive isolated/safe development (ADR-036)
# .claude/settings.json is deliberately NOT tracked: its Bash permission allowlist
# (python/find/pip/git/rm/...) can semantically escape to arbitrary code execution,
# so shipping it would auto-approve RCE for every contributor (ADR-037 amendment —
# a tracked artifact must not itself widen the attack surface). Permission
# preferences stay local (settings.json, settings.local.json, commands/).
# (`.claude/*` + a negation, not `.claude/`, because a fully-excluded parent dir
#  cannot have its children re-included.)
.claude/*
!.claude/agents/
CLAUDE.md
CLAUDE.md.bak.*

# Codex CLI (local dev config — symmetric with Claude Code, ADR-008)
AGENTS.md
AGENTS.md.bak.*

# PM Lens data (local project management)
.pm/

# PM Lens lock files (defensive — covered by .pm/ above, but explicit for users
# who choose to commit .pm/ to git; PMSERV-048)
.pm/.locks/

# PM Lens X-content drafts — x_drafts.db carries raw_content (the unscrubbed
# concentrate, a secret at rest; ADR-024). Defensive explicit exclusion for
# users who choose to commit .pm/ to git (PMSERV-113 / PMSERV-120). Covers the
# WAL/SHM sidecars too.
.pm/x_drafts.db
.pm/x_drafts.db-wal
.pm/x_drafts.db-shm

# Synaptic Ledger (local knowledge data)
.synaptic/

# Blog/marketing article drafts — kept local-only. A product source repo is not
# the home for marketing posts: Zenn publishes from a dedicated zenn-content repo
# (articles/ + zenn-cli), note is web-editor only. Drafts live here untracked and
# are published manually per platform. (The README's dashboard image stays tracked
# under docs/assets/.)
docs/articles/

# Internal dev-overview HTML — kept local-only (same rationale as articles above:
# push == publish). This is an exploratory roadmap/architecture snapshot for
# private use, distinct from the OFFICIAL docs guides (architecture.html /
# user-guide.html, regenerated by PMSERV-132) which ARE tracked.
docs/pm-server-overview.html

# Playwright MCP scratch (page snapshots / console logs / screenshots)
.playwright-mcp/
