Skip to main content

Customizing an Archived Addon

:::note Core-only base Per ADR-0006 Orkestra is a core-only base: it no longer ships billing, payments, subscriptions, RAG, agents, marketing, or any other addon. The verticals that used to live in the monorepo were archived as read-only snapshots at github.com/orkestra-cc/orkestra-addon-*. There is no longer a published, versioned addon to fork-and-track upstream. :::

So "forking a core addon" no longer means tracking an upstream repo — it means copying an archived snapshot into your fork's tree and owning it from there.

How to reuse an archived vertical

  1. Fork the platform first — see I just forked Orkestra.
  2. Copy the snapshot into your fork: drop the archived addon's source under backend/internal/addons/<name>/. The archived code targeted the old github.com/orkestra-cc/orkestra-sdk import path — rewrite those imports to the in-tree path github.com/orkestra/backend/pkg/sdk/... (a single sed pass).
  3. Register it — add cmd/server/catalog_<name>.go with one init() registering the factory into optionalModules. No go.mod, no replace, no build tags — it compiles into the one binary.
  4. Tidy + buildcd backend && go mod tidy && go build ./... pulls the addon's third-party deps into the single module.
  5. Enable it at /admin/modules.

From then on it is your code, in your repo. There is no upstream to rebase against — the snapshot is frozen at the point ADR-0006 archived it. You maintain it like any other module in your fork.

For brand-new verticals (not cribbed from an archive), see Adding an addon.