# Project-specific
evidence/outbox/*
agent-progress.txt

# Terraform
.terraform/
*.tfstate
*.tfstate.*
*.tfplan
tfplan
crash.log
override.tf
override.tf.json
*_override.tf
*_override.tf.json
.terraformrc
terraform.rc
!evidence/outbox/.gitkeep
tests/playwright/artifacts/
!tests/playwright/artifacts/uat-videos/
!tests/playwright/artifacts/uat-report.json
tests/playwright/videos/
artifacts/security/
artifacts/memorybench/*
!artifacts/memorybench/baseline/
artifacts/demo-flow/
artifacts/evals/
!artifacts/evals/baseline.json

# Local scratch and superseded worktree leftovers
.steward/
research/
My Factory/
workweaver-strategic-analysis.md
.env
.env.local
.env.*.local

# Product-health audit derived artifacts
scripts/audit/data/*
!scripts/audit/data/feature-registry.seed.json
!scripts/audit/data/revenue-proof-runs.json

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

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
.ruff_cache/
.uv-cache/
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Node.js/TypeScript
node_modules/
.npm-cache/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# TypeScript
*.tsbuildinfo

# Next.js
.next/
out/
next-env.d.ts
.turbo/

# Vercel
.vercel/

# Playwright
test-results/
playwright-report/
output/
.playwright-cli/

# MCP Artifacts - Unified storage for all MCP server outputs
.mcp-artifacts/
.*-mcp/
.claude/playwright-output/
.claude/model-reviews/
playwright-output/
**/playwright-screenshots/
**/playwright-traces/
**/*.playwright.png
**/*.playwright.jpg

# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

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

# Docker
.dockerignore

# Logs
*.log
logs/

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Temporary files
*.tmp
*.temp

# Voice Agent Test Artifacts (generated from apps/voice-agent/tests/)
voice-test-*.png
voice-test-logs.json
console-logs.json
voice-test-screenshot.png

# Temporary directories from failed commands
--no-deps/
aiobotocore==*/
cd/
download/
pip/

# Agent service (LiveKit)
apps/agent-service/.env.secrets
apps/agent-service/*.zip

# Backup files that may contain secrets
*.env.bak
*.env.backup
*.env.old
.env.secrets

# Never commit editor/duplicate backups or evidence bundles (hash in manifest is canonical)
*.backup
*.tgz

# MCP secrets (NEVER commit)
.claude/.env.mcp

# Lambda deployment packages (should not be in git)
apps/backend/lambda/**/*.zip
apps/backend/lambda/**/packaging_env/
*.zip
!**/node_modules/**/*.zip

# Local working files (personal notes, drafts, scripts)
/Compliance/
Self_Learning_Claude/
learnings/
update_mip.py

# Ralph generated files (computed from WORKPLAN.md)
RALPH/workspaces/*/progress.json
RALPH/workspaces/*/status.md
workweaver-runtime/

# Claude Code worktrees, session artifacts, and runtime logs
.claude/worktrees/
!.claude/logs/
.claude/logs/*.jsonl
.claire/
vendor/gstack/browse/
.gstack/

# Council session temp files (prompts/briefs generated during LLM council runs)
.tmp-council-*.md
.tmp-*-council-*.md
.cursor-tmp-*.md
.claude/council-*.md
.claude/council-prompt.md
.cursor/council-*.md
.cursor/tmp-*.md
tmp/
tfplan-hardening-sprint
site/

# Ralph runtime artifacts
.claude/uat/results/

# Local uv resolver lockfile (repo does not standardize on committed uv.lock)
uv.lock

# Scheduled tasks runtime lock (per-session runtime artifact)
.claude/scheduled_tasks.lock
