Getting Started
From zero to agentic
dev in under 5 minutes
streb bootstraps a complete, governed AI development environment in one command — Claude Code, task tracking, slash commands, hooks, and security rules, all configured and ready to use.
brew tap adesso-ai/streb && brew install streb && streb init
macOS & Linux via Homebrew · Windows via Scoop ↓
Install & initialise your project
brew tap adesso-ai/streb
brew install streb
cd my-project
# navigate to your project directory
streb init
scoop bucket add streb https://github.com/adesso-ai/scoop-streb
scoop install streb
cd my-project
streb init
What streb init does
streb init runs an interactive setup wizard that installs and configures everything in order. Each step is safe to re-run — streb skips what is already installed.
~/.streb/ and ~/.claude/. Additional integrations such as GitHub, GitLab, or Jira may prompt for their own credentials later.claude CLI and configures it with your API key. This is the AI assistant you'll work with in the terminal.bd — a lightweight, git-backed issue tracker — and initialises a .beads/ directory in your project. No external service required.CLAUDE.md (the AI's instruction manual), pre-built slash commands, specialised sub-agents, lifecycle hooks, and security rules into your project's .claude/ directory.container-use for isolated container-based work sessions, allowing Claude to run code in a clean environment without touching your local machine.streb doctor automatically to confirm every component is installed and configured correctly before finishing.Setup profiles
streb init --profile default
Standard interactive setup (recommended)
streb init --profile minimal
Skip optional integrations and plugins
streb init --profile full
Install all recommended tooling
streb init --profile ci --yes
Non-interactive CI/CD setup
Start your first session
Once initialised, you have two ways to work with Claude Code: directly in your terminal, or inside a fully isolated container.
The simplest option. Open Claude Code directly in your project directory.
cd my-projectclaudeRun inside a Dagger container for complete isolation. Agent actions stay sandboxed.
streb run interactivestreb run interactive --task-id bd-abc1What Claude Code looks like
When Claude Code starts, it reads your CLAUDE.md and .claude/ directory. You get a conversational interface in your terminal where you can describe what you want to do.
Commit: feat(bd-a1b2): add input validation to registration form
The AI's instruction manual for your project. Defines workflow rules, git conventions, quality checks, and how to interact with Beads. Committed to git so all developers share the same AI behaviour.
Contains slash command definitions, sub-agent prompts, lifecycle hooks, and security rules. Everything Claude Code loads at startup to give it structured capabilities.
Shell scripts that fire on lifecycle events — before and after tool use, on session start and close. They auto-format code, scan for secrets, and write an audit trail without you having to think about it.
Track work with Beads
Beads is a git-native issue tracker installed by streb. Tasks live as JSONL files in .beads/, sync over git, and integrate directly into Claude Code's workflow. No Jira account, no external service, no browser needed.
bd readybd show bd-a1b2Check what's available before starting. Beads surfaces only unblocked, open tasks.
bd create \--title="Fix login redirect" \--type=bug --priority=1bd update bd-e5f6 \--status=in_progressPriority: 0 = critical, 1 = high, 2 = medium, 3 = low, 4 = backlog.
bd close bd-e5f6 \--reason="Fixed redirect"bd syncClosing multiple tasks at once: bd close bd-1 bd-2 bd-3
Beads command reference card
| Command | What it does |
|---|---|
| bd ready | Show open tasks with no blockers — your starting point |
| bd list --status=open | All open tasks (including blocked ones) |
| bd show <id> | Full task detail — description, dependencies, notes |
| bd create --title="..." --type=task --priority=2 | Create a new task (type: task | bug | feature) |
| bd update <id> --status=in_progress | Claim a task / change status |
| bd close <id> | Mark task complete |
| bd dep add <id> <depends-on> | Add a dependency between tasks |
| bd blocked | Show all blocked tasks and what's blocking them |
| bd stats | Project health summary — open / closed / blocked counts |
| bd sync | Sync Beads state with git remote |
Use slash commands
Slash commands are structured workflows you type directly inside a Claude Code session. They trigger pre-built prompts in .claude/commands/ — from quick one-step operations to multi-step autonomous loops.
Single-step atomic operations. Run fast, no quality gate. Use for routine actions like committing or formatting.
Gate → Execute → Verify pattern. Reads context, performs work, then verifies the result before reporting done.
Autonomous multi-step orchestration via the Ralph loop. Runs until COMPLETE or BLOCKED, with full audit trail.
The commands you'll use every day
/commit
Stage and commit the current changes with a well-formatted conventional commit message. Automatically links to the active Beads task.
/commit
# → git add, conventional commit with bd-xxxx reference
/test
Run the project's test suite. Detects your language and toolchain automatically, then reports results with a pass/fail summary.
# → auto-detects: go test ./... | npm test | pytest | cargo test
/review
Review the current diff for code quality, security issues, and adherence to project conventions. Returns a structured report.
# → reads git diff, checks OWASP, style, patterns; reports findings
/done
Complete the current work: run quality gates, close the active Beads task, commit changes, and push. The full session-close sequence in one command.
# → lint → test → commit → bd close → git push
/implement-feature
Autonomous implementation of a Beads task or epic. The agent loops — reading, writing, testing, fixing — until it signals COMPLETE or gets BLOCKED.
# → reads task → plans → implements → tests → closes → commits
/status
Show the current project, Beads, and git status in one view — open tasks, branch, uncommitted changes, and tool health.
# → bd stats + git status + streb status
Check & maintain your environment
Three commands keep your streb environment healthy. Run them whenever something feels off — or just periodically to stay on top of updates.
streb status
Quick overview of your environment: installed tools with versions, authentication state, and whether Beads UI is running. Exits 1 if anything is broken.
streb doctor
Deeper diagnostic check. Validates not just that tools are installed, but that they are correctly configured and communicating. Run this when streb status shows issues or after an upgrade.
streb upgrade
Upgrade all components that streb manages — Claude Code, Beads, Beads UI, and Dagger — to their latest versions. Safe to run at any time.
A typical daily workflow
Here's what a normal day looks like once streb is set up. All of this happens in the terminal — no browser, no Jira login required.
bd readybd show bd-a1b2bd update bd-a1b2 --status=in_progressstreb run interactive --task-id bd-a1b2Implement the task bd-a1b2. Write tests first, then implement./test/review/done/exitbd readyNext steps
How It Works
Understand the full architecture — the traceability chain, Ralph Wiggum loop, headless mode, and how requirements connect to code.
For Teams
Roll out streb across your whole team. Standardised configurations, Jira integration, VDI deployment, and compliance-grade audit trails.
CLI & Skills Reference
Every streb CLI command, every slash command, and all Beads operations in a searchable, filterable reference table.