# ── Python ─────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
*.pyo
*.pyd
*.c
# Keep .pyx files but ignore generated .c from Cython
!src/free_claude/*.pyx

# ── Distribution / Packaging ──────────────────────────────────
dist/
build/
*.egg-info/
*.egg
*.whl
*.tar.gz
sdist/
wheels/

# ── Virtual environments ──────────────────────────────────────
.venv/
venv/
env/
ENV/

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

# ── Linting / Formatting ─────────────────────────────────────
.ruff_cache/
.mypy_cache/
.dmypy.json

# ── IDE / Editor ──────────────────────────────────────────────
.vscode/
.idea/
*.swp
*.swo
*~
.project
.classpath
.settings/

# ── OS files ──────────────────────────────────────────────────
.DS_Store
Thumbs.db
Desktop.ini

# ── free-claude runtime data ──────────────────────────────────
.free-claude/
*.bak
*.bak_*

# ── Backup folders (manual snapshots) ─────────────────────────
src/*.bak_*/

# ── Secrets / tokens (NEVER commit) ──────────────────────────
.env
.env.*
!.env.example
token.json
*.pem
*.key
*.secret
upstream-tokens.json

# ── Sensitive scripts (admin/infra — NOT for public) ──────────
scripts/upstream-oauth-login.py
scripts/setup-upstream-token.sh
gateway-cf/scripts/CHANGE_PASSWORD_SQL.md
gateway-cf/scripts/change_admin_password.js

# ── Debug tools (local only) ─────────────────────────────────
debug_analyze.py
debug_watch.sh
debug_windows.py

# ── Gateway Cloudflare Workers (infrastructure) ───────────────
gateway-cf/node_modules/
gateway-cf/.wrangler/
gateway-cf/wrangler.toml

# ── Serena (MCP tool) ────────────────────────────────────────
.serena/

# ── MkDocs build output ──────────────────────────────────────
site/

# ── Database files ────────────────────────────────────────────
*.db
*.sqlite
*.sqlite3

# Source backups (pre-Cython)
*.py.src
