# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
dist/
build/
eggs/
parts/
var/
sdist/
wheels/
pip-wheel-metadata/
share/python-wheels/
.eggs/
lib/
lib64/
*.manifest
*.spec

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

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# pytest / coverage
.pytest_cache/
htmlcov/
.coverage
.coverage.*
coverage.xml
*.cover
nosetests.xml

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# ruff
.ruff_cache/

# IDEs
.idea/
.vscode/
*.swp
*.swo

# macOS
.DS_Store
.AppleDouble
.LSOverride

# Secrets / environment
.env
.env.*
!.env.example
!.env.example.j2

# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
staticfiles/
mediafiles/

# Hatch / uv build artifacts
.hatch/
my-new-app/

# .github — only .github/workflows/ is committed.
# All Copilot/AI config dirs below are local-only and must never be pushed.
.github/agents/
.github/copilot-instructions.md
.github/instructions/
.github/prompts/
.github/skills/
.claude/

# Local AI agent config files
AGENTS.md
FE_INTEGRATION_IMPROVEMENTS.md
IMPROVEMENT_PLAN.md

# Root: only README.md and CHANGELOG.md are committed; all other root .md are local-only
/*.md
!/README.md
!/CHANGELOG.md
