ARCHITECTURE §14.1: an agent's PTY cwd is now its own
`<project_root>/.ideai/run/<agent-id>/` directory, never the project root, so
N agents of the same profile no longer collide on a single conventional file
(CLAUDE.md/AGENTS.md/...).
- profile: cwd_template is now "{agentRunDir}" (built-in catalogue + docs).
- runtime: resolve_cwd substitutes {agentRunDir} (legacy {projectRoot} kept).
- LaunchAgent: computes + creates the run dir via FileSystem::create_dir_all,
passes it as the cwd base to the pure prepare_invocation. Contract chosen:
pass run_dir as the `cwd` argument (no PreparedContext change) — keeps
prepare_invocation pure, I/O stays in the use case.
- convention file is generated by IdeA inside the run dir via a pure
compose_convention_file(project_root, agent_md): absolute project-root header
+ agent persona (extensible for skills, §14.2).
- .gitignore: ignore .ideai/run/.
- run-dir cleanup left as a TODO (FileSystem port exposes no delete).
Tests: anti-collision (2 agents -> 2 distinct cwd, 2 distinct convention files,
none at root), run-dir creation order, composed convention file; pure unit
tests for agent_run_dir + compose_convention_file; runtime {agentRunDir}
substitution. cargo test --workspace + clippy -D warnings green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
2.0 KiB
Plaintext
41 lines
2.0 KiB
Plaintext
# ─── Rust / Cargo ───────────────────────────────────────────────────────────
|
|
# Build output for the whole workspace (Cargo.lock IS committed — it's an app).
|
|
/target/
|
|
**/*.rs.bk
|
|
|
|
# ─── Node / frontend ────────────────────────────────────────────────────────
|
|
# Dependencies and build output (package-lock.json IS committed).
|
|
frontend/node_modules/
|
|
frontend/dist/
|
|
# 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
|
|
|
|
# ─── 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/
|
|
|
|
# ─── Editors / OS ───────────────────────────────────────────────────────────
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
Thumbs.db
|