iii-getting-started

Install the iii engine, set up your first worker, and get a working backend running. Use when a user wants to start a new iii project, install the SDK, or needs help with initial setup and configuration.

By iii-hq · 2,507 installs

npx skills add iii-hq/iii --skill iii-getting-started

Source repository · Upstream listing

Getting Started with iii iii replaces your API framework, task queue, cron scheduler, pub/sub, state store, and observability pipeline with a single engine and three primitives: Function , Trigger , Worker . Step 1: Install the Engine Verify it installed: Step 2: Create a Project Follow the interactive prompts to select a template and language. The default quickstart template includes TypeScript, Python, and Rust workers. Then change into the project directory you chose at the prompt: Step 3: Start the Project The file's engine: section starts the engine; containers: starts project workers. The engine commonly listens on ws://localhost:49134 . Keep this foreground supervisor running. Step 4: Install the SDK Pick your language: Step 5: Write Your First Worker TypeScript Python Rust Step 6: Test It Expected response: Add Existing Workers To add a capability that already exists, browse https://workers.iii.dev/ and add it through the running Compose daemon: compose::add resolves dependencies, writes exact versions to worker compose.yaml , and restarts the affected project. A local worker can be declared as a path:// container or added by path. Install Agent Skills Get all iii skills for your AI coding agent: Skills teach your agent the top level iii model: functions, triggers, workers, registry access, SDKs, engine configuration, architecture patterns, and error handling. Worker backed capabilities live with the worker docs and registry entries. Adapting This Pattern Add more functions to the same worker — each gets its own registerFunction + registerTrigger calls Use :: separator for function IDs to namespace them: orders::create , orders::validate Add cron triggers with { type: 'cron', config: { expression: '0 0 9 ' } } (7 field: sec min hour day month weekday year) Add queue triggers with { type: 'durable:subscriber', config: { topic: 'my queue' } } Use iii.trigger() to invoke other functions from within a function Use state::get / state::set to persist data across function calls Use iii trigger n <daemon compose::add worker=<name when the capability already exists in the worker registry Recommended Next Steps After getting your first worker running: 1. Register functions, triggers, and workers — See iii core primitives 2. Choose the right SDK APIs — See iii sdk reference 3. Configure the engine — See iii engine config 4. Explore backend patterns — See iii architecture patterns 5. Handle failures well — See iii error handling Key Resources [Quickstart Guide](https://iii.dev/docs/quickstart) [SDK Reference — Node.js](https://iii.dev/docs/api reference/sdk node) [SDK Reference — Python](https://iii.dev/docs/api reference/sdk python) [SDK Reference — Rust](https://iii.dev/docs/api reference/sdk rust) [Engine Configuration](https://iii.dev/docs/configuration) [Console](https://iii.dev/docs/console) Pattern Boundaries For function and trigger registration patterns, worker creation, worker registry access, trigger payload schemas, invocation modes, channels, custom triggers, and HTTP invoked functions, prefer iii core primitives For language specific SDK APIs, prefer iii sdk reference For engine configuration, prefer iii engine config For worker backed HTTP, cron, queue, pubsub, state, stream, and observability behavior, use the matching worker docs under engine/src/workers/ /skills Stay with iii getting started for installation, initial setup, and first worker guidance When to Use Use this skill when the task is about installing iii, creating a new project, or writing a first worker. Triggers when the request asks for setup help, quickstart guidance, or getting started with iii. Boundaries Never use this skill as a generic fallback for unrelated tasks. You must not apply this skill when a more specific iii skill is a better fit. Always verify environment and safety constraints before applying examples from this skill.