The npm for
Vibe Coding.
Dance of Tal (DOT) turns copy-pasted prompt blobs into versioned, typed, team-synced AI contexts. Decouple your AI's thinking, coding standards, and workflow — then lock them into a reproducible Combo your entire org installs with one command.
npm install -g dance-of-talYour AI's behaviour is not under version control
Every engineer has a different AGENTS.md. When the AI starts violating your security policy or ignoring your test conventions, you can't diff it, can't roll it back, and can't tell who changed what.
No versioning
System prompts live in chat windows and IDE configs — not in Git.
No reuse
Every team copy-pastes the same blob. One change requires 10 PRs.
No debuggability
When the AI misbehaves, which of 1 000 lines is responsible?
DOT brings Dependency Injection and versioned lockfiles to your AI instructions.
Four strictly typed asset components
Every context is one of four URN-addressed types. Mix, version, and lock them into a reproducible Combo your entire team installs and trusts.
Intelligence Persona
tal/@acme-platform/senior-backend-engineerEncodes how the AI thinks — its decision-making philosophy, professional priorities, and analytical framework. Think of it as the mindset your team expects from every AI-assisted task.
Dance Layering — the key differentiator
Unlike monolithic prompts, Dances compose. A single Combo can layer multiple Dances in order — rules concatenate, JSON schemas deep-merge. Base style → team conventions → task-specific format.
dot lock \ --tal @acme-platform/senior-backend-engineer \ --dance @acme-platform/kotlin-style,@acme-security/gdpr-awareness,@acme-platform/pr-review \ --name sprint
Real teams. Real scenarios.
DOT is designed for engineering organizations that need their AI behaviour to be auditable, reproducible, and role-specific.
Engineer Onboarding
Instead of a Confluence doc, new hires run 3 commands and get the exact same AI persona as the team. No prompt tuning, no guesswork.
dot install tal/@acme-platform/senior-backend-engineer dot lock --tal @acme-platform/senior-backend-engineer --dance @acme-platform/kotlin-style,@acme-security/gdpr --name sprint
Incident Response
An Act switches the AI from 'cautious architect' to 'fast hotfix specialist' when SEVERITY=P0. Different Tal, different Dance, same Combo config.
dot lock --tal @acme-platform/engineer --dance @acme-platform/style --act act/@acme-platform/incident-response --name incident dot run incident --task "Payment service 500 since 03:12 UTC"
Parallel CI Agents
Three isolated agents run concurrently in CI — security review, test generation, implementation — each in their own .dance-of-tal/runs/{uuid}/ sandbox.
# Each agent gets a different Combo
init_run({ runId: 'security', comboName: 'security-review' })
init_run({ runId: 'tests', comboName: 'qa-engineer' })
init_run({ runId: 'impl', comboName: 'sprint' })From zero to locked context in 5 steps
Install
$ npm install -g dance-of-tal
Install the DOT CLI globally.
Initialize & Authenticate
$ dot init && dot login
Scaffold the workspace and log in via GitHub OAuth. Your GitHub username becomes your protected registry namespace.
Install Context
$ dot install tal/@acme-platform/senior-backend-engineer dot install dance/@acme-platform/kotlin-style-guide dot install dance/@acme-security/gdpr-awareness
Pull expert AI contexts from the global DOT Registry by URN. Assets saved to .dance-of-tal/@author/name.json.
Lock a Combo
$ dot lock \ --tal @acme-platform/senior-backend-engineer \ --dance @acme-platform/kotlin-style-guide,@acme-security/gdpr-awareness \ --name sprint
Bind Tal + layered Dances into a pinned Combo. Comma-separate multiple Dances — rules concat, schemas deep-merge in order.
Run
$ dot run sprint --task "Implement /payments/refund endpoint"
Compile and print the full assembled system prompt, ready to pipe into any LLM or IDE via MCP.
A global, type-safe Cloudflare KV datastore
The DOT Registry is a centrally hosted Cloudflare KV store that manages versioned AI assets. Every published asset is namespace-protected via GitHub OAuth — preventing prompt spoofing across your org.
- ✓GitHub Auth — Your URN namespace is your GitHub username. Protected and verified.
- ✓Schema Enforcement — Published JSON is validated against the V2 type per category — tal, dance, act, combo.
- ✓Layered Dance support — Combo payloads accept dance as a single URN or ordered array.
- ✓REST API — GET /packages?category=tal and GET /packages/:category/:username/:name.
DOT as a native MCP server
Dance of Tal operates as a Model Context Protocol (MCP) server. Your IDE invokes your locked context on demand — no copy-paste, no drift, perfect isolation per agent run.
Three MCP tools
IDE Integration
Add DOT to Cursor, Windsurf, Claude Desktop via a single mcp.json config. No plugin installs.
On-demand Context
The IDE calls init_run + get_run_context at the right moment. No manual copy-paste into chat.
Agent Isolation
Concurrent agents each get their own .dance-of-tal/runs/{uuid}/ sandbox. Zero context collisions.
// .cursor/mcp.json
{
"mcpServers": {
"dance-of-tal": {
"command": "npx",
"args": ["dance-of-tal"]
}
}
}Share your team's expertise
Publish your Tals, Dances, and Acts to the global DOT registry. Authenticate via GitHub — your @username namespace is yours forever. Private org registries coming soon.
dot logindot publish --category tal --name senior-backend-engineer --tags "kotlin,backend,platform"