Skip to content

fix(release): bundle agon-mcp into the cli — unblock public npm install#179

Merged
cukas merged 1 commit into
mainfrom
feat/narration-fold
Jun 8, 2026
Merged

fix(release): bundle agon-mcp into the cli — unblock public npm install#179
cukas merged 1 commit into
mainfrom
feat/narration-fold

Conversation

@cukas

@cukas cukas commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

@kernlang/agon-mcp was an unpublished runtime dependency of @kernlang/agon (Cesar spawns it for orchestration tools via require.resolve), so a fresh npm i -g @kernlang/agon 404'd at install. Rather than publish agon-mcp + agon-core (against the "bundle everything, keep core private" strategy), emit the MCP server from the cli's own tsup build:

  • cli tsup: second entry ../mcp/src/index.ts -> dist/mcp/index.js (inlines agon-core, shares chunks); copy engines/ next to it so the spawned server resolves them via resolveBuiltinEnginesDir.
  • resolveAgonMcpServerPath: check the bundled sibling /mcp/index.js first (the published path); keep the monorepo fallbacks.
  • drop @kernlang/agon-mcp from cli dependencies (kills the install 404).
  • mcp/src/index.ts: remove the source shebang (cli's banner adds one; a double shebang is a hard SyntaxError in the bundle).
  • mark packages/mcp private + drop its bin: it is now an internal bundle-source, never published or run standalone.

Verified: bundled server spawns, loads engines, serves 23 orchestration tools; tarball ships dist/mcp/; typecheck + full suite (2231) green; 6-engine agon review clean.

@kernlang/agon-mcp was an unpublished runtime dependency of @kernlang/agon
(Cesar spawns it for orchestration tools via require.resolve), so a fresh
`npm i -g @kernlang/agon` 404'd at install. Rather than publish agon-mcp +
agon-core (against the "bundle everything, keep core private" strategy),
emit the MCP server from the cli's own tsup build:

- cli tsup: second entry ../mcp/src/index.ts -> dist/mcp/index.js (inlines
  agon-core, shares chunks); copy engines/ next to it so the spawned server
  resolves them via resolveBuiltinEnginesDir.
- resolveAgonMcpServerPath: check the bundled sibling <dist>/mcp/index.js
  first (the published path); keep the monorepo fallbacks.
- drop @kernlang/agon-mcp from cli dependencies (kills the install 404).
- mcp/src/index.ts: remove the source shebang (cli's banner adds one; a
  double shebang is a hard SyntaxError in the bundle).
- mark packages/mcp private + drop its bin: it is now an internal
  bundle-source, never published or run standalone.

Verified: bundled server spawns, loads engines, serves 23 orchestration
tools; tarball ships dist/mcp/; typecheck + full suite (2231) green;
6-engine agon review clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cukas cukas merged commit e430056 into main Jun 8, 2026
2 checks passed
@cukas cukas deleted the feat/narration-fold branch June 8, 2026 18:19
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