# =============================================================================
# DRAZILL BACKEND - GITIGNORE
# =============================================================================

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
/lib/
/lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
venv/
ENV/
env/
.venv/
# ...but the sandbox RL environment package is source, not a virtualenv (DIW-10).
# Narrow to .py sources so build artifacts (__pycache__) stay ignored.
!app/services/ml/sandbox/env/
!app/services/ml/sandbox/env/*.py

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/

# IDEs
.idea/
.vscode/
*.swp
*.swo
*~
.project
.pydevproject
.settings/

# Generated multi-root Cursor workspace (machine-specific, churny worktree paths)
*.code-workspace

# Environment files
.env
.env.local
.env.*.local
*.env
*.env.*
*.env.bak
*.env.backup
*.env.backup.*
*.env.orig
*.env.save
*.env.tmp
*.env~
config.*.env
!config.example.env
!*.example.env
!*.env.example
.envrc
.envrc.*

# Infrastructure
infrastructure/config/*.env
!infrastructure/config/*.env.example
# DI-1: the staging ML enablement set is a reviewed, secret-free flags-only file
# (all ML_*_ENABLED booleans; no keys/secrets) that ops append to the staging env.
# Committed intentionally like scripts/ml/demo_flags.env.example — the `.env.example`
# suffix keeps it out of the tracked-private-env CI gate (scripts/ci/check_no_tracked_env.py).
!infrastructure/ml/staging_ml_flags.env.example

# AWS Key Pairs - NEVER commit these
*.pem
*.key
drazill-key.pem

# OS files
.DS_Store
Thumbs.db

# Database
*.db
*.sqlite
*.sqlite3

# Logs
*.log
logs/

# Local development
test.db
local.db
tmp/

# AWS artifacts
.aws-sam/
samconfig.toml

# Package files downloaded (macOS installers — never commit)
*.pkg

# SDK build artifacts
sdks/typescript/dist/
sdks/typescript/node_modules/
sdks/typescript/*.tgz
sdks/python/dist/
sdks/python/build/
sdks/python/*.egg-info/

# Local cold-start bootstrap state + logs (may contain operator emails) — never commit
.bootstrap-state/

# Redis dump written to CWD when a local redis-server saves
dump.rdb

# Fern AI-generated API examples — a build artifact the Fern CLI writes next to the
# spec (fern/openapi/) on `fern generate --docs` / `fern docs dev`. Regenerated each
# build; not a source of truth (the truth-first docs mandate authors examples via
# x-fern-examples). See fern/AGENTS.md and https://buildwithfern.com/learn/docs/ai-features/ai-examples
**/ai_examples_override.yml
