None of these apps is in Cairn's repository. Each is a package that requires Cairn from the
registry the way any app does, with claims scoped by its own name, and its claim pages are
generated from what it published. The framework's own checks run on test/fixture instead,
which the guide walks through.
| Package | What it is | Claims |
|---|---|---|
cairn_examples |
six small apps, below, each showing one part of Cairn | cairn_examples^N |
pairs |
a memory game whose decks are packs of images loaded from a folder or a URL (M3) | pairs^N |
sky |
a Bluesky reader: sign in with an app password, the session in the Keychain, the home feed in a virtual list with paging and refresh (M4) | sky^N |
cairn_atproto |
a library, not an app: XRPC, Bluesky's session calls and timeline, and the session machine Sky signs in with | cairn_atproto^N |
yap |
a dictation app used every day, ported one to one (below) | yap^N |
The example apps
The example apps are one package, cairn_examples. Their claims kept the numbers they had when
the apps were in Cairn's repository, before 0.3.0: TodoMVC's new-todo field, once cairn^202,
is cairn_examples^202.
| App | What it shows | Claims | In the browser |
|---|---|---|---|
| Counter | two moves, two flows, presence and pressability proved in every state, a retired claim | ^1–^6 | Try Counter |
| Basics | a text field, a list with keyed controls, wrapped text, an invariant | ^101–^109 | Try Basics |
| TodoMVC | the full TodoMVC spec: editing in place, filters, double clicks, focus | ^201–^225 | Try TodoMVC |
| Clock | effects: time, timers, files, subscriptions | ^401–^409 | |
| Tray | a menu bar item with native menus and an overlay panel | ^450–^462 | |
| Gallery | images, loads in flight, a grid that fits every window size | ^501–^513 |
Each app is an executable of the package: in a checkout of it, cairn build --app <App>, then
swift run Cairn<App>.