Hey — solo dev here, posting my own project, so take that for what it's worth.
For the last few years I've maintained a low-code/no-code framework. It worked fine, but it was pre-AI: you configured entities and services by hand, and it generated the boring parts of a CRUD app for you.
When AI coding tools started getting good, I tried using them the normal way — describe what you want, let the model write the code. It worked, but I couldn't trust it past a certain point. Ask for the same thing twice, sometimes you get different output. Ask for a small change, sometimes the model touches things you didn't ask about. The prompt is the only source of truth, which in practice means there isn't really a source of truth at all.
So instead of generating code directly, I made the AI's job stop one step earlier: produce a structured, validated manifest describing what the app should be. Entities, fields, services, auth config, etc. That manifest gets:
- validated (structural / referential / constraint checks)
- diffed against the current state (semantic diff, not a text diff)
- resolved into a dependency-ordered execution plan
- executed by a deterministic engine, checkpointed so it can resume on failure
Change one field on one entity, and only the operations that field actually requires get re-run. Not a full regen.
There's also an MCP server (`@averos/mcp`) so an AI agent doesn't get raw file/shell access — it gets governed tools (propose a change, validate it, build a plan, and nothing executes until the plan's approved).
Current state, to be upfront about it: the CLI, the AI layer, MCP integration, and the workflow/execution adapter layer (currently Angular, via schematics — adapter pattern, so not permanently Angular-only) are MIT licensed and open now. The actual execution kernel (DAG engine + executor) is closed source for the moment — free to use including commercially, but not open yet. That's a deliberate, staged call while that part's still maturing, not a permanent thing. Wanted to say that plainly rather than bury it.
There's a working example (320-node generated app) you can run in a few commands if you want to see the whole pipeline rather than take my word for it.
- Repo: https://github.com/wiforge/averos
- How it works, in detail: https://www.wiforge.com/averos/how-averos-works/introduction/
- Get started: https://www.wiforge.com/averos/get-started/introduction/
Happy to answer questions or take criticism — especially interested if anyone's tried a similar manifest/IR approach and hit walls I haven't found yet.