Skip to content

Publish prima as its own npm package, prima-cli - #137

Merged
DavertMik merged 1 commit into
mainfrom
prima-cli-package
Aug 23, 2026
Merged

Publish prima as its own npm package, prima-cli#137
DavertMik merged 1 commit into
mainfrom
prima-cli-package

Conversation

@DavertMik

Copy link
Copy Markdown
Contributor

Auto publish of Prima CLI

Prima already shipped inside explorbot as a second bin, which meant asking
for it by explorbot's name. It now also publishes as prima-cli, so
`npx prima-cli` reaches it directly.

It is not separate code: prima imports 110 files from src/ and is compiled
into the same dist/ by the same tsc run. build:prima stages a second package
from that output, reproducing the dist/ layout exactly, because config.js,
rules-loader.js and tester.js each resolve an asset relative to their own
location. Dependencies are copied verbatim from the root manifest rather than
pruned to prima's closure — pruning saves little next to playwright and
codeceptjs, and breaks the package the first time an import moves.

publish-prima.yml publishes it when a GitHub release is published, so the
release stays the deliberate step and a draft ships nothing. It packs the
staged package, installs the tarball into an empty directory and runs it from
there with HOME pointed at an empty directory, which is what catches a missing
file, a missing dependency or an asset that no longer resolves. publish.yml is
untouched; explorbot keeps releasing on a tag exactly as before.

chalk was never declared as a dependency and resolved only because ink
happens to depend on a compatible version. Declared, since a pruned install
would not have carried it.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
@DavertMik
DavertMik merged commit 2250b57 into main Aug 23, 2026
2 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