On this page

Commands

streb uses init as its default subcommand. Running streb with no arguments is equivalent to streb init.

Command Description
streb [init] Check prerequisites, install missing tools, and authenticate
streb reset Remove everything streb init installed
streb doctor Display health status of all prerequisites
streb version Print the version string
streb completion <shell> Generate shell completion script

Global Flags

These flags are accepted by every command:

Flag Short Description
--verbose -v Set log level to debug — verbose output
--quiet -q Set log level to error — suppress info/warn output
--log-level <level> One of: debug, info, warn, error (default: info)
--version Print version and exit
--help -h Show usage information and exit

streb init

Synopsis: streb [init] [flags]

The default command. Checks and installs all prerequisites in order. Steps run sequentially so dependencies are satisfied before tools that need them.

Exit codes

  • 0 — success
  • 1 — one or more prerequisites failed
  • 130 — interrupted (Ctrl+C / SIGTERM)

Examples

# Interactive setup
streb init

# Non-interactive
STREB_AIHUB_KEY=sk-... streb init

streb reset

Synopsis: streb reset [--skip-*]

Reverses streb init. By default removes all configured components. Use --skip-* flags to preserve specific items.

Flags

Flag What it preserves
--skip-auth Authentication credentials
--skip-git-config Git user.name / user.email configuration
--skip-claude-code Claude Code CLI installation
--skip-bun Bun installation
--skip-jq jq installation
--skip-yq yq installation

Examples

# Remove everything
streb reset

# Keep Claude Code and Bun, reset everything else
streb reset --skip-claude-code --skip-bun

streb doctor

Synopsis: streb doctor

Runs all prerequisite checks in parallel and displays the health status. Read-only — does not install or modify anything.

Checks run:

  • Authentication, Git, Git user config, Bun, Claude Code CLI, jq, yq
  • Network, Disk space, Write permission, Home directory, Proxy config
  • OS / architecture (informational)

Example output

$ streb doctor
  ✓  Authentication
  ✓  Git                  2.47.0
  ✓  Git user config
  ✓  Bun                  1.2.4
  ✓  Claude Code CLI      1.5.0
  ✓  jq                   1.7.1
  ✓  yq                   4.44.6
  ✓  Network
  ✓  Disk space           47.3 GB free
  ✓  Write permission
  ✓  Home directory
  ⊖  Proxy config         none configured
  ✓  OS                   linux/amd64

Status icons

Icon Meaning
OK
Failed
Warning (non-blocking)
Skipped / not applicable

streb version

Synopsis: streb version or streb --version

Prints the version string stamped at build time. Untagged builds print dev.

$ streb version
v1.0.0

streb completion

Synopsis: streb completion <shell>

Supported shells: bash, zsh, fish, powershell

# bash
streb completion bash > /etc/bash_completion.d/streb

# zsh
streb completion zsh > "${fpath[1]}/_streb"

# fish
streb completion fish > ~/.config/fish/completions/streb.fish

# PowerShell
streb completion powershell | Out-String | Invoke-Expression

Configuration

streb merges configuration from multiple sources at startup. The result is a single resolved config object used for the entire run. Both the global file (~/.streb/config.yaml) and the project file (.streb/config.yaml) accept any subset of the keys described below.

Config Schema

The complete configuration file schema. Both ~/.streb/config.yaml (global) and .streb/config.yaml (project) accept any subset of these keys.

# Project identity (commit this in .streb/config.yaml)
project:
  name: string            # Project name
  domain: string          # Optional: domain or environment label
  description: string     # Optional: project description
  repository: string      # Optional: repository URL

# Logging
log:
  level: string           # "debug" | "info" | "warn" | "error" (default: "info")
  format: string          # "text" | "json" (default: "text")
  file: string            # Path to log file; empty = stderr

# Output formatting
output:
  no_color: bool
  format: string          # "text" | "json"

# Retry behavior for API calls
retry:
  max_attempts: int       # default: 3
  initial_delay: duration # default: 2s
  max_delay: duration     # default: 30s
  multiplier: float       # default: 2.0
Note

The ralph section exists in the schema but Ralph autonomous loops are not active in v2. These keys are reserved for a future release.

Precedence

Configuration sources, lowest priority first (later entries win):

Priority Source Notes
1 (lowest) Built-in defaults Compiled into the binary
2 ~/.streb/config.yaml Global, user-level config
3 .streb/config.yaml Project-level config; commit to repo
4 .streb/session Encrypted secrets; never commit
5 Environment variables See table below
6 (highest) CLI flags --log-level, --verbose, --quiet

Environment Variables

Variable Description Overrides
STREB_AIHUB_KEY adesso AI Hub API key Session auth (highest priority)
ANTHROPIC_AUTH_TOKEN adesso AI Hub API key (alternate name) Session auth
ANTHROPIC_API_KEY Direct Anthropic API key Session auth (lowest auth priority)
HTTP_PROXY HTTP proxy URL Detected by streb doctor
HTTPS_PROXY HTTPS proxy URL Detected by streb doctor
NO_PROXY Proxy bypass list Detected by streb doctor

Auth env var precedence: STREB_AIHUB_KEYANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY.

Files & Directories

Path Description
~/.streb/config.yaml Global config file. Created by streb init if it doesn't exist.
.streb/config.yaml Project config file. Commit to your repository.
.streb/session AES-256-GCM encrypted session secrets. Device-fingerprint keyed. Never commit.

Add to .gitignore:

.streb/session