# ============================================
# MoAI-ADK Package Distribution .gitignore
# ============================================
# Version: 0.28.0
# Purpose: Essential patterns for user projects
# ============================================

# ---------------------------------------------
# Build Artifacts
# ---------------------------------------------
build/
dist/
*.egg-info/
*.egg

# ---------------------------------------------
# Python Cache & Database
# ---------------------------------------------
__pycache__/
.pytest_cache/
*.pyc
*.pyo
*.pyd
.mypy_cache/
.ruff_cache/
*.db
*.sqlite
*.sqlite3
*.rdb
*.dbm

# ---------------------------------------------
# Virtual Environments
# ---------------------------------------------
venv/
.venv/
env/
.env/
.uv_cache/
.uv-cache/

# ---------------------------------------------
# IDE & Editors
# ---------------------------------------------
.vscode/
.idea/
*.swp
*.swo
*.sw?
*~
.cursor/
*.sublime-project
*.sublime-workspace
*.njsproj
*.sln
*.suo
.#*

# ---------------------------------------------
# OS Files
# ---------------------------------------------
# Mac
.DS_Store
.AppleDouble
.LSOverride
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Windows
[Dd]esktop.ini
Thumbs.db
ehthumbs.db

# Linux
.directory

# ---------------------------------------------
# Node.js (for docs/Nextra)
# ---------------------------------------------
node_modules/
*.tsbuildinfo
.tscache/
.next/
out/

# ---------------------------------------------
# Logs & Temporary Files
# ---------------------------------------------
*.log
logs/
*.tmp
*.temp
*.bak
*.backup

# ---------------------------------------------
# Test Coverage
# ---------------------------------------------
.coverage
coverage.json
htmlcov/
.pytest_cache/

# ---------------------------------------------
# Environment Variables & Secrets
# ---------------------------------------------
.env
.env.*
!.env.example

# Certificate files
*.pem
*.p12
*.pfx
*.jks

# Private keys and certificates (specific patterns to avoid false positives)
# FIXED: Issue #237 - Replaced overly broad *key* and *secret* patterns
# Old patterns caused false positives for: keyboard-config, hotkey, monkey-patch, etc.
*-key.*
*_key.*
*.key.*
*-secret-key.*
*-api-key.*
api-key-*
secret-key-*
private-key*
*-secret.*
*_secret.*
*.secret.*
secret-*.*

# API credentials patterns
*_secret=*
*_token=*

# Cloud provider credentials
.aws/config
.aws/credentials
.vercel/
.netlify/
.firebase/

# Claude Code Skills Secrets
.claude/skills/*/.env*
.claude/skills/*/secrets/
.claude/skills/*/*/*secret*
.claude/skills/*/*/*key*
.claude/skills/*/*/*token*

# ---------------------------------------------
# Backups
# ---------------------------------------------
.moai-backups/
*.backup/
*-backup/
*_backup_*/

# ---------------------------------------------
# Claude Code Local Configuration
# ---------------------------------------------
.claude/settings.local.json
.claude/settings.local.*.json
.claude/.env.local*
.claude/local/

# ---------------------------------------------
# MoAI Directory Management
# ---------------------------------------------
# Tracked in git: config/, memory/, scripts/, specs/
# User-generated content: logs/, cache/, reports/, etc.

.moai/*
!.moai/config/
!.moai/config/**
!.moai/memory/
!.moai/memory/**
!.moai/scripts/
!.moai/scripts/**
!.moai/specs/
!.moai/specs/**

# Legacy config format (migrated to YAML in v0.32.0)
.moai/config/config.json

# .moai local-only directories (user projects only)
.moai/cache/
.moai/logs/
.moai/docs/
.moai/reports/
.moai/analytics/
.moai/archive/
.moai/archived-skills/
.moai/backups/
.moai/error_logs/
.moai/temp/
.moai/work/

# .moai local development scripts (not distributed)
.moai/scripts/phase*.py
.moai/scripts/phase*.sh
.moai/scripts/sync-*.sh
.moai/scripts/sync-*.py
.moai/scripts/*sync*.sh
.moai/scripts/__pycache__/

# ---------------------------------------------
# CI/CD
# ---------------------------------------------
.github/workflows/*.yml.bak
.gitlab-ci.yml.bak

# ---------------------------------------------
# Package Distribution
# ---------------------------------------------
# uv.lock is intentionally included for reproducible builds
# Add to .gitignore if needed per project
# uv.lock
