Skip to content

Commit 8da8d54

Browse files
committed
docs: rewrite sdk/README.md to lead with iii intro
- Add iii description before diving into SDK details - Add API descriptions after the comparison table - Link to per-SDK READMEs for language-specific details - Address Anthony's review feedback from iii-hq/sdk#28
1 parent 0f33a3b commit 8da8d54

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

sdk/README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
# iii SDK
1+
# iii
22

3-
Official SDKs for the [iii engine](https://github.com/iii-hq/iii).
3+
iii is a single engine that replaces your API framework, task queue, cron scheduler, pub/sub, state store, and observability pipeline with two primitives: **Function** and **Trigger**. You write functions, declare what triggers them, and the engine handles discovery, routing, retries, and observability.
4+
5+
See the [engine README](../engine/README.md) for architecture details and the [documentation](https://iii.dev/docs) for full guides.
6+
7+
## SDKs
48

59
[![npm](https://img.shields.io/npm/v/iii-sdk)](https://www.npmjs.com/package/iii-sdk)
610
[![PyPI](https://img.shields.io/pypi/v/iii-sdk)](https://pypi.org/project/iii-sdk/)
711
[![crates.io](https://img.shields.io/crates/v/iii-sdk)](https://crates.io/crates/iii-sdk)
812
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
913

10-
## Installing Packages
11-
1214
| Package | Language | Install | Docs |
1315
| -------------------------------------------------- | -------------------- | --------------------- | ----------------------------------------- |
1416
| [`iii-sdk`](https://www.npmjs.com/package/iii-sdk) | Node.js / TypeScript | `npm install iii-sdk` | [README](./packages/node/iii/README.md) |
@@ -100,8 +102,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
100102
| Invoke (await) | `await iii.trigger(id, data)` | `await iii.trigger(id, data)` | `iii.trigger(id, data).await?` | Invoke a function and wait for the result |
101103
| Invoke (fire-and-forget) | `iii.triggerVoid(id, data)` | `iii.trigger_void(id, data)` | `iii.trigger_void(id, data)?` | Invoke a function without waiting |
102104

105+
`init()` creates an SDK instance and auto-connects to the engine. It handles WebSocket communication, automatic reconnection, and OpenTelemetry instrumentation. All three SDKs expose the same API surface — register functions and triggers, then invoke them.
106+
103107
> `call()` and `callVoid()` / `call_void()` are deprecated and will be removed in a future release. Use `trigger()` and `triggerVoid()` / `trigger_void()`.
104108
109+
For language-specific details (modules, streams, OpenTelemetry), see the per-SDK READMEs linked in the table above.
110+
105111
## Development
106112

107113
### Prerequisites

0 commit comments

Comments
 (0)