Skip to content
Pre-MVP (v0.1.0) — Expect breaking changes, including complete restructuring based on feasibility. Version stays at 0.1.0 until a working MVP is up.

Getting Started

This guide gets you from a fresh clone to running the monorepo locally.

Tool Notes
Bun Package manager / workspace runner (packageManager pins Bun 1.3.x)
Go 1.26.x Backend API (apps/backend-api)
uv + Python 3.13 Houdini plugin + dev-tools/env-init
Docker (optional) Compose workflow
VS Code + Dev Containers (recommended) Matches .devcontainer/
SideFX Houdini (optional) Only for plugin work
  1. Open the repository in VS Code.
  2. Reopen in Container when prompted (or Command Palette → Dev Containers: Reopen in Container).
  3. Post-create runs bun install and bun run setup.

Config lives under .devcontainer/ at the repository root.

From the repository root:

Terminal window
bun install
bun run setup

bun run setup syncs Python envs (uv sync for the Houdini package and env-init TUI) and downloads Go modules for the backend.

Optional env / Docker helper TUI:

Terminal window
uv run --directory dev-tools/env-init main.py
Terminal window
bun run dev

This uses Turborepo to start workspace dev scripts (backend API, frontend app, marketing site). See Local services & ports for URLs.

Run a single app when you only need one surface:

Terminal window
cd apps/backend-api && bun run dev
cd apps/frontend-app && bun run dev
cd apps/website-vexil && bun run dev
Terminal window
docker compose up --build -d

Compose maps host port ranges for services so local conflicts are less likely. Tear down with docker compose down.

docs/dev is outside the root Bun workspaces. From that directory:

Terminal window
cd docs/dev
bun install
bun run dev

Production host: https://dev-docs.vexil.tools.