https://github.com/iii-hq/iii
Effortlessly compose, extend, and observe every service in real-time for the first time ever.
https://github.com/iii-hq/iii
agents ai api backend developer-tools framework genai javascript primitives python rust typescript
Last synced: 2 days ago
JSON representation
Effortlessly compose, extend, and observe every service in real-time for the first time ever.
- Host: GitHub
- URL: https://github.com/iii-hq/iii
- Owner: iii-hq
- Created: 2025-01-02T17:45:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-25T20:39:34.000Z (3 days ago)
- Last Synced: 2026-05-25T22:12:10.862Z (3 days ago)
- Topics: agents, ai, api, backend, developer-tools, framework, genai, javascript, primitives, python, rust, typescript
- Language: Rust
- Homepage: https://iii.dev
- Size: 534 MB
- Stars: 16,076
- Watchers: 77
- Forks: 1,068
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.spdx
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-side-quests - iii-hq/iii
- awesome-github-projects - iii - Effortlessly compose, extend, and observe every service in real-time for the first time ever. ⭐15,692 `Rust` 🔥 (⚙️ Backend & APIs)
- awesome - iii-hq/iii - Effortlessly compose, extend, and observe every service in real-time for the first time ever. (Rust)
- awesome-ai-agents - iii-hq/iii - iii is an open-source framework that simplifies distributed software development by treating all services as composable 'Workers' interacting via 'Triggers' and 'Functions', enabling effortless rea... (AI Agent Frameworks & SDKs / Orchestration Frameworks)
README
# iii

[](engine/LICENSE)
[](sdk/LICENSE)
[](https://hub.docker.com/r/iiidev/iii)
[](https://www.npmjs.com/package/iii-sdk)
[](https://pypi.org/project/iii-sdk/)
[](https://crates.io/crates/iii-sdk)
## 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.
```bash
iii worker add queue
iii worker add agent
iii worker add sandbox
iii worker add
```
Each worker joins the live catalog. Every other worker is notified and can call it immediately.
Browse available workers at [workers.iii.dev](https://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
```bash
iii project init myapp # scaffold a project
cd myapp
iii # start the engine
```
Need to install `iii` first? Full walkthrough at the
[Quickstart guide](https://iii.dev/docs/quickstart).
## Add Workers
Install new capabilities into a project with `iii worker add`:
[](https://workers.iii.dev/)
## SDKs
| Language | Package | Install |
| -------- | -------------------------------------------------- | ------------------------------------------- |
| Node.js | [`iii-sdk`](https://www.npmjs.com/package/iii-sdk) | `pnpm add iii-sdk` or `npm install iii-sdk` |
| Python | [`iii-sdk`](https://pypi.org/project/iii-sdk/) | `pip install iii-sdk` |
| Rust | [`iii-sdk`](https://crates.io/crates/iii-sdk) | Add to `Cargo.toml` |
## Agent Skills
Install iii's agent-readable reference material:
```bash
npx skills add iii-hq/iii/skills
```
Skills cover every iii primitive: HTTP endpoints, queues, cron, state, streams, custom triggers, and
more. See [skills/](skills/) for the full list.
## Console
The [iii-console](console/) is a developer and operations console for inspecting workers, functions,
triggers, queues, traces, logs, and real-time state. See the
[Console docs](https://iii.dev/docs/console) for setup and usage.
## Repository Structure
| Directory | What it is | README |
| ---------- | ------------------------------------------------------- | -------------------------------------- |
| `engine/` | iii Engine (Rust) - core runtime, modules, and protocol | [engine/README.md](engine/README.md) |
| `sdk/` | SDKs for Node.js, Python, and Rust | [sdk/README.md](sdk/README.md) |
| `console/` | Developer console (React + Rust) | [console/README.md](console/README.md) |
| `skills/` | Agent-readable reference material | [skills/README.md](skills/README.md) |
| `website/` | iii website | [website/](website/) |
| `docs/` | Documentation site (Mintlify/MDX) | [docs/README.md](docs/README.md) |
See [STRUCTURE.md](STRUCTURE.md) for the full monorepo layout, dependency chain, and CI/CD details.
## Examples
See the [Quickstart guide](https://iii.dev/docs/quickstart) for step-by-step tutorials.
## Resources
- [Documentation](https://iii.dev/docs)
- [CLI & Engine](https://github.com/iii-hq/iii)
- [Console](console/)
- [Examples](https://github.com/iii-hq/iii-examples)
- [Contributing](CONTRIBUTING.md)
## License
The iii is licensed as such:
| Directory | License |
| ---------- | ------------------------------------- |
| `engine/` | [Elastic License 2.0](engine/LICENSE) |
| `sdk/` | [Apache License 2.0](sdk/LICENSE) |
| `console/` | [Apache License 2.0](console/LICENSE) |
| `docs/` | [Apache License 2.0](docs/LICENSE) |
| `website/` | [Apache License 2.0](website/LICENSE) |
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](CONTRIBUTING.md) for additional details.