# Worktrees for parallel development
/worktree/

# Build artifacts
build/

# Auto-generated API reference (pdoc output)
docs/api/

# hatch-vcs generated version file
hephaestus/_version.py

# Automation scratch files (per-issue learnings, planning notes, etc.) — see #1023
LEARNINGS_ISSUE_*.md

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

# Virtual environments
.venv/
venv/
ENV/

# IDE
.idea/
.vscode/*
# Track shared, project-wide VS Code config (extensions.json, settings.json,
# launch.json with the project's canonical debug entry points). Personal
# overrides (tasks.json, *.code-workspace, *.code-snippets) stay ignored.
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/settings.json
*.swp
*.swo
*.orig
*.bak

# OS
.DS_Store
Thumbs.db

# Secrets and local privacy guards
.env
.env.local
.heph-private-denylist
# .heph-project-denylist is intentionally tracked (centrally enforced); never ignore it.
!.heph-project-denylist
*.pem
credentials.json

# uv
.venv/
.ruff_cache/

# Coverage reports
.coverage
htmlcov/
.pytest_cache/

# Type checking
.mypy_cache/

# Jupyter
.ipynb_checkpoints/

# Root-level log files
/*.log

# Pi smoke validation logs
/pi-smoke-*.out
/pi-smoke-*.err
/pi-smoke-logs/

# Automation runtime directories
.worktrees/
.issue_implementer/
.mnemosyne.lock

# Patch files (generated by git format-patch)
*.patch

# Claude Code agent prompt artifacts (accidentally-committed temporary files)
/.claude-prompt-*.md
/.claude-followup-*.md

# Claude Code scheduled-task runtime lock (per-machine, per-process — not source)
.claude/scheduled_tasks.lock

# Claude Code per-machine local settings — accumulates automation-loop
# permission-prompt artifacts (e.g. Bash(for f:*), Bash(done)); never source (#1494)
.claude/settings.local.json
