He
HeliumTS
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 routes
3 index.tsx
4 [id].tsx # Dynamic routes
5 [...slug].tsx # Catch-all routes
6 _layout.tsx # Root layout
7 (protected)/ # Route group (e.g., auth or app shell)
8 dashboard.tsx
9 profile.tsx # Can opt into "use ssr"
10 marketing.tsx # Can opt into "use ssg"
11 server/ # Server-side logic
12 tasks.ts # RPC methods for tasks
13 auth.ts # Auth-related methods
14 webhooks.ts # Webhook HTTP handlers
15 workers/ # Background workers
16 queueConsumer.ts
17 _middleware.ts # Server middleware
18 components/ # React components
19 types/ # Shared types
20helium.config.ts # Helium configuration
21package.json # NPM package file
22vite.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.