Skip to main content

LADO

Layered Agent Delegation & Orchestration

LADO runs teams of AI coding agents. Supervisors split work into tasks and hand them to specialist agents; the agents coordinate, and a human approves the key decisions. It is built for work that is too large for a single agent session.

Status: early development. Nothing is ready to use yet. This repository reserves the name and will hold the first working version.

The name

Lado is short for Layered Agent Delegation & Orchestration.

In Russian, лад (lad) means harmony or being in tune, the way a well-run team works. The same root gives наладить: to set up, to get something working.

Planned

  • Hierarchical delegation. Supervisor agents break work down and assign it to worker agents.
  • Governed workflows. Phases, gates, and human approval points are enforced by the system, not left to the agent's discretion.
  • Collaboration. Agents pass tasks, messages, and artifacts to each other.
  • Provider-agnostic. Use the CLI coding agents you already have.
  • Runs anywhere. Works on a local machine, with a path to remote and cloud execution.

Install

uv tool install lado    # or: pip install lado
lado doctor             # checks tmux and the agent CLIs (Claude Code, Kilo CLI)

There is nothing else to run yet; see ROADMAP.md.

Kits

A kit is a team: agent roles, flows and skills, in a git repository (or a folder) with a kit.yaml at its root. Its versions are the repository's tags vX.Y.Z (pre-releases such as v1.3.0-rc.1 too), and version in kit.yaml must say the same. It takes skill packs from outside, pinned to a version, and may name the LADO it needs:

name: my-team
version: 1.0.0
supervisor: lead        # the agent of this kit that leads a session; optional
dependencies:
  lado: ">=0.19"
  skills:
    superpowers: https://github.com/obra/superpowers@v6.4.1
lado kits add https://github.com/<owner>/my-team   # the latest release; @v1.0.0 for that one
lado kits add ./my-team                            # a local folder, read in place
lado kits add lado-dev -m official                 # a kit of a marketplace
lado kits outdated                                 # newer versions of the installed kits
lado kits update my-team                           # to the latest release
lado kits check . --tag "$TAG"                     # a kit's CI: what add would say of that tag
lado start . --kit default --kit my-team

A kit from anywhere but the official marketplace (github.com/ladohq/marketplace) or a folder shows what it installs, its MCP servers too, and asks first (--yes to skip). Marketplaces are git repositories with a marketplace.yaml that maps kit names to their repositories:

lado marketplaces                                  # list them
lado marketplaces add team https://github.com/<owner>/marketplace
lado marketplaces update                           # fetch their latest lists
lado marketplaces disable official                 # remove works for the others

Who leads a session: if exactly one of its kits has a supervisor, that one; otherwise LADO's built-in supervisor. Then each kit's supervisor hands its rules to the built-in one as a skill lead-<kit>: its prompt, and where to read the skills its skills: names, in that kit's versions (copies the lead reads but does not load as its own skills, so two kits may take two versions of one skill). Its MCP servers are not passed on, and a supervisor without skills: passes none: LADO warns about both. Such a supervisor's skills: is checked as if it led, so a skill its kit does not have stops the start. lado start and lado kits show print who leads; lado kits show lists the lead skills. The supervisor starts workers with spawn_worker(role=...); the role may be left out only when the session has one.

--without kind:name switches off an agent, flow, skill or MCP server (kinds agent, flow, skill, mcp) in the whole session. --without kind:name@kit switches it off in that kit only, before the kits are combined: so two kits with a role of the same name, or each with its supervisor, run together:

lado start . --kit default --kit my-team --without agent:supervisor@default
lado start . --kit kit-a --kit kit-b --without agent:reviewer@kit-b

Names are shared in a session: a flow of kit-b that calls reviewer then gets kit-a's. A kit's supervisor is no role: --without agent:<name> that names one is read as agent:<name>@<its kit> (so sessions of older LADOs resume as before); when several kits' supervisors have that name, give the kit.

The web UI

lado ui                 # starts the UI server of this machine and opens the browser
lado server stop        # ends it

By default the server listens on 127.0.0.1 only. To open the UI of LADO on a remote host from another machine, the safe way is an SSH tunnel, with the server left on 127.0.0.1:

ssh -L 8000:127.0.0.1:8000 remote-host    # then, on the remote host: lado ui --no-open

Open the printed link on your machine. Or let the server listen on every address of the remote host:

lado ui --no-open --host 0.0.0.0    # prints the link for other machines too

It warns: whoever reaches the server with the token can run commands as you, and the token travels unencrypted (plain HTTP). Do this only on a network you trust. A TLS proxy in front of it (Caddy, tailscale serve, nginx) works if it keeps the Host header.

License

MIT (placeholder; to be confirmed before the first release).

Metadata

Release files for lado 0.20.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lado 0.20.0
File Size Uploaded
lado-0.20.0.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for lado 0.20.0
File Interpreter ABI Platform
lado-0.20.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / lado-0.20.0.tar.gz

Download URL lado-0.20.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
e87e969338ffc08e0a50ca097833cbeb0866d2f5f4c68cb6211c170cbd825fc6
BLAKE2b-256 checksum
How to use checksums
274325a8685c8c2bfbd17020e7c212d6193d3c4de825f007ab9955d13d18d411
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / lado-0.20.0-py3-none-any.whl

Download URL lado-0.20.0-py3-none-any.whl
Size 820.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
957cd05dd2221c17a9355501d488e781b6f5d3d25c9296833d0b8f30cd656839
BLAKE2b-256 checksum
How to use checksums
95c515b3523f93dd44b8531ca2e88d87e10544e262ccdbd19c701f20826659d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.39.0

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.0

2 release files

0.34.0

2 release files

This release

0.20.0 This release

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page