Skip to content

opencode-architect install becomes plugin registration (+ docs) #17

Description

@diegohb

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

  • install adds the entry surgically and writes a plugin-mode manifest; re-running is a zero-write no-op
  • Copy mode is refused for this package with an explanatory error
  • A pre-existing copy install (payload + manifest present) migrates: payload removed exactly per manifest, notice printed, entry added
  • uninstall removes entry + manifest + residual payload; status reports mode, version, registration file
  • Config files keep their comments/formatting except the array change; unparseable configs abort untouched
  • Local scope edits the .opencode/ or repo-root config per the allowed-pattern rules; global scope edits the XDG/home config, creating opencode.jsonc by default when absent
  • README and CHANGELOG updated

Blocked by

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions