# ═══════════════════════════════════════════════════════════════
# Claude AS Framework - .gitignore
# ═══════════════════════════════════════════════════════════════

# ENVIRONMENT & SECRETS - NEVER COMMIT
.env
.env.*
!.env.example
.env.local
.env.production
.env.staging

# Credentials
config/credentials/
*.pem
*.key
*.crt
*.p12
*.pfx
secrets/
.secrets
*-credentials
*-credentials.*
service-account*.json
google-credentials.json

# API Keys & Tokens
.api-keys
api-keys.json
tokens.json
auth-tokens/

# ═══════════════════════════════════════════════════════════════
# DATABASE
# ═══════════════════════════════════════════════════════════════
*.sqlite
*.sqlite3
*.db
database.json
db-config.json

# ═══════════════════════════════════════════════════════════════
# LOGS (may contain sensitive data)
# ═══════════════════════════════════════════════════════════════
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# ═══════════════════════════════════════════════════════════════
# IDE & OS
# ═══════════════════════════════════════════════════════════════
.idea/
.vscode/settings.json
.vscode/launch.json
*.swp
*.swo
.DS_Store
Thumbs.db

# ═══════════════════════════════════════════════════════════════
# BUILD & DEPENDENCIES
# ═══════════════════════════════════════════════════════════════
node_modules/
__pycache__/
*.pyc
dist/
!sf_cli/dist/
build/
.next/
.nuxt/
.cache/
coverage/

# ═══════════════════════════════════════════════════════════════
# TEMPORARY & GENERATED
# ═══════════════════════════════════════════════════════════════
*.tmp
*.temp
*.bak
*.old
*.backup
~*
.goutputstream-*

# ═══════════════════════════════════════════════════════════════
# DASHBOARD DATA (SQLite, session imports)
# ═══════════════════════════════════════════════════════════════
data/*
!data/.gitkeep
!data/inbox/
data/inbox/*
!data/inbox/.gitkeep

# ═══════════════════════════════════════════════════════════════
# FRAMEWORK-SPECIFIC
# ═══════════════════════════════════════════════════════════════
# Project registry (local paths - sensitive)
.project-registry
.project-registry-meta.jsonl

# Diagnostic files (may contain sensitive info)
.claude-as-diagnostics.log

# Memory bank (project-specific, not framework)
# Use /* (not /) so git still enters the directory and negation patterns work
memory_bank/*
# Track central curated knowledge for distribution
!memory_bank/README.md
!memory_bank/knowledge/
memory_bank/knowledge/*
!memory_bank/knowledge/README.md
!memory_bank/knowledge/bootstrap.jsonl
!memory_bank/knowledge/decisions-universal.jsonl
!memory_bank/knowledge/errors-universal.jsonl
!memory_bank/knowledge/patterns-universal.jsonl
# Track seed JSON files for relationships and retrieval
!memory_bank/relationships/
memory_bank/relationships/*
!memory_bank/relationships/knowledge-graph.json
!memory_bank/relationships/lineage.json
!memory_bank/retrieval/
memory_bank/retrieval/*
!memory_bank/retrieval/query-cache.json
!memory_bank/retrieval/weights.json

# Hub config (machine-specific, contains local paths)
.claude/hub.json

# Hook state (ephemeral per-session data)
.claude/hooks/state/

# Runtime artifacts (generated during sessions, not tracked)
.claude/attribution/
.claude/arena-results.jsonl
.claude/routing-log.jsonl
.claude/rejections.jsonl
.claude/learned-rules.jsonl
.claude/heartbeat.pid
.claude/heartbeat-state.json
.claude/notifications.json
.claude/notifications.jsonl
.claude/social-media.json
.claude/social-media-posts.jsonl
.claude/preferences.json
.claude/metrics.json
.claude/state.json

# SkillFoundry workspace (generated by sf init, machine-specific)
.skillfoundry/

# Compliance evidence (generated per-run, not tracked)
compliance/evidence/*
!compliance/evidence/.gitkeep

# Arena worktrees (temporary)
.arena/

# Test temp directories
/tmp/claude-as-*
