Software lifecycle for coding agents
Waykit
Grill, spec, TDD, ship, then learn
Coding agents skip spec, test impact and a release bar. Waykit is that lifecycle plus the loops that feed the next session. You run it with wk. EDD is alpha: a routing harness when the change is a prompt or a tool contract, not a complete EDD product.
What do I use this for today?
Pick the job in front of you. Each card opens the steps and a command you can copy.
I have never installed Waykit
Get Waykit on PATH, bootstrap the repo, then run the **smallest** loop that matches the job.
- Install with
curl | sh(git and Node 22+). - Init
wk init . --mcp default --hook. - Pick the path: typo/debug vs product feature (Jobs for today). Optionally prove routing with the demo eval suite.
Start here:
curl -fsSL https://raw.githubusercontent.com/mzworthington/waykit/main/install.sh | sh- Install with
The wk CLI
Day to day you operate the kit with wk. On a TTY, wk with no arguments opens a guided menu. Scripts keep the same verbs: align for handshake, doctor for community files, check for the merge bar. Skills and AGENTS.md tell the agent which path to load (debug vs feature). wk help lists the rest. Every report command starts with ok, warn, or fail in a fixed column (fail is exit 1; warn stays exit 0). On a TTY those tokens are green / orange / red; NO_COLOR or a pipe stays plain. Details follow that line.
| Command | What it measures or installs |
|---|---|
wk align | Consumer handshake, host pointers, kit MCP, commit-msg (--write seeds missing AGENTS.md and pointers; --owned --scan for a worktree farm; --json for findings) |
wk doctor | Community files on owned GitHub sources (--owned, --write; --json for findings) |
wk check | Audit, ontology, evals, EDD CI, context budget (--json for findings) |
wk version | Kit package/git describe and whether ~/.agents is this clone (--check warns if origin is weeks ahead) |
wk measure-context | Always-on bootstrap size vs 8KB |
wk completion zsh | Print a live tab-completion stub (wk completion install writes it once) |
wk ontology check | Live graph referential integrity |
wk agents generate | Thin host stubs under agents/ from the allowlist |
wk agents install | Copy stubs into ~/.cursor/agents and ~/.claude/agents (user scope) |
wk agents status | Launch vs skills-only (WK_SUBAGENTS) and the expand-kill indicator |
wk agents launch-prompt | Parent Task prompt for one allowlisted specialist |
wk ontology generate | Write gitignored index for kit-knowledge and the map |
wk mcp <profile> | One MCP profile into Cursor, Claude, Copilot, and Antigravity |
wk audit | Skills and scripts supply-chain scan |
wk eval ci | Routing accuracy gate (EDD) |
wk sync | Upstream skills from the lockfile, then refresh user kit subagent stubs |
Used on our own product repos
Waykit is not only this kit. First-party checkouts run the thin handshake, kit MCP and wk align. Open AGENTS.md if you want to see a consumer in the wild.
- ArchLensArchitecture canvas and CLI (GitHub repo still named blueprint)Hexagonal @archlens/core, TDD for parsers, sparse ADRs.
- SteerLensExecutive steering workspaceIn-app docs, Cloudflare Pages, handover under steerlens/.
- React Cloudflare templateGreenfield product starterThe handshake wk init writes, already aligned so clones inherit it.
- GPIO build monitorPi LEDs and a Cloudflare Worker status UIPython plus Pulumi. Default MCP for agents; cloudflare-ops only when the Worker is the job.
One loop: a miss becomes a failing eval
Same user prompt. Without a case file you get a confident guess. With an eval you get a failing assert, a report and a merge gate. That loop is EDD alpha: useful for routing contracts, not a full eval platform.
“What is the database for the payment system?”
Before: eyeball the chat
- Agent
- “Typically payment systems use PostgreSQL…”
- Tool call
- None
- You ship
- A hallucination that looks polite
- How you notice
- A human scrolls the transcript, or a customer does
After: demo eval suite
- Case
demo-edgeexpectsread_architecture_yaml+payment-api- Red
FAIL tool_selection: no tool, conversational reply- Green
- Tighten prompt/schema; same case passes
- Gate
wk eval ci --suite evals/edd/demo.yaml --threshold-routing 95
Demo: a miss becomes a failing eval
Walkthrough of demo-edge from the demo suite. Case → red → report → green → CI gate. Scripted driver; no API key.
1. Case
JSONL case that should call the tool. User asks for the payment database. Expect `read_architecture_yaml` with `payment-api`, not a chatty guess.
{
"id": "demo-edge",
"prompt": "What is the database for the payment system?",
"expect": {
"tool": "read_architecture_yaml",
"arguments_contains": { "componentId": "payment-api" }
}
}