# Python
__pycache__/
*.py[cod]
*.egg-info/
.eggs/
build/
dist/
.venv/
venv/
.python-version
.pytest_cache/
.ruff_cache/

# Frontend
web/node_modules/
web/dist/
mintlify/scripts/node_modules/
mintlify/scripts/console-shots.local.json

# Local database / credentials / ledgers
# Local platform data: the console's database, its job work directories and the
# single-machine storage-root fallback. `.tuneplane-data/` is the current
# default; `.forge/` and a repository-root `.tuneplane/` are what earlier
# defaults wrote. Both are ignored rather than deleted -- they are somebody's
# data, and the platform does not move it on its own initiative. See
# docs/ops/local-data-after-the-rename.md.
.tuneplane-data/
/.forge/
/.tuneplane/
*.db

# Secrets / local configuration
.env
.env.*
!.env.example
docker-compose.override.yml
*.key
secrets.*

# Operating system / editor
.DS_Store
.idea/
.vscode/
*.swp
SwanLab/
RL/
.cursor/
# Claude Code: the shared hook config is committed, personal overrides are not.
.claude/settings.local.json

# Hydra run droppings from any tool invoked at the repo root (gym env validate,
# a bare verl compile). Generated, never read back, and they carry local paths.
outputs/

.codegraph/
.pnpm-store/

# Agent worktrees, created by the harness and never part of a commit.
.claude/worktrees/
