# Local machine and secrets
.DS_Store
.env

# Claude Code local state
#
# .claude/ holds Claude Code config + session state. Keep most of it
# user-local (per-machine session history, local overrides), but track shared
# team artifacts: slash commands, settings.json, and the skill discovery
# symlinks that point Claude at canonical SKILL.md files under docs-ai/.
#
# Pattern note: ignore immediate children via `*`, not the directory itself, so
# negations can re-include specific subpaths. Ignoring `.claude/` would make
# `!.claude/commands/` unreachable under gitignore semantics.
.claude/*
!.claude/commands/
!.claude/skills/
!.claude/settings.json

# Runtime state and local Go caches
#
# .data/ is the default GATEWAY_DATA_DIR for local dev. It may contain the
# generated bootstrap/control-plane key and sqlite databases, so it must stay
# local. The Go cache dirs are opt-in repo-local caches used by local scripts.
.data/
.gocache/
.gomodcache/
.gopath/

# Built Go binaries
#
# Anchored to the repo root so a package or test fixture named "hecate"
# elsewhere is not ignored.
/hecate
/hecate-acp

# Root release output
#
# Goreleaser snapshot and release runs write to ./dist and `--clean` deletes it.
# Keep this anchored so it does not shadow ui/dist/ or website/dist/.
/dist/

# JavaScript dependencies and reports
node_modules/
coverage.out

# React operator UI
ui/node_modules/
ui/dist/*
!ui/dist/.gitkeep
ui/*.tsbuildinfo
ui/test-results/
ui/playwright-report/
ui/coverage/

# Astro website
website/node_modules/
website/dist/
website/.astro/
website/.vercel/
website/.netlify/

# Tauri desktop app
tauri/node_modules/

# Rust build output is large and fully reproducible.
tauri/src-tauri/target/

# Sidecar binaries are copied into binaries/ by `just tauri-sidecar`; they are
# platform-specific and built on demand.
tauri/src-tauri/binaries/hecate*
# Ignore stale pre-rename sidecars left by older local builds.
tauri/src-tauri/binaries/gateway*
tauri/src-tauri/binaries/hecate-acp*
!tauri/src-tauri/binaries/.gitkeep

# Local e2e logs
e2e/local-ollama-*.log
