Five builds side by side. Run any of them.

Generations

One idea, built five times in eight months. I restart things rather than repair them.

I restart things rather than repair them, and this is the clearest run of it anywhere in my work.

One command line assistant, built five times across eight months, each time in a new repository. The first is two files and eleven kilobytes. The last is three hundred and twenty two kilobytes across seventeen modules, and it became my final year project.

Keeping every attempt as its own repository throws away the history of what changed between them, and that is a genuine cost. What it buys is that all five still run. You can open them next to each other and see what I understood by June that I did not understand in November. I would rather have that than a tidy branch history nobody ever reads.

By the fifth version it could take an instruction in ordinary language, work out the shell command, explain the command before running it, and ask before doing anything at all. Personas and tools live in files a user writes rather than in the code, so extending it does not mean editing it.

Approval is a structural boundary in it rather than a dialogue box added at the end. Running commands that a model wrote is the entire risk of the idea, and I would rather it stopped and asked me.

Built with

  • Python 3.9+
  • LangGraph
  • Google Gemini
  • Groq
  • Typer
  • rich
  • questionary
  • Docker SDK

Where it lives

The full technical write up for this work, with the trade offs and what is deliberately not claimed, is on the plain text page.