Note:
HeliumTS is under active development. Expect bugs and breaking changes. If you find any issues, please report them in our GitHub
A stable release is planned for early 2026.
Project Structure
A typical HeliumTS project keeps routes, server code, and rendering concerns close together in one app:
1src/2 pages/ # File-based routes3 index.tsx4 [id].tsx # Dynamic routes5 [...slug].tsx # Catch-all routes6 _layout.tsx # Root layout7 (protected)/ # Route group (e.g., auth or app shell)8 dashboard.tsx9 profile.tsx # Can opt into "use ssr"10 marketing.tsx # Can opt into "use ssg"11 server/ # Server-side logic12 tasks.ts # RPC methods for tasks13 auth.ts # Auth-related methods14 webhooks.ts # Webhook HTTP handlers15 workers/ # Background workers16 queueConsumer.ts17 _middleware.ts # Server middleware18 components/ # React components19 types/ # Shared types20helium.config.ts # Helium configuration21package.json # NPM package file22vite.config.ts # Vite configuration
The important distinction is that src/pages defines the UI and route tree, while src/server holds RPC methods, HTTP handlers, middleware, and workers.