Getting Started

Prerequisites

  • macOS or Linux (on Windows, use WSL)
  • No Python needed — the installer below brings its own. (Installing with pip or pipx instead? Those need Python 3.10+ already present.)
  • An API key for at least one LLM provider:

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:

  1. LLM provider selection — choose Anthropic, OpenAI, Google, or AWS Bedrock
  2. API key entry — with format validation hints (e.g., Anthropic keys start with sk-ant-)
  3. Issue tracking — Jira or Azure DevOps Boards (with org URL, project, and PAT verification)
  4. Version control — GitHub PAT token (or skip)
  5. 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:

  1. Reads your initial project description and extracts answers to as many questions as possible
  2. When an analysis profile is selected, auto-fills team size, sprint length, velocity, tech stack, and integrations from real data
  3. Asks only the remaining essential questions (typically 2–4)
  4. Uses answer provenance tracking to tag how each answer was obtained:
    • DIRECT — you explicitly answered
    • EXTRACTED — parsed from your initial description
    • DEFAULTED — filled with a sensible default
    • PROBED — filled via a targeted follow-up question
    • SCRUM_MD — loaded from a SCRUM.md file in the current directory
  5. Applies conditional essentials — questions that only appear when relevant (e.g., "What are their roles?" only asked after you give a team size)
  6. Runs cross-question validation — catches contradictions (e.g., team size of 1 but multiple roles listed)
  7. Generates adaptive follow-ups using question-specific templates (not generic "tell me more")
  8. 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:

QTopicOptions
Q2Project typeGreenfield / Existing codebase / Hybrid
Q8Sprint length1 week / 2 weeks (default) / 3 weeks / 4 weeks
Q16Code hostingGitHub / Azure DevOps / GitLab / Bitbucket / Local
Q18Repo structureMonorepo / Multi-repo / Microservices / Monolith
Q24Estimation styleFibonacci points / T-shirt sizes / No estimates
Q26Output formatJira / 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:

  1. Project Context (Q1–Q5) — name, type, goals, users, deadlines
  2. Team & Capacity (Q6–Q10) — engineers, roles, sprint length, velocity, target sprints
  3. Technical Context (Q11–Q14) — tech stack, integrations, constraints, docs
  4. Codebase Context (Q15–Q20) — repo, structure, CI/CD, tech debt
  5. Risks & Unknowns (Q21–Q23) — risks, blockers, out-of-scope
  6. Preferences (Q24–Q26) — estimation, DoD, output format
  7. Capacity Planning (Q27–Q30) — sprint selection, bank holidays, unplanned absence %, onboarding

Offline import (--questionnaire)

  1. Export a blank template: yeaboi --export-questionnaire
  2. Fill it in at your own pace in any editor
  3. Import: yeaboi --questionnaire intake.md
  4. 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.