What to build
This package is code-backed (it ships agents), so bunx opencode-architect install stops copying and becomes a registration manager:
install ensures the plugin entry in the target scope's config file via the surgical editor, then writes the generalized manifest at the scope base (version, mode, entry string, target config file). A matching manifest with the entry present is a zero-write no-op.
--mode copy is rejected with a clear error: this package is code-backed, and copying cannot express agents' plugin registration.
- Legacy copy installs migrate automatically: the existing copy-install manifest lists exactly the CLI-managed payload; it is removed per that list with a printed notice before the entry is added.
status reports mode, version, and which config file holds the registration; uninstall removes the entry, the manifest, and any residual payload.
--force's old "remove the plugin entry" semantics invert — install now adds the entry.
Nothing changes at runtime: the plugin already registers agents from the package and resolves reference paths at load. README/docs updated (manual plugin-array inclusion as the primary path for code-backed packages, new install semantics, migration note) plus a CHANGELOG entry.
Grounded in ADR-0008, which supersedes ADR-0004.
Acceptance criteria
Blocked by
What to build
This package is code-backed (it ships agents), so
bunx opencode-architect installstops copying and becomes a registration manager:installensures the plugin entry in the target scope's config file via the surgical editor, then writes the generalized manifest at the scope base (version, mode, entry string, target config file). A matching manifest with the entry present is a zero-write no-op.--mode copyis rejected with a clear error: this package is code-backed, and copying cannot express agents' plugin registration.statusreports mode, version, and which config file holds the registration;uninstallremoves the entry, the manifest, and any residual payload.--force's old "remove the plugin entry" semantics invert — install now adds the entry.Nothing changes at runtime: the plugin already registers agents from the package and resolves reference paths at load. README/docs updated (manual plugin-array inclusion as the primary path for code-backed packages, new install semantics, migration note) plus a CHANGELOG entry.
Grounded in ADR-0008, which supersedes ADR-0004.
Acceptance criteria
installadds the entry surgically and writes a plugin-mode manifest; re-running is a zero-write no-opuninstallremoves entry + manifest + residual payload;statusreports mode, version, registration file.opencode/or repo-root config per the allowed-pattern rules; global scope edits the XDG/home config, creatingopencode.jsoncby default when absentBlocked by