yokoten · 横展
A guide for the journey. A guard at the bridge.
A free command-line tool that catches your AI coding agents' worst mistakes and walks you, stage by stage, along the road good teams use.
One person, a few AI agents, and the habits of a good software team. yokoten was built that way, and every issue, review, and release is in its repo.
The dream
Anyone can build software the way good teams do. Start on day one with the habits most people learn the hard way. The guard stops your agents before the worst mistakes.
- The guard
- stops a risky command before it runs, and tells the agent why.
- The guide
doctorsees which of five stages your project is at, and names the one next step.- The whole cycle
- plan, build, test, review, release, maintain: the SDLC. You learn it by doing it in your own project, one stage at a time.
Yokoten (横展) comes from Toyota’s factories. When one production line fixes a defect, every line that could have it gets the fix too. yokoten does that for your projects: a lesson one project learns is offered to the rest.
What changes on day one
See it at work
Three moments from a session. Step through them.
git push --tagsyokoten: git push --tags pushes tags. Only the owner decides when to release. If the owner asked for this, they start the session with YOKOTEN_RELEASE_APPROVAL set.
The agent tries to push a release tag. The hook stops it before it runs, and the agent reads why.
yokoten: stage 1 of 5, safety net. Next: no AGENTS.md, so the agents have no written rules here; `yokoten init` adds one.Why: an agent follows the rules it can read, and only those.Tell the user in plain words, one step at a time, and offer to do it (as-is, lighter, or not now with a reason).
Every session starts with doctor: the stage, the one next step, and why it matters.
ClaudeYou’re at stage 1 of 5, the safety net. This project has no AGENTS.md yet, so I have no written rules to follow here. I can add one with yokoten init. Shall I add it as it is, make a lighter version, or leave it for now?
The agent tells you in plain words and offers to do it. You decide. An example reply; the wording is the agent’s own.
The road
Software teams work in a loop: plan, build, test, review, release. yokoten takes you along it one stage at a time. The yokoten repo does every stage itself, so you can see it working.
doctor: stage 1 · safety net
Safety netyou are here
You don’t have to work out where you are.
doctorreads your project’s files and says it, for examplestage 1 of 5, safety net. A new project starts at stage 1. The order is advice, not a gate.- You learn
- rules your agents read, and checks that stop them when rules aren’t enough
- See it here
- AGENTS.md
doctor: stage 2 · issues and pull requests
Issues and pull requests
- You learn
- every change starts as an issue and merges only when CI passes; labels, milestones, and a board keep track
- See it here
- issues, pull requests, the board
doctor: stage 3 · release
Release
- You learn
- commit messages that say what changed and why, a changelog, a version number for every release
- See it here
- CHANGELOG.md
doctor: stage 4 · a team of agents
A team of agents
- You learn
- a bot opens pull requests, workers take tasks, a reviewer checks them; only you merge
- See it here
- the guide
doctor: stage 5 · going public
Going public
- You learn
- scan every past commit for private data, turn on security settings, protect main
- See it here
- security policy
The road to the dream
Each milestone covers more of the cycle, for more people and more tools.
Now, before 26 Oct 2026
doctorwalks you along the road; a release flow; checks on GitHub settings;npx yokoten; the same guard in Codex and Gemini CLIMeta hackathon, 26 Oct – 3 Nov
an agent that reads an old project and drafts how to adopt yokoten; Muse Code support
Next
Gitea and other code hosts; a short spec before larger changes; the OpenSSF Best Practices badge as public proof
Every step is planned in the open: the board shows what is being built today, and the milestones show what comes next.
Quick start
You need Node 22.18 or later. Nothing else: no build step, no dependencies.
git clone https://github.com/coo1white/yokotennode yokoten/bin/yokoten.ts install # once per computercd your-projectnode ~/.local/share/yokoten/bin/yokoten.ts init # once per project
Then open the project in Claude Code. It tells you which stage you are at, and the one next step.
Or paste this into Claude Code, in your project:
Read https://yokoten.app/agents.md and set yokoten up in this project.
agents.md is a short, plain list of steps. Your agent checks Node, installs yokoten, runs doctor, and asks you before it commits anything.
A one-command npx yokoten comes with the npm release.
Check it works
In your project, run doctor. It shows the whole road and marks the next step:
node .yokoten/bin/yokoten.ts doctoryokoten 0.1.0, self-test okthe road: stage 1 of 5, safety net 1. safety net done rules done tool-hook done commit-check done runtime next tests: CI does not run the tests; add a step that runs `npm test` … 2. issues and pull requests …
Shortened. Your steps will differ.
To see the guard stop something without running anything, hand it a pretend tool call:
echo '{"tool_name":"Bash","tool_input":{"command":"git push --tags"}}' | node .yokoten/bin/yokoten.ts hookyokoten: git push --tags pushes tags. Only the owner decides when to release. If the owner asked for this, they start the session with YOKOTEN_RELEASE_APPROVAL set.
Nothing is pushed: the hook only reads the call. Exit code 2 means “blocked”.
What it can’t do
Honest limits, from the guide:
- The guards read command text. A command put together in pieces gets past them. They catch mistakes and drift; they aren’t a lock. The lock is on the server: branch protection, code owners, and a bot that can’t release or change CI.
- Server settings aren’t checked yet.
doctorlists the three steps for the owner. Checking them through the API is planned. - Claude Code first. The guard also runs in Codex and Gemini CLI, but nobody has yet seen it block a real session there (#30). Muse Code support is planned.
Learn more
Start today
Four lines, once. Or ask your agent to do it.
git clone https://github.com/coo1white/yokotennode yokoten/bin/yokoten.ts install # once per computercd your-projectnode ~/.local/share/yokoten/bin/yokoten.ts init # once per project