Validate, visualize and sync Loop Architecture (loopmanager/v1) loops to Claude Code routines.
Project description
loopmanager
Preview.
loopmanageris an early preview: the YAML format and the commands may still change, and it targets Claude Code routines, itself a research preview.
loopmanager is the CLI for Loop Architecture, an architecture style
that makes the agentic loop between systems the first-class unit of design.
It validates, visualizes, and syncs a Loop Architecture, one YAML document that defines many systems and many loops, and turns each loop into a runnable Claude Code routine.
Install
uv tool install loopmanager
# with PNG visualization support (needs native Cairo, e.g. `brew install cairo`):
uv tool install "loopmanager[png]"
Or run without installing: uvx loopmanager --help.
Quick start
loopmanager init your-org # scaffold <id>.loopmanager.yaml
loopmanager validate your-org.loopmanager.yaml # schema + lint
loopmanager view your-org.loopmanager.yaml # open the interactive diagram in a browser
loopmanager serve your-org.loopmanager.yaml # run the whole architecture locally + monitor
loopmanager sync your-org.loopmanager.yaml # every loop → a Claude Code routine
Commands
| Command | What it does |
|---|---|
loopmanager init <id> |
Scaffold a new <id>.loopmanager.yaml. |
loopmanager validate <file> |
Validate against the schema and lint. Exit non-zero on errors. |
loopmanager lint <file> |
Best-practice / safety checks. |
loopmanager view <file> |
Open the interactive diagram in a browser (via the visualizer). |
loopmanager serve <file> |
Run the whole architecture locally: schedule, trigger agents, live monitoring. |
loopmanager sync <file> [loop-id] |
Sync all loops (or one) to Claude Code routines. |
loopmanager sync <path> --from-claude |
Reverse: reconstruct a Loop Architecture YAML from existing routines. |
serve
loopmanager serve <file> starts a local server that schedules every loop from the YAML (5-field cron
and one-off ISO triggers), triggers the agent for each run, tracks run history, and serves the diagram
plus live monitoring (per-loop badges: running / last run / outcome) at http://127.0.0.1:8700.
Runs are dry-run by default (safe, they only simulate a turn). Pass --exec to actually run each
agent with claude -p. Trigger a loop by hand from the diagram's detail panel ("Run now").
view writes a small HTML page that embeds the YAML and loads the shared visualizer
(visualizer/dist/visualizer.js), which parses the YAML and builds the diagram itself, systems, loops,
layout and favicons all live in the visualizer.
What sync produces
Routines are cloud-managed (they live in your claude.ai account, created with /schedule), so
cloud is the default. For each loop, sync writes the slash command and prints the /schedule step:
.claude/
commands/loop-<id>.md # the prompt Claude Code runs (what to do + the systems it uses)
Run a loop once in Claude Code with /loop-<id>, or register it as a routine on its cadence with
/schedule at claude.ai/code, using the printed cron/event.
--local additionally writes a .claude/routines/<id>.json descriptor (schedule/event, model,
repositories, connectors), an offline record that sync --from-claude can read back.
The format
See the specification and the
JSON schema. A full example lives
in examples/your-org.loopmanager.yaml.
Development
uv sync --extra dev
uv run pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file loopmanager-0.1.0.tar.gz.
File metadata
- Download URL: loopmanager-0.1.0.tar.gz
- Upload date:
- Size: 194.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd202e8a71d50c4704ed732c1e705ceb50c1ea92bab178c5364625a6b7e17e9
|
|
| MD5 |
6064438f0a08857695b137c171eac759
|
|
| BLAKE2b-256 |
a44a85bc4c18fabedd96a3d73660e617a0542f3c4f5229ddd40c2fb161e6105d
|
File details
Details for the file loopmanager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: loopmanager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 199.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7332b98bf3bf5858fdaee5b07907706765666b28626c2132d2bae61c91d0bb0c
|
|
| MD5 |
0b1c3f8fa6270dcd00edc150cee22639
|
|
| BLAKE2b-256 |
987bd0075fe4fb7ffe1e90e171d9073465d6504fe59332e03d904b52b951a707
|