open-standards/wai/examples/README.md
Transaction Science 7cbbc19f0c wai setup-agent writes a skill, and every template carries it
The skill's text is in the binary and in wai/wai-app/templates/SKILL.md, so it
works offline and matches the installed version; each of the nine templates and
Create's export holds it with a section of its own after the block. A rerun
replaces only the block: a marker is a line of its own, markers that make no one
block leave the file alone, and a file keeps its line endings.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 03:08:05 -05:00

34 lines
2.6 KiB
Markdown

# WAI examples
Small projects that each do one thing with WAI, and each run on your own machine with the open
reference software alone. Every one is a template of `wai create`:
```sh
wai create my-room --template video-room
cd my-room
wai dev
```
| Template | What it shows | Runs with |
|---|---|---|
| [`video-room`](video-room/README.md) | Your own page with a live room in it: camera, microphone, every object checked against its receipt | `wai dev`, a browser |
| [`watch-together`](watch-together/README.md) | Everyone in a room watching one file in sync: play, pause and seek at one instant for all | `wai dev`, a browser |
| [`messaging`](messaging/README.md) | An end-to-end encrypted conversation, and a call placed, rung and answered | `wai dev`, a browser |
| [`encoder-ingest`](encoder-ingest/README.md) | An SRT encoder's stream published into a room, each group signed at the first hop and checked at the relay and the subscriber | `cargo` |
| [`package-and-deliver`](package-and-deliver/README.md) | A title packed by policy, its package verified, its standard floor played in a page | `wai-pack`, `wai dev`, a browser |
| [`verify-receipts`](verify-receipts/README.md) | The receipts beside an object checked offline by the reference implementation (Rust) and by a second one (Python, standard library only) | `wai hello`, `cargo`, `python3` |
| [`apple-app`](apple-app/README.md) | The native sink in a SwiftUI app, and a recorded playback session replayed through it | Xcode, the `wai-sink-swift` package |
| [`android-app`](android-app/README.md) | The native sink's Kotlin API, the one an Android app's player session calls | a JDK 17, the `wai-sink-android` project |
| [`remote-desktop`](remote-desktop/README.md) | One machine's screen shared into a room, with control handed over and every input signed | `wai dev`, `wai-remote-host`, a browser |
Every example is Apache-2.0, and carries the license's text as `LICENSE`, which a project
`wai create` makes from it receives with the rest.
Every example carries an `AGENTS.md`, the instructions a coding agent reads: what the project is,
and how to build, run, test and conform it. `wai setup-agent` adds WAI's own block to it. Every
example also carries the skill agents load for a WAI task, `.agents/skills/wai/SKILL.md`: the text
`wai setup-agent` writes, then a section on the project.
Each example's `test/` directory holds the check that it works; it is not part of the project
`wai create` writes. `bash ../quickstart/test/run-examples.sh portable|browser|apple|android`
runs them, as `.github/workflows/wai-examples.yml` does.