Search pages, headings and code across the docs, examples and tutorials.

to navigateto open
Start here

Installation

Install, scaffold a project, and run it.

Requirements

Node.js 26 or newer. Node runs your TypeScript directly by stripping the types, which is why there is no build step. It also limits you to syntax Node can strip, so you cannot use enum.

Creating a project

Terminal
npm create ohne my-app

npm create ohne asks for the project name, whether to add a website, the package manager, and whether to initialize a git repository. To skip the prompts in CI or a script, pass flags.

A Nuxt or Next website makes the project a monorepo, with your app and the website side by side. This page follows the app alone.

First run

Terminal
cd my-app
npm run dev

ohne dev starts the dashboard at http://localhost:9000 and the API at http://localhost:9001, then reloads as you save. Open the dashboard and create the first user - that account gets the admin role.

The project files

npm create ohne writes four files:

ohne.config.ts
import { defineConfig } from 'ohnejs';

export default defineConfig({
  layers: ['ohnejs/base'],
  auth: { cookieName: 'my-app-session' },
});
  • ohne.config.ts - the project's config, and what marks the directory as an ohne project. layers: ['ohnejs/base'] puts the framework's own layer under your app. The session cookie is named after the project, since two apps on one machine would otherwise sign each other out.
  • package.json - scripts for dev and the rest of the CLI. ohnejs is the only dependency; TypeScript is there to type-check, never to compile.
  • tsconfig.json - type-checks your Node code against the config ohne ships. dashboard/ is browser code and gets a config of its own when you add one.
  • .gitignore - keeps dependencies, generated files, the local database, and .env out of git.

ohne dev also writes .ohne/, the types it generates from your project. ohne rebuilds it when needed, so you never edit it.

Next, Directory structure shows where the rest of your app will live. Then the tutorial builds your first app: a collection, two endpoints, and a dashboard page.