Getting Started¶
Requirements¶
| Tool | Purpose | Install |
|---|---|---|
| gh | GitHub API | brew install gh |
| git | Version control | brew install git |
| claude | AI coding agent | npm i -g @anthropic-ai/claude-code |
| Python 3.12+ | Runtime | brew install python@3.12 |
ANTHROPIC_API_KEY |
Anthropic API authentication | docs |
Interim install (pre-launch)
The create-kew and kew-cli packages publish to npm and PyPI at launch.
Until then npx create-kew and pip install kew-cli won't resolve —
install the CLI from source instead:
That gives you the kew command (with the web serve extra). Then skip the
install step below and start from "Create config".
Option A: Interactive setup (recommended)¶
This walks you through repo detection, config creation, and label setup.
Option B: Manual setup¶
# 1. Install
uv add kew-cli
# or: pip install kew-cli
# 2. Create config
cat > kew.toml << 'EOF'
[project]
name = "my-project"
repo = "owner/name" # your GitHub repo — kew dispatches issues from here
[commands]
# ci and format accept any shell command — use your stack's.
# Node: ci = "npm test" format = "prettier --write ."
# Python: ci = "pytest" format = "ruff format ."
ci = "npm test"
format = "prettier --write ."
commit_prefix = "feat(#{issue}): "
EOF
# 3. Create labels and security hooks
kew setup
# 4. Mark an issue ready — kew's queue IS the `ready` label; nothing
# dispatches until you bless an issue.
gh issue edit <n> --add-label ready
# 5. Dispatch
kew run
What happens next¶
- kew picks the highest-priority
readyissue from your GitHub queue - It creates an isolated git worktree on a branch like
agent/issue-42 - If an approval gate is configured and the estimated cost meets your threshold, the issue is parked under
needs-approvalbefore the agent runs — release it withkew approve --issue N, the TUIAkey, or via the web inbox (kew serve) - Claude Code runs with your CI, budget, and security guardrails
- On success, a PR is created and labeled
pr-pending-review - You review the PR like any other
See How It Works for the full dispatch loop.