Skip to content
Pre-MVP (v0.1.X) — Expect breaking changes, including complete restructuring based on feasibility. Version stays at 0.1.X 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)
Turborepo Task runner used by bun run dev → turbo run dev (installed via root devDependencies)
Go 1.26.x Backend API (apps/vexil-server)
uv + Python 3.13 Houdini plugin + apps/vexil-dev-tools/env-init
SideFX Houdini 22 Required for the Houdini plugin and DCC-centric workflows
Docker (optional) Compose workflow

VEXiL prefers Bun over npm, Yarn, and pnpm for speed and simple monorepo / workspace ergonomics. That is a preference, not a hard requirement — you are free to use other workspace-aware package managers such as pnpm. Docs, CI, and packageManager examples stay Bun-oriented, so adapt commands if you choose something else.

  • Zed — recommended general editor for the monorepo
  • GoLand — recommended for Go work in apps/vexil-server

Either works for the full repo; GoLand is the stronger fit when focusing on the API.

Config lives under .devcontainer/ at the repository root. If your editor supports Dev Containers, reopen the repo in the container; post-create runs bun install and bun run setup. Otherwise use manual setup with Zed or GoLand.

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 apps/vexil-dev-tools/env-init main.py
Terminal window
bun run dev

This uses Turborepo (turbo run dev) to start workspace dev scripts (backend API, frontend app, website for VEXiL). See Local services & ports for URLs.

Run a single app when you only need one surface (pick one):

Terminal window
cd apps/vexil-server && bun run dev
Terminal window
cd apps/vexil-frontend && bun run dev
Terminal window
cd apps/vexil-website && 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.

apps/docs-dev is a Bun workspace package. Root bun run dev starts it via Turborepo (port 4323). To run only the docs:

Terminal window
cd apps/docs-dev
bun run dev

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