Skip to main content

r/angularjs


I spent years building an application framework; I rebuilt its architecture around structured intent and deterministic execution layer for AI-generated software (open source) — here’s what I learned.
I spent years building an application framework; I rebuilt its architecture around structured intent and deterministic execution layer for AI-generated software (open source) — here’s what I learned.

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.


Advertisement: Precise aim and fast reactions decide the winner in Roblox's intense FPS experiences.
Precise aim and fast reactions decide the winner in Roblox's intense FPS experiences.
media poster


Answers are getting cut off — can providers help?
Answers are getting cut off — can providers help?
Answers are getting cut off — can providers help?

From time to time, the UI I use with OpenRouter cuts off the answer. I’m not sure why, but I wonder if setting an allowed providers list could reduce the number of incomplete answers. Would that work? Which providers would you recommend?

upvote comments

ui-grid 5.x - blast from the past under original ownership now
ui-grid 5.x - blast from the past under original ownership now
ui-grid 5.x - blast from the past under original ownership now

i just got the repo transferred back to me and i migrated everything over to the old repo. MIT licensed fully featured datagrid updated for web-components, angular 17+ and react 18+. 5.4k stars.

https://github.com/orneryd/ui-grid/releases/tag/v5.0.0

thanks for everyone who has supported the project throughout the years. this was huge to get the repo back under my control. thanks!

🫶

upvotes comments