Skip to main content

Architecture Overview

Workloom is structured as a TypeScript monorepo with reusable packages and deployable apps.

System diagram

┌──────────────────────────────┐
│ Workloom Web │
│ package admin, approvals, │
│ workspace assignments, drift │
└──────────────┬───────────────┘

│ shared renderer/registry APIs

┌──────────────┐ ┌──────────▼───────────┐
│ wl CLI │◄──────►│ apps/api │
│ │ HTTPS │ registry + bindings │
│ init │ │ workspace revisions │
│ login │ │ package metadata │
│ bind │ │ object service │
│ pull │ │ telemetry/audit │
│ push │ └──────────┬───────────┘
│ status │ │
│ sync │ ┌────────▼────────┐
│ sync --check │ │ object storage │
└──────┬───────┘ │ sha256 blobs │
│ │ md/json/assets │
│ └─────────────────┘

│ local deterministic apply

┌──────▼─────────────────────────────────────────────┐
│ Local workspace / repo / monorepo │
│ │
│ .loom/binding.toml │
│ .loom/lock.json │
│ .loom/state.json │
│ │
│ Generated provider projections: │
│ .claude/** │
│ AGENTS.md / .codex/** │
│ .github/copilot-instructions.md (planned) │
└─────────────────────────────────────────────────────┘

Monorepo packages

PackageResponsibility
@workloom/typesCore TypeScript interfaces and enums
@workloom/manifestZod schemas and I/O for binding, lock, state, loomfile
@workloom/storageContent-addressed blob storage with SHA-256
@workloom/authDevice auth flow, token management, dev JWT
@workloom/registryPackage registry, version management, semver
@workloom/workspaceWorkspace service, resolver, desired state
@workloom/renderer-coreRenderer interface, registry, header generation
@workloom/renderer-claudeClaude Code provider renderer
@workloom/renderer-codexCodex provider renderer

Apps

AppStackPurpose
@workloom/cliCommander.jswl CLI tool
@workloom/apiFastifyREST API server
@workloom/webNext.js 14 + TailwindWeb management UI
@workloom/docsDocusaurusThis documentation site

Build system

  • pnpm workspaces for package management
  • Turborepo for build orchestration with topological dependency ordering
  • TypeScript strict mode throughout
  • Vitest for unit and integration tests