Skip to content

Latest commit

 

History

History
129 lines (101 loc) · 7.03 KB

INTEGRATIONS.md

File metadata and controls

129 lines (101 loc) · 7.03 KB

Agent integrations

Anything that speaks MCP can read a repowise index. This page is about how deeply each agent is wired, which is a different question, and the one every breadth claim in this space gets wrong.

Tiers

The tier is derived from the code, never declared. A descriptor reaches Full only by naming both a hook adapter and a transcript adapter, and Good only by wiring instructions or skills beside MCP, so no document can claim a depth the integration does not have.

  • Full. MCP tools, a managed instructions file, skills, slash commands, hook-level interception of tool calls, and transcript mining after the fact. Every surface repowise has.
  • Good. MCP tools plus a managed instructions file or skills, so the agent is told when to reach for them. No transcript mining, and hooks only where the matrix says so. The agent can ask repowise questions; repowise sees little or nothing of what it does in between.
  • Basic. repowise writes the MCP server config and nothing else. The tools are there; no instructions file or skill tells the agent when to use them.
  • Paste-config. repowise agents print-config <id> emits the MCP server snippet and we write nothing. Zero code and zero maintenance per host.

The matrix

Yes means repowise wires it. Plugin means the host's own plugin ships it and repowise does not write it. No means the surface does not exist for that agent. Indexing is Yes when the agent's own CLI can run as the LLM that writes the index, selected by its provider id (claude_cli, for example). It is separate from the tier: it says nothing about the session. init offers a logged-in agent CLI but uses it only when you pick it or pass --provider. An agent CLI has no embedder, so semantic search needs an embedder key of its own: see Embeddings.

Attribution is Yes when repowise can record the agent's edits as they happen, an opt-in set by attribution.capture and attribution.agents. Every agent's own git-ai notes, Agent Trace files and commit trailers are read either way.

Agent Tier MCP Hooks Skills Commands Instructions Transcripts Indexing Attribution
Claude Code Full Yes Yes Plugin Plugin Yes Yes Yes Yes
Codex CLI Full Yes Yes Plugin Yes Yes Yes Yes Yes
VS Code Good Yes No No No Yes No No No
Cursor Good Yes Yes No No Yes No No Yes
OpenCode Good Yes No No No Yes No Yes No
Hermes Good Yes No No No Yes No No No
GitHub Copilot CLI Good Yes No No No Yes No Yes No
Kiro Good Yes No No No Yes No No No

Target ids for --target=: claude-code, codex, vscode, cursor, opencode, hermes, copilot, kiro.

What Good tier does not include

VS Code, Cursor, OpenCode, Hermes, GitHub Copilot CLI and Kiro sit at Good, and the honest version of that is worth stating plainly. These agents get the MCP tools and the config repowise writes. They do not get hook-level interception: repowise never sees a tool call before it runs, never rewrites a noisy command, and never annotates a result afterwards. Nor is there transcript mining, so nothing learns from the session after it ends.

The one exception is hooks: Cursor runs the distill command-rewrite hook, so noisy commands are rewritten there. Transcript mining is still absent.

That is a real integration and it is most of the value. It is not the same product Full-tier agents get, and breadth that overclaims depth is worse than narrower breadth.

Paste-config

Every other MCP host is served without writing a descriptor for it. Print the server entry and paste it into whatever config that host reads:

repowise agents print-config claude-code   # prints, writes nothing

Ask for the target id whose host is closest to yours instead of editing a snippet by hand. The shapes genuinely differ, and not only in their wrapper: hosts disagree about the top-level key, about whether each entry carries a type field, about whether the invocation is one array or a command plus a separate argument list, and about the file format itself, so codex prints TOML and hermes prints YAML where the others print JSON. claude-code is the plain mcpServers JSON most hosts read and is the right default when yours is not listed below. Hosts people ask about most, none of which repowise writes config for today:

Cline, Windsurf, Zed, Continue, Gemini CLI, JetBrains AI Assistant, Amp.

print-config takes one of the target ids above; there is no descriptor to name for a host at this tier, which is the point of the tier.

The MCP surface

repowise registers eighteen MCP tools. A single-repo server advertises ten of them by default, and workspace mode adds one more automatically for eleven. A further seven are off by default, enabled through the mcp.tools config block or --tools +name. The lean profile trims the default surface to six tools (seven in workspace mode) for agents on a tight context budget.

Per-tool detail: MCP_TOOLS.md.

Adding an agent

The step-by-step recipes, including indexing backends and hook and transcript adapters, are in docs/architecture/agent-platform.md. In short, an integration target is:

  1. An AgentIdentity in identity.py.
  2. A descriptor module in packages/cli/src/repowise/cli/agent_targets/targets/ exporting a TARGET that satisfies the AgentTarget protocol in types.py.
  3. One line in _TARGET_MODULES in registry.py.
  4. A README badge under the tier derive_tier gives it, checked by tests/unit/cli/test_agent_matrix.py.
  5. python scripts/gen_agent_matrix.py to add the row here.

An indexing backend is its own module in packages/core/src/repowise/core/providers/llm/ subclassing AgentCliProvider, a ProviderSpec in specs.py, and one Backend entry in tests/unit/test_providers/test_agent_cli_contract.py.

Declare only what the agent genuinely has. derive_tier reads the adapter names, so a descriptor that names a hook adapter it has not implemented publishes a Full-tier claim on this page.