# Devenv
.devenv*
devenv.local.nix
devenv.local.yaml

# direnv
.direnv

# Added by cargo

/target

# Local reference clone of external-reference — studied for architecture,
# never copied or vendored. Cloned at the project root for convenience.
/local-reference/

# Claude Code skill plumbing — local per-developer, not part of the project.
# `/*` instead of the bare directory so the committed Amp orb lifecycle
# scripts can be re-included below: git cannot un-ignore a file whose parent
# directory is excluded, and a tracked-but-ignored file makes release-plz
# treat every checkout as dirty (`git ls-files -ci --exclude-standard`).
/.agents/*
!/.agents/resume
!/.agents/setup
/skills-lock.json

# Local planning docs — kept on disk, never committed.
/UI.md
/PLAN.md

# Local git worktrees (`git worktree add .worktrees/<slug>`).
.worktrees/

# Claude Code worktrees, transcripts, local settings — per-developer state.
# The path-scoped agent rules in .claude/rules/ are project config and stay tracked.
/.claude/*
!/.claude/rules/
# Project skills are named explicitly and tracked; everything else under
# .claude/skills/ is the per-developer symlink farm into .agents/skills/.
!/.claude/skills/
/.claude/skills/*
!/.claude/skills/openlogi-macos-permissions/

# Node dependencies for the JS helper scripts under .github/scripts/.
node_modules/

# macOS finder metadata
.DS_Store

# Compiled icons — `cargo xtask macos icon` rebuilds them from the Icon
# Composer documents in `design/icon` on every bundle build. `AppIcon.icns` is
# the exception: `cargo bundle` reads it straight from the manifest, so it stays
# tracked and a plain `cargo bundle` still produces an app with an icon.
/crates/openlogi-desktop/icon/*.icns
!/crates/openlogi-desktop/icon/AppIcon.icns
/crates/openlogi-desktop/icon/Assets.car
/crates/openlogi-desktop/icon/previews/

# Packaging output.
*.dmg
