← ClaudeAtlas

rembric-tui-installerlisted

The Rembric TUI installer contract — the single, canonical install/setup/upgrade/uninstall path (`apps/plugin/install.sh`, fronted by the repo-root `install.sh` shim). Apply when touching `install.sh`, the root shim, any per-client `install.sh`/`uninstall.sh`, `marketplace.json`, or distribution docs (README, `docs/agents.md`, plugin/client READMEs). Covers the orchestrator model, what must not break, and where the source of truth lives. For running the validation suite, use `rembric-tui-installer-e2e`.
susomejias/rembric · ★ 12 · AI & Automation · score 70
Install: claude install-skill susomejias/rembric
# Rembric TUI installer — contract The TUI installer is the **single, canonical, user-facing path** for installing / setting up / upgrading / uninstalling the Rembric server and every client plugin. Docs lead with it; per-client commands are documented only as manual fallback. Source of truth (read these — this file is the durable contract, not a copy): - `apps/plugin/install.sh` — the orchestrator (real logic). - `install.sh` (repo root) — the thin shim; canonical URL `.../main/install.sh`. - `install.test.ts` (repo root) — the headless test surface (covers the root shim + the orchestrator). - `openspec/specs/tui-installer/spec.md` — the normative requirements. ## The orchestrator model (do NOT violate) The installer **delegates; it never reimplements**. There are **three** backends, and each of the five clients uses exactly one: - **opencode, Hermes** → invokes their own `install.sh` / `uninstall.sh` (via `PLUGIN_SRC` against a local clone, or `curl` at the same ref). - **Claude Code, Codex** → prints the marketplace CLI commands (and optionally runs them when the client binary is present). No repo-side install script is created for these. - **Pi** → runs the client's own CLI against the public npm registry: `pi install npm:@rembric/pi`, for install **and** for update, gated on binary presence and `--yes` exactly as the marketplace backend is; uninstall goes through that client's own removal verb. There is deliberately no `.pi-plugin/install.sh`, no `.pi-plugin/uninst