Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Effortlessly compose, extend, and observe every service in real-time for the first time ever.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
iii is the easiest way to compose, observe, discover, extend, and react (CODER) to 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 that
complicates CODER. iii solves all of these concerns with one live system surface.
Each worker joins the live catalog. Every other worker is notified and can call it immediately.
Browse available workers at workers.iii.dev.Read the full README ↗iii is the easiest way to compose, observe, discover, extend, and react (CODER) to 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 that complicates CODER. iii solves all of these concerns with one live system surface.
iii compose --namespace dev --up
iii call -n dev compose::add worker=queue
iii call -n dev compose::add worker=agent
iii call -n dev compose::add worker=<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.
iii is powered by 3 primitives:
Workers are processes that connect to the iii engine and register 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. Compose can also add workers at runtime, so agents and applications can extend the system while it is running.
Functions are units of work with a stable identifier (e.g., content::classify,
orders::validate). A function receives input, does work, and optionally returns output. Functions
exist in workers, and any worker runs any function with iii.call(), wherever it is.
Observers make the system reactive. iii.observe('orders::create', 'alerts::big-order') means:
when orders::create runs, alerts::big-order runs. Every function can be observed, including the
ones workers provide for events: an HTTP request is a call of http::on-request, a cron tick is a
call of cron::on-tick, and a queue message is a call of queue::on-message. iii handles routing,
serialization, and delivery.
By mapping everything a service can do to these three primitives iii creates a development process that is both effortlessly composable, and completely observable.
Before iii:
After iii:
worker-compose.yamliii compose --upPlatform teams publish workers. Application teams register functions and observe the functions they react to. Agents use the same catalog and the same function calls.
Extending iii is adding a Compose worker. Composing iii is calling functions. Observing iii is opening the trace.
Install iii:
curl -fsSL https://install.iii.dev/iii/main/install.sh | sh
Declare project workers in worker-compose.yaml, or add them through a running Compose daemon:
iii call -n dev compose::add worker=queue
Browse packages at workers.iii.dev and see the Compose documentation.
| Language | Package | Install |
|---|---|---|
| Node.js | iii-sdk | pnpm add iii-sdk or npm install iii-sdk |
| Python | iii-sdk | pip install iii-sdk |
| Rust | iii-sdk | Add to Cargo.toml |
| Go | iii-sdk | go get github.com/iii-hq/iii/sdk/packages/go/iii |
If you're using the iii harness then agent skills are automatically available.
If you're using another harness you can install iii's skills via:
npx skills add iii-hq/iii/skills
These cover every iii primitive: HTTP endpoints, queues, cron, state, streams, observers, observable functions, 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-owned workers (configuration, iii-worker-manager, iii-http-functions, iii-stream,
and iii-sandbox) and the automatically supplied engine functions, telemetry, and observability
workers live in this repo. HTTP, cron, queue, state, pubsub, and bridge are standalone Compose
workers. Install an engine skill with npx skills add iii-hq/iii --full-depth --skill <name>;
standalone workers ship their own skills in iii-hq/workers.
| Directory | What it is | README |
|---|---|---|
engine/ | iii Engine (Rust) - core runtime, modules, and protocol | engine/README.md |
sdk/ | SDKs for Node.js, Python, Rust, and Go | sdk/README.md |
skills/ | Agent-readable reference material | skills/README.md |
website/ | iii website | website/ |
docs/ | Documentation site (Mintlify/MDX) | docs/README.md |
See CONTRIBUTING.md for workspace dependencies and CI/CD details.
The iii is licensed as such:
| Directory | License |
|---|---|
engine/ | Elastic License 2.0 |
sdk/ | Apache License 2.0 |
docs/ | Apache License 2.0 |
website/ | Apache License 2.0 |
The engine runtime and the CLI are licensed under the Elastic License 2.0 (ELv2). All SDKs, documentation, and the website are licensed under the Apache License 2.0.
See CONTRIBUTING.md for additional details.