Repository navigation
Conversation
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
Add automatic detection, skill installation, MCP registration, uninstall, and --clients selection for the agentty coding agent (https://github.com/1ay1/agentty), following the established detected-agent pattern (OpenHands template): - Detection: ~/.agentty/ directory or agentty CLI on PATH; new cbm_detected_agents_t.agentty field probed in cbm_detect_agents() - Selection: --clients=agentty token via the CLI_CLIENTS table - Install: codebase-memory skill to ~/.agentty/skills/ (Claude-compatible SKILL.md; user scope = trusted on load) and MCP server entry in ~/.agentty/mcp.json (standard mcpServers shape via the existing cbm_install_editor_mcp adapter). Instructions/hooks/tiered profiles deliberately withheld — agentty documents no AGENTS.md equivalent. - Uninstall: owned-document matching counterpart; user-modified files and foreign servers survive; skill dir removed only when empty - Docs: README agent table row, pkg/npm/README.md (40 detected), docs/llms.txt + docs/index.html + badge (46 surfaces / 40 detected), contract test cli_supported_agent_surfaces_match_installers and the --help enumeration aligned to 46/40 in lockstep Tests: detection, --clients vocabulary + leak guard, install plan and schema checks, and an install/uninstall roundtrip asserting foreign-server and user-skill preservation in both directions. Signed-off-by: davidwe <davidwe@posteo.de>
DeusData
left a comment
There was a problem hiding this comment.
Thank you, @davidwed! This is a clean, well-tested addition:
- The paths match agentty's own docs (
~/.agentty/mcp.jsonat user scope,~/.agentty/skills/). - Uninstall removes only what we own.
- Every headline count and the contract test stay in lockstep.
We'd like agentty in, with two changes before merge:
-
Please register agentty in the table-driven client registry (
src/cli/agent_clients.c) instead of the legacy detector.- Every client added since Grok Build lives there: Qoder, Kimi Code, GitLab Duo, Rovo Dev, Amp, Devin, Tabnine, CodeBuddy, IBM Bob Shell, Pochi, Pi and Oh My Pi. Each entry carries its stability class, capability bits, detection command and install/remove callbacks.
- The legacy path is
cbm_detected_agents_t,CLI_CLIENTS, the plan-names table and the hand-written install/uninstall blocks. We are no longer extending it. - Moving agentty to the registry also gives you detection output,
--clients,--planand uninstall from that one entry. - On the current legacy path,
print_detected_agentsdoesn't list agentty. A machine with only agentty would print "Detected agents: (none)" and then install anyway.
-
Honor
$AGENTTY_MCP_CONFIG.- agentty's plugin docs say this variable points at an explicit file that overrides both the user and the project
mcp.json. - When it is set, agentty never reads the entry in
~/.agentty/mcp.json, yet install still reports success. - Writing to the override file when the variable is set, as we already do for
CLAUDE_CONFIG_DIR,GROK_HOMEandVIBE_HOME, closes that gap.
- agentty's plugin docs say this variable points at an explicit file that overrides both the user and the project
One small thing: the suite comment in tests/test_cli.c changes "6 tests" to "7 tests", but the group already has more than that, so it's fine to drop the count.
Thanks again for picking this up and for modelling it so carefully on the existing clients!
…TTY_MCP_CONFIG Address the two pre-merge review requests on PR DeusData#2483: 1. Move agentty from the legacy detector to the table-driven client registry (src/cli/agent_clients.c), the home of every client added since Grok Build. The entry carries its stability class, capability bits (MCP | SKILL), detection command, and install/remove callbacks, which gives detection output, --clients selection, --plan receipts, and uninstall from that one row. The legacy path — cbm_detected_agents_t.agentty, the CLI_CLIENTS token, the plan-names row, and the hand-written install/uninstall blocks — is removed, so print_detected_agents no longer shows a machine with only agentty as "(none)" while installing anyway. 2. Honor $AGENTTY_MCP_CONFIG in both directions. When the variable is set, install and uninstall target that explicit file (with leading-~ expansion against HOME, matching CLAUDE_CONFIG_DIR/GROK_HOME/ VIBE_HOME) and leave ~/.agentty/mcp.json untouched, closing the gap where install reported success while agentty read only its override. Also drop the stale "7 tests" count from the suite comment and cover the registry entry, the env override, and the override-aware install/uninstall roundtrip in the CLI and registry suites. Validated: build clean; focused cli + agent_clients + agent_profiles runs at 388 passed / 20 failed, the identical pre-change baseline (install/uninstall staging under the local ASan runner; green on CI). The seven touched agentty/registry tests pass in isolation.
…TTY_MCP_CONFIG 1. Move agentty from the legacy detector to the table-driven client registry (src/cli/agent_clients.c), the home of every client added since Grok Build. The entry carries its stability class, capability bits (MCP | SKILL), detection command, and install/remove callbacks, which gives detection output, --clients selection, --plan receipts, and uninstall from that one row. The legacy path — cbm_detected_agents_t.agentty, the CLI_CLIENTS token, the plan-names row, and the hand-written install/uninstall blocks — is removed, so print_detected_agents no longer shows a machine with only agentty as "(none)" while installing anyway. 2. Honor $AGENTTY_MCP_CONFIG in both directions. When the variable is set, install and uninstall target that explicit file (with leading-~ expansion against HOME, matching CLAUDE_CONFIG_DIR/GROK_HOME/ VIBE_HOME) and leave ~/.agentty/mcp.json untouched, closing the gap where install reported success while agentty read only its override. Also drop the stale "7 tests" count from the suite comment and cover the registry entry, the env override, and the override-aware install/uninstall roundtrip in the CLI and registry suites. Signed-off-by: davidwed <davidwe@posteo.de>
What does this PR do?
Add automatic detection, skill installation, MCP registration, uninstall, and --clients selection for the agentty coding agent (https://github.com/1ay1/agentty), following the established detected-agent pattern (OpenHands template):
Tests: detection, --clients vocabulary + leak guard, install plan and schema checks, and an install/uninstall roundtrip asserting foreign-server and user-skill preservation in both directions.
Checklist
git commit -s) — required, CI rejectsunsigned commits (DCO, see CONTRIBUTING.md)
make -f Makefile.cbm test)make -f Makefile.cbm lint-ci)