# ── Secrets ──────────────────────────────────────────────────────────────────
.env
.env.*
!.env.example

# ── Runtime artifacts ────────────────────────────────────────────────────────
*.log
*.pid
*.bak
*.bak-*

# The root Cargo.toml is a policy mirror for the self-contained unraid-rs
# workspace. Its real dependency lock remains unraid-rs/Cargo.lock.
/Cargo.lock

# ── Claude Code / AI tooling ────────────────────────────────────────────────
.claude/settings.local.json
.claude/worktrees/
.omc/
.lavra/
.beads/
.dolt/
*.db
*.db-shm
*.db-wal
.beads-credential-key
.serena/
.worktrees/
.full-review/
.full-review-archive-*
.bivvy
scaffold-plans/
# ── IDE / editor ─────────────────────────────────────────────────────────────
.vscode/
.cursor/
.windsurf/
.1code/
.idea/
.zed/
*.iml
*.swp
*.swo
*~
.emdash.json

# ── OS generated ─────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db

# ── Caches (ALL tool caches go here) ─────────────────────────────────────────
.cache/

# ── Documentation artifacts (plan docs, not reference) ───────────────────────
# A pattern containing a mid-string "/" is anchored to THIS file's directory, so
# the bare `docs/...` forms stopped matching when components moved into subtrees.
# Use `**/` so they apply to every component's docs/ directory.
# NOTE: `docs/sessions/` is deliberately NOT listed — dated session logs are
# tracked on purpose in unraid-py/, unraid-rs/, and plugins/incus/.
.docs/
**/docs/plans/
**/docs/reports/
**/docs/research/
**/docs/superpowers/
specs/

# ── Python ───────────────────────────────────────────────────────────────────
.venv/
__pycache__/
*.py[oc]
*.egg-info/
*.egg
build/
dist/
sdist/
wheels/
pip-wheel-metadata/
*.whl
.hypothesis/
.pytest_cache/
.ruff_cache/
.ty_cache/
.mypy_cache/
.pytype/
.pyre/
.pyright/
htmlcov/
.coverage
.coverage.*
coverage.xml
.tox/
.nox/
pip-log.txt

# ── Repo-specific ────────────────────────────────────────────────────────────
client_secret_*.apps.googleusercontent.com.json

.worktrees

# Personal local cheatsheet (never commit)
CLAUDE.md.local
logs/
backups/
data/

# mcporter LOCAL test server definitions (may contain personal endpoints/tokens).
# The checked-in `unraid-rs/config/mcporter.json` is intentional and localhost-only;
# personal overrides belong in a *.local.json sibling, which is what this ignores.
**/mcporter.local.json

# Node deps — every component that installs them. `node_modules/` with no leading
# slash matches at any depth, unlike the old root-anchored `tests/mock/node_modules/`.
node_modules/

# runraid binary staged into the agent plugin by the Justfile install target
agents/unraid-rs/bin/
