Workflow

The workflow you know. The guarantees you've never had.

Provenance on every snapshot. Non-destructive undo. A Git bridge that preserves everything. Nothing you depend on disappears.

workflow.session

4 threads 3 agents running
$ loom init
Initialized Loom repository in .loom/
  object store · agent registry · ref index
$ loom start feature/auth --agent-model claude-opus-4.7
thread started: feature/auth
  worktree: .loom/agents/claude-opus-4.7
  parent:   main @ lm-f1a23b8c
# split the work — three subagents, isolated worktrees, one parent.
$ loom delegate middleware tests docs --agent-model claude-sonnet-4.6
delegated 3 children under feature/auth
  • feature/auth/middleware  →  .loom/agents/middleware
  • feature/auth/tests       →  .loom/agents/tests
  • feature/auth/docs        →  .loom/agents/docs
# subagents run in parallel. the parent collects each back into feature/auth.
$ loom merge feature/auth/middleware
  merged → lm-a8f3c1d7
$ loom merge feature/auth/tests
  merged → lm-b4e22f09
$ loom merge feature/auth/docs
attribution  3 agents · 1 human — all preserved through integration
$ loom capture -m "add scope denial tests"
state      lm-c29f70e3
intent     add scope denial tests
agent      claude-opus-4.7 · 0.94 confidence
signature  ed25519:c29f…70e3 ✓
$ loom compare feature/auth main --semantic
+ src/auth/enforce.rs
    + fn authorize_scope       new symbol
    ~ fn authorize             structural change
+ tests/scope_denial.rs      added (structural, not line diff)
$ loom undo --preview
preview: would undo lm-c29f70e3
  reverses:  scope_denial tests, authorize_scope
  new state: lm-d01a8b4e (original preserved)
  run: loom undo to apply
$ loom bridge git export
exported 4 states → .loom/bridge/git
  round-trip verified · original commits unchanged
$ loom thread switch main
  on thread main @ lm-68a3f1c7
$ loom merge feature/auth
Fast-forward → lm-e2b91f03
$

loom capture

No staging. No add dance.

Your working tree is the capture. Intent, confidence, and signature land as structural data — not inferred later from a commit message or an email header.

loom undo

Undo is a new state. Not a mutation.

Walk backward through any sequence. Preview what will change before you apply. The original state stays reachable — redo walks forward, the record remains intact throughout.

loom bridge

Round-trip with Git. Both worlds.

Import existing repos with full history preservation. Export threads back to Git branches. Adopt Loom incrementally without abandoning your current toolchain or your reviewers.

Terminal-native

Loom state is structured data. Not parsed text.

Every command supports --json. Shell completions for bash, zsh, and fish — one step to install. Automation reads Loom the way it reads a database, not the way it parses stdout.