Skip to content

feat: multi-CLI installer with registry pattern (7 platforms)#3

Merged
gabelul merged 1 commit intomainfrom
feat/multi-cli-registry
Feb 25, 2026
Merged

feat: multi-CLI installer with registry pattern (7 platforms)#3
gabelul merged 1 commit intomainfrom
feat/multi-cli-registry

Conversation

@gabelul
Copy link
Owner

@gabelul gabelul commented Feb 25, 2026

Summary

  • Refactors bin/stitch-kit.mjs from hardcoded 2-platform logic to a registry-driven architecture supporting 7 CLI tools
  • Each platform is a declarative config object — adding a new client = adding one object to the CLIENTS array
  • Generic functions (installClient, uninstallClient, statusClient) iterate the registry instead of per-platform if/else

Supported Platforms

Platform Agent Skills MCP Config Notes
Claude Code plugin JSON mcpServers Plugin recommendation hook
Codex CLI TOML mcp_servers
Cursor JSON mcpServers
VS Code JSON servers + type: http Extra Accept header
OpenCode JSON mcp + type: remote enabled: true flag
Crush JSON mcp + type: http
Gemini CLI Extension install, no config file

Key Design Decisions

  • TOML stays as special case in installMcp() — only Codex uses it, no parser dependency needed
  • Gemini CLI uses isExtensionBased: true + mcp: null to cleanly skip MCP logic
  • API key prompted once, shared across all detected platforms
  • MCP config left in place on uninstall — user may want to keep it

Test plan

  • npx @booplex/stitch-kit status — shows all 7 platforms (detected/not-detected)
  • npx @booplex/stitch-kit --help — lists all platforms with feature summary
  • npx @booplex/stitch-kit -v — version output works
  • Test install with API key on fresh machine
  • Verify JSON output matches official Stitch docs for each platform
  • Test uninstall removes only what was installed

Replace hardcoded Claude Code + Codex CLI installer with a CLIENTS
registry array. Each platform is a config object declaring detection,
MCP format, agent/skills paths, and post-install hooks.

Supported platforms:
- Claude Code (agent + MCP + plugin recommendation)
- Codex CLI (agent + skills + TOML MCP)
- Cursor (MCP only)
- VS Code (MCP with servers key + Accept header)
- OpenCode (agent + skills + MCP with type: remote)
- Crush (skills + MCP with type: http)
- Gemini CLI (extension-based, no MCP config file)

Adding a new client = adding one object to the CLIENTS array.
Generic functions handle install/uninstall/status for all platforms.
@gabelul gabelul merged commit a350fe7 into main Feb 25, 2026
1 check passed
@gabelul gabelul deleted the feat/multi-cli-registry branch February 25, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant