Installation
Introduction
Section titled “Introduction”Pilotoo lives in one pnpm workspace: the kit in packages/ and four demo apps in apps/. Running the demos is the quickest way to see a working chat and to read how a real app uses the kit.
Requirements
Section titled “Requirements”- Node 22 (
>=22 <23). - pnpm 10 (the repository pins
pnpm@10.10.0). - PostgreSQL for the demo server. The repository’s
docker-compose.ymlstarts one on port 54329. - An API key for one model provider.
- For the desktop app, a Rust toolchain and the Tauri prerequisites for your platform.
Cloning and building
Section titled “Cloning and building”git clone <repository-url> pilotoocd pilotoopnpm installpnpm build:packagespnpm build:packages compiles every package under packages/. The apps import the built output, so run it again after you change a package.
Running the demo stack
Section titled “Running the demo stack”Each command starts one app. Run them in separate terminals.
| Command | What it starts | Where |
|---|---|---|
pnpm dev:api |
The NestJS server from apps/api. |
Port 4317, or API_PORT. |
pnpm dev:web |
The browser app from apps/web. |
http://localhost:5180 |
pnpm dev:desktop |
The Tauri desktop app with its local backend. | A native window. |
pnpm dev:mobile |
The Expo app from apps/mobile. |
The Expo dev tools (Metro on 8081). |
pnpm dev:stack |
The web and mobile apps together. |
When the server and the web app are up, open the web app and send a message. You get the sample agents from the repository’s .pilotoo/ folder (an orchestrator that delegates to an analyst, a researcher and a writer).
The desktop app does not need the API or PostgreSQL: it starts its own backend on SQLite. See Local backend.
Using the packages in your own project
Section titled “Using the packages in your own project”The packages are at version 0.1.0 and are not published to a package registry yet. Today you can consume them in two ways.
Inside the workspace. Add your app under apps/ and depend on the packages with the workspace:* protocol, as the demo apps do.
From packed tarballs. Run pnpm release:check. It builds and packs the kit packages and writes a .tgz for each under node_modules/.cache/release-check/. Another project can install those files:
pnpm add ../pilotoo/node_modules/.cache/release-check/pilotoo-server-0.1.0.tgzThe packed set is chat-protocol, chat-core, chat-ui, ui, agent-runtime, server and local-server. A tarball depends on its siblings by version, so install the ones you need together. The packages and what each does are listed in Packages.
Next steps
Section titled “Next steps”- Quickstart builds a server and a chat page from scratch.
- Configuration lists the environment variables to set first.
- Directory structure explains the
.pilotoo/folder.