Skip to content

refactor: fold ghost-mcp into ghost-ui#56

Merged
nahiyankhan merged 1 commit intomainfrom
refactor/fold-mcp-into-ghost-ui
Apr 24, 2026
Merged

refactor: fold ghost-mcp into ghost-ui#56
nahiyankhan merged 1 commit intomainfrom
refactor/fold-mcp-into-ghost-ui

Conversation

@nahiyankhan
Copy link
Copy Markdown
Collaborator

Summary

  • Fold the ghost-mcp package into packages/ghost-ui/src/mcp/. Its only job was re-exposing ghost-ui's registry.json over the MCP transport — no identity independent of ghost-ui, no separate consumers, no reason to carry a whole package.
  • ghost-ui now ships the ghost-mcp bin directly. A new tsconfig.mcp.json builds the Node-only code to dist-mcp/ via tsc, kept out of the Vite lib pipeline. Drops the scripts/copy-assets.mjs step — data.ts reads registry.json and .shadcn/skills.md straight off disk via import.meta.url. Aligns on zod v4 (drops the v3 pin).
  • Add per-package READMEs (ghost-ui, apps/docs) and a "Repo layout" section in the root README.md so a new reader can see the shape at a glance: main tool (ghost-drift) + reference design system (ghost-ui, which now ships the MCP bin) + docs site (apps/docs).
  • Bin-only export (no ghost-ui/mcp subpath). Nothing imported from ghost-mcp as a library; the library surface can be added later in a 5-line PR if a real consumer appears.

Test plan

  • pnpm install clean (MCP SDK added to ghost-ui; 115 transitive deps dropped along with ghost-mcp)
  • pnpm --filter ghost-ui build:mcp succeeds; dist-mcp/ populated with bin + declarations
  • Root pnpm build (composite tsc --build — now referencing packages/ghost-ui/tsconfig.mcp.json in place of the deleted packages/ghost-mcp) succeeds
  • pnpm check (biome + typecheck + file-sizes + docs + cli-manifest) passes
  • dist-mcp/bin.js responds to a stdio initialize handshake with the expected { tools, resources } capabilities
  • Pre-commit and pre-push hooks (just check, just test, just build) all pass

No changeset — ghost-ui is in the changesets ignore list (private).

🤖 Generated with Claude Code

ghost-mcp had no identity independent of ghost-ui — its only job was
re-exposing ghost-ui's registry.json over the MCP transport. Move the
six source files into packages/ghost-ui/src/mcp/ and expose the
"ghost-mcp" bin from ghost-ui directly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nahiyankhan nahiyankhan merged commit 7b2454e into main Apr 24, 2026
6 checks passed
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