# IDE / editor directories
.specstory/
.cursor/
.idea/
.vscode/

# Claude Code local settings (user-specific)
.claude/settings.local.json
.claude/worktrees/
.claude/projects/

# Hermes Agent worktrees (auto-created by hermes -w)
.worktrees/

# Codex/Agents experimental tooling (local only)
.agents/
.codex/
.codex-plugin/

# Claude Code legacy files (superseded, prevent re-addition)
.claude/RAI.md
.claude/RAI-naming.md
.claude/rai.archive/

# Daemon config (contains secrets — template committed as .example)
daemon-team.yaml
daemon.yaml
.env.fly

# RaiSE generated/cache files
.raise/cache/
.raise/confluence-pages.yaml
.raise/backlog/
# .raise/artifacts/ — tracked (story-design YAMLs are versioned artifacts)

# Drift detection pipeline outputs (computed, machine-specific paths, high churn)
.raise/drift/
packages/*/.raise/drift/
packages/*/.raise/pending_sync.json
packages/*/.raise/rai/personal/
packages/*/.raise/rai/sessions/

# Pipeline state (environment-specific, PAT-E-594)
.rai-state/

# RaiSE adapter configs (declarative, PII-free — identity in env vars)
# .raise/jira.yaml and .raise/confluence.yaml are tracked (shared config)
.raise/adapters/*.yaml
!.raise/adapters/*.yaml.example

# Dossier output (generated, not committed)
dev/output/

# RaiSE graph index — SQLite is canonical after S22.3; index.json excluded via .raise/.gitignore
# Rebuild with: rai graph build

# RaiSE personal directory (per-developer, not shared)
.raise/rai/personal/

# RaiSE sync state (per-instance JIRA mappings, not shared)
.raise/rai/sync/

# RaiSE global SQLite DB (per-machine, not shared)
.raise/rai/raise.db

# RaiSE mission migration artifacts
.raise/rai/missions/*.migrated

# RaiSE sync ephemeral artifacts (backups, dead-letter, migrations, pending ops)
.raise/sync/backlog-ledger.yaml
.raise/sync/backlog-ledger.yaml.backup.*
.raise/sync/backlog-dead-letter.jsonl
.raise/sync/backlog-ledger.yaml.migrated
packages/*/.raise/sync/*-pending-ops.jsonl

# Per-session env context written by Rai skills, read by CC hooks + MCP tool
# Namespaced by CC session_id (RAISE-1982) — isolates concurrent CC sessions.
.raise/rai/sessions/

# Temporary files
req.txt
*.tmp
*.bak-*
*.log
.DS_Store
Thumbs.db

# Script generated folders (if testing locally)
.specify-raise/commands/

# Python build artifacts
__pycache__/
*.py[cod]
*$py.class
*.so
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

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

# Testing
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Type checking
.mypy_cache/
.dmypy.json
dmypy.json
.pyright/
.rai/memory/graph.json
.envrc

# Legacy telemetry (should be in personal/, will migrate)
.raise/rai/telemetry/

# Push tracking markers (per-environment, not shared)
.raise/rai/learnings/**/.pushed

# MCP server config (contains API tokens)
.mcp.json

# Secrets & credentials
.env
.env.*
!.env.example
*.pem
*.key
.pypirc
credentials.json
*.sqlite
.netrc
.raise/mcp/
!.raise/mcp/catalog.yaml

# MkDocs build output
_site/
.docs-build/

# Security scan outputs (contain findings — not committed)
work/reports/gl-secret-detection-report*

# Issue analysis artifacts (PDFs, images — binary, no git value)
dev/issues/**/*.pdf
dev/issues/**/*.png
dev/issues/**/*.jpg
dev/issues/**/*.txt
dev/transcripts/

# Prevent symlink artifacts from being tracked at root
/es/

# Ephemeral debug artifacts (Playwright MCP snapshots, root-level screenshots)
.playwright-mcp/
.claude/scheduled_tasks.lock
/issue-*.png
/panel-*.png
/s7-*.png
/app-actions-menu.yml
/issue-layout.yml
/layout-editor.yml
/menu-open.yml
/raise-*.yml

# Per-developer docker compose override (e.g., expose postgres:5432 for e2e).
# See dev/sops/raise-server-local.md § Running e2e tests locally.
/docker-compose.override.yaml
/docker-compose.override.yml
.worktrees/
.venv
.venv
