Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -345,10 +345,15 @@ commit SHA so an older score can never authorize a replacement head.
start an MCP subprocess.
- Claude Code: install the plugin under `adapters/claude-code`.
- Cursor: copy the files under `adapters/cursor` or use its MCP configuration.
Cursor CLI can power an Astro source checkout by copying
`adapters/cursor/.cursor/mcp.astro.json` to `.cursor/mcp.json`; that config
launches the local `./packages/agent-merge-queue[mcp]` package instead of the
public release.
- Other clients: connect `deploybot-mcp` over stdio or call the CLI directly.

The Claude Code and Cursor MCP configurations launch the pinned public release
with `uvx`.
with `uvx`; the Astro Cursor CLI variant uses the same command against the
source tree package.
The `mergeq` and `mergeq-mcp` command aliases remain for compatibility.

## Command overview
Expand Down
12 changes: 12 additions & 0 deletions adapters/cursor/.cursor/mcp.astro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"mcpServers": {
"deploybot": {
"command": "uvx",
"args": [
"--from",
"./packages/agent-merge-queue[mcp]",
"deploybot-mcp"
]
}
}
}
21 changes: 21 additions & 0 deletions tests/test_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,27 @@ def test_cursor_adapter_exposes_status_workflow(self) -> None:
self.assertIn("never freeze a", rule)
self.assertIn("queue merely to inspect it", rule)

def test_cursor_cli_can_use_astro_source_tree_package(self) -> None:
config = json.loads(
(
ROOT / "adapters" / "cursor" / ".cursor" / "mcp.astro.json"
).read_text(encoding="utf-8")
)
args = config["mcpServers"]["deploybot"]["args"]

self.assertEqual(config["mcpServers"]["deploybot"]["command"], "uvx")
self.assertIn("./packages/agent-merge-queue[mcp]", args)
self.assertIn("deploybot-mcp", args)
self.assertNotIn(RELEASE_COMMIT, " ".join(args))

def test_readme_documents_cursor_cli_for_astro(self) -> None:
readme = (ROOT / "README.md").read_text(encoding="utf-8")

self.assertIn("Cursor CLI", readme)
self.assertIn("Astro source checkout", readme)
self.assertIn("mcp.astro.json", readme)
self.assertIn("./packages/agent-merge-queue[mcp]", readme)

def test_github_workflow_wakes_after_named_ci_finishes(self) -> None:
workflow = (ROOT / "examples" / "github-workflow.yml").read_text(
encoding="utf-8"
Expand Down