Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.slipway.sh/llms.txt

Use this file to discover all available pages before exploring further.

sw is the slipway command-line client. It ships as a separate binary from the slipway service and lets you do, from a terminal, most of the read operations you’d otherwise do in the dashboard: list orgs, browse repos, watch deployments, and tail deployment logs. The CLI is intentionally narrow in v1. There’s no sw deploy, no secret editing, no settings management — those still live in the web UI.

Install

Binaries are built per platform. Drop the binary somewhere on your PATH:
  • macOS / Linux: sw
  • Windows: sw.exe
If you’ve cloned the slipway repo, you can also build locally:
go build -o sw ./cmd/sw

Log in

sw authenticates using GitHub’s device flow. You’ll see a code in your terminal and finish signing in on github.com — no browser-side redirect back to your laptop, no copy-pasting tokens.
sw login
# First copy your one-time code: AB12-CD34
# Then open: https://github.com/login/device
# Waiting for authorization…
The CLI tries to open your default browser to the verification page. If that fails (or you passed --no-browser), copy the URL yourself. On success the token lives at:
  • macOS: ~/Library/Application Support/slipway/credentials.json
  • Linux: ~/.config/slipway/credentials.json
  • Windows: %APPDATA%\slipway\credentials.json
The file is 0600 on Unix. Keep it that way.

Logging into a non-SaaS instance

sw login talks to the public SaaS by default. To log into a different instance (self-hosted, dev cluster) pass --api-url:
sw --api-url http://localhost:8080 login
Each unique host gets its own context in the credentials file. Switch between them with --context:
sw --context localhost:8080 orgs list

Logging out

sw logout
This removes the active context from disk. The token remains valid on the server until it expires (90 days from issue). A revoke API is planned.

Common commands

sw whoami                                # Who am I logged in as?

sw orgs list                             # Orgs you belong to
sw orgs use acme                         # Make "acme" the default org

sw repos list                            # Repos in the default org
sw repos view repo-name                  # Or use the full UUID

sw deployments list                      # Recent deployments
sw deployments list --status failed      # Filter by status
sw deployments view <id>                 # Detail for one deployment
sw deployments logs <id>                 # Stream container logs
sw deployments logs <id> --follow        # Stay attached after it finishes
sw deployments events <id>               # Lifecycle events (build → release → deploy → healthy)
The short alias deps works in place of deployments:
sw deps list

Global flags

  • --api-url URL (env SW_API_URL) — only consulted at login; afterwards the URL is read from the active context.
  • --context NAME — operate against a non-active context without switching to it.
  • --org SLUG (or -o) — override the default org for one command.

Tokens

sw tokens are opaque bearer strings that start with sw_. They’re stored hashed on the server — the plaintext is only returned once, when sw login finishes. If you lose the credentials file you’ll need to log in again. A planned API keys page in the web UI will let you list and revoke active CLI tokens.