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.

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 <org> 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 pricingThe price list, dated.
vitko runners estimateWhat your usage would cost on Vitko.
vitko runners repos switchPoint workflows at Vitko.
vitko login, whoami, logoutSign in from a terminal.
vitko runners jobs listJobs that ran on Vitko, newest first.
vitko runners usageA month’s minutes and cost, next to GitHub’s list price.
vitko runners limits show / setYour spend limit and jobs at once.
vitko tokensOrganization API tokens for agents and scripts.
vitko help --jsonEvery 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 <id> 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.