iii

June 12, 2026 ยท View on GitHub

iii: point-to-point integrations vs zero-integration via shared runtime

Docker npm PyPI Crates.io

What is iii?

iii is the easiest way to compose, extend, and observe every service in your stack in real time.

Every backend starts as a project before the first line of business logic. Queues, cron, HTTP, state, observability, agents, and sandboxes each usually bring their own integration story. iii collapses that into one live system surface.

iii worker add queue
iii worker add agent
iii worker add sandbox
iii worker add <anything>

Each worker joins the live catalog. Every other worker is notified and can call it immediately. Browse available workers at workers.iii.dev.

That is the agent story too: when a task needs a capability the system does not have, an agent can add a worker, discover its functions, call them, and trace what happened. Same interface a developer uses.

Three Primitives

Worker _ Function _ Trigger is the entire mental model.

Workers are processes that register with the iii engine and then register triggers and functions. A TypeScript API service is a worker. A Python data pipeline is a worker. A Rust microservice is a worker. Any functionality can be transformed into a worker with a few lines of code. Workers can also create other workers at runtime, so agents and applications can extend the system while it is running.

Triggers are anything that causes a function to run. A trigger can be a direct call to a function, an HTTP endpoint, a cron schedule, a queue subscription, a state change, a stream event, or anything else. Triggers are declarative: the Worker defines "this function runs when this thing happens," and iii handles routing, serialization, and delivery.

Functions are units of work with a stable identifier (e.g., content::classify, orders::validate). It receives input, does work, and optionally returns output. Functions exist in workers.

By mapping everything a service can do to these three primitives iii creates a development process that is both effortlessly composable, and completely observable.

What Changes

Before iii:

  • New observability tool: uncountable integrations
  • New agent harness: separate retry config, separate traces, separate timeouts
  • New queue: vendor evaluation, procurement, and weeks of integration

After iii:

  • iii worker add observability
  • iii worker add queue
  • Done. It is in the system, traceable, and callable.

Platform teams publish workers. Application teams register functions and declare triggers. Agents use the same catalog and the same function calls.

Extending iii is iii worker add. Composing iii is calling functions. Observing iii is opening the trace.

Quick Start

Watch the iii intro (click to play)

Install iii:

curl -fsSL https://install.iii.dev/iii/main/install.sh | sh

Then scaffold and start a project:

iii project init myapp    # scaffold a project
cd myapp
iii                       # start the engine

Full walkthrough at the Quickstart guide.

Add Workers

Install new capabilities into a project with iii worker add:

Adding a worker with iii worker add

SDKs

LanguagePackageInstall
Node.jsiii-sdkpnpm add iii-sdk or npm install iii-sdk
Pythoniii-sdkpip install iii-sdk
Rustiii-sdkAdd to Cargo.toml
Goiii-sdkgo get github.com/iii-hq/iii/sdk/packages/go/iii

Agent Skills

Install iii's agent-readable reference material for the engine primitives:

npx skills add iii-hq/iii/skills

These cover every iii primitive: HTTP endpoints, queues, cron, state, streams, custom triggers, and more. See skills/ for the full list.

Each worker in iii-hq/workers also ships its own skill. Install them alongside the worker itself:

npx skills add iii-hq/workers --list        # list available worker skills
npx skills add iii-hq/workers --skill database # one worker
npx skills add iii-hq/workers --all         # every worker skill

The engine's built-in workers (iii-queue, iii-state, iii-pubsub, iii-stream, iii-cron, iii-http, iii-observability, iii-bridge, iii-exec, iii-worker-manager) ship their skills in this repo. Install one with npx skills add iii-hq/iii --full-depth --skill <name>; each worker's README under engine/src/workers/ lists the exact iii worker add and skill command.

Console

The iii-console is a developer and operations console for inspecting workers, functions, triggers, queues, traces, logs, and real-time state. See the Console docs for setup and usage.

Repository Structure

DirectoryWhat it isREADME
engine/iii Engine (Rust) - core runtime, modules, and protocolengine/README.md
sdk/SDKs for Node.js, Python, Rust, and Gosdk/README.md
console/Developer console (React + Rust)console/README.md
skills/Agent-readable reference materialskills/README.md
website/iii websitewebsite/
docs/Documentation site (Mintlify/MDX)docs/README.md

See STRUCTURE.md for the full monorepo layout, dependency chain, and CI/CD details.

Examples

See the Quickstart guide for step-by-step tutorials.

Resources

License

The iii is licensed as such:

DirectoryLicense
engine/Elastic License 2.0
sdk/Apache License 2.0
console/Apache License 2.0
docs/Apache License 2.0
website/Apache License 2.0

The engine runtime is licensed under the Elastic License 2.0 (ELv2). All SDKs, CLI, console, documentation, and the website are licensed under the Apache License 2.0.

See CONTRIBUTING.md for additional details.