introducing radial
At the beginning of this year when using AI started to become a bigger thing in my work, I wanted to figure out a way that I could use it and augment how I like to work. For me, that is breaking down larger pieces of work into different stages and smaller chunks that all tie back to the main goal. When doing this, I noticed that agents and tooling at the time seemed to struggle when I did this without something tying them together. That is why I built radial.
At its core, radial is a contract-based task tracking tool for agentic workflows -- every task declares what it needs, what it produces, and how to verify that. This is all interfaced through a lightweight CLI (rd) while storing the information in lightweight toml files locally.
Even just the light contracting when provided to an agent has proven very useful in my usage. During planning phases, providing radial allows for an agent to clearly lay out tasks with dependencies, priorities, and order out the work to be done. Beads at the end of last year got me thinking about task tracking and similar thinking. From there, I wanted the core piece to be more aligned to contracts.
A brief look
rd init --stealth
rd goal create "Add a /users endpoint"
rd task create <goal-id> "Add users endpoint" \
--receives "Go HTTP server running on :8080" \
--produces "GET /users returning JSON array of hardcoded names" \
--verify "curl localhost:8080/users returns JSON with names"
rd task start <task-id> --assignee agent-1
rd task complete <task-id> --result "Added GET /users, returns 3 hardcoded users as JSON"
What's next
- executable verification (optional exit-code-gated task complete checks)
- local MCP server for better direct agent usage and reduced token usage
- better worktree workflow support
Go get it
Go and install it. Use it a bit. Let me know of any thoughts or questions. I would love to see if this is useful for others!