About this project
iii is a backend composition and observability platform that collapses multiple integration concerns—queues, cron, HTTP endpoints, state management, observability, agents, and sandboxes—into one unified runtime surface.
The core mental model consists of three primitives:
- **Workers**: Processes that register with the iii engine. A TypeScript API service, a Python data pipeline, or a Rust microservice can all be workers. Workers can be added at runtime, allowing agents and applications to extend the system while it runs.
- **Functions**: Units of work with stable identifiers (e.g., `content::classify`, `orders::validate`) that receive input, perform work, and optionally return output.
- **Triggers**: Declarative causes for function execution, including direct calls, HTTP endpoints, cron schedules, queue subscriptions, state changes, and stream events. The worker defines the trigger condition and iii handles routing, serialization, and delivery.
Developers declare workers in a `worker-compose.yaml` file and start them with `iii compose --up`. Workers join a live catalog where every other worker is notified and can call them immediately. The same interface is available to AI agents: when a task requires a capability the system lacks, an agent can add a worker, discover its functions, call them, and trace the results.
The project provides SDKs for Node.js, Python, Rust, and Go. It includes a developer console (React + Rust) for inspecting workers, functions, triggers, queues, traces, logs, and real-time state. Agent-readable reference material ("skills") covers every iii primitive and can be installed via an npx command.
The repository is structured as a monorepo: the engine core is written in Rust (licensed under Elastic License 2.0), while SDKs, the console, documentation, and website are licensed under Apache License 2.0. Docker images are published alongside CLI installation via a shell script.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.