# Binaries
*.exe
*.exe~
*.dll
*.so
*.dylib
/backend/bin/

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool
*.out
coverage.html

# Go workspace file
go.work

# Dependency directories
vendor/

# Python helper caches
__pycache__/
*.py[cod]

# IDE and editor files
.idea/
*.swp
*.swo
*~

# Editor/merge scratch copies. These never compile and only pollute grep
# results for whoever works on the real file next.
*.backup
*.bak
*.orig
.DS_Store
Thumbs.db

# SQLite database files
*.db
*.db-shm
*.db-wal

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

# Log files
*.log
logs/
!apps/backend/internal/system/logs/
!apps/web/app/settings/system/logs/
!apps/web/e2e/tests/system/logs-page.spec.ts

# Temporary files
tmp/
temp/
/workspaces/

# Verification caches belong outside Git worktrees. Ignore this legacy/local
# fallback so a misconfigured verification run cannot flood Git status.
/.verify-cache/
/.tmp/

# Agent session files (local development)
.augment/

# Isolated kandev home used by `make dev` (see apps/cli/src/dev.ts).
# Keeps dev backend state (db, tasks, worktrees, repos) out of the user's
# production ~/.kandev when developing kandev using kandev.
/.kandev-dev/
/.kandev/

# Runtime scratch workspaces created for repo-less tasks. The lifecycle
# manager places them at <homeDir>/tasks/<workspaceID>/<taskID>; in dev mode
# (homeDir = .kandev-dev/) they're already covered above, but a misconfigured
# homeDir could land them at the project root.
/tasks/

# Build artifacts
dist/
build/

# Debug files (at root level only)
/debug
*.pprof

# Air live reload (if used)
.air.toml
tmp/

# Kubernetes secrets (if any)
*-secret.yaml
*-secrets.yaml

apps/backend/bin/

# `make -C apps/backend e2e-plugin-package` output (packaged fixture plugin
# tar.gz + build staging dir) — e2e tests build this on demand, not committed.
apps/backend/.build/

# Local protoc-gen-* tool binaries installed by `make -C apps/backend proto`
apps/backend/.tools/

# Go binaries (built locally)
apps/backend/kandev
apps/backend/agentctl
apps/backend/mock-agent
apps/backend/acpdbg
apps/backend/plugin-fixture
apps/backend/plugin-pack

# acpdbg JSONL output (raw ACP wire frames from debug runs)
apps/backend/acp-debug/
acp-debug/

# Next.js
.next/
out/
node_modules/
.pnpm-store/

# TypeScript
*.tsbuildinfo
apps/landing/next-env.d.ts

# agent message logs
raw-*.jsonl
normalized-*.jsonl

# Serena MCP
.serena/*
.gitnexus
.codex/*
!.codex/agents/
!.codex/agents/*.toml
!.codex/config.toml

# playwright-cli snapshots/console logs
.playwright-cli/
/.claude/scheduled_tasks.lock

# Local worktrees (not the backend-managed tree under ~/.kandev)
/.worktrees/

# PR screenshot/asset scratch dirs — never committed; drag-and-drop into the
# GitHub PR description instead (see apps/web/e2e/scripts/upload-pr-assets.ts).
/.pr-screenshots/
/apps/web/.pr-assets/

# Generated PR walkthrough JSON/HTML is retained by the CI artifact and R2
# publication jobs, not committed to the repository.
/docs/pr-walkthrough/

# Auth screenshot artifacts (generated by auth-screenshots.spec.ts)
apps/web/e2e/.auth-screenshots/

# Restart-action screenshot artifacts (generated by feature-toggles-restart.spec.ts)
apps/web/e2e/.restart-screenshots/

# Manual dev-environment scratch repos (apps/web/e2e/manual-seed-*.ts)
apps/backend/.manual-env/
