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
- Fork the platform first — see I just forked Orkestra.
- Copy the snapshot into your fork: drop the archived addon's source under
backend/internal/addons/<name>/. The archived code targeted the oldgithub.com/orkestra-cc/orkestra-sdkimport path — rewrite those imports to the in-tree pathgithub.com/orkestra/backend/pkg/sdk/...(a single sed pass). - Register it — add
cmd/server/catalog_<name>.gowith oneinit()registering the factory intooptionalModules. Nogo.mod, noreplace, no build tags — it compiles into the one binary. - Tidy + build —
cd backend && go mod tidy && go build ./...pulls the addon's third-party deps into the single module. - 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.