Beads Integration

Beads integration is optional. initech works without it. But when enabled, the TUI knows about work assignments and can detect when agents finish tasks.

What Is Beads

Beads is a git-backed issue tracker with a CLI called bd. Each unit of work is a "bead" with an ID (like ini-42), a status, and an assignee. Beads stores its data in a .beads/ directory inside your project, tracked in git alongside your code.

initech does not include or replace beads. It integrates with bd if it's installed and enabled. For the full bd command reference, see the beads documentation.

Enabling and Disabling

Beads integration is controlled by the beads section in initech.yaml:

# Enable beads with a project prefix
beads:
    prefix: ini

# Explicitly disable beads
beads:
    enabled: false

When beads.enabled is false, initech bead and initech standup become no-ops. The TUI still works normally; you just don't get bead badges in the overlay or standup reports.

When beads is enabled, initech sets the BEADS_DIR environment variable in each agent pane so bd commands find the database automatically.

What You Get With Beads

Agent bead display

Agents report which bead they're working on:

$ initech bead ini-42       # Set current bead
$ initech bead --clear      # Clear when done

The bead ID appears in the TUI title bar badge, the agent overlay panel, and the initech status output. At a glance, you see which agents are working on what.

Bead lifecycle

Beads flow through a status sequence that maps to agent workflow:

open -> in_progress -> ready_for_qa -> in_qa -> qa_passed -> closed

initech doesn't enforce this lifecycle. It reads bead state and displays it. The enforcement is in the agent CLAUDE.md files and the bd CLI.

Event detection

The TUI monitors agent JSONL session logs and detects work-state changes:

Detection is aggressive, action is conservative. The TUI surfaces events to the operator. It does not auto-dispatch or auto-close beads.

Morning standup

$ initech standup
  Shipped yesterday
    ini-38  Add role override support
    ini-39  Fix patrol --active flag

  In progress
    ini-42  Auth middleware refactor (eng1)

  Ready for work
    ini-44  Update install script for arm64
    ini-45  Add initech doctor network checks

initech standup queries the bead tracker and produces a daily summary: what shipped, what's in progress and who's working on it, and what's ready to be claimed. Useful for starting a session and deciding what to dispatch first.

Without Beads

initech works fine without beads. Agents still communicate via initech send / peek, the TUI still shows activity states, and all other features work normally. You lose bead badges, the standup command, and event detection tied to bead lifecycle. If you use a different issue tracker (Linear, Jira, GitHub Issues), you can still coordinate work through agent messages and CLAUDE.md instructions.

Last updated: April 2026