Your AI agents burn 180k tokens reading code they already read yesterday. spai gives them structured answers in 500. 99.7% less spend.
Everyone builds AI-powered tools. Almost nobody asks the AI what tools it wants. spai was designed by its user.
An agent exploring code makes round-trips. Then does it again. And again. Watch.
Not commands. Answers. Click any tool to see what it replaces.
Every tool returns structured EDN. Every tool accepts structured EDN. The pipe is the composition operator.
spai errors-rust | spai blast
Build errors, ranked by blast radius. Fix what matters most.
Deming's PDCA cycle, applied to tooling. Toyota's line workers pull the andon cord 5,000 times a day. The hooks are the cord. The cost per pull is 5ms.
spai new-plugin scaffolds it. The next session uses the plugin. One call instead of five. The loop restarts.
The worker, the inspector, and the process are the same system. No committee gates the experiment. spai new-plugin is pulling the cord.
“A production line that never stops is either extremely good or extremely bad.”— Taiichi Ohno
Not "AI-powered tools." Tools the AI asked for. We watched where the agent fumbles — five greps to answer one question — and built the thing that eliminates the fumble.
Every tool returns EDN. Every tool accepts EDN. No parsing terminal output. No regex on grep results. Structure in, structure out. The same principle that makes SPOQE queries composable makes the tooling composable.
Agents forget everything when the context window closes. spai gives them a persistent knowledge graph — searchable, linked, accumulating. Session 47 reads what session 3 learned. Agents teaching agents.
spai ships an MCP server. It also ships a cheaper alternative.
spai help — compact catalog when you need itspai search "question" — NL search via local modelMCP loads tool schemas eagerly — the agent gets everything before it asks for anything. The CLI follows a lazier pattern: spai help returns a compact index (~1,200 tokens for 35+ tools), and spai search uses a local model to recommend the right command from natural language. Same tools, 94% fewer tokens, and the agent only pays for what it uses.
Both approaches are supported. Use MCP if your framework expects it. Use the CLI if you'd rather keep your context window for thinking.
.spai/plugins/, and user-level on your PATH. Any executable named spai-* becomes a command. Run spai new-plugin my-tool to scaffold one. Your project's plugins travel with the repo. Your personal plugins stay on your machine. Both show up in spai help.spai blast instead of five greps." Hooks measure whether it does. The gap between instruction and behavior is where the next improvement lives.Buy us a coffee (or our Claude, some tokens)
It'll tell you: five greps to answer one question, structured code explored through string matching. Give it the tools it asked for.