Skip to content

feat: make cli and nodejs packages public#875

Merged
rekmarks merged 12 commits intomainfrom
rekm/public-cli
Mar 11, 2026
Merged

feat: make cli and nodejs packages public#875
rekmarks merged 12 commits intomainfrom
rekm/public-cli

Conversation

@rekmarks
Copy link
Member

@rekmarks rekmarks commented Mar 9, 2026

  • Rename packages/clipackages/kernel-cli (@ocap/cli@metamask/kernel-cli) and make it public
  • Rename packages/nodejspackages/kernel-node-runtime (@ocap/nodejs@metamask/kernel-node-runtime) and make it public
  • Move bundle-vats vite plugins from @ocap/repo-tools into @metamask/kernel-utils/vite-plugins so kernel-cli can depend on a public package for that functionality
  • Update all monorepo-wide references (kernel-test, nodejs-test-workers, extension, omnium-gatherum, root tsconfig/eslint config)
  • Rename noBuildbuildExceptions in yarn.config.cjs; add kernel-cli to exportsExceptions and buildExceptions

Note

Medium Risk
Moderate risk due to broad workspace/package renames and publishing configuration changes that can break builds, CI, or downstream imports if any reference is missed; core runtime logic appears largely unchanged.

Overview
This PR renames and makes public the monorepo’s CLI and Node.js runtime packages (@ocap/cli@metamask/kernel-cli, @ocap/nodejs@metamask/kernel-node-runtime), updating docs, tests, TS project references, lint config, depcheck ignores, Lavamoat allowlists, and Yarn constraints accordingly.

Vat-bundling utilities (bundleVat/bundleVats) are moved out of @ocap/repo-tools into a new @metamask/kernel-utils/vite-plugins export, and consumers (CLI, extension, omnium-gatherum) are switched to the new import path; repo-tools drops those exports and related deps. CI E2E workflow matrix is updated to run against the renamed workspaces and upload artifacts from the correct package directories, and the new public packages gain metadata (license, publishConfig, README/changelog).

Written by Cursor Bugbot for commit 80e5d1d. This will update automatically on new commits. Configure here.

rekmarks and others added 2 commits March 9, 2026 16:35
Rename packages/cli -> packages/kernel-cli (@ocap/cli -> @metamask/kernel-cli)
and packages/nodejs -> packages/kernel-node-runtime (@ocap/nodejs ->
@metamask/kernel-node-runtime), adding all required public package fields
(license, keywords, publishConfig, module/main/types, changelog scripts,
README, LICENSE files).

Move bundle-vats vite plugins from @ocap/repo-tools into @metamask/kernel-utils
under a new ./vite-plugins export subpath, so kernel-cli can depend on a public
package for that functionality.

Update all monorepo-wide references: kernel-test, nodejs-test-workers, extension,
omnium-gatherum, root tsconfig/eslint config, yarn.config.cjs (add kernel-cli to
exportsExceptions and buildExceptions; rename noBuild -> buildExceptions).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rekmarks rekmarks marked this pull request as ready for review March 9, 2026 23:52
@rekmarks rekmarks requested a review from a team as a code owner March 9, 2026 23:52
@github-actions
Copy link
Contributor

github-actions bot commented Mar 9, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 76.1%
🟰 ±0%
6633 / 8716
🔵 Statements 75.99%
🟰 ±0%
6739 / 8868
🔵 Functions 73.95%
🟰 ±0%
1653 / 2235
🔵 Branches 75.35%
🟰 ±0%
2468 / 3275
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/kernel-test/src/utils.ts 86.95%
🟰 ±0%
70.58%
🟰 ±0%
94.44%
🟰 ±0%
86.66%
🟰 ±0%
43, 112, 117, 158-173
packages/nodejs-test-workers/src/workers/mock-fetch.ts 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
6-34
packages/repo-tools/src/vite-plugins/index.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
Generated in workflow #3916 for commit 80e5d1d by the Vitest Coverage Report Action

matrix.package values are scoped package names (e.g. @metamask/kernel-node-runtime)
but the artifact path needs the directory name (kernel-node-runtime). Add matrix
include entries to map each package to its directory, and use matrix.directory for
artifact name and path.

Also adds the missing packages/kernel-cli/CHANGELOG.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rekmarks rekmarks changed the title feat: publish @metamask/kernel-cli and @metamask/kernel-node-runtime feat: make cli and nodejs packages public Mar 10, 2026
- Update docs/usage.md references from @ocap/cli and @ocap/nodejs to
  new @metamask/ package names
- Restore CLI commands and known limitations in kernel-cli README
- Add CHANGELOG entries for kernel-cli, kernel-node-runtime, kernel-utils
- Move acorn from production to dev + optional peer dep in kernel-utils
  (only used by vite-plugins subpath)
- Add peerDependenciesMeta to kernel-utils marking acorn and vite as
  optional

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
rekmarks and others added 3 commits March 10, 2026 18:04
@rekmarks rekmarks enabled auto-merge March 11, 2026 01:32
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

@rekmarks rekmarks added this pull request to the merge queue Mar 11, 2026
Merged via the queue into main with commit 68dd2dc Mar 11, 2026
33 checks passed
@rekmarks rekmarks deleted the rekm/public-cli branch March 11, 2026 09:36
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.

2 participants