CLI

Pull your Hamster Briefs, Tasks, and skills into the same repo your AI coding agents work in — and run Delivery commands without leaving the terminal.

Overview

The Hamster CLI is a single Go binary that turns your Hamster workspace into local markdown your AI coding agents can read directly. Brief and Task content land in .hamster/, your shared agent skills land in .agents/skills/, and the same paths are visible to Claude Code, Cursor, Codex, GitHub Copilot, Continue, and Windsurf — so every agent reads the same source of truth.

The CLI is a sync engine, not an editor. Editing Briefs, Tasks, and skills happens in Hamster (or, for skills, optionally in your repo with bidirectional sync). The CLI's job is to make that content show up beside your code.

What's in this section

Common Commands

Command What it does
hamster auth login Browser sign-in; stores your session in your OS keychain
hamster init Create .hamster/ and pick which team this repo syncs with
hamster sync [identifier] Pull Briefs, Tasks, Blueprints, and Methods for the active team. Accepts a Brief slug, UUID, or full Studio URL
hamster sync --watch Continuous live sync — local files update as Briefs change
hamster team list / team switch List or switch the active team account
hamster brief create Create a Brief from the terminal
hamster task status <id> <status> Move a Task to a new status
hamster skills sync Bidirectional skill sync — pull updates and push local edits
hamster skills agents Pick which AI agents (Claude Code, Continue, Windsurf, …) get symlinks to .agents/skills/

Run hamster --help for the full command tree.

Skills Sync

The CLI keeps your shared agent skills in sync between your repo and your workspace. hamster skills sync runs in both directions by default:

  • Pull — Fetches new, updated, or removed skills from Hamster. A TUI selector lets you pick which to apply.
  • Push — Detects skills you (or an AI agent) have edited locally and offers to send them back. Conflicts surface a [K]eep local / [U]se remote / [S]kip prompt before anything is overwritten.
  • Asset-aware — Per-file SHA-256 fingerprints catch changes to bundled references and assets, not just the SKILL.md body.

If your IDE or agent expects skills under its own path (.claude/skills, .continue/skills, .windsurf/skills, etc.) instead of the universal .agents/skills/, run hamster skills agents to pick which directories should symlink to the canonical location. Hamster maintains symlinks safely — it never deletes the canonical data even if an agent directory was previously a symlink.

hamster skills sync --pull-only and --push-only flags are available when you want to scope the sync to one direction.

Slash Commands in Agent Surfaces

The CLI registers Hamster slash commands inside agent surfaces that support them. The most common one is /ship, which kicks off background Delivery for a brief. Slash commands are not authored in your repo — they are generated from the skills the CLI syncs, so the available commands stay current automatically.

See Slash Commands for the full list and where each one runs.

Where the CLI Runs

The same binary works in three contexts:

  1. Your local machine — Interactive auth, browser login, OS keychain storage.
  2. CI pipelines — Set HAMSTER_ACCOUNT_ID and authenticate with an access token environment variable to skip every prompt.
  3. Cloud sandboxes — Hamster's Cloud Agents run the CLI inside their sandbox environment to pull live Brief state before each Delivery run.

Auth credentials live in your OS keychain by default (macOS Keychain, Windows Credential Manager, or the Linux Secret Service). On WSL or headless setups without a keychain, the CLI falls back to an encrypted file using a passphrase you set in HAMSTER_AUTH_PASSPHRASE.

Tips

  • Pass a Brief slug, UUID, or even a full tryhamster.com/... URL straight into hamster sync — the CLI parses all three and only syncs that brief.
  • Add .hamster/ and .claude/skills/hamster-project-context/ to your .gitignore. They are generated and account-specific.
  • Run hamster sync --watch in a side terminal during a session — your AI agent always sees the latest Brief and Task state without you needing to remember to re-sync.
  • Use hamster team switch when you move between client workspaces. The CLI cleans the previous team's directory before re-syncing the new one.
  • The CLI checks GitHub Releases for updates on a TTL — when a new version is available, you will see an inline notice on the next command.

Related