tango-create
tango-create scaffolds a new instrument project with everything you need — manifest, frontend, optional backend, build scripts, and types.
Installation
Section titled “Installation”No installation required. Run directly with bunx:
bunx github:MartinGonzalez/tango-createInteractive mode
Section titled “Interactive mode”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 devNon-interactive mode
Section titled “Non-interactive mode”Pass all options as flags to skip prompts. This is useful for AI agents (like Claude) or CI scripts:
bunx github:MartinGonzalez/tango-create \ --name pr-reviewer \ --display-name "PR Reviewer" \ --label "PR Reviewer" \ --icon branch \ --category developer-tools \ --backendIf some flags are provided but not all, the CLI prompts only for the missing values.
| Flag | Description | Default |
|---|---|---|
--name | Directory name for the instrument (kebab-case) | my-instrument |
--display-name | Human-readable name shown in Tango | Derived from --name |
--label | Text shown in the sidebar shortcut | Same as --display-name |
--icon | Sidebar icon (see options below) | puzzle |
--category | Marketplace category (see options below) | utilities |
--backend | Include a backend entry point | Enabled by default |
--no-backend | Skip the backend entry point | — |
Available icons
Section titled “Available icons”branch play post puzzle stargear chat code folder searchterminal lightning globe lock heartAvailable categories
Section titled “Available categories”| Category | Description |
|---|---|
developer-tools | Tools for software development workflows |
productivity | Task management, notes, time tracking |
media | Music, video, image tools |
communication | Chat, email, messaging |
finance | Budgets, invoices, crypto |
utilities | General-purpose tools |
Generated project structure
Section titled “Generated project structure”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└── .gitignoreAfter scaffolding
Section titled “After scaffolding”Start development:
cd my-instrumentbun run devThis 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:
| Command | Description |
|---|---|
bun run dev | Build + watch + hot-reload |
bun run build | One-off production build |
bun run validate | Check manifest and project structure |
bun run sync | Regenerate tango-env.d.ts from settings schema |
How it works
Section titled “How it works”Under the hood, tango-create:
- Clones the tango-instrument-template repository
- Removes
.gitfrom the clone - Replaces
{{PLACEHOLDER}}variables in all files with your choices - Strips
{{#IF_BACKEND}}...{{/IF_BACKEND}}conditional blocks if backend was not selected - Deletes
src/backend.tsand removesbackendEntrypointfrom the manifest if no backend - Runs
git initto start a fresh repository - Runs
bun installto install dependencies