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

# out/ contains pre-built targets (auto-generated, committed for distribution)

# Virtual environments
.venv/
venv/

# uv.lock is committed for reproducible CI builds

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

# Secrets / env files
*.env*

# OS
.DS_Store
Thumbs.db

# mypy
.mypy_cache/

# ruff
.ruff_cache/

# pytest
.pytest_cache/
htmlcov/
.coverage

# tmuxinator config is personal
.tmuxinator.yml

# Rulesync personal target overrides (gitignored; see rulesync.local.jsonc.example).
rulesync.local.jsonc

# Rulesync personal-target outputs. The shared rulesync.jsonc targets only
# claudecode and copilot; their outputs (.claude/agents/, .github/agents/) are
# committed. Anything else listed here is generated only when a dev adds it to
# their rulesync.local.jsonc, and must NOT be committed.
.cursor/
.aider*
.codeium/
.continue/
.opencode/
.kiro/
.augment/
.windsurf/
.qoder/
.roo/
.amp/
.cline/
.serena/
.augmentcode/
AGENTS.md
GEMINI.md
QODER.md
CLAUDE.md
.junie/
