> ## Documentation Index
> Fetch the complete documentation index at: https://docs.2501.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 2501 CLI

> One binary, six command groups — manage the platform from your terminal or CI

The `2501` CLI is how you manage 2501 from a terminal or a CI/CD pipeline. It is **one binary** built from `apps/cli-2501` and ships as `2501-linux`, `2501-macos`, etc.

## Command groups

<CardGroup cols={3}>
  <Card title="login" icon="key" href="/0.8/cli/login-status">
    Sign in with email + password. `status` shows who you are and which instance you're pointed at.
  </Card>

  <Card title="resources" icon="code-branch" href="/0.8/cli/resources">
    Configuration as code. `pull` to snapshot, `sync` to apply.
  </Card>

  <Card title="infra" icon="server" href="/0.8/cli/infra">
    On-premise deployment: `deploy`, `init`, `config`, `logs`, plus tenant/org/user/webhook/feature management.
  </Card>

  <Card title="runner" icon="flask" href="/0.8/cli/runner">
    Run and validate [Benchmark](/0.8/benchmark/overview) scenarios. `start`, `validate`, `chaos`, `flush`, `sandbox`.
  </Card>

  <Card title="chat" icon="message" href="/0.8/cli/chat">
    Talk to the AI Assistant from the terminal.
  </Card>

  <Card title="status" icon="circle-info" href="/0.8/cli/login-status">
    Current instance, signed-in user, version.
  </Card>
</CardGroup>

## Quick reference

```bash theme={null}
# Auth
2501 login
2501 status

# Configuration as code
2501 resources pull -d ./config
2501 resources sync -d ./config

# On-prem lifecycle (uses aliases — t/o/u/ft are also accepted)
2501 infra deploy
2501 infra tenant create --name "My Company"
2501 infra org create --name "Engineering" --tenant-id ten_xxx
2501 infra user create --email you@company.com --role ADMIN ...
2501 infra webhook create --gateway-id gtw_xxx --source-type servicenow --event-type incident --name prod
2501 infra feature enable enableElasticSearch

# Benchmarks (sandbox only)
2501 runner start -s nginx/001-broken-config
2501 runner validate --scenarios nginx
```

## Two CLIs, one binary

Before the merge: `2501-infra` for deployment, `2501-runner` for benchmarks, `2501` for resources. All three are now subcommands of one `2501` binary. If you have muscle memory for `2501-infra deploy`, that becomes `2501 infra deploy`. A hidden stub for `infra update` prints a redirect because that command was folded into `deploy`.

## Installing

Your 2501 account team ships the installer. The installer places a checksum-verified static binary, sets up a sudo wrapper for privileged commands, and runs `2501 infra init` non-interactively so the workspace is ready when it finishes.

To update the binary later, re-run the installer (idempotent — it never touches an existing workspace) or run an interactive `2501 infra deploy`: picking a version self-updates the binary first.
