Skip to content

CLI

Two packages, two jobs.

PackageJob
extensionCreate, run, debug and build an extension on your machine
@extension.dev/mcpGive a coding agent the platform verbs (MCP server)

extension

The Extension.js framework CLI. It has no login and never needs an account. Full documentation lives at extension.js.org.

bash
npx extension@latest create my-extension --template=init
cd my-extension
npm run dev

The command surface is create, dev, start, preview, build, logs, doctor, install, uninstall, eval, storage, reload, inspect, open, publish, and telemetry. Each is documented in the framework's commands reference; this site does not restate them. Only publish touches the platform.

Where it touches the platform

Two places, both explicit:

  • After a successful extension build, the CLI prints a share hint pointing at sharing the unpublished build for review.
  • extension publish asks the platform for the project's build page URL, authenticated with EXTENSION_DEV_TOKEN or --token. It uploads nothing: a public project answers with its public page, a private one with a time-limited ?share= link. See Publish from the CLI.

Everything else runs on your machine and sends nothing to the platform.

The platform from an agent

@extension.dev/mcp serves the MCP tools to a coding agent and ships the extension-mcp headless commands. Store submission and release promotion are platform actions: run them from the console's Stores tab, from an agent with extension_submit and extension_release_promote, or over the HTTP API.

When it fails

  • A command asks for a token: only publish does. Every other extension command runs without an account.
  • eval, storage, reload, inspect, open refuse: they act on a live dev session and are gated. Start extension dev, then re-run with --allow-control (or --allow-eval for eval).
  • You are looking for a submit command: store submission is a platform action, not a framework command. Use the console's Stores tab, an agent's extension_submit, or POST /api/cli/stores/submit. See Publishing.

Next