Skip to content

feat(installer): add Rovo Dev as an installer target#508

Open
dhan-atlassian wants to merge 7 commits into
colbymchenry:mainfrom
dhan-atlassian:feat/rovodev-target
Open

feat(installer): add Rovo Dev as an installer target#508
dhan-atlassian wants to merge 7 commits into
colbymchenry:mainfrom
dhan-atlassian:feat/rovodev-target

Conversation

@dhan-atlassian
Copy link
Copy Markdown

@dhan-atlassian dhan-atlassian commented May 27, 2026

Summary

Adds Rovo Dev CLI as a first-class MCP installer target, so users can run codegraph install --target=rovodev to wire codegraph into Rovo Dev automatically.

What changed

  • New src/installer/targets/rovodev.ts — full AgentTarget implementation
  • Updated src/installer/targets/types.ts — added 'rovodev' to the TargetId union
  • Updated src/installer/targets/registry.ts — registered rovodevTarget
  • Updated README.md — added Rovo Dev to all agent lists and badge row

What gets written

File Purpose
~/.rovodev/mcp.json Registers the codegraph MCP server so Rovo Dev launches it
~/.rovodev/AGENTS.md Injects the CodeGraph usage instructions into Rovo Dev's global memory, loaded on every session

How 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:

  • Global-only: Rovo Dev has no per-project MCP config concept, so supportsLocation('local') returns false and install() guards against local calls explicitly
  • Idempotent: preserves sibling MCP servers (e.g. ops-sherpa) on install; removes only the codegraph key on uninstall; marker-based AGENTS.md section is re-entrant
  • No type field: Rovo Dev assumes stdio transport without requiring it explicitly
  • Detection: checks for ~/.rovodev/ directory existence

Usage

codegraph install --target=rovodev
# or alongside other targets
codegraph install --target=claude,rovodev

Testing

  • 5 rovodev-specific tests covering: both files written, no type field, sibling server preserved, uninstall strips only codegraph, AGENTS.md user content preserved, global-only enforcement
  • All 142 installer tests pass (vitest run __tests__/installer-targets.test.ts)
  • TypeScript compiles cleanly with tsc --noEmit
  • Verified against a live Rovo Dev installation

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/
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