Skip to content

FYI Claude compared beans with beads #25

Description

@sotte

This is no real issue, just a FYI, maybe interesting.

As part of my beans evaluation, I asked claude to do the same tasks with beans and beads (using subagents) and report back to me.

These are the results:

● Done! Evaluation complete with isolated subagents. Here's what was created:

  Reports:
  - /tmp/beans-beads-eval/beads-evaluation.md - 772 lines of detailed Beads testing
  - /tmp/beans-beads-eval/beans-evaluation.md - 1052 lines of detailed Beans testing
  - /tmp/beans-beads-eval/evaluation-report.md - Synthesized comparison

  Key Findings:

  | Tool  | Score  | Strengths                                                                   | Weaknesses                                                                   |
  |-------|--------|-----------------------------------------------------------------------------|------------------------------------------------------------------------------|
  | Beads | 8.5/10 | Hierarchical child IDs (vk5.1), bd ready/bd blocked commands, deep git sync | No native search, can't combine filters, no delete confirmation              |
  | Beans | 9/10   | GraphQL power, native search, human-readable markdown files, delete safety  | No built-in ready command, ID prefix matching broken, steeper learning curve |

  Bottom line: Both are production-ready. Beans edges ahead for flexibility; Beads wins on workflow convenience. The hierarchical child IDs in Beads are particularly elegant (vk5.1, vk5.2, vk5.3 under epic vk5).

Also interesting, maybe even more than the above, how many tokens were used and tool calls were made:

● 2 Task agents finished (ctrl+o to expand)
   ├─ Evaluate Beads CLI tool · 58 tool uses · 37.6k tokens
   │  ⎿  Done
   └─ Evaluate Beans CLI tool · 84 tool uses · 55.3k tokens
      ⎿  Done

Prompt:

You are evaluating two CLI-based issue tracking tools: Beads (bd) and Beans.

Your goal: Test both tools through realistic workflows and document your experience.

Setup

You're in a test repository at: /tmp/beans-beads-eval
Both tools are installed and available in PATH.

Process

Run two sequential evaluations. For each tool:

  1. Initialize and prime
  2. Execute the test scenarios below
  3. Document your experience (friction, errors, what worked well)

Evaluation 1: Beads (bd)

cd /tmp/beans-beads-eval/beads-test
bd init
bd prime

Now execute the scenarios below using bd commands. Document everything.

Evaluation 2: Beans

cd /tmp/beans-beads-eval/beans-test
beans init
beans prime

Now execute the same scenarios using beans commands. Document everything.


Test Scenarios

Execute these scenarios with each tool. Document: commands used, output, any errors, friction points.

Scenario 1: Basic Task Lifecycle

  1. Create a task: "Implement user authentication"
  2. List all open tasks
  3. Update the task to in_progress status
  4. Add a description: "OAuth2 with Google provider"
  5. Close the task with a reason
  6. Verify it shows as closed

Scenario 2: Dependency Management

  1. Create an epic: "Payment System"
  2. Create 3 child tasks:
    • "Design payment schema"
    • "Implement Stripe integration"
    • "Write payment tests"
  3. Make "Implement Stripe" depend on "Design schema"
  4. Make "Write tests" depend on "Implement Stripe"
  5. View the dependency tree
  6. Find tasks that are "ready" (no blockers)
  7. Close the first task, check what becomes ready

Scenario 3: Filtering and Search

  1. Create 5 tasks with different priorities (P0-P4)
  2. Add labels: "backend", "frontend", "urgent" to various tasks
  3. Filter by status
  4. Filter by priority
  5. Filter by label
  6. Search for a keyword in task titles
  7. Find all blocked tasks
  8. Find all ready tasks

Scenario 4: Agent Workflow Simulation

  1. Run the "prime" command and examine the output
  2. Create a task based on the prime context
  3. Update the task as you "work" on it
  4. Add a comment/note to the task
  5. Close the task
  6. Sync/commit changes (if applicable)

Scenario 5: Edge Cases

  1. Try to create a task with special characters in title
  2. Create a task with a very long description (500+ chars)
  3. Try to close a task that's already closed
  4. Try to add a circular dependency
  5. Delete a task and verify cleanup

Deliverable

After completing both evaluations, create a comparison report:

# Beans vs Beads Hands-On Evaluation

## Summary
[Which tool felt better to use? Why?]

## Scenario Results

### Scenario 1: Basic Task Lifecycle
| Aspect | Beads | Beans |
|--------|-------|-------|
| Commands used | ... | ... |
| Friction points | ... | ... |
| What worked well | ... | ... |

[Repeat for each scenario]

## Command Comparison
| Operation | Beads Command | Beans Command | Notes |
|-----------|---------------|---------------|-------|
| Create task | bd create "title" | beans create "title" | ... |
| List tasks | bd list | beans list | ... |
| ... | ... | ... | ... |

## Key Differences Found
1. ...
2. ...

## Errors Encountered
### Beads
- ...

### Beans
- ...

## Recommendation
[Based on hands-on testing, which tool is better for our workflow and why?]

## Raw Logs
[Include full command output for reference]

Save the report to: /tmp/beans-beads-eval/evaluation-report.md


Important Notes

  • Run evaluations SEQUENTIALLY (Beads first, then Beans)
  • Document EVERYTHING - commands, output, errors, feelings
  • Be objective - note both strengths and weaknesses
  • If a feature doesn't exist, document that clearly
  • Time yourself roughly on each scenario

---

## How to Run This Evaluation

1. Create the test directories:
```bash
mkdir -p /tmp/beans-beads-eval/beads-test
mkdir -p /tmp/beans-beads-eval/beans-test
  1. Ensure both tools are installed:
which bd        # Should show path
which beans     # Should show path
  1. Start a fresh Claude Code session and paste the prompt above

  2. Review the generated evaluation-report.md

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions