/target
# v0.7 I5 — sibling binary tools each carry their own `target/`
# tree; ignore them globally so a `cargo build` inside
# `tools/<tool>/` doesn't dirty the worktree.
tools/*/target/
# Sibling tool crates aren't published — keep their lockfiles out
# of the worktree so the main crate's `Cargo.lock` is the single
# release-pinned document. Mirrors the `fuzz/` convention.
tools/*/Cargo.lock
*.db
*.db-wal
*.db-shm

# Secrets & credentials
.env
.env.*
*.key
*.pem
*.p12
*.pfx
*.secret
credentials*

# Test fixtures — checked-in PEMs the TLS module's tests assert against.
# These are deliberately committed; the global *.pem ignore above must
# not catch them.
!tests/fixtures/tls/*.pem
!examples/fixtures_data/*.pem

# Benchmark results
benchmarks/longmemeval/results/
.mcpregistry_*

# Local scratch (never committed)
/backup/
/backups/
# Claude Code project config — `settings.json` is shared project-level
# config (LSP plugin selection, permissions.deny version-controlled,
# etc.); `settings.local.json` is per-developer overrides that stay
# local. Per-session transcripts + caches under .claude/ also stay
# local. Pattern: ignore everything except settings.json.
.claude/*
!.claude/settings.json

# Autonomous campaign runtime state (logs, kill-switch, pid)
.agentic/

# Project-local agent scratch (no agent-created file may live under
# /tmp, /var/tmp, /private/tmp, or any tmpfs — see CLAUDE.md
# "No agent-created files under /tmp ..." for the rationale).
# The directory itself is preserved via .gitkeep so a fresh clone
# has the path ready; everything else inside is ignored.
/.local-runs/*
!/.local-runs/.gitkeep

# v0.7.0 L0.7-7 — coverage gate generated artifacts. `current.json` is the
# per-module-threshold input produced by `cargo llvm-cov --json`; it is
# regenerated by CI on every run and must never be committed. The
# checked-in policy files (thresholds.toml, check-thresholds.sh, policy.md,
# tier-classification.toml, gap-closures.md) stay tracked.
coverage/current.json
coverage/summary.txt
coverage/comment.md
coverage/html/
coverage/*.profraw
coverage/*.profdata


# CodeGraph per-developer index (issue #923 — not committed; each
# developer indexes via `codegraph init -i` per the CLAUDE.md
# "CodeGraph setup" section). The .db can be ~60 MB and is
# rebuildable from source in ~90s.
.codegraph/

# Stray per-issue cargo target dirs left by prior session work (#899,
# #922, etc.). Each is a separate compile cache, never committed.
.cargo-*-target/

# local gate/run logs (never commit)
/.local-runs-*
