Source, AXIS CLI, static PWA, desktop, or Cloudflare® — pick a path. Own the axes. Swap the engine.
git clone …axis→bun install→bun run axis:install→bun run axis:doctorClone the AXIS monorepo, install Bun deps at the root and in packages/cli, then axis:install + axis:doctor. Full stack for the charting PWA — PYNE evaluates Pine Script™; AXIS composes sources, streams, engines, and storage.
CLI-first operator entry wrapping Bun + Cloudflare® Wrangler. Invoke via bun run axis -- <args> or make axis ARGS="…". Optional cd packages/cli && bun link for a local axis bin.
cd packages/cli && bun link && axis --helpmake axis ARGS="--help"Production-like static dist served by axis_pwa_server.py on :8081. No Cloudflare® Pages required. Pyodide assets must land in dist/ via bun run build.
Optional Tauri desktop shell wrapping the Vite product UI. Requires Rust and platform webview libraries.
bun run desktop:buildDeploy the Cloudflare® Worker pynescript-axis (frozen project id). Prefer axis setup --prod (remote D1 + API_KEYS KV, fail-closed), then secrets, deploy, keys, and health.
No network after first wheel load. Compose: Source=mock-walk · Stream=mock-poll · Engine=pyodide · Storage=local
# Source = mock-walk# Stream = mock-poll# Engine = pyodide# Storage = localCLI for operators, PWA for research, Worker for the Cloudflare® edge.
install · setup --prod · keys · mcp · prewarm
Operator entry (@hoox-sh/axis-cli): install, doctor, setup, secrets, keys, deploy, health, mcp, prewarm, usage. Run via bun run axis -- <args> or make axis ARGS="…". After bun link, the axis bin is on your PATH.
Command surface
App + worker + CLI deps
Toolchain + wrangler.toml
Remote D1 + API_KEYS KV
axis CLI → pynescript-axis
Mint pn_… for Settings / MCP
Live /health (+ optional --oauth)
Default https://pynescript.online
Vite · Solid · :3000
Solid + Vite product UI on :3000. For server-engine fidelity, run Flask Pro API from the sister pyne repo (github.com/hoox-sh/pyne) on :5002. Local clone dir may still be pynescript — set PYNESCRIPT_SRC if needed. Static dist: bun run build + python3 axis_pwa_server.py.
HMR · proxies /run → :5002
Flask PYNE on :5002 (PYNESCRIPT_SRC if clone dir is pynescript)
Vite Solid → dist/
Static AXIS on :8081
pynescript-axis
Cloudflare® Worker pynescript-axis — local wrangler, deploy, and /health. Production path proxies Pine Script™ evaluation to EXTERNAL_BACKEND.
wrangler local
axis CLI → pynescript-axis
Live /health (+ optional --oauth)