Presolve documentation · 0.2.0-beta.26
Learn the whole system.
Presolve is a compiler-founded, static-first framework for TypeScript and JSX. These guides connect the authoring model to the exact HTML, browser plans, resume records, diagnostics, and deployment inventory it produces.
Build an interactive route in minutes.
Create a project, learn the canonical application files, and watch one explicit action update compiler-owned state.
Follow the quickstartpnpm create presolve@0.2.0-beta.26 my-appcd my-apppnpm devLearn by goal
Start a project
Install the beta, understand the scaffold, run locally, and make the first production build.
Quickstart →02Own the application
Learn why document, shell, route, CSS, public, server, and generated files have distinct homes.
Structure guide →03Build the interface
Define components, inputs, nested ownership, conditions, keyed lists, and teardown.
Component guide →04Add behavior
Use state, actions, pure computed getters, effects, event parameters, and cleanup.
Reactivity guide →05Style the publication
Use global CSS, Tailwind, public assets, and Vite without creating a second semantic authority.
Styling guide →06Compose features
Project default and named slots, understand caller ownership, and use Context deliberately.
Composition guide →07Handle application data
Model forms, validation, submission state, resource lifecycles, and endpoint boundaries.
Data guide →08Prove and ship
Check diagnostics, inspect generated products, verify behavior, and deploy the full inventory.
Production guide →Understand Presolve
Compiler ownership
Why the compiler—not a browser renderer—owns semantics, identity, order, and products.
Resumability
How a compatible snapshot restores exact state and bindings without replaying the tree.
Language boundary
Which TypeScript and JSX forms the beta admits, and why type-correct code may still fail closed.
Support matrix
What is production-proven in this beta, what is compatibility-only, and what is not a promise.
Reference
Presolve 0.2 beta is not a generic SSR or arbitrary server runtime. Its Node host executes only compiler-proven loaders and Form-bound actions. Arbitrary TypeScript and package internals are not silently accepted; unsupported semantics produce a compiler diagnostic instead of falling back to a large client runtime.