The CLI owns the phresh command language, official System acquisition, and
native background-service lifecycle. Reusable Project and running-System
operations belong to @phreshos/node; the CLI parses arguments and presents
their results. It consumes published contracts and release artifacts and never
reaches into another repository's source checkout.
Install the pinned toolchain and verify the complete repository:
bun install --frozen-lockfile
bun run verifyverify type-checks the source, runs focused lifecycle tests, rebuilds the
pinned Phresh Program template, packs the exact npm artifact, installs it in a
temporary consumer, and exercises its public executable. The separate
test:live command downloads, verifies, and stages the official
System release with production dependencies. On macOS,
test:platform exercises a uniquely named temporary launchd service.
Keep top-level Program commands scoped to the current project. System lifecycle
belongs only under phresh system, and native adapters must preserve the
separation between current execution and automatic startup. Add focused tests
for failure and rollback paths whenever lifecycle behavior changes.
Explain the command or boundary being changed, include the verification that protects it, and keep each pull request focused on one coherent change.