Skip to content

Installation

  • Bun v1.0+ — bun.sh
  • Tango desktop app running locally

The fastest way to start is with the scaffolder:

Terminal window
bunx github:MartinGonzalez/tango-create

The interactive prompt asks for:

OptionDescription
Directory nameThe folder name for your instrument (e.g. my-instrument)
Display nameHuman-readable name shown in Tango (e.g. “My Instrument”)
Sidebar labelText shown in the sidebar shortcut
IconSidebar icon (branch, play, puzzle, gear, etc.)
CategoryMarketplace category (developer-tools, productivity, media, etc.)
BackendWhether to include a backend entry point for server-side actions
Terminal window
cd my-instrument
bun install

This installs tango-api, which bundles the core SDK, React bindings, UI components, and CLI tools.

Terminal window
bun run dev

This runs the tango-sdk dev flow which:

  1. Syncs dependencies (ensures tango-api and its transitive deps are fresh)
  2. Builds your frontend (and backend if present) with Bun
  3. Watches for file changes and rebuilds automatically
  4. Notifies the running Tango app to hot-reload your instrument

Open Tango. Your instrument appears in the sidebar thanks to the launcher.sidebarShortcut config in the manifest. Click it to see your panels render.

If Tango was already open before you ran bun run dev, the instrument hot-reloads automatically on each save. A [dev] badge appears next to the instrument label in the sidebar while dev mode is active.

To produce a one-off build without watching:

Terminal window
bun run build

Output lands in dist/index.js for the frontend, backend.js for the backend (if present).

Check that your manifest and file structure are correct:

Terminal window
bun run validate

This verifies:

  • Required fields in package.json > tango.instrument
  • At least one panel slot is enabled
  • Source entry point files exist
  • Permissions are valid
  • Settings schema is well-formed