# CLI

**Spinbox is experimental: APIs change and data may be lost.** What is built and what proves it is on [Status](https://spin-stack.github.io/website/reference/status.md); what Spinbox does not do is on [Limitations](https://spin-stack.github.io/website/overview/limitations.md).

> Every command of the spin CLI, as its own --help says it: workspaces, snapshots, ports, keys, teams and administration.

<!-- Generated by tools/refgen from spin:cmd/cli. Edit the source, not this file. -->

The `spin` command line, one page per command. Each page is the command's own `--help`, and the help of every command under it.

```
spin is a CLI tool for managing workspaces on the
spin platform. Create, start, stop, and share workspaces with ease.

Usage:
  spin [flags]
  spin [command]

Available Commands:
  admin       Administrative commands
  api-key     Manage API keys
  code        Open a workspace in VS Code
  completion  Generate the autocompletion script for the specified shell
  cp          Copy files to or from a workspace
  exec        Run a command in a workspace
  help        Help about any command
  login       Authenticate with the platform
  logout      End the profile's session and forget its login
  open        Open a repository, branch, commit or pull request from its URL
  port        Manage exposed ports for workspaces
  project     Manage a team's projects: a repository and the workspace that opens it
  settings    Manage user settings
  share       Manage snapshot sharing
  sign        Sign what only you can: your keyring and your teams' rosters
  smoke       Check an installation does what its API promises, with a workspace of its own
  snapshot    Take, list and delete a workspace's snapshots
  ssh         SSH into a workspace
  ssh-config  Make every workspace reachable with plain ssh, as the host spin.<workspace>
  ssh-key     Manage SSH keys
  team        Manage teams
  trust       What this machine trusts of an installation
  version     Print version information
  whoami      Show current user info
  workspace   Manage workspaces

Flags:
      --config string    config file (default is $HOME/.spin/config.yaml)
  -h, --help             help for spin
  -o, --output string    text for a person, or json: one document of what the API answered, and no prose (default "text")
      --profile string   named profile to use; SPIN_PROFILE names it when this flag does not (default "default")

Use "spin [command] --help" for more information about a command.
```

- [`spin admin`](https://spin-stack.github.io/website/reference/cli/admin.md): Administrative commands
- [`spin api-key`](https://spin-stack.github.io/website/reference/cli/api-key.md): Manage API keys
- [`spin code`](https://spin-stack.github.io/website/reference/cli/code.md): Open a workspace in VS Code
- [`spin cp`](https://spin-stack.github.io/website/reference/cli/cp.md): Copy files to or from a workspace
- [`spin exec`](https://spin-stack.github.io/website/reference/cli/exec.md): Run a command in a workspace
- [`spin login`](https://spin-stack.github.io/website/reference/cli/login.md): Authenticate with the platform
- [`spin logout`](https://spin-stack.github.io/website/reference/cli/logout.md): End the profile's session and forget its login
- [`spin open`](https://spin-stack.github.io/website/reference/cli/open.md): Open a repository, branch, commit or pull request from its URL
- [`spin port`](https://spin-stack.github.io/website/reference/cli/port.md): Manage exposed ports for workspaces
- [`spin project`](https://spin-stack.github.io/website/reference/cli/project.md): Manage a team's projects: a repository and the workspace that opens it
- [`spin settings`](https://spin-stack.github.io/website/reference/cli/settings.md): Manage user settings
- [`spin share`](https://spin-stack.github.io/website/reference/cli/share.md): Manage snapshot sharing
- [`spin sign`](https://spin-stack.github.io/website/reference/cli/sign.md): Sign what only you can: your keyring and your teams' rosters
- [`spin smoke`](https://spin-stack.github.io/website/reference/cli/smoke.md): Check an installation does what its API promises, with a workspace of its own
- [`spin snapshot`](https://spin-stack.github.io/website/reference/cli/snapshot.md): Take, list and delete a workspace's snapshots
- [`spin ssh`](https://spin-stack.github.io/website/reference/cli/ssh.md): SSH into a workspace
- [`spin ssh-config`](https://spin-stack.github.io/website/reference/cli/ssh-config.md): Make every workspace reachable with plain ssh, as the host spin.<workspace>
- [`spin ssh-key`](https://spin-stack.github.io/website/reference/cli/ssh-key.md): Manage SSH keys
- [`spin team`](https://spin-stack.github.io/website/reference/cli/team.md): Manage teams
- [`spin trust`](https://spin-stack.github.io/website/reference/cli/trust.md): What this machine trusts of an installation
- [`spin version`](https://spin-stack.github.io/website/reference/cli/version.md): Print version information
- [`spin whoami`](https://spin-stack.github.io/website/reference/cli/whoami.md): Show current user info
- [`spin workspace`](https://spin-stack.github.io/website/reference/cli/workspace.md): Manage workspaces
