Skip to content

ADR: installer for non-marketplace agents #488

Open

Description

@randomparity

Problem

ADR 0001 and .claude/CLAUDE.md:7 / README.md:52 say "There is no install script and there
will not be one," and the 2026-08-11 plan records "Bob is retired." Epic #482 plans a
curl | bash installer for Bob, Gemini CLI, Copilot, Cursor, and OpenCode. That needs a
recorded decision before any installer code is written.

Evidence

  • docs/adr/0001-distribution-via-plugin-marketplace.md Decision ("The harness owns
    install, update, uninstall, caching, and version resolution") and Consequences
    (install.sh "has no successor"); rejected "Symlink a checkout".
  • docs/adr/0006-release-management-out-of-scope.md:14-16: "the repository still has no
    tag, no GitHub release, and nothing to cut one from."
  • docs/workflow/plans/2026-08-11-adept-dotfiles-separation.md:18 — "Bob is retired."
  • docs/bob-install-requirements.md §7 names ADR 0001 and the plan note as blockers.
  • docs/adr/README.md:17-18: supersede with a new record and a banner on the old one.
  • .claude/CLAUDE.md anatomy rules 2 (executable code must clear a bar) and 3 (runs and exits).

Expected

A new ADR that, on the evidence in the agent docs (#484, #485, #486, #487), records epic
requirement R3: the target list (dropping any agent needing format translation); copy-only
install; install root per target and scope, including root-level references/ and
scripts/; a versioned placed-paths manifest so update replaces adept-owned files, removes
files deleted upstream, and never touches user content; refuse-on-conflict with non-adept
content; script location and the rule-2 argument; which ref the documented install.sh URL
uses and how installer and payload stay on one version; the integrity stance for
curl | bash; and tagging adept's own repo (amending ADR 0006's context).

The same PR edits .claude/CLAUDE.md:7, README.md:52, Bob doc §7, and adds the
supersession banner to ADR 0001, so no doc states a reversed policy. If the ADR declines the
installer, epic items 7, 8, 9 close not-planned.

Proposed approach

Write the record with the repo's ADR template; run it through $spellcraft/$trial-loop
review. Bump .claude-plugin/plugin.json (MINOR).

Part of #482
Blocked by #484
Blocked by #485
Blocked by #486
Blocked by #487

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:distributionPlugin packaging, releases, publishing, and external listingsstatus:blockedexternal dependency

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions