> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Extension.js command guide

> Reference for every Extension.js CLI command including dev, build, start, preview, create, install, and uninstall with usage examples.

Choose the right command for the current phase of extension development, from first scaffold to production validation.

## Command chooser

| Goal | Command | Example |
| - | - | - |
| Scaffold a new project | `create` | `npx extension@latest create my-extension --template=newtab-react` |
| Develop with watch mode | `dev` | `extension dev --browser=firefox` |
| Build production artifacts | `build` | `extension build --browser=chrome,firefox --zip` |
| Build and launch production output | `start` | `extension start --browser=edge` |
| Launch existing build output only | `preview` | `extension preview --browser=chrome` |
| Get a shareable URL for a project | `publish` | `extension publish --ttl=4` |
| Install a managed browser runtime | `install` | `extension install chrome` |
| Remove a managed browser runtime | `uninstall` | `extension uninstall chrome` |
| Diagnose a running dev session | `doctor` | `extension doctor --browser=chromium` |
| Read or stream session logs | `logs` | `extension logs --follow --context background,content` |
| List tabs or inspect a DOM | `inspect` | `extension inspect --tab 412 --with-console` |
| Run code in a live context | `eval` | `extension eval "location.href" --context page` |
| Read or write extension storage | `storage` | `extension storage get --key settings` |
| Reload a context on demand | `reload` | `extension reload --context background` |
| Open a surface or replay an action | `open` | `extension open popup` |
| Point a tab at a url | `navigate` | `extension navigate https://example.com/ --new-tab` |
| Handshake for scripts and agents | `capabilities` | `extension capabilities` |

Running a bare `extension` with no command prints the full help and exits with code `0`.

## Typical developer flow

1. `create` to scaffold.
2. `dev` for iterative coding and reload cycles.
3. `build` for production artifacts.
4. `preview` or `start` for production-like validation.
5. `install` or `uninstall` when you need to manage Extension.js browser runtimes explicitly.
6. `logs`, `inspect`, `eval`, `storage`, `reload`, `open`, and `navigate` to observe and drive the running session.
7. `doctor` when a dev session or an automation verb talking to it stops responding.
8. `capabilities` first, when a script or agent drives the CLI instead of a human.

## Command references

* [create](/docs/commands/create)
* [dev](/docs/commands/dev)
* [build](/docs/commands/build)
* [start](/docs/commands/start)
* [preview](/docs/commands/preview)
* [publish](/docs/commands/publish)
* [install](/docs/commands/install)
* [uninstall](/docs/commands/uninstall)
* [doctor](/docs/commands/doctor)
* [logs](/docs/commands/logs)
* [inspect](/docs/commands/inspect)
* [eval](/docs/commands/eval)
* [storage](/docs/commands/storage)
* [reload](/docs/commands/reload)
* [open](/docs/debugging/trigger-actions-and-commands)
* [navigate](/docs/workflows/driving-the-cli#step-4-act-and-read-envelopes)
* [capabilities](/docs/commands/capabilities)

The `telemetry` command (`enable` / `disable` / `status`) manages anonymous telemetry consent. See [Telemetry and privacy](/docs/features/telemetry-and-privacy).

## Next steps

* Apply cross-command controls in [Global flags](/docs/workflows/global-flags).
* Keep defaults centralized in [Extension configuration](/docs/features/extension-configuration).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.