CLI Reference

[CLI REFERENCE]

19 groups · 18 subcommands. Invoke via bun run axis -- <args> so Bun forwards flags, or make axis ARGS="…". After bun link from packages/cli, axis works as a local bin. Install, doctor, setup, secrets, deploy, and health for Cloudflare® Worker pynescript-axis.

@hoox-sh/axis-cli@0.3.6 • product v2.28.0 · bin axis

Installation guide
Quick Start

Local UI instead of deploy: bun run dev

▸Global options (apply to every command)
--jsonMachine-parseable JSON output
--quietMinimal output
-y, --yesSkip confirmation prompts
-h, --helpShow help
[]
01

Onboard

3 groups
[ Onboard ]01

axis install

bun install at the monorepo root plus worker/ and the CLI. App + Worker + CLI deps in one shot.

Wrapper: bun run axis:install. Env: AXIS_ROOT, AXIS_WORKER_URL, CLOUDFLARE_API_TOKEN, AXIS_CLI_SRC=1.

[ Onboard ]02

axis doctor

Toolchain, wrangler.toml, Cloudflare® auth, and optional live /health.

Wrapper: bun run axis:doctor. For flags via bun: bun run axis -- doctor --remote. Also checks sister PYNE checkout when present.

Flags — check to add to commands
[ Onboard ]03

axis setup

Bootstrap: install → ensure wrangler.toml → Cloudflare® D1 → optional API_KEYS KV / OAuth. --prod fails closed on remote D1 + KV.

When using bun run axis setup -- --flag, keep the -- so Bun forwards flags. Typical prod: axis setup --prod then axis keys create.

Flags — check to add to commands
02

Develop

1 group
[ Develop ]01

axis dev

Vite product UI on :3000. Pair with Flask Pro API (make -C ../pyne run) on :5002 for the server engine. Local clone dir may still be pynescript — set PYNESCRIPT_SRC if needed.

Also: bun run dev (Vite) · bun run desktop:dev (Tauri).

03

Ship

1 group
[ Ship ]01

axis deploy

Deploy Cloudflare® Worker pynescript-axis, optional Cloudflare® Pages, or both. Project id is frozen — do not rename.

Wrapper: bun run axis:deploy → axis deploy worker.

04

Configure

7 groups
[ Configure ]01

axis setup worker

Copy wrangler.toml.example → wrangler.toml if missing.

[ Configure ]02

axis setup d1

Apply worker/schemas/scripts.sql to Cloudflare® D1 (database name pynescript).

Flags — check to add to commands
[ Configure ]03

axis setup kv

Create and bind API_KEYS Cloudflare® KV (required when D1 is on for prod /api/scripts). Optional USAGE binding.

Prod fail-closes when D1 is bound without API_KEYS KV.

Flags — check to add to commands
[ Configure ]04

axis setup artifacts

Bind Cloudflare® Artifacts for git-native script storage (no GitHub credentials).

Flags — check to add to commands
[ Configure ]05

axis setup oauth

Set GitHub / GitLab OAuth App client ids in [vars] (or --secret). Device Flow must be enabled on GitHub.

Flags — check to add to commands
[ Configure ]06

axis secret

Cloudflare® Wrangler secrets for the Worker: ADMIN_TOKEN, EXTERNAL_BACKEND, and related values. Prefer secrets over committed vars.

When using bun run axis -- secret put NAME, keep the -- so Bun forwards the subcommand.

[ Configure ]07

axis keys

Mint and validate Worker API keys (pn_…) for cloud scripts + MCP. --pyne switches to the PYNE Pro API host.

keys create --pyne / keys validate --pyne hit POST /auth/* on AXIS_PYNE_URL (default https://pynescript.online).

Flags — check to add to commands
05

Verify

3 groups
[ Verify ]01

axis health

Probe /health; optionally GitHub device OAuth and /api/scripts.

Wrapper: bun run axis:health -- --oauth.

Flags — check to add to commands
[ Verify ]02

axis mcp

Stdio proxy to Worker POST /mcp, or print client JSON for Cursor / Inspector.

Generated stdio configs put the key in AXIS_API_KEY env — never as --key argv.

Flags — check to add to commands
[ Verify ]03

axis whoami

Print the authenticated Cloudflare® account.

06

PYNE

2 groups
[ PYNE ]01

axis prewarm

Warm Numba builtins / IR cache on a PYNE Pro API host (POST /compile/prewarm).

Default endpoint is https://pynescript.online; override with --endpoint or AXIS_PYNE_URL. Local desk: AXIS_PYNE_URL=http://127.0.0.1:5002.

Flags — check to add to commands
[ PYNE ]02

axis usage

Show PYNE API usage for a key (GET /auth/usage).

Defaults to https://pynescript.online. Requires HTTPS when a key is sent.

Flags — check to add to commands
07

Meta

2 groups
[ Meta ]01

axis --help

Print the AXIS CLI command surface.

After bun link from packages/cli, axis --help works as a local bin. Package @hoox-sh/axis-cli is independent of AXIS_VERSION.

[ Meta ]02

make axis

Makefile pass-through to packages/cli/bin/axis.js. Fixed wrappers: axis-install, axis-doctor, axis-setup, axis-deploy, axis-health.

Env: AXIS_ROOT, AXIS_WORKER_URL, AXIS_PYNE_URL, CLOUDFLARE_API_TOKEN, AXIS_CLI_SRC=1.

Command Groups19
Categories7
Subcommands18
AXIS version2.28.0
axis install → axis deploy → axis health