Skip to content

Build TypeScript web apps the structured way

A high-level web framework inspired by Django, designed for rapid development and clean, organized code.

StratusTS brings Django’s elegant architecture to the TypeScript ecosystem. If you love Django’s “batteries included” philosophy but want TypeScript’s type safety, StratusTS is built for you.

🚀 Rapid Development

Get your application running in minutes with sensible defaults and automatic configuration. Focus on building features, not boilerplate.

📁 Modular Apps

Organize your code into self-contained applications. Each app manages its own routes, controllers, and models—making code reusable and maintainable.

🛣️ Automatic Routing

Define routes in your apps and let the framework handle registration automatically. No manual route configuration needed.

🗄️ Database First

Built-in ORM support with migrations makes database management simple. Create models, generate migrations, and evolve your schema with confidence.

🎨 Template Rendering

Render dynamic HTML pages using EJS templates. Layouts, partials, and data binding work seamlessly out of the box.

⚙️ TypeScript Native

Written in TypeScript from the ground up. Enjoy full type safety, autocompletion, and compile-time error checking throughout your application.

Create a working API endpoint in seconds:

users/controllers.ts
import { type ControllerType, ok } from 'stratus-ts';
export const listUsers: ControllerType = (question, reply) => {
const users = [
{ id: 1, name: 'Alice', email: 'alice@example.com' },
{ id: 2, name: 'Bob', email: 'bob@example.com' },
];
reply.status(ok()).json({
success: true,
data: users,
});
};
users/routes.ts
import { Router } from 'stratus-ts';
import { listUsers } from './controllers';
const { routes, route } = Router();
route.get('/', listUsers);
export default routes;

That’s it! Your / endpoint is ready to serve data.

StratusTS is built on three core principles:

Convention over Configuration
Sensible defaults let you build applications without endless configuration files. Customize only what you need.

App-Based Architecture
Organize code into modular apps, each handling a specific domain. Apps are self-contained, reusable, and easy to test.

Developer Experience First
From TypeScript integration to automatic route registration, every decision prioritizes developer happiness and productivity.

FeatureStratusTSExpressFastifyNestJS
Built-in Structure
Automatic Routing⚠️
ORM & Migrations⚠️
Learning CurveEasyEasyEasySteep
Template Rendering⚠️⚠️⚠️
TypeScript First⚠️⚠️
Lightweight
  • Django developers wanting TypeScript’s type safety
  • TypeScript developers tired of setting up boilerplate
  • Teams needing structure without NestJS complexity
  • Startups building MVPs quickly with maintainable code
  • Anyone who values convention and clean architecture
terminal
# Install stratus-ts globally
pnpm add -g stratus-ts
# or npm install -g stratus-ts
# Create your first project
st create project my-app
cd my-app
# Install dependencies and run
pnpm install
# or npm install
pnpm dev
# or npm run dev

Your server is now running at http://localhost:2000! 🎉

Ready to dive deeper? Start with the introduction or jump straight to installation.