Chio/Docs
LOGIN · JOIN

Builder Setup

Install Chio once, pull a complete example, and run it on the CLI and SDKs you already have.

Guide chio@5f63e6e

On this page

Every complete example runs on the installed chio and the published SDKs. Install once, pull an example with chio new, and run its entry point. Each project carries its own configuration, data, and evidence.

1. Install Chio

If you finished Installation, skip to the next step.

macOS or Linuxbash
curl -fsSL https://chio.computer/install.sh | sh
chio --version
Output
chio-cli 0.2.0

Add the SDK an example uses with that language's package manager: npm install @chio-protocol/sdk, pip install chio-sdk, or cargo add chio. Each project's lockfile pins its SDK version.

2. Pull an example

List the examples, then create a directory from one. The CLI fetches the bundle from the signed index at chio.computer/examples, checks its SHA-256 and the index signature, and unpacks it.

Terminalbash
chio new --list-examples
Output
example              face        languages                    what it runs
pricing-service      service     python, typescript, rust     the pricing package served over MCP and HTTP
pricing-tools        service     rust                         quote and refund as native tools under a two-quote grant
pricing-api          service     python, rust                 a plain HTTP API behind the sidecar and as MCP tools
pricing-rust         service     rust                         ChioLayer linked into axum, with signed HTTP receipts
pricing-python       service     python                       FastAPI and Django middleware on POST /v1/quote
pricing-node         service     typescript                   Express, Fastify, and Elysia middleware on POST /v1/quote
pricing-go-cpp       service     go, c++                      chi and Drogon middleware on POST /v1/quote
pricing-jvm-dotnet   service     kotlin, c#                   Spring Boot and ASP.NET Core middleware on POST /v1/quote
pricing-desk         service     rust, python                 approvals, an ordered price change, tenants, and repricing
pricing-rs           repository  rust                         a Rust port of the pricing package with three open issues
agentic-os           showcase    rust                         mission hosts, worker fleets, and federated teams
Terminalbash
chio new pricing --example pricing-service
Output
fetched    pricing-service, 412 KB, sha256 9e1c…07ab verifies
index      chio.computer/examples, signature verifies against the key in chio 0.2.0
created    pricing, owned by did:chio:z6Mkf3…Qp9
next       cd pricing, then the entry point in README.md

The face column says which side of the pricing project an example works on: repository examples have agents change the code, service examples have agents call into it, and showcase examples combine many parts into one application. Every example page also offers a download button for the same bundle; the bytes and the checksum are identical.

3. Install the language runtime

The CLI is the only Chio install. An example also needs the runtime for its language.

ExampleAlso installEntry point
Rust services, MCP hosts, and repository examples
Rust through rustup; the project's rust-toolchain.toml selects the version
cargo run; Cargo fetches the pinned Chio crates.
HTTP services in Python, TypeScript, Go, JVM, or .NET
That language's runtime and package manager
A launcher that starts the application and its Chio sidecar.
Provider and framework clients
Python 3.11 or newer and uv; model credentials when you select a hosted model
A uv run command named in the README.

Keep your project state

A project's .state directory holds its keys, application database, and receipts. Rerunning an example keeps that state; stop the launcher with Ctrl-C before you move the directory. Pulling the same example into a new directory starts with fresh state.

Verify against the kernel you trust

A local launcher pins the public keys of the kernels it starts before it accepts their responses. When an example talks to a remote kernel, take that kernel's public key from its operator's published configuration. A receipt's signer field names a key; it does not make that key trusted.

Start with an example