Skip to main content

Examples

Real-world usage scenarios for Workloom.

Onboard a new developer in 30 seconds​

A new team member clones the repo and gets the full AI workflow setup instantly:

cd my-team-repo
wl init
# .loom/binding.toml created
[binding]
workspace = "acme/backend-team"
wl auth
# Opens browser → device flow → authenticated

wl bind acme/backend-team
# Binding saved to .loom/binding.toml

wl pull
Fetching workspace configuration...
✓ Rendered .claude/CLAUDE.md (instruction)
✓ Rendered .codex/AGENTS.md (instruction)
✓ Rendered .claude/skills/team-standards.xml (skill)
✓ Rendered .github/copilot-instructions.md (instruction)
Done. 4 assets rendered.

The developer's editor now has your team's coding standards, skills, and agent configs.

Publish your team's coding standards​

Create a package with your team's instructions and publish it to the registry:

mkdir my-standards
cd my-standards
wl init

Create loom.toml:

[package]
name = "acme/typescript-standards"
version = "1.0.0"
description = "Acme Corp TypeScript coding standards"

[[assets]]
type = "instruction"
target_path = "CLAUDE.md"
source = "standards.md"
providers = ["claude"]
trust_class = "passive_text"

Create standards.md with your team's rules, then publish:

wl push --draft
# Draft uploaded to registry

wl publish acme/typescript-standards@1.0.0
# Promoted to pending_review

# Team lead assigns it to workspace via web UI
# Now `wl pull` fetches it for everyone

Add drift checking to CI​

Ensure AI configurations stay in sync with your registry state:

# .github/workflows/ci.yml
name: CI
on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2

- name: Check Workloom drift
run: |
wl auth --token ${{ secrets.WORKLOOM_TOKEN }}
wl sync --check
# Exits 0 if clean, 1 if drift detected

- name: Run tests
run: pnpm test

If someone manually edits .claude/CLAUDE.md without updating the package, CI fails with:

Drift detected:
.claude/CLAUDE.md: local changes differ from desired state
Run `wl diff` to see changes or `wl restore` to revert.

Roll back a bad configuration change​

A teammate published v2.1.0 with a broken skill. Roll back the workspace to the last good revision:

wl status
Workspace: acme/backend-team
Current revision: 847
Last modified: 2026-05-12T14:32:11Z
Packages:
- acme/typescript-standards@2.1.0
- acme/ci-helpers@1.5.0
wl rollback --workspace-revision 846
Rolling back workspace to revision 846...
✓ Reverted to revision 846 (2026-05-12T09:15:22Z)
Packages now:
- acme/typescript-standards@2.0.1
- acme/ci-helpers@1.5.0

Run `wl pull` to sync local files.

Everyone on the team runs wl pull to get the safe version again.

Multi-target monorepo setup​

Different parts of your monorepo get different AI configurations:

# .loom/binding.toml
[binding]
workspace = "acme/platform"

[[targets]]
path = "."
providers = ["claude", "codex"]

[[targets]]
path = "apps/web"
providers = ["claude", "copilot"]

[[targets]]
path = "apps/api"
providers = ["claude", "gemini"]
wl pull
✓ Rendered ./.claude/CLAUDE.md (root: general standards)
✓ Rendered ./.codex/AGENTS.md (root: architect agent)
✓ Rendered ./apps/web/.claude/CLAUDE.md (web: React patterns)
✓ Rendered ./apps/web/.github/copilot-instructions.md (web: Copilot config)
✓ Rendered ./apps/api/.claude/CLAUDE.md (api: API guidelines)
✓ Rendered ./apps/api/.gemini/context.md (api: Gemini config)

Each target inherits base packages and adds its own.

Enforce security policies​

Use trust gates to require manual approval for risky assets:

# loom.toml
[[assets]]
type = "hook"
target_path = ".claude/hooks/pre-commit.js"
source = "hooks/pre-commit.js"
providers = ["claude"]
trust_class = "executable_hook"
approval_required = true

[[assets]]
type = "mcp_server"
target_path = ".claude/mcp/slack.json"
source = "mcp/slack.json"
providers = ["claude"]
trust_class = "networked_mcp"
approval_required = true

When someone tries to publish:

wl publish acme/platform-tools@2.0.0
Package submitted for review.
Assets requiring approval:
- .claude/hooks/pre-commit.js (executable_hook)
- .claude/mcp/slack.json (networked_mcp)

Team leads must approve via web UI before this version becomes active.

Until approved, wl pull continues using the previous safe version.