Skip to main content

Quickstart

This guide walks you through the core Workloom loop: bind a workspace, sync packages, and inspect the result.

Current status

Workloom currently uses in-memory stores and a fixture registry. No external database or hosted service is required. Everything runs locally.

1. Start the API server

pnpm dev

This starts the Fastify API server on port 3001 and the Next.js web app on port 3000.

2. Log in (dev mode)

wl login

In development mode, the server auto-approves device authorization. You will see a device code and verification URL — the token is issued immediately without manual approval.

3. Create a package

Use the API or web app to create a package. Here is an example using curl:

# Create a package
curl -X POST http://localhost:3001/packages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(cat ~/.config/workloom/credentials.json | jq -r .accessToken)" \
-d '{
"name": "@acme/security-review",
"orgId": "acme",
"description": "Security review skill for code analysis",
"providers": ["claude", "codex"],
"visibility": "public"
}'

4. Publish a version

wl push .claude/skills/security-review \
--package @acme/security-review \
--bump minor

This detects local asset files, computes SHA-256 hashes, uploads objects, and creates a draft package version.

5. Initialize a workspace

cd /path/to/your/repo
wl init

This creates a .loom/binding.toml file that links your local directory to a workspace identity.

6. Bind to a workspace

wl bind --workspace acme/platform-api

7. Pull and render

wl pull

The CLI fetches the workspace manifest, resolves packages, downloads objects, and renders provider-specific files:

Installed:
@acme/security-review@1.0.0

Rendered:
.claude/skills/security-review/SKILL.md
.claude/settings.json
AGENTS.md
.codex/config.toml

Status: clean

8. Check status

wl status

Shows installed packages, rendered files, and any drift from the desired state.

9. CI enforcement

Add this to your CI pipeline:

wl sync --check

Exits 0 if all AI config files match the desired workspace state. Exits non-zero if files are stale, missing, or drifted.

Next steps