<!-- Markdown mirror of https://runners.vitko.inc/docs/cli/ -->

Tools

# CLI

`vitko` works the same for people and for coding agents: text on a terminal, JSON everywhere else. Open source under Apache-2.0.

## Install

```
brew install vitko-inc/tap/vitko
```

Or use the install script, `uses: vitko-inc/setup-vitko@v1` in GitHub Actions, or a release archive for Linux or macOS. See [github.com/vitko-inc/vitko](https://github.com/vitko-inc/vitko).

## Estimate your bill

```
vitko runners estimate usage-report.csv
```

Reads GitHub’s usage report (CSV, or the billing usage API’s JSON) and shows what your Linux x64 minutes would cost on Vitko next to what GitHub charged. It runs on your machine and uploads nothing. `--from-github ` fetches the report with the GitHub CLI. Get the report on GitHub: organization Settings → Billing and licensing → Usage → Get usage report.

## Switch workflows

```
vitko runners repos switch --dry-run
vitko runners repos switch --pr
```

Changes `runs-on: ubuntu-latest` and `ubuntu-24.04` to `vitko-ubuntu-24.04` in `.github/workflows`, keeping comments and formatting, and lists what it leaves alone and why. `--pr` opens a pull request with your own git and GitHub sign-in.

## Commands

| `vitko runners pricing` | The price list, dated. |
| --- | --- |
| `vitko runners estimate` | What your usage would cost on Vitko. |
| `vitko runners repos switch` | Point workflows at Vitko. |
| `vitko login`, `whoami`, `logout` | Sign in from a terminal. |
| `vitko runners jobs list` | Jobs that ran on Vitko, newest first. |
| `vitko runners usage` | A month’s minutes and cost, next to GitHub’s list price. |
| `vitko runners limits show` / `set` | Your spend limit and jobs at once. |
| `vitko tokens` | Organization API tokens for agents and scripts. |
| `vitko help --json` | Every command, flag, output schema and exit code. |

Sign-in, jobs, usage, limits and tokens arrive in the next release; the current release has pricing, estimate and repos switch.

## For agents and scripts

- JSON by default when output isn’t a terminal; `--output text|json|ndjson` to choose.
- Every document has a `schema` field; `vitko schema show ` prints its JSON Schema.
- Money is in integer micros of USD. Unknown values are `null`, never `0`.
- Errors have a stable code, a hint and, where possible, the command that fixes them. It never prompts.
