# Python
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.venv/
.pytest_cache/
.coverage
.coverage.*

# Config (contains real infrastructure data)
config/servers.toml
config/servers.toml.bak*

# Environment / secrets
.env
.env.*
!.env.example
*.secret
secrets/
credentials/
secrets.toml
secrets.yaml
secrets.yml
credentials.json

# SSH / TLS keys and certificates
*.pem
*.key
*.p12
*.pfx
*.crt
*.cer
id_rsa
id_rsa.*
id_ed25519
id_ed25519.*
id_ecdsa
id_ecdsa.*
id_dsa
id_dsa.*
*.pub
*.ppk

# Docs / AI-agent working directories — local only, not part of the project.
# `docs/` supersedes the previous narrower docs/research-prep/ + docs/internal/
# entries. Reminder: adding a directory here does NOT untrack files already
# committed under it; use `git rm -r --cached <dir>` for that.
docs/
wiki/
claude/
codex/
.codex/

# Hypothesis database
.hypothesis/

# Logs
logs/

# IDE
.idea/
.vscode/
*.swp

# Local MCP config (contains local paths)
.mcp.json

# Claude Code local settings
.claude/

# Local ops scratch (personal remote-management helpers, not part of the project)
_cmd_*.txt
_run_mcp.py
_wu_install.ps1

# OS
.DS_Store
