<!-- Install UX — every command real and copy-paste-correct per OS (DOCS-STRATEGY #1/#3).
     Repo slug BigscreenVR/claude-spt-bs (the private home, ADR-0008; previously SaberMage/claude-spt
     — U3 rename, then the 2026-07-15 relocation). This README names the private home, so it rides
     the mirror EXCLUDES list — it never ships to the public source mirror. [doc->REQ-DIST-INSTALL-UX]
     [doc->REQ-DIST-PRIVATE-HOME] -->
# claude-spt

SpT's official adapter for Claude Code. Run your own named "live agents" to gain agent-to-agent messaging, durable context lifecycles, and more.

This Claude Code plugin is built atop `spt-core` for its resource interop and lifecycle management layers. SpT helps devs pave a path for their preferred LLM(s) + harness(es) to interact with and remember a variety of tools and role-bound agents. Its construction draws only from `spt-core`'s public surfaces: [`SaberMage/spt-releases`](https://github.com/SaberMage/spt-releases) + [its official docs](https://sabermage.github.io/spt-releases). Hence it serves to be the exemplary harness adapter for future adapters to follow.

For Claude Code, this adapter installs an `sptc` plugin. All skills reside under the `/sptc:*` namespace.

## Install

> **Distribution (ADR-0008):** releases live on the **private home `BigscreenVR/claude-spt-bs`**, and spt-core's releases live on the **private `BigscreenVR/spt-bs-releases`** (the GH-Pages `install.ps1`/`install.sh` one-liners were retired at spt-core v0.32.0 — a private channel cannot serve anonymous install scripts). Everything installs and updates through the [`gh` CLI](https://cli.github.com/), authenticated (`gh auth login`, or `GH_TOKEN`) with read access to both repositories — plain unauthenticated HTTPS cannot reach a private release. The old public repos (`SaberMage/claude-spt`, `SaberMage/spt-releases`) are read-only lineage and receive **no releases**.
>
> Already installed from the old public repo? Run the one-time migration one-liner from the [v0.22.0 release notes](https://github.com/BigscreenVR/claude-spt-bs/releases/tag/v0.22.0) instead of reinstalling.

### Method A: Terminal installation

Prerequisites: Claude Code, plus `gh` installed and authenticated (`gh auth login`) with read access to `BigscreenVR/claude-spt-bs` and `BigscreenVR/spt-bs-releases`.

**Step 1 — install spt-core** (once per machine; skip if `spt` already answers in a terminal):

**Windows — PowerShell**

```powershell
gh release download --repo BigscreenVR/spt-bs-releases --pattern 'spt-x86_64-windows.exe'
.\spt-x86_64-windows.exe install
```

(cmd: same two commands, but invoke as `spt-x86_64-windows.exe install`. Git Bash: `./spt-x86_64-windows.exe install`.)

**Linux — bash**

```bash
gh release download --repo BigscreenVR/spt-bs-releases --pattern 'spt-x86_64-linux'
chmod +x ./spt-x86_64-linux
./spt-x86_64-linux install
```

(musl-based distros: download `spt-x86_64-linux-musl` instead. `gh release download` does not set the exec bit — the `chmod` is required.)

Keep the downloaded asset's name — the `install` verb refuses wrong-platform binaries, places the binary at the canonical install path, and registers your user PATH idempotently. **macOS: no spt-core asset exists on the channel today** (and this adapter ships Windows + Linux binaries only), so there is no macOS install path to promise.

**Step 2 — install the adapter.** `install` reaches **new** terminals only, so open a fresh terminal, then:

```sh
spt adapter add --release BigscreenVR/claude-spt-bs
```

### Method B: Copy-paste agent prompt

Hand this to a coding agent (Claude Code, etc.) to install everything in one go:

```text
Install claude-spt from BigscreenVR/claude-spt-bs on GitHub (private repo — gh CLI auth required; spt-core bootstraps from the private BigscreenVR/spt-bs-releases channel).
```

**Agents start here:**
> Ensure Claude Code is installed as it is a prerequisite, and that `gh` is installed and authenticated with read access to `BigscreenVR/claude-spt-bs` and `BigscreenVR/spt-bs-releases` (`gh auth status`). Then, run this in one bash call, in order (Windows: swap the asset for `spt-x86_64-windows.exe`, skip the `chmod`, and invoke it as `./spt-x86_64-windows.exe install`):
>
> ```bash
> command -v spt >/dev/null 2>&1 || { gh release download --repo BigscreenVR/spt-bs-releases --pattern 'spt-x86_64-linux' && chmod +x ./spt-x86_64-linux && ./spt-x86_64-linux install; }
> spt adapter add --release BigscreenVR/claude-spt-bs || ./spt-x86_64-linux adapter add --release BigscreenVR/claude-spt-bs
> spt adapter list | grep claude-spt || ./spt-x86_64-linux adapter list | grep claude-spt
> ```
> (The fallbacks after `||` cover the fresh-install case: PATH registration reaches new terminals only, so the just-downloaded binary is invoked directly.) Report the outcome to your operator. Advise them to create their first live agent by opening a fresh terminal and entering the `spt` command.

## Usage

After installation, get started by opening a fresh terminal. Run the `spt` command to create your first endpoint - a home for your live agent.

SpT is great for a single agent who builds a long-running project... The SpT magic *really* begins when you have more than one endpoint (live agent) operating on either one node (device), or multiple nodes in an SpT subnet (mesh network). Learn more here: https://github.com/BigscreenVR/spt-bs-releases (the private release channel; its docs bundle ships alongside every release). I highly recommend pointing your agent to these repositories and asking it to explain whatever you want to understand!

## Updating

One lever keeps the adapter current — symmetric with install:

```bash
spt adapter update claude-spt
```

After a version update, spt-core prints the next step. Run **`/reload-plugins`** in Claude Code to pick up refreshed skills/hooks.

## Deeper docs (warning: outdated)

- [Quickstart](docs-site/src/quickstart.md) — install → bring-up → reachable, under ten minutes.
- [Harness contract](docs-site/src/reference/harness-contract.md) — how Claude Code hook events map onto `spt`.
- [`SCOPE.md`](SCOPE.md) · [`CONTEXT.md`](CONTEXT.md) · [`docs/adr/`](docs/adr/) — decisions and the domain model.

The `claude-spt` project is an intentional dogfeeding of the `spt-core` developer ecosystem and experience. While building this project, capabilities found to be defunct or missing from `spt-core`'s docs or API are used to improve the public-facing `spt-core` dev experience.
