Odel
roxyon devtools

roxyon devtools

@bea-technologyTypeScriptMITUpdated 3 days ago

Build LumenJS apps, use the Roxyon BaaS, and deploy apps and web projects to Roxyon infrastructure.

Server endpointStreamable HTTPOAuthProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

roxyon-devtools

Tooling that lets a developer — or an AI assistant acting for one — build with LumenJS, use the Roxyon BaaS, and deploy to Roxyon infrastructure from anywhere.

PackageWhat it isStatus
@roxyon/api-clientTyped client for the Roxyon BaaS (RX engine) + the Applications/Sites deploy endpointsM1
@roxyon/deploy-coreShared deploy pipeline — project detection, archiving, build/upload/poll orchestrationM1
@roxyon/cliroxyonlogin, init, deploy, logs, env, restart, open, linkM1
@roxyon/mcpMCP server — stdio (roxyon-mcp) for local clients, remote Streamable HTTP + OAuth (roxyon-mcp-http) for hosted connectorsM2
backend/The two new console endpoints + node script (/applications/deploy, /sites/deploy, app-source-apply.sh)written & wired in _configs, not synced
docs/llms.txt, BaaS OpenAPI 3.1, AGENTS.md template, distribution checklistM3 — drafted
create-roxyon-appnpm create roxyon-app — LumenJS / Node templates, emits AGENTS.md + roxyon.json + llms.txt + editor rulesM4
integrations/Per-assistant wrappers — Claude Code plugin, ChatGPT GPT, Cursor/etc. install snippetsM5

See docs/roadmap.md for the full plan.

Quick start

npm create roxyon-app@latest my-app     # LumenJS or Node, wired for deploy
cd my-app
npm i -g @roxyon/cli && roxyon login
roxyon deploy                            # builds + uploads + waits for it to go live

Existing project instead of a new one: roxyon init writes roxyon.json, then roxyon deploy.

CI (no interactive login) — create a token once, then use it as ROXYON_TOKEN:

roxyon token create ci --scopes deploy,logs      # prints roxp_… once
ROXYON_TOKEN=roxp_xxx roxyon deploy --no-follow   # first run also creates the app

From an AI assistant

Local clients (Claude Code, Cursor, Windsurf, Cline, Gemini CLI) — add the stdio server:

{ "mcpServers": { "roxyon": { "command": "npx", "args": ["-y", "@roxyon/mcp"] } } }

then the assistant calls roxyon_init and roxyon_deploy.

Claude Code plugin — bundles the server + /roxyon-deploy and /roxyon-new slash commands + a skill:

/plugin marketplace add bea-technology/roxyon-devtools
/plugin install roxyon

Remote connectors (claude.ai, ChatGPT, Cursor URL) — connect to https://mcp.roxyon.com/mcp and sign in with your Roxyon account (OAuth, no token to paste). roxyon_init / roxyon_deploy are local-only there; use roxyon_link_github for push-to-deploy.

Add to Cursor:

Add to Cursor

See packages/mcp-server and integrations/mcp-clients.md.

Develop

corepack enable pnpm
pnpm install
pnpm build        # all packages
pnpm test
pnpm typecheck
pnpm lint

Node ≥ 20. The repo is a pnpm workspace; tsup builds each package, vitest tests, biome lints + formats, changesets versions releases.

How deploy works

  • LumenJS / static (runtime: "lumen", kind: "static"): roxyon deploy runs lm build --serverless, tars dist/, and POSTs it to /sites/deploy, which extracts it into the host's document root. Served directly by nginx.
  • Node / Python / PHP (kind: "app"): the tarball goes to /applications/deploy, which lands it in the application's SourcePath and bumps ConfigRevision. The existing reconciler builds it in an isolated release dir and runs it under a systemd unit. Git remotes connected with roxyon link auto-deploy on push via the existing webhook.

Authentication is a Roxyon session token today (stored 0600 in ~/.roxyon/config.json); scoped Personal Access Tokens land in M1.5.