# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
*.egg-info/
dist/
build/
eggs/
*.egg
.installed.cfg

# Virtual environments
venv/
env/
.venv/

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Project specific
projects
projects/*
vertex_keys/*
!vertex_keys/.gitkeep

# Keep project structure but ignore generated content
!projects/.gitkeep
!projects/.agent_data/
!projects/.agent_data/.gitkeep
!projects/.agent_data/transcripts/
!projects/.agent_data/transcripts/.gitkeep

# Agent data (transcripts are large, only keep structure)
projects/.agent_data/transcripts/*.json
projects/.agent_data/sessions.db

# New unified ORM database (SQLite)
projects/.arcreel.db
# Old SQLite database backups (created by migration script)
projects/.*.db.bak
projects/.agent_data/*.db.bak

# Environment
.env
.env.local
.env.*
!.env.example
CLAUDE.local.md

# Local Codex runtime metadata
.codex/

# Frontend build artifacts
frontend/node_modules/
frontend/dist/
frontend/.vite/

# Git backup
.git.backup

# Git worktrees
.worktrees/

# Superpowers (Claude Code plugin cache)
.superpowers/

# Test coverage
htmlcov/
.coverage

# File locks (project_manager 原子写产物)
**/*.lock

# Docker runtime data
claude_data/

# Deploy runtime data (generated by docker compose)
deploy/.env
deploy/projects/
deploy/vertex_keys/
deploy/claude_data/
deploy/production/.env
deploy/production/projects/
deploy/production/vertex_keys/
deploy/production/claude_data/
deploy/production/pgdata/
