Getting Started
Prerequisites
- macOS or Linux (on Windows, use WSL)
- No Python needed — the installer below brings its own. (Installing with
piporpipxinstead? Those need Python 3.10+ already present.) - An API key for at least one LLM provider:
- Anthropic (recommended)
- OpenAI
- Google AI Studio
- AWS Bedrock (IAM credentials — no API key needed on EC2/Lightsail)
Installation
curl -LsSf https://yeaboi.ai/install.sh | sh
yeaboi --setup # configure your API key
yeaboi # launch the interactive TUI
The script installs uv if it is missing, then gives
yeaboi its own isolated environment on a Python that uv downloads — so the Python already on
your machine does not matter. It writes only under your home directory and never uses
sudo. You can
read it first.
Other ways to install
uv tool install yeaboi # already have uv
uvx yeaboi # try it without installing
pipx install --python 3.12 --fetch-missing-python yeaboi
pip install yeaboi # needs Python 3.10+ already present
uv tool install fetches a Python for you when nothing on the machine qualifies.
pipx and pip do not — they install with the
interpreter they are run under, which is why those flags are needed.
Installing from source (development)
make install # installs uv, creates venv, installs dependencies
make env # creates .env from .env.example
make pre-commit # installs pre-commit hooks
First-run setup wizard
On first launch (or with --setup), an interactive wizard walks you through:
- LLM provider selection — choose Anthropic, OpenAI, Google, or AWS Bedrock
- API key entry — with format validation hints (e.g., Anthropic keys start with
sk-ant-) - Issue tracking — Jira or Azure DevOps Boards (with org URL, project, and PAT verification)
- Version control — GitHub PAT token (or skip)
- Credential storage — saved to
~/.yeaboi/.env
yeaboi --setup # re-run anytime to update credentials
API keys
Anthropic (default)
ANTHROPIC_API_KEY=sk-ant-...
OpenAI (alternative)
LLM_PROVIDER=openai
OPENAI_API_KEY=sk-...
Google (alternative)
LLM_PROVIDER=google
GOOGLE_API_KEY=AIza...
LangSmith (optional tracing)
LangSmith provides tracing and observability. Add to .env:
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=lsv2_pt_...
LANGSMITH_PROJECT=yeaboi
Intake Modes
The agent supports four intake modes, each balancing thoroughness with speed.
Smart mode (default)
The recommended mode. The agent:
- Reads your initial project description and extracts answers to as many questions as possible
- When an analysis profile is selected, auto-fills team size, sprint length, velocity, tech stack, and integrations from real data
- Asks only the remaining essential questions (typically 2–4)
- Uses answer provenance tracking to tag how each answer was obtained:
DIRECT— you explicitly answeredEXTRACTED— parsed from your initial descriptionDEFAULTED— filled with a sensible defaultPROBED— filled via a targeted follow-up questionSCRUM_MD— loaded from aSCRUM.mdfile in the current directory
- Applies conditional essentials — questions that only appear when relevant (e.g., "What are their roles?" only asked after you give a team size)
- Runs cross-question validation — catches contradictions (e.g., team size of 1 but multiple roles listed)
- Generates adaptive follow-ups using question-specific templates (not generic "tell me more")
- Accepts "any" / "no preference" for tech stack (Q11) and "none" for integrations (Q12) without triggering follow-up probes
Quick mode (--quick)
Two questions only: team size and tech stack. Everything else gets sensible defaults. Best for rapid prototyping or CI pipelines.
Standard mode (--full-intake)
Six questions are rendered as numbered selection menus instead of free text:
| Q | Topic | Options |
|---|---|---|
| Q2 | Project type | Greenfield / Existing codebase / Hybrid |
| Q8 | Sprint length | 1 week / 2 weeks (default) / 3 weeks / 4 weeks |
| Q16 | Code hosting | GitHub / Azure DevOps / GitLab / Bitbucket / Local |
| Q18 | Repo structure | Monorepo / Multi-repo / Microservices / Monolith |
| Q24 | Estimation style | Fibonacci points / T-shirt sizes / No estimates |
| Q26 | Output format | Jira / Markdown / Both |
Type defaults at any question to batch-accept all defaults for the current phase and skip ahead.
All 30 questions asked one-at-a-time in a conversational flow. Seven phases:
- Project Context (Q1–Q5) — name, type, goals, users, deadlines
- Team & Capacity (Q6–Q10) — engineers, roles, sprint length, velocity, target sprints
- Technical Context (Q11–Q14) — tech stack, integrations, constraints, docs
- Codebase Context (Q15–Q20) — repo, structure, CI/CD, tech debt
- Risks & Unknowns (Q21–Q23) — risks, blockers, out-of-scope
- Preferences (Q24–Q26) — estimation, DoD, output format
- Capacity Planning (Q27–Q30) — sprint selection, bank holidays, unplanned absence %, onboarding
Offline import (--questionnaire)
- Export a blank template:
yeaboi --export-questionnaire - Fill it in at your own pace in any editor
- Import:
yeaboi --questionnaire intake.md - Review the summary and confirm before proceeding
The format is round-trippable (export → edit → import preserves answers exactly).
SCRUM.md context
Drop a SCRUM.md file in your project directory with any relevant context — project notes, design decisions, URLs, architecture diagrams. The agent reads it automatically and uses it to pre-fill answers and ground its output. Answers extracted from SCRUM.md are tagged with *(from SCRUM.md)* provenance markers in the intake summary. Your typed description always takes priority over SCRUM.md when both provide the same information.
scrum-docs/ directory
Place PRDs, design docs, or reference material in a scrum-docs/ directory. Supported formats: .md, .txt, .rst, .pdf. PDF support requires the pymupdf optional dependency:
uv sync --extra pdf
Files are automatically ingested and fed into the project analyzer for grounded output.