devague
Devague is a CLI that helps you turn a vague idea into a spec, a plan, and an accounted-for delivery. Your AI agent drives devague. You hold the three gates.
Install
uv tool install devague # or: uvx devague / pipx install devague
devague --version
Set up your repo
Tell your agent:
Run
devague learnand learn the eight devague skills.
- You instruct; the agent calls it. The command prints instructions written for the agent, not for you: the method, then how to create the skills.
- The agent writes the eight skill files, with your consent, into its own
skills folder (Claude Code:
.claude/skills/). - It never overwrites a skill that already exists.
Then give your code reviewer a head start. A reviewing agent will not know to look for devague's artifacts on its own, so tell your agent:
Run
devague learn reviewand write the reviewer instructions from it.
It prints the audit method for a reviewer agent: check the obligations,
evidence, deltas and lapses the run filed instead of re-deriving what should
have been tested. Put the result where your reviewer reads its rules, for
example .pr_agent.toml for Qodo (this repo's copy is the template), or
paste it into the review request.
Work with your agent
From here on you talk to the agent, one skill at a time, in this order:
flowchart TB
subgraph spec [spec]
direction LR
S[1 scope] --> T[2 think] --> C[3 challenge]
end
subgraph plan [plan]
direction LR
P[4 spec-to-plan] --> A[5 assign-to-workforce]
end
subgraph delivery [delivery]
direction LR
D[6 deviate] --> V[7 validate-delivery] --> Z[8 summarize-delivery]
end
spec --> G1{{Gate 1 — you approve the spec}} --> plan
plan --> G2{{Gate 2 — you approve the split plan}} --> delivery
delivery --> G3{{Gate 3 — you review the PR}}
/scope— the agent surveys what the idea touches and records each finding./think— the agent works backwards from the announcement into a spec; every proposal waits for your confirm; it exports once the frame converges./challenge— the agent hunts blind spots in the spec; findings come back to you as proposals./spec-to-plan— the agent turns the spec into tasks with acceptance criteria and a dependency order; you confirm the plan./assign-to-workforce— you approve the split; the agent fans tasks out to a workforce of agents, one worktree each, merges gated by tests./deviate— the run stops when it must leave the plan; you approve the departure; it is recorded./validate-delivery— the agent runs the behavioral tests and files evidence and deltas; failing stays failing./summarize-delivery— the agent writes the accountability artifact and opens the PR you review.
Three gates are yours: the spec, the split plan, the PR. Inside them you also adjudicate: every proposal the agent files waits for your confirm, and a mid-run deviation waits for your approval. Everything else is the agent's, and all of it is written down.
Why it works
- Gates, not vibes. A spec or plan exports only after it converges.
- The agent never confirms itself. Anything it proposes stays proposed until you confirm it.
- Nothing is deleted to go green. Unknowns are parked, questions are resolved, out-of-milestone targets are deferred, all on the record.
- Ledgers are append-only and filed on the spot. The agent documents a claim right as it happens, reducing the chance of mis-documentation due to attention drift. Deviations, evidence, behavior deltas and reasoning lapses are recorded the moment they happen, never reconstructed at the end.
What devague never does:
- Call an LLM. The CLI is deterministic and fully unit-tested.
- Run a test. Tests run agent-side; devague records the result.
- Orchestrate agents. It describes the dependency graph; the skill does the fan-out.
What lands where
| Path | Written by | Git |
|---|---|---|
.devague/frames/<slug>.json |
/scope, /think, /challenge |
committed |
.devague/plans/<slug>.json |
/spec-to-plan |
committed |
.devague/deliveries/<plan-slug>.json |
/deviate, /validate-delivery |
committed |
.devague/reviews/, .devague/questions/ |
review and decision working files | gitignored (devague adds the rule) |
docs/specs/<date>-<slug>.md |
/think export |
committed — the spec |
docs/plans/<date>-<slug>.md |
/spec-to-plan export, /assign-to-workforce split |
committed — the plan and split |
docs/deliveries/<date>-<slug>.md |
/summarize-delivery |
committed — what actually shipped |
docs/current-spec.md |
/summarize-delivery (devague today) |
committed — what the app does now |
See also:
docs/skills.md— the eight skills in long form.docs/spec-contract.md— every record kind and move contract.CLAUDE.md— how this repo drives itself with devague.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devague-0.24.1.tar.gz.
File metadata
- Download URL: devague-0.24.1.tar.gz
- Upload date:
- Size: 852.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4bde8ace6b95f02e52e783703e7895c89946914aed1c4d90a2333a195282a22
|
|
| MD5 |
7a26ffc8905b0a320f9cf315f8f49f30
|
|
| BLAKE2b-256 |
e22417712381d6a3c688490f997bb77bb8b5dc9dec19c25fde3bc0fe1ff11d57
|
File details
Details for the file devague-0.24.1-py3-none-any.whl.
File metadata
- Download URL: devague-0.24.1-py3-none-any.whl
- Upload date:
- Size: 199.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb7717d61a4614c88312bfc525b16e98b5ddc6be70f15db2abdcff2316e93234
|
|
| MD5 |
3ad99ca0e0a1810b53b12b60853ef0b9
|
|
| BLAKE2b-256 |
72b27a0da3f2803a88353b5812c8fac0dbb771fd34b70ceb31614a1b28be7867
|