@onesi/genesis-cli
v0.2.15
Published
genesis: one CLI for every Genesis service
Maintainers
Readme
@onesi/genesis-cli
genesis, the OneOS command line. It works against the Genesis API at https://os.one.ml/api.
npx -y @onesi/[email protected] --helpFirst run
npx -y @onesi/genesis-cli # or: npm i -g @onesi/genesis-cli, then genesisOn a terminal, the first genesis opens genesis setup: six steps, about a minute, each skippable and resumable.

- Sign in with One, in this browser or with a code on any device.
- Organization, project and environment, picked from your own (Sandbox).
- An API key for CI and other machines, only if you want one: read-only, your access, or chosen scopes; shown once or kept in Blinds.
- Your agents: the Genesis MCP server added to Claude Code, Claude Desktop, Cursor, VS Code, Windsurf or Codex. You see every file or command first; JSON files keep their other servers and a
.genesis-backupcopy. - A first live call: every service's state and latency from the gateway.
- What to do next.
Enter takes the default, s skips, Ctrl-C pauses. genesis setup picks up at the first open step, genesis setup <step> redoes one (signin, context, key, mcp, try, next), and genesis setup --restart starts over. genesis setup --json reports progress for scripts. Progress lives in ~/.config/genesis/setup.json (no credentials; the login stays in the OS keychain).
Setup draws with what your terminal can do, and asks it first: truecolor with edges blended against your real background (or your own ink when the terminal does not say), synchronized output, OSC 8 links, tab progress, and a desktop notification when sign-in finishes while you are in the browser. It is still with NO_COLOR, TERM=dumb, in CI or a pipe, with --no-animation or GENESIS_REDUCED_MOTION=1, and when your system asks for reduced motion. --screen-reader (or GENESIS_SCREEN_READER=1, or VoiceOver running) gives linear output with numbered choices.
| Signing in with a code | Still, with NO_COLOR and --no-animation |
|---|---|
|
|
|
The recordings were made with --screencast against the live services; docs/media/genesis-setup/*.tape are the VHS scripts. --sound adds a soft chime. --screencast (or GENESIS_SCREENCAST=1) masks account names, emails and IDs, for recording demos. Only genesis setup and a bare genesis load any of this; other commands start exactly as fast as before.
Sign in
genesis login # opens your browser to sign in with One
genesis login --device # on a machine without a browser: approve a code from any signed-in browser
genesis whoamiFor scripts and CI, skip login and set an organization API key from the Console (https://os.one.ml → API keys):
GENESIS_API_KEY=sk_... genesis hives projects listUse
genesis status # live state of each service
genesis hives projects list
genesis hives projects create my-app --kind worker
genesis hives projects delete prj_...
genesis --json silos instances list # machine-readable output; errors include code, required_scope and request_idgenesis <service> --help lists every command for a service. --base-url or GENESIS_BASE_URL overrides the gateway, and https://console.life.one/api is an alias. Requires Node.js 20.19 or later.
Use the same version as @onesi/genesis and @onesi/genesis-mcp.
Docs: https://os.one.ml/docs · Error codes: https://os.one.ml/api/v1/errors
