Repository setup
Clone Claire and start mock mode without any third-party accounts.
Claire’s default contributor path does not require WhatsApp, Telegram, Instagram, Matrix, Supabase Cloud, or a paid AI key. Mock mode gives you the whole product surface with fixture data.
Prerequisites#
- macOS, Linux, or Windows with WSL2
- Bun 1.1 or newer
- Docker and Docker Compose — only for the optional real local stack
- Xcode (iOS) or Android Studio — optional
bun --version
docker --versionSet up the workspace#
Clone the repository
git clone https://github.com/l2succes/claire.git cd claireThe mautrix documentation submodule is optional. Initialize it only if you are working on bridges.
git submodule update --init vendor/mautrix-docsCreate environment files
bun run setupcopies the example env files if they are missing. It never writes production credentials.bun run setupStart in mock mode
This starts the API and the Expo mobile and web clients against deterministic fixtures.
bun run devRun the checks
bun run test bun run lint bun run typecheck bun run storybook bun run test:plugins
Repository map#
mobile/ Expo iOS, Android, and mobile web
desktop/ Desktop apps (macos/ today)
website/ Marketing site, docs, Storybook
server/ Bun API
packages/ design-system, platform-catalog, plugin-sdk
examples/ Local plugin fixtures
docker/ Local Supabase and Matrix
supabase/ Migrations
vendor/ Optional upstream docsContribution tracks#
Pick the command that matches what you came to change.
| Track | Command |
|---|---|
| Website and docs | bun run dev:website |
| Mobile | bun run dev:mobile |
| Desktop | bun run dev:desktop |
| Server | bun run dev:server |
| Plugins | bun run plugin:create my-plugin |
| Connectors | edit packages/platform-catalog, then bun run catalog:generate |