# ====================================
# Python
# ====================================
__pycache__/
*.py[cod]
*$py.class
*.so
.Python

# Distribution / packaging
dist/
build/
*.egg-info/
*.egg
MANIFEST

# Track G — preserve the SPA dist directory placeholder (so package_data can
# pick it up) but ignore the actual build output, which is regenerated by
# `cd web && npm run build` or the Dockerfile's frontend stage.
!core/templates/static/dist/
!core/templates/static/dist/.gitkeep
core/templates/static/dist/*
!core/templates/static/dist/.gitkeep

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

# ====================================
# Testing
# ====================================
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
pytest-out.txt
scripts/community-build/BUILD_REPORT.md
.nox/
coverage.xml
*.cover
.hypothesis/

# ====================================
# Type checking and linting
# ====================================
.mypy_cache/
.dmypy.json
dmypy.json
.ruff_cache/
.pytype/

# ====================================
# IDE and Editors
# ====================================
.vscode/
.idea/
*.swp
*.swo
*~
.project
.pydevproject
.settings/

# Claude Code local settings
.claude/

# ====================================
# Logs and Runtime
# ====================================
*.log
server_output*.log
*.pid

# Keep logs directory structure but ignore contents
logs/*
!logs/.gitkeep

# ====================================
# OS Files
# ====================================
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini

# ====================================
# Environment and Configuration
# ====================================
.env
.env.*
!.env.example
.kilocode
.mcp.json

# ====================================
# Docker
# ====================================
docker-compose.override.yml
*.pid

# ====================================
# Backup files
# ====================================
*.backup
*.bak
*.old
*.orig
*~

# ====================================
# MCP Test files
# ====================================
MCP_TEST_REPORT.md
mcp_test_*.txt
test_mcp_connection.py
mcp_test_results.json

# ====================================
# Documentation builds
# ====================================
docs/_build/
site/

# ====================================
# Temporary files
# ====================================
*.tmp
*.temp
.cache/

# ====================================
# Security and sensitive data
# ====================================
secrets/
data/
*.pem
*.key
*.crt
*.cert
*.p12
*.pfx

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

# ====================================
# Node.js (if added in future)
# ====================================
node_modules/

# ====================================
# Temporary directories
# ====================================
temp/
pytest-cache-files-*/

# ====================================
# Project specific
# ====================================
# Add project-specific ignores here
.worktrees/
worktrees/
/.agents
uv.lock

# planning-with-files skill artifacts (session-local)
task_plan.md
findings.md
progress.md

# wp.org SVN working copies (separate VCS, not for git):
# - airano-mcp-bridge-wporg-svn/    → new slug `airano-mcp-bridge` (current)
# - airano-mcp-seo-bridge-svn/      → old slug `airano-mcp-seo-bridge` (deprecated, migration release lives here)
# - airano-mcp-bridge-svn/          → legacy stub from earlier exploration
wordpress-plugin/airano-mcp-bridge-svn/
wordpress-plugin/airano-mcp-bridge-wporg-svn/
wordpress-plugin/airano-mcp-seo-bridge-svn/

# Screenshot harness auth state — never commit (contains session cookie)
screenshots/.auth-state.json
screenshots/_*.json
# wp.org SVN working copy for the airano-mcp-bridge plugin (separate VCS, not for git)
wordpress-plugin/airano-mcp-bridge-svn/
