Skip to content
Client OS
Menu

Monorepo foundation · MIT License

Start your web app on a stack that is already wired together.

Starting a new SaaS or internal tool usually means a week of setup before the first line of product code. Client OS is that week, done: auth, a typed API, a web frontend, a database layer and a deploy path, connected and ready to extend.

From clone to a running stack
git clone https://github.com/catesworks/client-os.gitcd client-ospnpm installpnpm supabase:startpnpm dev# web       http://localhost:3026# api       http://localhost:4026# studio    http://127.0.0.1:55623

The source repository is private to the catesworks organization.

From clone to your own product

  1. Step 1

    Clone

    Clone the repository (or copy it with `npx degit`) and run `pnpm install`. One pnpm workspace holds every app and package.

  2. Step 2

    Run

    `pnpm supabase:start` boots a local Supabase stack in Docker. `pnpm dev` runs process-compose, which applies the Drizzle migrations, seeds demo data and demo accounts, then starts the API and the web app.

  3. Step 3

    Extend

    Add a route with an OpenAPI definition in apps/api, run `pnpm openapi:dump`, and the kubb-generated client in packages/api-client gives the web app typed hooks for it. The clientos routes show the pattern end to end.

  4. Step 4

    Check

    CI runs typecheck, an OpenAPI drift check, an ESM load smoke test, lint, migrations against a fresh Postgres, tests and a Prettier check on every pull request.

  5. Step 5

    Deploy

    The API deploys to Render (render.yaml) or as a Docker image; the web app deploys to Vercel; Supabase Cloud holds auth, Postgres and storage. docs/PROD-DEPLOY.md is the first-deploy checklist.

The full loop, step by step →

Skip the setup week

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