Skip to content

tango-create

tango-create scaffolds a new instrument project with everything you need — manifest, frontend, optional backend, build scripts, and types.

No installation required. Run directly with bunx:

Terminal window
bunx github:MartinGonzalez/tango-create

When run without flags, tango-create walks you through each option:

$ bunx github:MartinGonzalez/tango-create
tango-create — Scaffold a new Tango instrument
Instrument directory name (my-instrument): pr-reviewer
Display name (Pr Reviewer): PR Reviewer
Sidebar label (PR Reviewer):
Sidebar icon:
1. branch
2. play
...
4. puzzle (default)
Choose [1-15]: 1
Category:
1. developer-tools
...
Choose [1-6]: 1
Include backend? [Y/n]: y
Cloning template...
Applying template variables...
Initializing git repository...
Installing dependencies...
✓ Instrument created!
Next steps:
cd pr-reviewer
bun run dev

Pass all options as flags to skip prompts. This is useful for AI agents (like Claude) or CI scripts:

Terminal window
bunx github:MartinGonzalez/tango-create \
--name pr-reviewer \
--display-name "PR Reviewer" \
--label "PR Reviewer" \
--icon branch \
--category developer-tools \
--backend

If some flags are provided but not all, the CLI prompts only for the missing values.

FlagDescriptionDefault
--nameDirectory name for the instrument (kebab-case)my-instrument
--display-nameHuman-readable name shown in TangoDerived from --name
--labelText shown in the sidebar shortcutSame as --display-name
--iconSidebar icon (see options below)puzzle
--categoryMarketplace category (see options below)utilities
--backendInclude a backend entry pointEnabled by default
--no-backendSkip the backend entry point
branch play post puzzle star
gear chat code folder search
terminal lightning globe lock heart
CategoryDescription
developer-toolsTools for software development workflows
productivityTask management, notes, time tracking
mediaMusic, video, image tools
communicationChat, email, messaging
financeBudgets, invoices, crypto
utilitiesGeneral-purpose tools
my-instrument/
├── src/
│ ├── index.tsx # Frontend — React + Tango UI components
│ └── backend.ts # Backend — actions, lifecycle hooks (if selected)
├── package.json # Dependencies + tango.instrument manifest
├── tsconfig.json # TypeScript config
├── tango-env.d.ts # Generated types for instrument settings
├── tango.json # Source manifest for marketplace discovery
└── .gitignore

Start development:

Terminal window
cd my-instrument
bun run dev

This builds your instrument, connects to a running Tango app (port 4243), and watches src/ for changes with hot-reload.

Other commands available in the scaffolded project:

CommandDescription
bun run devBuild + watch + hot-reload
bun run buildOne-off production build
bun run validateCheck manifest and project structure
bun run syncRegenerate tango-env.d.ts from settings schema

Under the hood, tango-create:

  1. Clones the tango-instrument-template repository
  2. Removes .git from the clone
  3. Replaces {{PLACEHOLDER}} variables in all files with your choices
  4. Strips {{#IF_BACKEND}}...{{/IF_BACKEND}} conditional blocks if backend was not selected
  5. Deletes src/backend.ts and removes backendEntrypoint from the manifest if no backend
  6. Runs git init to start a fresh repository
  7. Runs bun install to install dependencies