Start · application configuration
Configuration
Presolve favors conventional files and explicit command inputs over a large framework configuration object. Each file has one owner, and generated products remain compiler-owned.
Canonical application files
app/app.tsxApplication shell, shared navigation, providers, and footer.app/app.cssGlobal stylesheet automatically published and linked from document head.app/index.htmlStrict document frame with exactly one {{ head }}, {{ app }}, and {{ runtime }}.app/routes/Default semantic file-route input.public/Files copied to publication-root URLs.assets/Inputs for an explicit @presolve/vite physical entry. The canonical CLI does not copy this directory automatically.server/Server-owned source; not browser-eligible merely because it exists here.Package scripts
{"scripts": {"dev": "presolve dev","check": "presolve check","build": "presolve build","deploy:node:prepare": "presolve deploy node --prepare"}}Use project-local scripts so framework, CLI, native binary, TypeScript authority, and artifact schemas remain on one prerelease.
Route metadata sidecars
A route may declare app/routes/<route>.metadata.json. Schema v1 accepts a non-empty title and optional non-empty description.
{"title": "Account settings","description": "Manage profile and security preferences."}Beta.16 publishes those records as route-metadata.json. It does not mutate the runtime head or project metadata into document tags; use app/index.html for stable document-wide metadata.
Explicit environment selection
Projects that call environment.public() select a previously generated environment manifest with --environment-manifest. There is no automatic dotenv discovery.
Compatibility inputs
app/layout.tsx and styles/ remain beta compatibility paths. A project cannot declare both app/app.tsx and app/layout.tsx; new applications should use the canonical files above.
A normal application needs no vite.config.ts. Explicit adapter code may pass Vite configuration for physical CSS, assets, and bundles, but it may not define Presolve routes, component identity, static eligibility, environment ownership, or resume semantics.