Skip to content

Make setup-workstation.sh a true superset and retire install.sh #40

Description

@ExtraToast

What to build

One command on a fresh host that installs the whole estate agent setup, so
setup-workstation.sh is a genuine superset rather than two thirds of one.

It covers CLIs, plugins, all thirteen LSPs, the MCP fleet and pr-composer
today. Three gaps make it not enough on its own:

  1. The estate's own skills come from the other installer. install.sh
    still owns council, kb-first, token-economy,
    agent-session-bootstrap, audit, topics and grill-me. Neither
    installer is a superset of the other, and the one that has council is
    the one fetched from knowledge-api with a bearer token.
  2. The vendored upstream skills are Hermes-only. Every skill_sources
    entry is surfaces: ['hermes'], so superpowers (14 skills) never
    reaches a laptop, and the workstation sees those skill families only
    through whichever plugin happens to wrap them.
  3. Spec Kit is deliberately excluded from the registry but still shipped
    by install.sh, so running both installers reintroduces exactly what the
    registry refuses.

Move the estate skills into local_skills, add workstation to the upstream
skill_sources that belong on a laptop, and let install.sh be retired with
knowledge-api rather than kept alive for council alone.

One known wrinkle to fix while here: the script resolves KIT_ROOT from $0
to copy first-party skills, so curl | bash fails that step. Decided
2026-09-14: the skills are published as a bundle alongside the script (#35)
and a piped run fetches it. This ticket makes the script able to consume that
bundle; #35 publishes it.

Acceptance criteria

  • A fresh host runs one command and ends with the CLIs, plugins, LSP
    binaries, MCP fleet and every estate skill.
  • install.sh is no longer needed for anything a workstation wants.
  • Spec Kit is still absent, and a test still asserts that.
  • The script works when fetched over HTTP, not only from a checkout.

Blocked by

None (can start immediately).

Blocks: publishing (#35) and the install-path move (#36), which both assume
setup-workstation.sh is the single installer.

Activity

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

Metadata

Metadata

Assignees

Labels

area: toolingReusable workflows, Gradle, templates, Renovate, and API tooling.component: configConfiguration schema, defaults, or repo settings.priority: P1High; important and should be handled in the current iteration.type: featureNew user-facing or operator-facing capability.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions