Skip to content

Repository files navigation

ori-feature-catalog

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.

Use the catalog

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.0

Ori 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.

Keep your own features too

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.

Features

  • 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.

Develop

bun install
bun test

bun 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.

Add a feature

  1. Create features/<id>/ with a package.json and a feature.ts default export.
  2. Keep it self-contained — no imports from sibling features or from the repo root.
  3. Declare every runtime dependency in the feature's own package.json.
  4. Document required environment variables in the feature's README.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages