feat(installer): add Rovo Dev as an installer target#508
Open
dhan-atlassian wants to merge 7 commits into
Open
feat(installer): add Rovo Dev as an installer target#508dhan-atlassian wants to merge 7 commits into
dhan-atlassian wants to merge 7 commits into
Conversation
Adds Rovo Dev CLI as a first-class MCP installer target, writing the codegraph server entry to ~/.rovodev/mcp.json. - New src/installer/targets/rovodev.ts implementing the full AgentTarget interface (detect, install, uninstall, printConfig, describePaths) - Rovo Dev config path: ~/.rovodev/mcp.json (global-only; no per-project MCP concept in the CLI) - Idempotent: preserves sibling MCP servers (e.g. ops-sherpa) on install and removes only the codegraph key on uninstall - Added 'rovodev' to the TargetId union in types.ts - Registered rovodevTarget in registry.ts Usage: codegraph install --target=rovodev Closes #rovodev-support
Rovo Dev loads ~/.rovodev/AGENTS.md as its global personal memory file on every session start. Writing the marker-delimited CodeGraph instructions block there means the agent automatically knows how and when to use the codegraph_* MCP tools without any manual setup. - Added instructionsPath() → ~/.rovodev/AGENTS.md - Added writeInstructionsEntry() using the shared marker-based section replacement (idempotent, preserves existing user content) - install() now writes both mcp.json + AGENTS.md - uninstall() strips the CodeGraph section from AGENTS.md - describePaths() now lists both files - Updated file-level docstring to reflect the two-file write
Covers the Rovo Dev-specific behaviour not already exercised by the
generic ALL_TARGETS contract suite:
- install writes both ~/.rovodev/mcp.json and ~/.rovodev/AGENTS.md
- mcp.json entry has no 'type' field (Rovo Dev assumes stdio)
- install preserves a pre-existing sibling MCP server (ops-sherpa)
- uninstall strips codegraph but leaves sibling servers intact
- uninstall strips the CodeGraph AGENTS.md section, preserves user content
- supportsLocation('local') returns false; global returns true
- install() now explicitly returns early with a helpful note when called with loc='local', matching the codex.ts pattern - docsUrl updated from product landing page to CLI developer docs: https://developer.atlassian.com/cloud/rovo/rovo-dev/
The developer.atlassian.com URL was a 404. Updated to the correct Atlassian Support docs page: https://support.atlassian.com/rovo/docs/use-rovo-dev-cli/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Rovo Dev CLI as a first-class MCP installer target, so users can run
codegraph install --target=rovodevto wire codegraph into Rovo Dev automatically.What changed
src/installer/targets/rovodev.ts— fullAgentTargetimplementationsrc/installer/targets/types.ts— added'rovodev'to theTargetIdunionsrc/installer/targets/registry.ts— registeredrovodevTargetREADME.md— added Rovo Dev to all agent lists and badge rowWhat gets written
~/.rovodev/mcp.json~/.rovodev/AGENTS.mdHow it works
Rovo Dev reads its MCP server registry from
~/.rovodev/mcp.json:{ "mcpServers": { "codegraph": { "command": "codegraph", "args": ["serve", "--mcp"] } } }And its global memory from
~/.rovodev/AGENTS.md(marker-delimited section, preserves user content).Key design decisions:
supportsLocation('local')returnsfalseandinstall()guards against local calls explicitlycodegraphkey on uninstall; marker-based AGENTS.md section is re-entranttypefield: Rovo Dev assumes stdio transport without requiring it explicitly~/.rovodev/directory existenceUsage
codegraph install --target=rovodev # or alongside other targets codegraph install --target=claude,rovodevTesting
typefield, sibling server preserved, uninstall strips only codegraph, AGENTS.md user content preserved, global-only enforcementvitest run __tests__/installer-targets.test.ts)tsc --noEmit