Apps

Iro ships with no apps. Ours come from the official catalog like anyone's, through onboarding and the Store, each with its own version and updates independent of Iro.

Store

The one app onboarding installs. First-run view leads with starter apps; afterwards every install is an ordinary iro.install.request through the consent sheet, which names the store that asked. The Store hears only installed/cancelled.

GitHub

Repos, workflow runs and re-runs through its own github@1 contract (repos.read, actions.read, sensitive actions.run). Also provides tasks@1 (open issues) for Daily Briefing. Accounts, repos, runs and Re-run in full view; failing runs in compact.

Markdown Notes

A folder of .md files as notes@1. No app UI of its own — its folders live on its page in Iro. Works on an existing vault; .obsidian/ stays hidden.

Daily Briefing

Your open GitHub issues become one note a day (Briefing YYYY-MM-DD), by hand or as a morning job, with an optional llm.chat summary on top. Installed without GitHub it waits with NotBound until the provider is there.

Assistant

Streaming chat over your models: tier or model picker, tools from tools.use, stop button, conversations in the app's own storage. Every permission is optional and asked for in the moment.

Model apps

  • Anthropic / OpenAI / OpenAI-compatible: API-key gateways with catalog prices and kernel-owned endpoints on the account page.
  • Ollama: local models on http://127.0.0.1:11434, discovered and streamed locally, embeddings included. Cloud or remote stubs are refused.

presentation-demo is a test fixture, not shipped. claude-code stays out until its sandbox step lands.