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

# ============================================================================
# VIRTUAL ENVIRONMENTS
# ============================================================================
.venv/
.venv-base/
.venv-ci311/
venv/
env/
ENV/
env.bak/
venv.bak/

# ============================================================================
# IDE & EDITORS
# ============================================================================
# PyCharm
.idea/

# VSCode
.vscode/

# Vim
*.swp
*.swo
*~

# IntelliJ
*.iml

# ============================================================================
# AI ASSISTANTS
# ============================================================================
CLAUDE.md
.claude/
AGENTS.md
CODEX.md

# AI assistant skill definitions (personal/local only)
skills/*
# Exception: distributable skills published with the project
!skills/cascadeflow/
!skills/cascadeflow/**

# ============================================================================
# INTERNAL PLANNING (local only, not for GitHub)
# ============================================================================
docs/OSS_DEVELOPMENT_STAGES.md
docs/*_PLAN*.md
docs/*_ROADMAP*.md
**/INTERNAL_*.md

# Research notes (local only, not for GitHub)
docs/research/

# One-off internal investigations / benchmark notes (keep local)
dx-plan-*.md
evaluation-*.md
fastembed-*.md
current_stats_before_fix.json
test-result.txt
decisions.jsonl
*.patch
benchmark_results/
mtbench_results/

# ============================================================================
# ENVIRONMENT VARIABLES
# ============================================================================
.env
.env.local
.env.*.local
*.env

# API Keys (be explicit about config files)
*_config.txt
*_api_key.txt

# ============================================================================
# TESTING
# ============================================================================
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
coverage.xml
*.cover
.hypothesis/
.mypy_cache/
.dmypy.json
dmypy.json

# ============================================================================
# TEST ARTIFACTS (cascadeflow-specific)
# ============================================================================
# Test-generated configuration files
tuned_configs/
tuning_recommendations/

# ============================================================================
# OS FILES
# ============================================================================
# macOS
.DS_Store
.AppleDouble
.LSOverride

# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
Desktop.ini

# Linux
*~
.directory
.Trash-*

# ============================================================================
# BACKUPS
# ============================================================================
*.bak
*.backup
*.old
*.orig
*.tmp
.cleanup_backup_*/

# ============================================================================
# TYPESCRIPT/NODE.js
# ============================================================================
node_modules/
*.tsbuildinfo
.turbo/

# Package manager lockfiles - use pnpm-lock.yaml only
package-lock.json
yarn.lock

# ============================================================================
# DEVELOPMENT TEST FILES (Do not commit to repo)
# ============================================================================
# TypeScript test files (not in tests/ directory)
/packages/*/test-*.ts
/packages/*/test-*.js
/test-*.ts
/test-*.js

# Python test files (root level only, tests/ directory is fine)
/test_*.py

# ============================================================================
# DEVELOPMENT DOCUMENTATION (Keep locally but don't track in git)
# ============================================================================
# Assistant conversation notes
CLAUDE.md

# Architecture and planning documents
INTEGRATIONS_ARCHITECTURE.md
MONOREPO_ARCHITECTURE.md
TYPESCRIPT_ROADMAP.md
TYPESCRIPT_STRUCTURE_PLAN.md
TYPESCRIPT_FEATURE_GAPS.md
docs/TS_ML_INTEGRATION_PLAN.md
LAUNCH_DAY_PLAN.md

# Audit and analysis reports
PRE_RELEASE_AUDIT.md
VALIDATION_REPORT.md
STRUCTURE.md

# Progress and work tracking
PROGRESS_*.md
WORK_*.md

# Analysis directory (keep locally for reference)
/.analysis/

# Marketing materials (keep locally, publish separately)
/.marketing/
MARKETING_GUIDE.md

# Internal development documentation
.github/COMMIT_POLICY.md
.github/BRANCHING_STRATEGY.md
.github/CURRENT_STATUS.md
.github/TEST_FAILURES_EXPLAINED.md

# Launch preparation documents (temporary)
LAUNCH_*.md
PRE_LAUNCH_*.md
FINAL_PRE_LAUNCH_*.md
POST_LAUNCH_*.md
*_COMPLETE.md
*_REPORT.md
*_SUMMARY.md
*_STATUS.md
*_DESIGN.md
*_IMPLEMENTATION_PLAN.md
*_VALIDATION_*.md
DEPLOY_INSTRUCTIONS.md
PUBLISHING_SETUP_GUIDE.md
MILESTONE_*.md
STRATEGIC_*.md
V0.*.md

# Allow committed test result reports
!docs/test-results/
!docs/test-results/*.md

# Feature comparison and analysis (development only)
docs/PYTHON_VS_TYPESCRIPT_FEATURES.md
docs/QUICK_COMPARISON_TABLE.md
docs/DOCUMENTATION_VALIDATION_REPORT.md
docs/DOCUMENTATION_UPDATES_SUMMARY.md
PYTHON_VS_TYPESCRIPT_FEATURES.md

# Release notes (keep versioned releases, ignore working drafts)
docs/RELEASE_NOTES_*.md

# Exception: Keep useful checklists in .github
!.github/*_CHECKLIST.md
!.github/*_READINESS.md
!.github/*_GUIDE.md
!.github/*_PLAN.md

# Test scripts (root level)
/comprehensive_test.py
/test_all_examples.py
/validate_*.py

# Development-only directories (not for public)
/tests/_archive*/
/_archive*/

# Backup files
*.backup
*.backup-*
README.*.backup*

# IDE files
*.iml

# ============================================================================
# PROJECT SPECIFIC (cascadeflow)
# ============================================================================
# Logs
logs/
*.log
*.log.*

# Cache
.cache/
.ruff_cache/

# Documentation builds
docs/_build/
docs/_static/
docs/_templates/
site/

# Jupyter notebooks checkpoints
.ipynb_checkpoints/

# ============================================================================
# SECURITY (Important!)
# ============================================================================
# Never commit these
*secret*
*SECRET*
*.pem
*.key
*.p12
*.pfx
*.p8
credentials.json
token.json

# ============================================================================
# MACOS SPECIFIC
# ============================================================================
# Prevent committing macOS folder attributes
._*
.Spotlight-V100
.Trashes
# Generated TypeScript API documentation
packages/core/docs/

# Temporary development files
HOW_*.md
*_ISSUE.md
*_PLAN.md
!docs/PROXY_INTEGRATION_PLAN.md
*_ANALYSIS.md
!docs/research/VERCEL_AI_SDK_DX_ANALYSIS.md
!docs/research/N8N_V2_INTEGRATION_PLAN.md
test_all_*.py
test_semantic_*.py
test_milestone*.py
comprehensive_test.py

# Root-level config duplicates (canonical copies in examples/configs/)
/anthropic-only.yaml
/mixed-anthropic-openai.yaml
/mixed-domains*.yaml
/openai-only.yaml

# Local demos and packaged artifacts (keep out of main)
investor-demo/
investor-demo-claude/
investor-demo-codex/

# ============================================================================
# BENCHMARK RESULTS (keep scripts, ignore outputs)
# ============================================================================
*_results/
*_cache.json
*_cache/
