For the last few months I’ve been working on Maestro App Factory, a free and open source tool for using AI agents to build software. It’s not a generic orchestrator: it implements agents with distinct roles and functionality, organizes them into a team, manages their work, and enforces highly opinionated tooling, workflows, and constraints in software.
The core ideas are simple:
- LLMs act like human engineers. LLMs are trained on human artifacts and exhibit human-like behaviors (including blind spots). Rather than asking a single model or agent to design, implement, and evaluate everything, Maestro structures systems more like high-performing human teams.
- Heterogeneous models write better code. Models from different providers (e.g. Google, OpenAI, Anthropic, Mistral) are trained differently, have different strengths, and catch different errors. Using multiple models with settings optimized to specific roles has, in my experience, consistently produced better results than reusing a single model with different prompts or contexts.
- Don’t just trust agents. Agents don’t reliably follow workflows, restrictions, or tooling specified in prompts or config files. Letting them run with privileged access on your machine is also a real security risk. Tooling, workflow, and security need to be enforced by the system itself, not just described to the model.
- Autonomy is required to scale. If your development flow requires a human to constantly watch streaming LLM output, you can’t scale beyond a handful of agents. Maestro is designed so agents can work autonomously until they’re genuinely blocked and need to escalate.
Agents are named for the human roles they play — product manager, architect, coder — to keep the system understandable. So far, I’ve used Maestro to build several games and a handful of web apps. It executes epics of a dozen stories or more with zero human intervention.
If you want to know more, here's the detailed overview including screenshots: https://github.com/SnapdragonPartners/maestro/wiki
Maestro is available as a single downloadable binary or via Homebrew, and runs out of the box on Linux and macOS (signed and notarized) as long as LLM API keys are set as environment variables (see the README). With luck, you should be up and running in minutes.
There’s still plenty to do, but the current version is complete enough to be useful and demonstrate the ideas.
Happy to answer questions or take feedback/criticism.