What
Restore upstream's complete plugin system and remove our simplified fork variant.
Why
Our fork stripped out 6 plugin files (~1505 lines) to simplify the plugin loading system. This divergence:
- Is NOT tracked in
.fork-features/manifest.json
- Provides no value to our fork (removed plugins are for Poe/Cloudflare which we don't use)
- Causes pain during every upstream sync (merge conflicts, manual reconciliation)
- Violates our principle: "Keep divergence only in areas where there is value"
Scope
Restore these deleted files:
packages/opencode/src/plugin/cloudflare.ts (67 lines)
packages/opencode/src/plugin/install.ts (439 lines)
packages/opencode/src/plugin/loader.ts (174 lines)
packages/opencode/src/plugin/meta.ts (188 lines)
packages/opencode/src/plugin/shared.ts (323 lines)
packages/opencode/src/plugin/github-copilot/models.ts (144 lines)
Restore directory structure:
packages/opencode/src/plugin/github-copilot/ directory with copilot.ts and models.ts
Update these files to match upstream:
packages/opencode/src/plugin/index.ts (currently 138 lines vs upstream ~290)
packages/opencode/src/plugin/codex.ts
packages/opencode/src/plugin/copilot.ts
No dependency changes required:
- Neither fork uses
effect as a direct package.json dependency
- All required packages already present
Acceptance Criteria
Out of Scope
- Adding new plugins (Poe, Cloudflare) — we're just restoring infrastructure, not enabling unused features
- Changing plugin loading behavior — should match upstream exactly
- User-facing changes — this is internal refactoring
Definition of Done
What
Restore upstream's complete plugin system and remove our simplified fork variant.
Why
Our fork stripped out 6 plugin files (~1505 lines) to simplify the plugin loading system. This divergence:
.fork-features/manifest.jsonScope
Restore these deleted files:
packages/opencode/src/plugin/cloudflare.ts(67 lines)packages/opencode/src/plugin/install.ts(439 lines)packages/opencode/src/plugin/loader.ts(174 lines)packages/opencode/src/plugin/meta.ts(188 lines)packages/opencode/src/plugin/shared.ts(323 lines)packages/opencode/src/plugin/github-copilot/models.ts(144 lines)Restore directory structure:
packages/opencode/src/plugin/github-copilot/directory withcopilot.tsandmodels.tsUpdate these files to match upstream:
packages/opencode/src/plugin/index.ts(currently 138 lines vs upstream ~290)packages/opencode/src/plugin/codex.tspackages/opencode/src/plugin/copilot.tsNo dependency changes required:
effectas a direct package.json dependencyAcceptance Criteria
anomalyco/devplugin/index.tsrestored to upstream versionbun testpasses (plugin-related tests).fork-features/manifest.jsondoes NOT need an entry (divergence removed, not added)git diff anomalyco/dev -- packages/opencode/src/plugin/shows minimal/no differencesOut of Scope
Definition of Done