Skip to content

Intent System

The intent system is DUUMBI’s highest-level interface for program generation. You describe what you want, and DUUMBI handles the how.

Terminal window
duumbi intent create "Build a calculator with add, subtract, multiply, and divide functions"

The AI generates a structured YAML spec:

intent: "Build a calculator"
version: 1
status: Pending
acceptance_criteria:
- "add(a, b) returns a+b for i64"
- "sub(a, b) returns a-b for i64"
- "mul(a, b) returns a*b for i64"
- "div(a, b) returns a/b for i64"
modules:
create: ["calculator/ops"]
modify: ["app/main"]
test_cases:
- name: basic_add
function: add
args: [3, 5]
expected_return: 8
- name: basic_mul
function: mul
args: [6, 7]
expected_return: 42
Terminal window
duumbi intent review calculator

Edit the spec before executing:

Terminal window
duumbi intent review calculator --edit
Terminal window
duumbi intent execute calculator

The execution pipeline:

  1. Coordinator decomposes the intent into ordered tasks (CreateModule, AddFunction, ModifyMain)
  2. Orchestrator sends each task to the AI for graph mutation (with 3-step retry)
  3. Verifier generates test programs, compiles, and checks exit codes against expected values
  4. On success: intent archived to .duumbi/intents/history/
Pending → Executing → Completed
→ Failed (with error details)

Check status:

Terminal window
duumbi intent status calculator

All intent commands are available as slash commands in the REPL:

duumbi> /intent create "build a fibonacci calculator"
duumbi> /intent review fibonacci
duumbi> /intent execute fibonacci
duumbi> /intent status fibonacci