Getting Started

Prerequisites

Installation (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.