# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Editor directories and files
.idea/
.vscode/
*.swp
*.swo
*~
*.code-workspace
docs/design/
# Environment variables
.env
.env.*
!.env.example

# Local development — ignore Claude state inside nested packages (not the root .claude/)
go/**/.claude/
harness/.claude/
!local-scripts/

.serena/
.superset/
# .mcp.json is included in distribution as a plugin MCP configuration
.github/mlc_config.json

# Memory observation context files (auto-generated)
# Cursor writes the latest harness-mem context into these rule files.
**/CLAUDE.md
!harness-ui/CLAUDE.md

# harness-ui local state (generated)
harness-ui/.claude/
harness-ui/dist/
harness-ui/node_modules/
harness-ui/.env.example
harness-ui/CLAUDE.md

# 2-Agent setup files (auto-generated)
/AGENTS.md
/CLAUDE.md
/Plans.md
/.claude-code-harness-version
/.orphaned_at

# Cursor user-specific configuration
/.cursor/hooks.json
/.cursor/hooks/
/.cursor/mcp.json
/.cursor/commands/
/.cursor/plans/
/.cursor/skills/
/.cursor/worktrees.json
/.cursor/rules/harness-mem*.md
/.cursor/rules/harness-mem*.mdc

# Logs
*.log

# Temporary files
*.tmp
*.temp

# Secrets
.credentials.json

# Test sandbox (for plugin development)
/test-sandbox/


# Benchmarks - generated outputs only (scripts/tasks/docs are tracked)
/benchmarks/results/
/benchmarks/**/results/
/benchmarks/test-project/
/benchmarks/versions/
/benchmarks/**/*.trace.jsonl
/benchmarks/**/*.output.txt
/benchmarks/**/*.debug.log

# docs (local-only / not for distribution)
docs/FIX_PLAN_*.md
docs/INVESTIGATION_REPORT_*.md
docs/*TOKEN_REPORT*.md
docs/InvestigationReport*.md
docs/claude-code-bypass-permissions-guide.md
docs/constitution.md
docs/update-summary-*.md
docs/notebooklm-*.yaml
docs/notebooklm/
docs/x-posts-*.md
docs/social/harness-v3150-claude-2.1.86-codex-0.117-article.md
docs/masao.md
docs/MOSHI_REMOTE_SETUP.md

# LSP (Language Server Protocol) configuration
.lsp.json
*lsp*config*.json

# Archived skills (consolidated/deprecated)
**/skills/_archived/

# Development test skills
skills/test-*/
skills/zz-review-*/
skills/zz-review-symlink

# Development skills (private)


# Harness UI / optional UI integration (distribution excluded)
/harness-ui/
/skills/harness-ui/
/scripts/harness-ui-register.sh
/scripts/test-harness-ui-register.sh
/templates/mcp/harness-ui.mcp.json.template
/.claude/rules/harness-ui.md

# Harness UI Archive (deprecated old implementation)
/harness-ui-archive/

# MCP Server (optional feature, install separately)
/mcp-server/
.mcp.json

# Harness Memory local bridge launchers
/scripts/harness-mem
/scripts/harness-memd
/scripts/harness-mem-client.sh

# Slide intermediate files
docs/slides/
docs/video/
docs/images/slides/
docs/presentation/1.png
docs/presentation/2.png
docs/presentation/3.png
docs/presentation/4.png
docs/presentation/5.png
docs/presentation/6.png
docs/presentation/7.png
docs/presentation/8.png
docs/presentation/9.png
docs/presentation/10.png
docs/presentation/11.png

# Playwright MCP (for local testing)
.playwright-mcp/

# Firecrawl temporary data (local only)
/.firecrawl/

# Harness-mem temporary data (local only)
/.harness-mem/

# Diagnostic output (temporary files)
/output/

# Research/investigation documents (private)
docs/research/

# Temporary image files
docs/images/image*.webp

# Migration scripts (temporary)
scripts/migrate-usage-history.js
.claude-plugin/CLAUDE.md
.claude-plugin/plugin.json

# Local sandbox secrets
scripts/sandbox-test/.env

# Local benchmark scratch
benchmarks/evals-v3/scripts/mcp-empty.json

# Release announcement materials (local only)
docs/releases/
docs/notebooklm/work-full-slides-compact.yaml
docs/notebooklm/work-full-slides-minimal.yaml

# Remotion (video generation) - exclude entire directory
/remotion/
.remotion/
out/
*.mp4
*.webm
*.gif

# Core engine (v3) — TypeScript engine ported to Go. Exclude entire directory
/core/

# Skills - node_modules and generated files
**/skills/**/node_modules/
**/skills/**/coverage/
**/skills/**/.claude/state/
**/skills/**/.claude/logs/
**/skills/**/.claude/sessions/

# Skills - temporary implementation docs
**/skills/**/IMPLEMENTATION_*.md
**/skills/**/TASK_*.md

# OpenCode (local-only)
.opencode/

# Benchmarks - local development data only
/benchmarks/evals-*/
/benchmarks/results/
/benchmarks/test-project/
/benchmarks/versions/
/benchmarks/scripts/
/benchmarks/tasks/
/benchmarks/breezing-bench/results/
/benchmarks/breezing-bench/agent-eval/results/
/benchmarks/breezing-bench/agent-eval/node_modules/
/benchmarks/breezing-bench/agent-eval/.env
/benchmarks/breezing-bench/.claude/
/benchmarks/breezing-codex-test/dist/
/benchmarks/breezing-codex-test/node_modules/
/benchmarks/breezing-codex-test/.claude/

# MCP Server (local development only)
/mcp-server/

# Cache directory
/.cache/

# Experimental/unused code directories
/app/
/frontend/
/src/

# X post images (local only)
/image/

# README visual assets - development artifacts (not referenced in READMEs)
/assets/harness-workflow.svg
/assets/infographic-preview.html
/assets/logo-candidates/
/assets/readme-visuals/
/assets/readme-visuals-en/preview.html
/assets/readme-visuals-ja/preview.html
/assets/.claude/
/assets/_archive/
/infographic-check.png
/readme-visuals-all.png

# VS Code workspace files
*.code-workspace

# Dev-only documentation (not for distribution)
/docs/development-flow-guide.md
/docs/implementation-guide.md
/docs/agents-override.md
/TEST_CURSOR_INTEGRATION.md

# Lock files in subdirectories (not for distribution)
**/package-lock.json

# Absolute path remnants (accidentally created)
/Users/

# Keep unified memory MCP source file trackable
!/mcp-server/
/mcp-server/*
!/mcp-server/src/
/mcp-server/src/*
!/mcp-server/src/tools/
/mcp-server/src/tools/*
!/mcp-server/src/tools/memory.ts

# Go build artifacts and internal state
go/harness

# Hook output artifacts (broken directory names from JSON responses)
{*}

# ---- Harness managed begin ----
# Only ignore volatile runtime outputs — everything else in .claude/ is tracked.
# Do NOT add a blanket .claude/* rule here; track agents, plans.json, rules, skills, memory, etc.
.claude/sessions/
.claude/logs/
.claude/state/
.claude/worktrees/
logs/
settings.local.json
states/
out/

# Force-track key Harness directories (defense against global gitignore .claude/* rules)
!.claude/agents/
!.claude/harness/
!.claude/memory/
!.claude/output-styles/
!.claude/rules/
!.claude/scripts/
!.claude/skills/
!.claude/settings.json
# ---- Harness managed end ----
*/node_modules/
*/dist/
*/.vscode/
