feat: csdd MCP server (dev-flow tools) + npm distribution#4
Merged
Conversation
Trim the csdd MCP server to the iterative development-flow resources (steering, spec, skill, agent) plus a version diagnostic — 27 tools. Remove the setup/management tools (init, mcp; export was already gone): those stay CLI-only, one-time human operations rather than agent-loop tools. - csdd init now registers the `csdd` MCP server in .mcp.json by default (stdio via `npx -y @protonspy/csdd-mcp`); `--no-mcp` opts out. Idempotent. - csdd-mcp declares the per-platform csdd binaries as optionalDependencies, so `npx @protonspy/csdd-mcp` self-fetches the matching binary (zero-config). - Document the MCP-first dev flow in CLAUDE.md and csdd.md: prefer the typed `csdd_*` tools (more precise than hand-written commands); setup and management remain on the CLI. - Update READMEs and trim the tool tests; adjust two CLI tests that assumed an empty .mcp.json now that init registers a server. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings two things to
main: the npm distribution of thecsddCLI (npx launcher + release pipeline) and a Model Context Protocol server that exposes the csdd development flow as typed tools, wired intocsdd init.npm distribution
@protonspy/csdd+ per-platform prebuilt-binary packages, published by the release workflow (make release)..gitignore/.npmignorehygiene; docs updated fornpx @protonspy/csddusage.MCP server (
@protonspy/csdd-mcp)csdd_steering_*,csdd_spec_*,csdd_skill_*,csdd_agent_*, pluscsdd_version(27 tools). Each builds the csdd argv and shells out headlessly; exit 2 (validation) is surfaced distinctly.init,mcp,export) are intentionally not tools — one-time CLI operations, not agent-loop steps.node:test(argv builders, result formatting, binary resolution,runCsddagainst a stub, every tool's argv mapping). Wired into CI on Node 24.optionalDependencieson the per-platform csdd binaries →npx @protonspy/csdd-mcpself-fetches the matching binary (zero-config); override withCSDD_BIN.Integration
csdd initregisters thecsddMCP server in.mcp.jsonby default (--no-mcpto skip); idempotent, portable entry (npx -y @protonspy/csdd-mcp, no absolute paths).CLAUDE.md+csdd.mdnow document the MCP-first dev flow: prefer the typedcsdd_*tools (validatedartifact/phase/inclusionenums → fewer invalid invocations); the CLI stays the source of truth and the fallback.Testing
go test ./...green (incl. new init-registration tests; adjusted two tests that assumed an empty.mcp.json).npm testgreen — 27 tools, 67 tests;npm cilockfile in sync.csdd initregisters the server;resolveCsddBin()finds the optionalDependency binary (csdd v0.1.1).Notes
csdd-mcpoptionalDependencies pin^0.1.0(current csdd 0.1.x line); a follow-up could wire mcp-server into the release pipeline for exact version lockstep.🤖 Generated with Claude Code