# ─── Rust / Cargo ───────────────────────────────────────────────────────────
# Build output for the whole workspace (Cargo.lock IS committed — it's an app).
/target/
# ...et les target/ des sous-crates du workspace (règle non ancrée).
target/
**/*.rs.bk

# ─── Node / frontend ────────────────────────────────────────────────────────
# Dependencies and build output (package-lock.json IS committed).
frontend/node_modules/
frontend/dist/
# Sortie du build web (VITE_TRANSPORT=http) servie par idea-serve : meme
# classe que dist/, rebuildable depuis les sources — not versioned (#65).
frontend/dist-web/
# Root-level node_modules (dev tooling installs at repo root — never versioned).
/node_modules/
# npm/yarn/pnpm debug logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-store/
# Vite / vitest caches
frontend/.vite/
frontend/coverage/

# ─── Tauri ──────────────────────────────────────────────────────────────────
# Bundles live under target/ (already ignored). Generated icons are committed.
.tauri/

# ─── Claude Code ────────────────────────────────────────────────────────────
# Personal, machine-local overrides (shared settings.json, if any, stays tracked).
.claude/settings.local.json
# Ephemeral git worktrees created by Claude Code's isolated sub-agents — dev
# tooling only, unrelated to IdeA (which stays git-independent).
.claude/worktrees/

# ─── IdeA project data ──────────────────────────────────────────────────────
# Ephemeral per-agent run directories (isolated PTY cwd + generated convention
# files), created at activation — not versioned (ARCHITECTURE §9.1 / §14.1).
.ideai/run/
# Derived vector store for semantic recall (LOT C / §14.5.3): embeddings of the
# memory notes, rebuildable from the `.md` source of truth — not versioned.
.ideai/memory/.index/
# Runtime file-protocol orchestration requests/responses — transient I/O, not
# durable project state (curation .ideai §chantier secondaire).
.ideai/requests/
# Ticket store IdeA: l'utilisateur veut conserver l'état local des tickets en
# dehors des branches Git. À ignorer, sinon les changements de branche peuvent
# écraser/supprimer cet état local.
# Volatile agent live-state snapshot ("who is doing what right now", lot LS2):
# rebuilt at runtime, keyed last-writer-wins — not versioned (unlike .ideai/memory/).
.ideai/live-state.json
# UI layout runtime state (active layout id + session ids) — machine-local,
# rebuilt at runtime, last-writer-wins — not versioned (same class as live-state.json).
/.ideai/layouts.json
# Permissions MCP locales/outillage: état de runtime propre à la machine et aux
# sessions locales, pas une source de vérité projet.
.ideai/mcp-tool-permissions.json

# ─── Editors / OS ───────────────────────────────────────────────────────────
.idea/
.vscode/
*.swp
*.swo
*~
.DS_Store
Thumbs.db
# Conversation runtime (handoff distillé + log.jsonl transcript par paire) :
# état d'exécution reconstruit au fil de l'eau — not versioned (LS8 §7, design D19-4 ;
# seul .ideai/memory/ est le store durable versionné).
.ideai/conversations/
.ideai/agents.json
.ideai/background-tasks/
.ideai/mcp-tool-permissions.json
