feat: [ENG-2468] register OpenClaude as a connector agent#548
feat: [ENG-2468] register OpenClaude as a connector agent#548bao-byterover merged 3 commits intomainfrom
Conversation
OpenClaude is a multi-provider Claude Code fork that reuses Claude Code's config paths (~/.claude/, .mcp.json, CLAUDE.md, .claude/skills), so the existing connector implementations work as-is — only declarative registry entries are needed. Adds OpenClaude with default 'mcp' and supported ['mcp', 'skill', 'rules']. Hook is omitted from v1 since Claude Code's hook detector relies on agent-internal markers that need separate verification against OpenClaude's hook chain.
|
Claude finished @DatPham-6996's task in 2m 13s —— View job PR Review: feat: [ENG-2468] register OpenClaude as a connector agent
SummaryScore: 3 / 5 This is a clean, minimal declarative addition with good scope discipline. The rules and skill entries are correct. However, there are two issues worth addressing before merge: a functional divergence in the MCP Issues1.
|
|
Claude finished @DatPham-6996's task in 55s —— View job PR Review: feat: [ENG-2468] register OpenClaude as a connector agent
SummaryScore: 5 / 5 Both issues from the previous review have been addressed. The PR is clean, minimal, correct, and consistent — ready to merge. Previous Issues — Now Resolved✅
|
|
Claude finished @DatPham-6996's task in 2m 27s —— View job PR Review: feat: [ENG-2468] register OpenClaude as a connector agent
SummaryScore: 5 / 5 The PR is clean, minimal, and correct. The third commit ( Latest Change:
|
| Config dimension | Claude Code | OpenClaude | Match |
|---|---|---|---|
default |
'skill' |
'skill' |
✅ |
supported |
['rules', 'hook', 'mcp', 'skill'] |
['rules', 'mcp', 'skill'] |
✅ (hook deferred) |
MCP configPath |
.mcp.json |
.mcp.json |
✅ |
MCP serverConfig.type |
'stdio' |
'stdio' |
✅ |
MCP serverConfig.command |
'brv' |
'brv' |
✅ |
MCP serverConfig.args |
['mcp'] |
['mcp'] |
✅ |
MCP serverConfig.env |
{} |
{} |
✅ |
Rules filePath |
CLAUDE.md |
CLAUDE.md |
✅ |
Rules writeMode |
'append' |
'append' |
✅ |
Skill globalPath |
.claude/skills |
.claude/skills |
✅ |
Skill projectPath |
.claude/skills |
.claude/skills |
✅ |
| Hook config | present | absent | ✅ (correctly deferred) |
Observations (non-blocking)
PR description is slightly stale — the body still says "Default connector is mcp" but the code now has default: 'skill'. The code is correct; the description is behind. Not a merge blocker, but worth noting for the changelog or a quick description edit.
supported ordering — ['rules', 'mcp', 'skill'] consistent with all other tri-support agents. ✅
Alphabetical position — OpenClaude sits between Kiro and OpenClaw in both AGENT_VALUES and all four config maps. ✅
TypeScript exhaustiveness — Record<Agent, AgentConnectorConfig> ensures a compile error if any registry map drifts out of sync. Robust safety net. ✅
Hook omission — correctly absent from both HOOK_CONNECTOR_CONFIGS and supported. ✅
Blast radius — 5 files, 26 lines added, zero new implementations, zero deletions. ✅
cuongdo-byterover
left a comment
There was a problem hiding this comment.
good from my side
|
lgm |
OpenClaude is a multi-provider Claude Code fork that reuses Claude Code's config paths (~/.claude/, .mcp.json, CLAUDE.md, .claude/skills), so the existing connector implementations work as-is — only declarative registry entries are needed. Adds OpenClaude with default 'mcp' and supported ['mcp', 'skill', 'rules']. Hook is omitted from v1 since Claude Code's hook detector relies on agent-internal markers that need separate verification against OpenClaude's hook chain.
Summary
brv connectors installalready supports 23 host agents (Claude Code, Cursor, Windsurf, OpenClaw, etc.) but has no entry for OpenClaude, the multi-provider Claude Code fork. Users running OpenClaude have to either edit.mcp.jsonby hand or repurpose the Claude Code connector with no clear signal that it applies.OpenClaudeto the agent enum and registered declarative entries in the MCP, skill, and rules connector config maps — all mirroring Claude Code's paths. Default connector ismcp;skillandrulesavailable via--type.*-connector.ts) was modified; no new files; no template-service entry (OpenClaude falls through like Claude Code); no hook connector entry (deferred to a follow-up); no documentation/README updates in this PR.Type of change
Scope (select all touched areas)
Linked issues
Root cause (bug fixes only, otherwise write
N/A)Test plan
test/unit/infra/connectors/**(243 tests),test/commands/connectors/**,test/unit/infra/connectors/connector-manager-migration.test.tsRecord<Agent, ...>exhaustiveness onAGENT_CONNECTOR_CONFIGensures every agent inAGENT_VALUEShas a capability entry —npm run typecheckis the contract that guarantees the registry stays consistent.brv connectors install OpenClaude --type mcpwrites the expectedmcpServers.brventry to.mcp.json;--type skillwrites to.claude/skills/byterover/SKILL.md;--type rulesappends a marked block toCLAUDE.md.User-visible changes
OpenClaudeappears in the interactive picker shown bybrv connectors install.brv connectors install OpenClaudeis now accepted as a direct invocation (defaults to--type mcp);--type skilland--type rulesare also supported.brv connectors listwill showOpenClaudeonce an OpenClaude connector is installed.Evidence
npm run typecheck→ clean (no errors)npm run lint→ 0 errors, 224 pre-existing warnings (none in the files this PR touches)npm run build→✓ built in 2.74snpx mocha "test/unit/infra/connectors/**/*.test.ts" "test/commands/connectors/**/*.test.ts"→ 243 passingnpx mocha "test/unit/infra/connectors/connector-manager-migration.test.ts" "test/unit/core/domain/entities/brv-config.test.ts"→ 65 passing (includes "no orphaned MCP agents" cross-map invariant)Checklist