Skip to main content

client-os

The batteries-included monorepo foundation for shipping modern web apps.

Stop re-wiring auth, API scaffolding, and deployment plumbing for every new project. client-os gives you a working, typed, end-to-end stack on day one — a Hono + OpenAPI API, a Next.js 16 App Router web app, Drizzle-managed Postgres, and Supabase Auth, already wired together and ready to extend.

Why client-os

Most "starter" scaffolds hand you a folder structure and leave the hard parts — auth, org scoping, typed client generation, deployment — as homework. client-os ships those parts already built and already talking to each other:

  • Auth that actually works out of the box. Supabase Auth issues JWTs; apps/api verifies them, resolves roles, and enforces org membership on every request — no separate auth service to stand up.
  • A typed contract from API to browser. The API is OpenAPI-first; a Kubb codegen step turns that spec into typed fetch calls and React Query hooks in packages/api-client, so the frontend never hand-writes request shapes.
  • A real domain to learn from, not a todo-list demo. The included clientos CRM (clients, projects, tasks, invoices, servers, domains, and more) shows the full pattern — schema, API routes, RBAC, CLI, and UI — for a non-trivial resource, so you have something concrete to copy when you add your own.
  • Deployment already mapped out. Render (API), Vercel (web), and Supabase Cloud (database + auth) are the target platforms, with runbooks for exactly what a first production deploy requires.

What's inside

  • apps/api — Hono + OpenAPIHono backend: JWT/PAT auth, rate limiting, org-scoped database access, health checks.
  • apps/web — Next.js 16 App Router frontend: Supabase-authed shell, RBAC-aware pages, a dashboard.
  • apps/cli — a Commander-based client CLI, including a full set of clientos operator commands.
  • apps/e2e — Playwright smoke tests for auth and health.
  • packages/* — shared auth, database (Drizzle), config, telemetry, fetch client, and React Query wiring, each published as its own workspace package.

Where to go next

  • Getting Started — clone it, install it, run it locally, log in with a demo account.
  • Architecture — the tech stack, the project layout, and how the clientos CRM domain is modeled and org-scoped.
  • Usage Examples — walkthroughs for adding a CRM resource, using the CLI, and using the clientos-context skill.
  • Deployment — what it takes to get this stack live in production.