Skip to content

Set up a checkout

The local stack is Postgres, the control plane and the web app, with no node agent (that needs a Linux GPU host). Use it for UI and API work; streaming work happens on a GPU host.

  1. Clone the repository and its submodules.

    Terminal window
    git clone --recurse-submodules https://github.com/accreleus/quasar.git
    cd quasar
  2. Read the project contracts.

    Terminal window
    less CLAUDE.md
    less AGENTS.md
    make help
  3. Initialise the checkout (idempotent; never overwrites .env).

    Terminal window
    make init
  4. Check the environment and configuration.

    Terminal window
    make doctor
    make config-check
  5. Start the local stack.

    Terminal window
    make up
    make status

make dev-web runs the Vite loop; make dev-cp runs the control plane against an ephemeral Postgres. make down stops the stack and keeps its volumes.

Each worktree gets its own QUASAR_INSTANCE, Compose project, port block and test database, so checkouts don’t collide. Don’t hardcode ports, container names or project names in new tooling: use the helpers in scripts/dx/ and expose routine workflows through the root Makefile.

Terminal window
cd site
npm ci
npm run dev

npm run build builds the production site. It needs the protocol submodule for the Control-plane API pages; without make init, run git submodule update --init protocol first (go test ./... needs it too).

Keep user and operator material out of this developer section.