Goal: To make the world's best platform for developing hardware and software.
Here's what makes Sprocket special:
- The only AI agent that can work on both hardware and software.
- Retrieves best-in-class context from the web for everything it does, so it stays incredibly reliable.
- Buys anything from any website when you ask, from hardware parts to SaaS subscriptions.
- Makes beautifully detailed schematics, creates your BOM, and writes assembly instructions.
Note
You can run Sprocket using any of the ways defined below with no impact on Sprocket's capabilities or performance. The desktop app may take more RAM than using Sprocket through your browser.
npx @spikonado/sprocketThe above runs Sprocket through your browser unless you have the desktop app installed.
Install it for your OS from the latest GitHub Release Artifacts and run it.
npm i -g @spikonado/sprocket
sprocketThe above runs Sprocket through your browser unless you have the desktop app installed.
To always open a tab in your browser when using Sprocket, use the --web flag:
sprocket --webPass a directory to open or reconnect that workspace in a new thread:
sprocket .
sprocket --web ../my-robotSprocket remembers attached workspaces and local server sessions between launches.
Local state lives in $HOME/.sprocket (or %USERPROFILE%\.sprocket on Windows when HOME is unset).
Override with SPROCKET_DATA_DIR.
| Command | Behavior |
|---|---|
sprocket serve |
Run the local server in the foreground without launching a client. |
sprocket serve --api-only |
Serve only /api; intended for development (see Development). |
Run sprocket --help or sprocket serve --help for all options.
Common Sprocket server overrides are available as environment variables:
| Variable | Purpose |
|---|---|
SPROCKET_DATA_DIR |
Directory for pairing, sessions, and workspace state. |
SPROCKET_PORT |
Local server port; defaults to 17731 for installed use. |
SPROCKET_HOST |
Bind host; defaults to 127.0.0.1. |
SPROCKET_DESKTOP_EXECUTABLE |
Full path to the desktop executable to be used by the Sprocket CLI. |
PUBLIC_CONVEX_URL |
Convex deployment used by the agent runtime. |
SPROCKET_STATIC_DIR |
Web build to serve instead of the bundled build. |
- Bun 1.x, version 1.3.9 or newer
- Node.js 24.x, version 24.14 or newer
- A current stable Rust toolchain
Install dependencies:
bun installStart the browser development environment:
bun devAfter creating a convex deployment and configuring authkit following the instructions, configure the Convex deployment with the API key for each model provider you want to enable.
This runs Vite at http://localhost:5173 and the Rust API at http://127.0.0.1:7731, with development state kept in .sprocket-dev inside the repository.
To develop against Electron instead, run:
bun dev:desktopcargo test
bun run test
bun run build
prek run -aCreate a local Electron installer package with:
bun run build:releaseArtifacts are written to apps/desktop/dist/ as sprocket-desktop-* (.AppImage / .dmg / .exe depending on the host OS).
Published installers come from GitHub Releases; the sprocket CLI is published separately on npm.
- If
17731is already occupied, setSPROCKET_PORTbefore launching. - If
sprocketopens the browser instead of the desktop app, installsprocket-desktopfrom GitHub Releases ontoPATH, or setSPROCKET_DESKTOP_EXECUTABLE. - Unsigned macOS and Windows desktop builds may need a Gatekeeper / SmartScreen override the first time you open them.
- Contact aarav@spikonado.com for help.
