Scaffolding: climcp new for starter cli-mcp project #1

Closed
opened 2026-05-23 20:53:53 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-13T14:23:59Z - https://github.com/coilysiren/cli-mcp/issues/42

Both mcptools (mcp new tool:calculate resource:file prompt:greet) and FastMCP (fastmcp run ergonomics, server templates) offer ways to spin up a starter project. cli-mcp doesn't.

For someone landing on cli-mcp from the README, the gap between "I want to project my CLI as MCP" and "working examples/dual-mode-shaped binary in my own repo" is currently: clone, copy examples/dual-mode/main.go, find-and-replace, tweak.

Proposal: a climcp new <module-path> helper that generates:

  • main.go wired with climcp.AttachMCP
  • go.mod with cli-mcp + urfave/cli v3 pinned
  • A trivial hello leaf command as placeholder
  • .coily/coily.yaml stub if --with-coily is passed
  • cli-guard/verb.Wrap wired in if --with-guard is passed (probably yes by default given the cli-* family posture)
  • A README scaffold pointing back at cli-mcp docs

Open questions:

  • Ship as a separate cmd/climcp binary that users go install, or as a subcommand of an existing binary, or just a template repo on github with a gh repo create --template story?
  • Whether to also generate a Dockerfile / Caddyfile mirroring deploy/Caddyfile.example.
  • Lower priority than #38 (FromOpenAPI), #39 (Mount), #40 (middleware), #41 (test harness) - this is QoL, not unblock.
_Originally filed by @coilysiren on 2026-05-13T14:23:59Z - [https://github.com/coilysiren/cli-mcp/issues/42](https://github.com/coilysiren/cli-mcp/issues/42)_ Both [mcptools][mcptools] (`mcp new tool:calculate resource:file prompt:greet`) and [FastMCP][fastmcp] (`fastmcp run` ergonomics, server templates) offer ways to spin up a starter project. cli-mcp doesn't. For someone landing on cli-mcp from the README, the gap between "I want to project my CLI as MCP" and "working `examples/dual-mode`-shaped binary in my own repo" is currently: clone, copy `examples/dual-mode/main.go`, find-and-replace, tweak. Proposal: a `climcp new <module-path>` helper that generates: - `main.go` wired with `climcp.AttachMCP` - `go.mod` with cli-mcp + urfave/cli v3 pinned - A trivial `hello` leaf command as placeholder - `.coily/coily.yaml` stub if `--with-coily` is passed - `cli-guard/verb.Wrap` wired in if `--with-guard` is passed (probably yes by default given the cli-* family posture) - A README scaffold pointing back at cli-mcp docs Open questions: - Ship as a separate `cmd/climcp` binary that users `go install`, or as a subcommand of an existing binary, or just a template repo on github with a `gh repo create --template` story? - Whether to also generate a `Dockerfile` / `Caddyfile` mirroring `deploy/Caddyfile.example`. - Lower priority than #38 (FromOpenAPI), #39 (Mount), #40 (middleware), #41 (test harness) - this is QoL, not unblock. [mcptools]: https://github.com/f/mcptools [fastmcp]: https://github.com/jlowin/fastmcp
coilysiren 2026-05-30 05:44:18 +00:00
  • closed this issue
  • added the
    icebox
    label
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilysiren/cli-mcp#1
No description provided.