Background / Motivation
As an agentMemory user who works primarily with a single AI coding agent (e.g., KiloCode or OpenCode), I find the current behavior of automatically configuring all supported agents problematic. When I initialize agentMemory in a project, it unconditionally creates directories and configuration files for all agents — KiloCode, Cline, RooCode, and OpenCode — even though I only use one or two of them.
This leads to:
- Cluttered project directories with unused
.clinerules/, .roo/, .opencode/, etc.
- Noisy git diffs when these directories get accidentally committed
- Confusion for team members who see files for agents they don't use
Proposed Solution
Introduce a user-configurable agent selection step before the memory bank is initialized. The user should explicitly choose which agents to sync with, and agentMemory should only create files and directories for the selected agents.
The selection should be persisted in .agentMemory/agents.json and treated as the single source of truth for all sync operations.
Desired Behavior
User chooses: KiloCode + OpenCode
Result:
✅ .kilocode/rules/memory-bank/ (created)
✅ .opencode/memory-bank/ (created)
❌ .clinerules/memory-bank/ (NOT created)
❌ .roo/memory-bank/ (NOT created)
Proposed User Flows
| Context |
How agent selection should work |
| VS Code Extension |
Show showQuickPick with canPickMany during ensureSetup(), pre-selecting installed agents |
CLI (npm run start-server) |
Accept --agents=kilocode,opencode flag and write to agents.json |
| Terminal / SKILL.md setup |
Interactive readline prompt during project_init (when TTY is available) |
| Later reconfiguration |
New MCP tool configure_agents({ agents: "kilocode,roocode" }) to change selection anytime |
Testing Scenarios
- Fresh project, VS Code Extension: Activate extension → QuickPick appears → select only 2 agents → verify only those directories are created
- CLI with
--agents flag: run server.js --agents=opencode → verify agents.json contains ["opencode"] → memory writes sync only to .opencode/
- MCP reconfiguration: call
configure_agents({ agents: "kilocode,cline" }) → verify subsequent writes go to those two agents only
- Backward compatibility: start server without
--agents and without agents.json → verify auto-detection and graceful initialization
Related
Background / Motivation
As an agentMemory user who works primarily with a single AI coding agent (e.g., KiloCode or OpenCode), I find the current behavior of automatically configuring all supported agents problematic. When I initialize agentMemory in a project, it unconditionally creates directories and configuration files for all agents — KiloCode, Cline, RooCode, and OpenCode — even though I only use one or two of them.
This leads to:
.clinerules/,.roo/,.opencode/, etc.Proposed Solution
Introduce a user-configurable agent selection step before the memory bank is initialized. The user should explicitly choose which agents to sync with, and agentMemory should only create files and directories for the selected agents.
The selection should be persisted in
.agentMemory/agents.jsonand treated as the single source of truth for all sync operations.Desired Behavior
Proposed User Flows
showQuickPickwithcanPickManyduringensureSetup(), pre-selecting installed agentsnpm run start-server)--agents=kilocode,opencodeflag and write toagents.jsonreadlineprompt duringproject_init(when TTY is available)configure_agents({ agents: "kilocode,roocode" })to change selection anytimeTesting Scenarios
--agentsflag: runserver.js --agents=opencode→ verifyagents.jsoncontains["opencode"]→ memory writes sync only to.opencode/configure_agents({ agents: "kilocode,cline" })→ verify subsequent writes go to those two agents only--agentsand withoutagents.json→ verify auto-detection and graceful initializationRelated