@ph7/orbit
v0.2.0
Published
Orbit is a simple, efficient TypeScript web starter.
Readme
Orbit - Launch-Ready TypeScript Framework
Turn any web application into a scalable, maintainable, and successful product
Orbit is a simple, efficient TypeScript web starter built for anyone to use, adapt, and contribute to.
Overview
Orbit now ships as a ready-to-use minimal application with:
- strict TypeScript (latest)
- PNPM as default package manager
- Node.js 22+ runtime targeting
- multi-page routing
- a public JSON API
- zero external runtime dependencies
- a built-in test suite
- GitHub Actions CI
Accessibility
Orbit is intended to be open and accessible to anyone. The API responds with permissive CORS headers so it can be consumed from anywhere.
Included Routes
/home page/featuresfeature overview/docsstarter documentation/api/statusJSON health and metadata endpoint
Install
npm install @ph7/orbitpnpm add @ph7/orbityarn add @ph7/orbitCreate a server with your own routes:
import { createServer } from 'node:http';
import { createApp } from '@ph7/orbit';
const app = createApp({
route: ({ url }) =>
url.pathname === '/'
? { status: 200, headers: { 'content-type': 'text/html' }, body: '<h1>Hello from Orbit</h1>' }
: null
});
createServer(app).listen(3000);Run Locally
Use Node.js 22 or newer. If you use a version manager, the project includes .node-version.
pnpm install
pnpm startBy default the server binds to 127.0.0.1:3000. Override it with HOST and PORT when needed:
HOST=0.0.0.0 PORT=8080 pnpm startUse PORT=0 if you want Node.js to pick an available port automatically.
For automatic reload during development:
pnpm run devRun the test suite:
pnpm testBuild without starting the server:
pnpm run buildContinuous Integration
GitHub Actions runs the build and test suite against Node.js 22 and 24 on every push to main and on pull requests. See .github/workflows/ci.yml.
Screenshots

👨🍳 Author
Designed and developed with ❤️ by Pierre-Henry Soria.
Product Engineer building systems for better thinking and decision-making.
Roquefort 🧀 and ristretto enthusiast.
