@kevz-labs/rocket
v0.1.2
Published
Runtime Orchestration & Command Execution Toolkit
Maintainers
Readme
Rocket
Runtime Orchestration & Command Execution Toolkit.
rocket is a globally installable CLI that discovers a project-local rocket.toml, resolves a profile, and dispatches the real commands already defined by that project.
The design goal is to stay thin:
rocketdiscovers configrocketresolves profilesrocketroutes commands- projects own the actual runtime behavior
Current MVP
The current CLI supports:
- upward discovery of the nearest
rocket.toml default_profileresolution- built-in
help,version,init,profiles,inspect, andexplode - dispatching any project-defined command such as
setup,boost,return, orstatus - supporting both
rocket <profile> <command> ...androcket <command> [profile] ...project syntax - forwarding extra positional args through to the resolved project command
- optional
--cwd,--profile,--, and--output-unwrapped-command
Docs
- For the core design contract and MVP scope, see docs/rocket-cli-mvp.md.
- For the local install and npm publish workflow, see docs/setup-and-publish.md.
Install locally
From this project root:
pnpm install
npm linkThen, from any configured project:
rocket help
rocket profiles
rocket inspect
rocket all launch
rocket web launch
rocket admin launch
rocket user-service promote [email protected] admin
rocket all status
rocket all returnThe older command-first form such as rocket launch, rocket boost, or
rocket promote user-service [email protected] admin
still works when you want it, but the CLI now prefers explicit profile-first examples.
If you prefer pnpm link --global, make sure PNPM_HOME is configured first via pnpm setup.
Install from npm after publish
Once the package is published, anyone should be able to run:
npm install -g @kevz-labs/rocket
rocket versionExample rocket.toml
version = 1
name = "rizer"
default_profile = "all"
[profiles.all]
description = "Full local workspace stack"
[profiles.all.commands]
setup = "./scripts/setup-new-machine.sh"
boost = "./scripts/local-stack.sh start"
return = "./scripts/local-stack.sh stop"
status = "./scripts/local-stack.sh status"
[[profiles.all.health]]
name = "web"
type = "http"
target = "http://localhost:3000"
[[profiles.all.urls]]
name = "web app"
target = "http://localhost:3000"Notes
rocketdoes not auto-runsetupfromboost.- If a project has not declared a command,
rocketshould fail clearly instead of guessing. - The CLI is intentionally light on built-in magic so project behavior stays transparent.
--output-unwrapped-commandprints the resolved project command without executing it.--dry-runis still accepted as a legacy alias.- Extra positional args are passed through to the resolved project command.
- Project commands can be written as either
rocket <profile> <command> ...orrocket <command> [profile] .... - Profile-first is the preferred style for documentation and teaching because it makes the target runtime explicit.
- In the command-first form, the second positional is only treated as a profile when it matches a declared profile name.
