Mano

GitHub 13stars on GitHub

Mano is a fast feedback loop for AI-assisted development. It is a planning framework that keeps work in small phases, so you decide a little, build, check the result and learn before deciding the next step. It is built mainly for projects run by one person or a small group, not as a project-management system for teams.

Problem

I wanted AI-assisted development to be faster without losing human control. That meant not defining a whole project before starting to build, and not drowning in large product requirement documents, specifications and other artifacts. I also wanted enough structure to guide an AI agent without making the process itself the main job.

Limits of existing approaches

  • Many AI-first workflows ask for a lot of specification work before anything can start.
  • Very large specifications force decisions when you still know too little about the problem.
  • Highly automated frameworks can feel as if the process is making decisions in place of the developer.
  • Every extra artifact adds context that the AI has to read and keep consistent.
  • Some approaches aim for one canonical specification. I prefer a living backlog that changes with what I learn.
  • When I tested different models, an agent that was too autonomous often skipped checkpoints, for example by choosing the next phase on its own.

Solution

Mano installs into a project as skills, templates, hooks and an AGENTS.md contract, giving AI IDEs a shared workflow to follow. Install it with npx mano-plan install, then use commands such as mano start, mano stories, mano dev and mano review from your AI IDE’s chat. The loop is: define only what is needed, build, review, update the backlog, choose the next phase.

Key decisions

  • One small phase at a time. Each iteration works on a single phase, and a person must explicitly approve every new one.
  • The backlog is the centre. The first run mainly creates the backlog rather than starting a phase, and a person can read and edit it directly.
  • Artifacts are optional and just in time. Specifications, UX flows, rules and design notes exist only when they help the current phase.
  • Separate roles. Backlog and phases, specification, rules, design and review each have their own agent role.
  • One story at a time, and a mandatory review when a phase closes.
  • Hooks suggest, they do not take over. They propose next actions but never turn the workflow into a fully automatic one.
  • No heavy process. There is no team management and no large hierarchy of documents.

Design philosophy and human control

Giving the AI more autonomy does not automatically give a better workflow. Mano keeps people in control of the decisions that matter: what goes into a phase, when a phase starts and when it is finished. Human checkpoints are explicit, because some models carry on by themselves if they are not told to stop. When an automation or a “magic” behaviour made me feel less in control, I removed it.

Available results

  • I have used Mano on at least three real projects.
  • In my experience the workflow is faster, mainly because it needs less thinking up front than approaches built on large requirement documents and specifications.
  • In one comparison of the build workflow, I saw a saving of roughly 4 million tokens against my previous approach.
  • I have started sharing it publicly and internally to collect feedback, and a colleague who saw the approach decided to try it.
  • There are no significant public adoption figures yet, and no controlled benchmarks. These results are my own experience, not a formal measurement.

Lessons learned

  • Deciding when a decision is needed works better than trying to anticipate every decision at the start.
  • An artifact should exist only when it adds value to the current phase.
  • Less context helps with more than token use: it also makes it easier for a person to follow what is happening.
  • The backlog should collect what you discover while working instead of predicting everything in advance.
  • Reviews are part of the development loop, not an optional step at the end.