# Dependencies
node_modules/

# Build outputs
dist/
docs/.doc-index.json
build/
.next/

# PWA generated service worker files
packages/web/public/sw.js
packages/web/public/sw.js.map
packages/web/public/workbox-*.js
packages/web/public/workbox-*.js.map
packages/web/public/swe-worker-*.js
packages/web/public/worker-*.js
packages/web/public/vendor/

# Environment files
.env
.env.local
.env.*.local

# Local overlay files (#603 .local convention)
*.local.md
*.local-override.md

# IDE & AI tools
.idea/
.vscode/
.cursor/
.agent/
.agents/
.augment/
.codex/
.gemini/
.antigravitycli/
.kimi/
.kiro/
.trae/
.dare/
.codex/
.gemini/
.gitnexus/
*.swp
*.swo

# MCP config (personal, contains local URLs)
.mcp.json

# Runtime state (bootstrapped per-machine from cat-template.json)
cat-config.json
.cat-cafe/

# Claude Code skills — cat-cafe symlinks are tracked; plugin-generated ones are not
.claude/skills/pencil-renderer
.claude/skills/pencil-to-code

# Claude local project memory / backup files
.claude/projects/
.claude/settings.json.bak
.claude/settings.json.abtest-backup

# OS files
.DS_Store
Thumbs.db

# Browser/automation files
cookies.json

# Logs
*.log
npm-debug.log*
pnpm-debug.log*

# Lockfiles (workspace uses pnpm only)
packages/**/package-lock.json

# Test coverage
coverage/

# Uploaded files (keep dir, ignore contents)
packages/api/uploads/*
!packages/api/uploads/.gitkeep
/uploads/

# Runtime data (audit logs, etc.)
data/
test-audit-logs/

# Temporary files
tmp/
temp/

# Local demo/video scratch exports
assets/demo-videos/
assets/screenshots/

# Video project render outputs (keep scripts/specs tracked; force-add curated assets when needed)
docs/videos/**/assets/*
!docs/videos/**/assets/.gitkeep

# Local external repo scratch space
gitnexus/

# ASR runtime artifact (mlx-audio writes transcript.txt to CWD)
transcript.txt

# Redis dump
dump.rdb
dump.rdb.backup*

# TypeScript build info
*.tsbuildinfo

# Root-level screenshots/images (should go to assets/screenshots/ if needed)
/*.png
/*.jpg
/*.jpeg

# Claude Code worktree metadata
.claude/worktrees/

# Local design prototypes
assets/prototypes/

# Root-level skills/ (Pencil plugin generated)
/skills/

# Desktop build artifacts
desktop/node_modules/
desktop-dist/
bundled/
docs/bug-report/werewolf-investigation/poster-screenshot.png
.worktrees/

# Raw avatar source images (large, pre-sliced originals)
assets/avatars/raw/

# Logo candidates (铲屎官还没决定用哪张)
assets/logos/

# External consulting notes (local only, not for cat-cafe repo)
docs/discussions/2026-02-26-huawei-agent-spec-review/

# Private/confidential documents (contracts, legal, etc.)
private/

# Generated thread export dumps are local recovery artifacts, not curated docs
docs/discussions/exported-threads/

# Voice audition output (F066 — generated wav files, local only)
/voice-audition/

# Large media files (GitHub 100MB limit)
*.mov
*.mp4
*.avi
*.mkv
*.wav

# Large source PDFs (external storage preferred)
docs/discussions/**/sources/*.pdf

# Playwright MCP cache
.playwright-mcp/

# SQLite runtime databases (Hindsight evidence store + World Engine)
evidence.sqlite
evidence.sqlite-shm
evidence.sqlite-wal
world.sqlite
world.sqlite-shm
world.sqlite-wal

# Antigravity smoke test outputs
.cat-cafe-antigravity-*-smoke.json

# Temporary data files (browser automation artifacts)
forzadata-*.txt
__pycache__/
*.pyc
.claude/skills/browser-automation
.claude/skills/browser-preview
.claude/skills/video-forge
.claude/skills/knowledge-engineering
.claude/skills/organize-threads
.claude/skills/enterprise-workflow

# Design exports (generated from .pen, regeneratable)
designs/exports/

# Longform PDF export intermediates (PDF outputs are review artifacts; commit intentionally)
docs/content/drafts/exports/*.print.html

# F192 eval output (environment-specific, regenerated by scripts/run-f167-eval.mjs)
docs/harness-feedback/snapshots/
docs/harness-feedback/attributions/
docs/harness-feedback/digests/
generated/capability-wakeup/
packages/api/test/__b1_parent_a__/
.claude/skills/organize-threads
.claude/skills/thread-orchestration
