A public catalog of ori features that any intern can load
remotely. Each directory under features/ is one self-contained feature.
This is a catalog, not a feature set: it is the list you pick from. The features an
individual intern actually runs — its own features/ directory — are that intern's
feature set.
Point --features at the repo root, not at an individual feature:
ori dev --features github.com/OpenRouterLabs/ori-feature-catalog--features takes a features root, and a bare repo root resolves to its nested
features/. Normalization descends one level only, so pointing at
.../ori-feature-catalog/features/google-workspace would treat that directory as the
root and enumerate src and skills as features, not google-workspace.
Pin a tag or commit SHA with @<ref>; omit it to track the default branch:
ori dev --features github.com/OpenRouterLabs/ori-feature-catalog@v1.0.0Ori fetches the tree over HTTPS, caches it under .ori/remote-features/, and runs
bun install in the cache entry so each feature's own dependencies resolve.
Because the root resolves to features/, this loads every feature in the catalog.
There is no per-feature selection today.
A single --features <remote> replaces the workspace's local features root rather
than composing with it, so your own features/ will not load.
To run the catalog alongside your own features, declare it in ori.md instead. Declared
sources compose in the order [declared…, local, …--features flags], and a later source
wins on a duplicate feature id. Your workspace's own root is appended after the declared
ones, so a local features/<id> shadows a catalog feature of the same id — which is how
you fork anything here: create a directory with the same name.
- google-workspace — Gmail, Calendar, Drive, Docs, and
Sheets as the person the intern is talking to, through their own linked Google account.
Five skills, one per app (
gmail,google-calendar,google-drive,google-docs,google-sheets), over one shared command, plus a prompt rule. Holds no credential: OpenRouter authenticates each request as the person the conversation came from, whether they wrote from Slack or from the dashboard. The intern names another person's account only with--account, and only an account whose owner gave that intern access.
Slack is provided by Ori's built-in Slack feature, not by this catalog. Use the built-in implementation for Slack chat and skills. Existing checkouts pinned to an older catalog revision still contain the catalog copy; update the revision to stop loading it.
bun install
bun testbun run typecheck needs the ori SDK present. ori is an optional file:.ori/sdk
dependency and .ori/ is git-ignored, so run ori init . first — without it tsc reports
Cannot find module 'ori' plus a cascade of implicit-any errors from the same cause.
- Create
features/<id>/with apackage.jsonand afeature.tsdefault export. - Keep it self-contained — no imports from sibling features or from the repo root.
- Declare every runtime dependency in the feature's own
package.json. - Document required environment variables in the feature's
README.md.