The Tom framework
A Dart/Flutter enterprise & AI ecosystem — explore every module and component, what it does, and how far along it is.
released
published
in the works
not started
Anatomy of a Tom application
A Tom application is a Flutter **client** and a Dart **server** joined by a typed interface, with the server reaching external services and an application-owned **MySQL/PostgreSQL** database. Both halves are built on **Tom Core** — `tom_core_flutter` and `tom_core_server` over a shared `tom_core_kernel` and `tom_basics` foundation.
Tom Core guarantees, by construction, what every enterprise app needs and every app should share: a resource-driven configurable UI, full internationalization, uniform authentication and a four-state authorization system, one architecture, and uniform deployment, operations and provisioning. These are enforced by the framework — independent of how the business logic was written.
Built by a specification flow
Business logic is produced through a staged flow — **manual specification → DocSpec → CodeSpec → implementation** — orchestrated by **ai_build**. ai_build scripts the steps on **tom_flow**, draws on **tom_brain** for the AI specification and coding work (through external interfaces), and both execute dynamic, sandboxed code through **D4rt**. **tom_reflection** provides the runtime reflection that lets an application assemble itself.
Agentic surfaces
The same architecture can host AI-generated agents: a server can expose **tom_brain** as a service that produces agentic apps which run inside the Flutter client via **tom_d4rt_flutter**.
Around the framework
Framework development and operations run in parallel — a VS Code extension and the **Tom Forge** IDE for authoring, command-line **DevOps** tools for build and deployment, and a **Cloud** layer for provisioning. Two companion applications, **tom_uam** (users & authorization) and **tom_sqm** (subscriptions & quota), ship on Tom Core.
Architecture at a glance
Areas
Start with an area — the big picture — then drill into its components and modules.
Dart Interpreter
Reflection
Foundations
Code Generation
Components
Each component is a family of modules — hover for its status mix, click to open its modules.