Skip to content

Install

There are two things to install: the suli client, which talks to a Superlibrary server, and Superlibrary itself. Most people only need the first.

suli (also installed as superlibrary) is one binary. Releases are built for macOS on Apple silicon and Intel (darwin-arm64, darwin-x64) and Linux (linux-x64, linux-arm64). The installer needs no sudo and puts it in ~/.local/bin:

Terminal window
curl -fsSL https://github.com/SuperJackfruitLabs/superlibrary/releases/latest/download/install.sh | bash
Variable Effect
VERSION=v0.0.1 install this release tag instead of the latest
BIN_DIR=/some/dir install somewhere other than ~/.local/bin
SKILL_DIR=~/.claude/skills also install the agent skill there

Pass a variable to bash, for example ... | VERSION=v0.0.1 bash.

The installer:

  • refuses a download whose SHA-256 is not listed in the release’s SHA256SUMS;
  • never overwrites a different program already named suli or superlibrary.
Terminal window
suli version

It prints suli <version> <platform>/<arch>. A release binary reports its release tag, for example v0.0.1; a build from source reports dev.

Terminal window
suli login

suli finds the sign-in service from the server and runs its device flow: open the printed link in any browser, confirm the code, and suli keeps a device credential of its own. It works over SSH and in a cloud session. Each later command exchanges that credential for a token that lives five minutes. suli whoami shows who you are signed in as.

Without SUPERLIBRARY_URL, suli talks to the hosted service at https://app.superlibrary.dev, and suli login signs in through the SuperJackfruit account service. Set SUPERLIBRARY_URL to point it at another server. See the CLI for every variable.

suli skill prints a SKILL.md that teaches an agent to use suli; suli skill install writes it to <dir>/superlibrary-items/SKILL.md. It is built into the binary, so it always matches the commands of the suli that wrote it.

Superlibrary is three Workers: the API, the content Worker that serves artifact bytes, and the web app. A release contains only the CLI; the server parts are run from source.

You need Node.js and pnpm. No Cloudflare account and no sign-in are needed: the local stack runs on Wrangler’s local emulation, with development auth.

Terminal window
pnpm install
node scripts/dev-keys.mjs
pnpm --filter @superlibrary/api dev # API on :8787
pnpm --filter @superlibrary/content dev # content Worker on :8788
pnpm --filter @superlibrary/web dev # web app on :5173

Open http://localhost:5173.

To run the tests:

Terminal window
pnpm typecheck && pnpm test
pnpm --filter @superlibrary/web e2e # Chromium and WebKit

The secrets a deployment sets are listed in Retention and operations.