Updated: 2026-07-21. Three horizons: Now (before first npm publish), Next (first weeks after publish), Later (when users ask for it).
Quality gates:
- Tests. Add vitest (same as norbix-js). Start small: unit tests for
lib/store.ts(read/write/redact),lib/json.ts(stdin, bad JSON), andbase.tsresolution order (flag > env > file). Then one "command smoke" test that runs commands with a mocked fetch. Target: the logic files at ~100%, commands by smoke test. - Lint + format. Copy eslint.config.js and .prettierrc from norbix-js so
both repos feel the same. Add
npm run lintto CI. - CI green on 3 OS × 3 Node versions (workflow already added) — this is the real proof of "works on Mac, Ubuntu and Windows".
- README polish: add an install GIF or asciinema recording, a badges row (CI, npm version), and a short "why CLI vs portal" paragraph.
Releases (automated): .github/workflows/release.yml runs semantic-release on
every push to main. Merge a PR whose squash title is a conventional commit —
feat: → minor, fix: → patch, breaking → minor until launch; chore: / ci: /
test: don't release. It tags vX.Y.Z, publishes to npm with provenance and
creates the GitHub Release. package.json version on main is not bumped
(main is protected); the tag is the source of truth.
Documentation:
- Docs site page. Add a
cli/section to the CodeMash/Norbix docs (the codemash-docs repo already has an emptyclifolder). One page per topic, generated from--helpoutput so it never drifts. oclif can emit a README command table withoclif readme. - CHANGELOG.md — start it at v0.1.0; conventional commits make this easy.
- 2-minute quickstart in the main product docs: install → login → first query.
Functionality:
logs list --follow— live tail (poll every few seconds, or reuse the SDK's SSE client).db export/db import— dump a collection to a JSON/CSV file and load it back. Very useful for backups and TEST env seeding.--output tablefor list commands (compact human view; JSON stays default).norbix fxtopic for code/marketplace functions (list catalog, invoke a binding) — 17 documented endpoints, good CLI fit.env createonce a simple "clone PROD integration" shortcut exists server-side, plusenv promote/env rollback(endpoints exist).- Ship
email|push|sms stopfully by publishing the newer SDK (the commands are ready and detect old SDKs).
- Standalone binaries:
bun build --compileper platform in CI → GitHub Releases + curl install script + Homebrew tap + Scoop/winget. (Details and benchmarks in RESEARCH.md.) - Browser / device-code login —
norbix loginopens the hub, no password typed in the terminal. - OS keychain for tokens instead of the 0600 config file.
- Profiles —
norbix --profile staging ...for people who juggle several projects/accounts. - Plugin support — oclif plugins let other teams ship their own
norbix xyzcommands without touching this repo. - Auto-generated commands — the SDK endpoints are generated from DTOs; the CLI could generate its thin list/get commands the same way (scripts/gen-commands.mjs is the seed of this).
- Telemetry (opt-in) — anonymous command usage counts to see what to invest in.
- Push code to github.com/norbix-code/cli (see README "Development")
- Remove the stray
# cliline if GitHub's starter README got merged -
git update-index --chmod=+x bin/run.jsso the exec bit survives git - Add NPM_TOKEN secret for the release workflow (fallback; prefer npm trusted publishing)
- Configure npm Trusted Publisher for
@norbix.ai/cli(reponorbix-code/cli, workflowrelease.yml) - Branch protection on main (same ruleset as sdk-ts: MainBranchProtectionRuleSet.json in the sdks folder)
- Enable Dependabot / npm audit in CI