← All areas

Core Application Framework

The Core Application Framework is the foundation every Tom application is built on: a Flutter client and a Dart server joined by a typed interface, both resting on a shared kernel. It is one of the seven building blocks of the framework, and the one that defines what a "Tom application" is.

Its defining promise is uniformity by construction. Tom Core guarantees — for every app, regardless of how that app's business logic was written or generated — a resource-driven configurable UI, full and uniform internationalization, uniform authentication, a uniform (now four-state, per-resource) authorization system, one architecture, and uniform deployment, operations, and provisioning. These cross- cutting features live in Core, so they are present in every Tom app automatically; the application creation flow only generates business logic on top of them.

The shape of a Tom application

        client app (Flutter)            server app (Dart / Shelf)
                │                                  │
          tom_core_flutter                   tom_core_server
                └──────────────┬──────────────────┘
                        tom_core_kernel
                          tom_basics
  • The client is a Flutter app built on tom_core_flutter.
  • The server is a Dart/Shelf server built on tom_core_server, reaching

external services and an application-owned relational (MySQL/MariaDB) database over a pluggable datasource layer. - A typed interface is the client⇄server contract between them. - Both halves rest on a shared tom_core_kernel and the tom_basics utility floor.

The components and modules

The area is delivered by the Core component (core) and its modules.

The layered base

  • tom_core_kernel — the platform-independent base shared by client and

server: dependency injection / bean locator, the observable/reactive system, security, logging, isolate pooling, settings, JSON, timezone handling, and the reflection glue that turns generated reflection data into runtime wiring. - tom_core_server — the Dart/Shelf server foundation: authentication, authorization, data sources, database migration, endpoints, transactions, object persistence, caching, and health checks. - tom_core_flutter — the Flutter client foundation: resource-driven UI, forms, the observing/runtime layer, and client-side security.

The UI library

  • tom_flutter_ui — the resource-driven widget and form library: the widgets,

form authorizers, theming, groups, and actions that make a Tom UI configurable from resources rather than hard-coded. - tom_flutter_form_test / tom_flutter_ui_test — the demonstration and test apps that exercise the forms and widgets.

Bridging and agentic glue

  • tom_core_agentic — domain-free, dart:io-free agentic infrastructure:

cooperative cancellation, a use-after-close guard, category logging, async shutdown coordination, and typed YAML config read/write. Its lightweight tier (it depends only on tom_basics) is what lets even dart:io-forbidding packages build on it, which is why Tom Brain shares it. (The brain-specific BrainEventBus lives in tom_brain_shared, not here.) - tom_core_d4rt — the D4rt scripting tool with full Tom-framework bridge support: a REPL (d4rt) and headless script runner that registers generated bridges for a dozen Tom packages (kernel, server, build, distributed, and document toolkits), so sandboxed DartScript can call straight into the framework. - tom_core_bridge — an extended VS Code bridge server binary (core_bs): the base tom_bs from tom_vscode_bridge plus the complete Tom-framework D4rt bridge set that tom_core_d4rt registers, so editor scripts can drive a running app's core, server, and build APIs.

How it fits the rest of Tom

Core is the destination of the application creation flow and the host of the agentic line. The Software Factory produces business logic that targets Core's contracts; the implementation phase fills in the CodeSpec against tom_core_server and tom_core_flutter. Reflection (tom_reflection, via the kernel's reflection glue) is what lets an application assemble itself from resources at runtime. And in the agentic variant, the server can expose tom_brain as an external service whose generated agent surfaces run inside the Core-based Flutter client through tom_d4rt_flutter.

The two companion applications — tom_uam (users & authorization) and tom_sqm (subscriptions & quota) — are themselves built on Core, serving double duty as production apps and as canonical samples of how to build on the framework.

> Maturity note. Tom Core is functionally feature-complete — a skeletal app has > already run on it end-to-end. The remaining work is documentation, tests, a > code-cleanliness refactor, and targeted hardening (notably routing the four-state > authorization through all security code and ensuring the data-access layer always > uses prepared statements).

In this area
Explore other areas

Reflection

1 member
Reflection is the base technology that lets a Tom application assemble itself at runtime and lets tools read a codebase's API without re-running the analyzer.

D4rt Interpreter

1 member
The D4rt Interpreter is where Tom runs and generates Dart code at runtime, inside a permission-guarded sandbox, without ahead-of-time compilation.

Tom Brain Agent

1 member
Tom Brain is the intelligence layer of the Tom framework: from the outside it looks like an ordinary OpenAI-format LLM API server, but inside it is a single always-running engine that runs procedures — sandboxed D4rt scripts — over a self-organising, "dreaming" graph memory.

Docspecs/Codespecs Software Factory

0 members
The Docspecs/Codespecs Software Factory is the staged, AI-assisted process by which Tom applications are created — from an initial idea, through structured specifications, to working, tested code — with complete traceability from a business requirement to the implementation and the test that covers it.

Build tools

2 members
Build tools are the command-line machinery that develops, builds, tests, documents, and deploys the Tom framework and the applications made with it.

VS Code Extension and VS Code Scripting

1 member
This area is how the Tom framework is developed inside the editor: a VS Code extension that hosts a Dart bridge, so framework tooling and automation can be written in Dart — the same language as the framework itself — with full access to the VS Code API.