-
Notifications
You must be signed in to change notification settings - Fork 0
ci: run the Roslyn MCP in the CI @claude agent #29
Copy link
Copy link
Labels
agentEligible for autonomous agent pickupEligible for autonomous agent pickuparea:ciCI/CD workflows + automationCI/CD workflows + automationpriority:p2Normal priorityNormal priorityreadyHas acceptance criteria + DoD; pickable by the loopHas acceptance criteria + DoD; pickable by the looprisk:coresrc/Caliber.Webhooks; code-owner review (Opus, high effort)src/Caliber.Webhooks; code-owner review (Opus, high effort)type:ciCI configurationCI configuration
Description
Metadata
Metadata
Assignees
Labels
agentEligible for autonomous agent pickupEligible for autonomous agent pickuparea:ciCI/CD workflows + automationCI/CD workflows + automationpriority:p2Normal priorityNormal priorityreadyHas acceptance criteria + DoD; pickable by the loopHas acceptance criteria + DoD; pickable by the looprisk:coresrc/Caliber.Webhooks; code-owner review (Opus, high effort)src/Caliber.Webhooks; code-owner review (Opus, high effort)type:ciCI configurationCI configuration
Context
We wired
dotnet-claude-kitinto the repo at repo scope (.claude/settings.json, commit7300034). Locally the kit's agents, commands, skills, and the 15 Roslyn MCP tools are all live. The CI agent-in-the-loop (.github/workflows/claude.yml) runs in the checked-out repo, so it should inherit the kit's skills/agents/commands for free — but thecwm-roslyn-navigatorMCP server needs a .NET runtime to start, whichclaude.ymldoes not currently set up.See
docs/design/dotnet-claude-kit-adoption.md→ Open items.Goal
Make the kit — especially the Roslyn MCP tools — available to the
@claudeagent when it runs in CI, so issue-driven work gets the same navigation/quality tooling we have locally.Acceptance criteria
claude-code-actionactually picks up the repo's.claude/settings.json(extraKnownMarketplaces+enabledPlugins) in CI — i.e. does the in-CI agent get the kit's skills/agents/commands? Record the finding in the PR description. If it does not, wire the plugin explicitly via the action's inputs instead.actions/setup-dotnet, pinned toglobal.json) to theclaudejob, before theRun Claudestep, so thecwm-roslyn-navigatorMCP server can start.cwm-roslyn-navigatortool the way the plugin provides it). Confirm at least one Roslyn tool (e.g.get_project_graph) is callable in a CI run.risk:* → modelrouting,--max-turnscap, and theAGENT_PATauto-PR step unchanged in behaviour.docs/design/dotnet-claude-kit-adoption.md(Open items) anddocs/design/development-loop.md(step 5) to record the outcome — in the same PR.@clauderun), document the finding and a recommended deferral in the adoption doc instead of forcing it — a clear "why not yet" is an acceptable outcome.Definition of done
claude.ymlchange merged via the normal gate. This is a.github/workflows/**change →risk:core, CODEOWNERS-reviewed, never auto-merges.Pointers
.github/workflows/claude.yml— the workflow to change.docs/design/dotnet-claude-kit-adoption.md— Open items + the adopt/decline context.cwm-roslyn-navigator, launched ascwm-roslyn-navigator --solution ${workspaceFolder}.global.json— pinsetup-dotnetto this.