Skip to content

feat: agent auto-setup with interactive picker - #5

Merged
qdequele merged 11 commits into
mainfrom
qdequele/nostalgic-solomon-966a0e
Jun 16, 2026
Merged

feat: agent auto-setup with interactive picker#5
qdequele merged 11 commits into
mainfrom
qdequele/nostalgic-solomon-966a0e

Conversation

@qdequele

Copy link
Copy Markdown
Owner

Summary

Makes memd setup agent-aware. Instead of hardcoding Claude Code registration, it now detects the LLM agents installed on the machine and presents an interactive checklist of which to connect to memd's MCP server.

  • Interactive picker (memd setup): a dialoguer multi-select of 7 agents — Claude Code, Codex, Gemini CLI, Cursor, Windsurf, Cline, Zed — pre-checked from current state. Sync semantics: the checklist is the source of truth, so un-checking a configured agent removes memd from it. On a non-TTY (CI/piped), it auto-configures every detected agent and removes nothing.
  • New src/agents/ module: a mostly-data registry. Each agent declares its detection rule, MCP registration mechanism (Claude CLI / JSON-merge / TOML-merge), an optional instruction-file for directives, and a hooks flag. All seven were verified HTTP-capable, so every agent registers the always-on daemon's HTTP endpoint (http://127.0.0.1:7702/mcp).
  • memd status Agents section: reports each agent as configured (HTTP), detected — not configured, or not detected.
  • Directives go to Claude Code / Codex / Gemini CLI (agents with a global instruction file); lifecycle hooks remain Claude Code only.
  • Data-loss guard: memd refuses to overwrite an agent config it can't parse (JSONC configs with comments are left untouched with a warning) rather than clobbering the user's other MCP servers.

Design spec and implementation plan are in docs/superpowers/.

Test Plan

  • cargo test — 54 passing (JSON/TOML merge insert/remove/idempotent/preserve/no-clobber, plan_action sync matrix, registry, directive roundtrip)
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo fmt --check — clean
  • cargo build --release — succeeds
  • memd status shows the Agents section with live per-agent state
  • Manually exercise the interactive MultiSelect picker on a TTY (not run in CI; verify checkbox toggles configure/remove as expected)

🤖 Generated with Claude Code

@qdequele
qdequele merged commit 90cecff into main Jun 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant