Getting Started
This guide gets you from a fresh clone to running the monorepo locally.
Prerequisites
Section titled “Prerequisites”| 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 |
Why Bun?
Section titled “Why Bun?”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.
Recommended editors
Section titled “Recommended editors”- 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.
Optional: Devcontainer
Section titled “Optional: Devcontainer”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.
Manual setup
Section titled “Manual setup”From the repository root:
bun installbun run setupbun 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:
uv run --directory apps/vexil-dev-tools/env-init main.pyRun the monorepo
Section titled “Run the monorepo”bun run devThis 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):
cd apps/vexil-server && bun run devcd apps/vexil-frontend && bun run devcd apps/vexil-website && bun run devDocker Compose
Section titled “Docker Compose”docker compose up --build -dCompose maps host port ranges for services so local conflicts are less likely. Tear down with docker compose down.
These docs
Section titled “These docs”apps/docs-dev is a Bun workspace package. Root bun run dev starts it via Turborepo (port 4323). To run only the docs:
cd apps/docs-devbun run devProduction host: https://dev-docs.vexil.tools.
Next steps
Section titled “Next steps”- Repository Structure — where to put changes
- Contributing — branches, PRs, AI policy
