Skip to content

Install

  • Node.js 20 or newer.

Local mode needs nothing else — no database, no server.

Terminal window
npm install -g @sporhq/spor

This installs two commands:

  • spor — the CLI you use directly
  • spor-hook — the hook dispatcher that agent hosts call; you rarely run it yourself except for spor-hook doctor

Check the install:

Terminal window
spor --help

spor install connects Spor to an agent host so sessions get briefed automatically. Supported hosts: claude, codex, gemini, cursor, copilot, opencode.

Terminal window
spor install claude

With no host named, it lists what it detects on your machine and changes nothing:

Terminal window
spor install # detect only
spor install --all # install into every detected host
spor install --print # dry run: show what would change

Claude Code is wired through its plugin CLI; the other hosts receive a merged hooks manifest. Re-running spor install is safe — it refreshes paths and does not duplicate hooks.

The default scope is --scope user, which installs Spor for you across repositories. --scope repo writes configuration into the current checkout so it can be committed and shared.

A new npm release does not change what an agent has already loaded — some hosts cache the plugin or hook definitions. Upgrade in two steps:

Terminal window
npm install -g @sporhq/spor # update the package
spor upgrade # refresh every wired host to the new version

spor upgrade claude targets one host, and --print previews the changes without writing. spor status warns when a loaded plugin is older than the installed package.

Installing Spor does not activate it in every repository you open. A repo is inactive until it carries a .spor or .spor.json marker, which keeps side-project context out of a team graph by accident.

Terminal window
spor enable # write {"enabled": true} to this repo's .spor.json
spor disable # write {"enabled": false}; hooks no-op here until re-enabled
spor link harbor # write a .spor marker fixing this repo's project slug

All three write committable files, so the setting travels with the repository. spor link matters when the slug Spor infers from the directory name is wrong — the slug is how nodes, queues, and briefings are scoped to a project.

Next: the local quickstart or the hosted quickstart.