Skip to content

feat(list): add --ready workflow flag#40

Merged
hmans merged 8 commits intomainfrom
feat/list-workflow-flags
Dec 28, 2025
Merged

feat(list): add --ready workflow flag#40
hmans merged 8 commits intomainfrom
feat/list-workflow-flags

Conversation

@hmans
Copy link
Copy Markdown
Owner

@hmans hmans commented Dec 28, 2025

Summary

Adds a --ready convenience flag to beans list for finding actionable work:

beans list --ready    # Not blocked, excludes completed/scrapped/draft

This extends the existing command rather than adding new top-level commands, keeping beans --help concise.

Changes

File Change
cmd/list.go Add --ready flag with mutual exclusivity check vs --is-blocked
cmd/list_test.go Add table-driven test for flag validation
cmd/prompt.tmpl Simplify agent instructions to use beans list instead of GraphQL
.beans/*.md Track work, scrap superseded beans

Usage

# Find actionable beans
beans list --ready

# Combine with other filters
beans list --ready -t bug

# Conflicting flags produce clear error
beans list --ready --is-blocked
# Error: --ready and --is-blocked are mutually exclusive

Design decisions

  • No --blocked alias: We considered adding --blocked as an alias for --is-blocked, but removed it to avoid unnecessary duplication
  • Fail-fast on conflicts: --ready and --is-blocked are semantically contradictory, so we error immediately rather than silently producing unexpected results
  • Scrapped beans-7kb7/beans-8q44: The beans blocked and beans ready commands are no longer needed — flags cover these use cases

Refs: beans-0elf

Test plan

  • mise build succeeds
  • mise test passes
  • beans list --help shows new --ready flag
  • beans list --ready returns actionable beans
  • beans list --ready --is-blocked returns clear error
  • beans prime output uses simplified commands

- Add --blocked flag as alias for --is-blocked
- Add --ready flag for actionable beans (not blocked, excludes completed/scrapped/draft)
- Update prompt.tmpl to use simpler --ready flag instead of GraphQL query

These convenience flags reduce command sprawl by extending `beans list`
instead of adding new top-level commands.

Refs: beans-0elf
Superseded by --blocked and --ready flags in beans list.
Keep only --is-blocked (existing) and --ready (new).
The --blocked alias was unnecessary duplication.
These flags are semantically contradictory (--ready implies not blocked).
Fail fast with a clear message rather than silently producing unexpected results.
- Use `beans list -s in-progress` instead of GraphQL query
- Add --full to both commands so agents get bean bodies
- Rename misleading `notBlocked` variable to `isBlocked`
- Update bean description to remove stale --blocked reference
- Add table-driven test for --ready/--is-blocked mutual exclusivity
@hmans hmans changed the title feat(list): add --blocked and --ready workflow flags feat(list): add --ready workflow flag Dec 28, 2025
@hmans hmans merged commit aef7585 into main Dec 28, 2025
1 check passed
@hmans hmans deleted the feat/list-workflow-flags branch December 28, 2025 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant