Skip to content
Client OS
Menu

Product

What Client OS is

Client OS is a codebase you clone and build on, not a service you sign up for. It gives you the parts every web product needs, already connected, plus a real example of the patterns applied.

Who it is for

Developers starting a new SaaS or internal tool on TypeScript who want auth, a typed API, a frontend, a database layer and a deploy path ready before they write product code.

Teams that want one workspace for the API, the web app, a CLI and a desktop shell, sharing types and packages instead of copying them.

The scaffold

apps/api is a Hono app with OpenAPI route definitions, auth and rate-limit middleware and org-scoped database access. apps/web is a Next.js 16 App Router app with React 19: a login page and a signed-in dashboard shell.

apps/cli is the `client` command-line tool, with build pipelines for a single-file binary and an npm bundle. apps/desktop is a Tauri 2 shell with a placeholder frontend and a bundled sidecar. apps/e2e holds Playwright health and auth smoke tests.

Organizations, roles and service accounts

Every user, service account and record belongs to an Organization. An Org member holds one Role: org:admin, org:contributor or org:viewer, plus ci:agent for automation.

Service accounts authenticate with a PAT. Audit events record who did what to which resource, including denied attempts. Org-scoping is checked in the application layer, not with Postgres row-level security.

A worked example: clientos

Client OS ships with clientos, a personal consulting CRM built on the scaffold, so you can see the patterns applied to real resources: clients, contacts, projects, tasks, promises, invoices, contracts and more, in a Postgres schema of 39 tables.

Its API routes live under /api/clientos, its pages under the web dashboard, and its commands under `client clientos`. Keep it as a reference, or remove it and build your own domain in its place.

At a glance

Runtime
Node.js 22 or later, ESM throughout
Language
TypeScript 5, strict mode
Package manager
pnpm workspaces
Backend
Hono + OpenAPI 3.1
Frontend
Next.js 16 App Router + React 19
Database
PostgreSQL with Drizzle ORM
Auth
Supabase Auth (JWT) and service-account PATs
Testing
Vitest and Playwright
Desktop
Tauri 2 shell (placeholder frontend)
License
MIT

Skip the setup week

Clone it, run five commands, and start on the part that is actually your product.