Prompt-to-app tools give people freedom and take away safety. Traditional frameworks give developers safety and demand expertise. Trellis is the bet that you can have both: a professionally maintained framework underneath, AI-generated code on top, and a validation pipeline standing between the agent and production.
The name is the design. A trellis is a rigid structure a plant grows on. The plant grows in any direction the structure supports, and the structure keeps it from collapsing under its own weight. Users never see the trellis. They see their plant.

A subject-matter expert can describe an application and watch it appear. What they cannot do is see the parts that decide whether it survives contact with real users: how sessions are handled, who is allowed to read which row, where the API key ends up, what a schema change does to yesterday's data.
Those parts do not fail loudly during the demo. They fail later, in production, in ways that are expensive and sometimes unrecoverable. The current answer is to ask the agent nicely not to make those mistakes.
Trellis splits an application into a part professionals maintain forever and a part an agent writes on request. The boundary between them is enforced by the build, not by a prompt.
Immutable and versioned. It owns the HTTP server, routing, auth and sessions, user management, the database and its entire physical schema, background jobs, outbound network access, and secrets. Generated code can call it. It cannot change it.
The only API surface generated code is allowed to touch: typed packages for auth, storage, jobs, outbound HTTP, and the design system. Everything the agent writes composes these and nothing else.
Pages, components, and server actions the agent writes at the user's request. No schema, no migrations, no database code of any kind. Every change passes validation before it deploys.
What the person sees is the familiar loop: describe what you want, watch it appear, keep talking. They are never asked about auth strategies, connection pooling, or migrations, because those questions were answered once, by professionals, underneath.
The pattern keeps recurring in our client work: a business with deep domain knowledge, a pile of prototype apps built by non-engineers, and no safe way to move any of it into production. The instinct to have the business side build its own front ends is right. What is missing is the structure underneath that makes it survivable.
Trellis is that structure. Editing content, adding pages, reshaping a workflow: cheap and safe. Anything that writes to the backend or introduces a new data shape: a capability the framework grows, deliberately, by people who own it.
The atom of the generated layer is a directory the agent owns: a page, its server actions, its tests. Each unit is built, validated, versioned, and deployed on its own. A unit that fails validation keeps serving its last good version, so one broken page is one broken page.
Server logic takes exactly one shape: a registered action with a typed input, a typed output, and a declared auth requirement. There is no way to express an unvalidated endpoint, and an action that declares no auth rule fails the build.
Between the agent and production sits a validation pipeline: type checks, the import boundary, generated tests, and the auth contract. Secrets are held in the core vault and injected by reference, so a key never appears in generated code, agent context, or a log line.
TypeScript end to end, in the framework and in the generated layer. PostgreSQL is the only persistence layer, with the ORM living inside the core as the single data-access implementation. A core-owned shell loads each page unit as its own lazily built bundle, because a single whole-app build would reintroduce exactly the failure the unit model exists to prevent.
Prompting an agent to be careful is a probability, not a guarantee, and the failures it is being asked to avoid are the ones that do not show up until later. So the capability is removed rather than gated.

Trellis is the durable core of a live platform engagement: a client moving roughly two dozen prototype applications and an ERP onto one system they own, with their own people continuing to build on top of it afterwards. The foundation ships inside that engagement first, on real users and real data, before it is offered on its own.
That is the flywheel this lab runs on. A client pays for the specific problem. The part that recurs becomes the product.
That is the problem Trellis was built out of. Tell us what your team has already built, and we will tell you what it would take to make it survivable.