Getting started
Getting started
Clone, install, run. Five minutes from zero to a morning brief.
This is the fastest path to a working Mayva instance on macOS. Linux works for everything except voice; Windows works for everything except voice.
Prerequisites
You’ll need:
- Node 20+ and pnpm 9 (
brew install pnpmorcorepack enable) - Docker (for the local Postgres / Redis dev stack)
- A Claude Code login (the LLM hop rides your existing auth)
- Optional: a Whoop account if you want the health-aware brief
Clone and install
git clone https://github.com/corporatethings/mayva.git
cd mayva
pnpm install
This installs every package in the monorepo. The first install pulls a few hundred MB — subsequent ones are instant thanks to pnpm’s content-addressed store.
Bring up the dev stack
pnpm db:up # docker-compose up postgres + redis
pnpm migrate # apply SQL migrations
pnpm seed # optional: a small synthetic dataset
The DB lives in a docker volume named mayva_pgdata. To start completely over, pnpm db:down && docker volume rm mayva_pgdata.
Configure Whoop (optional)
pnpm whoop:auth
Opens your browser, hits Whoop’s OAuth, drops the refresh token into the local DB. From that point on, whoop-sync runs every 15 minutes and your morning brief is health-aware.
If you skip this step, the morning brief still works — it just shows NO SIGNAL on the recovery gauge.
Run the dashboard
pnpm -C packages/desktop dev
Electron window opens at the Today tab. Hero shows recovery (or NO SIGNAL), suggestions widget on the right, this morning’s brief below.
Trigger the morning brief manually
pnpm brief
That runs the brief worker once, against your current data. Should complete in 5–10 seconds. The output lands in the morning_brief table; the dashboard auto-refreshes.
Try voice
pnpm voice
Hold-to-talk overlay appears. Speak a task like “schedule a 30-minute deep work block at 4pm tomorrow.” Release. The agent transcribes locally with whisper.cpp, classifies the intent, inserts the row, and confirms via say.
What now?
- Read Architecture for the big picture.
- Read Memory model to understand the four layers.
- Read Workers to see how to add your own.
- Or just edit
packages/workers/src/scheduled/morning-brief.tsand rerunpnpm brief. The prompt is right there in the file.