Files
T
Steve Cliff 7937266262 feat(status): add --project flag for filtering boards by project name
- Implemented the --project flag in the pcli status command to filter boards based on the specified project name.
- Updated the command to resolve project names to IDs using case-insensitive matching.
- Adjusted the totalBoards count in the output to reflect the number of boards matching the project filter.
- Enhanced command help text and README documentation to include usage examples for the new flag.
- Verified functionality through manual testing and ensured default behavior remains unchanged when the flag is omitted.

feat(board): expand GetBoard response to include labels and card associations

- Modified the Board struct to include Labels, CardLabels, and CardMemberships fields.
- Updated the GetBoard method to parse additional fields from the API response.
- Enhanced ListCardsByBoard to include label names for each card based on the enriched board data.
- Ensured backward compatibility by making new fields optional and preserving existing output structure.
2026-02-18 21:38:41 +00:00

1.6 KiB

MODIFIED Requirements

Requirement: Enriched board-level card listing

The system SHALL provide a card list --board <id> operation that returns all cards across all lists in a board, with each card enriched with the listName field and a labels field. The operation SHALL: (1) call GET /boards/{id} to retrieve the board and its included lists, cards, labels, and cardLabels, (2) build a card-to-label-names map by joining cardLabels with labels, (3) inject listName and labels into each card. The labels field SHALL be an array of label name strings. The --limit flag SHALL apply to the total number of cards returned across all lists.

Scenario: List all cards on a board

  • WHEN pcli card list --board <id> is executed
  • THEN the system SHALL return all cards from all lists in the board
  • AND each card SHALL include a listName field with the name of its containing list
  • AND each card SHALL include a labels field with an array of label names attached to that card

Scenario: Card with multiple labels

  • WHEN a card has two labels ("bug" and "urgent") attached
  • THEN the labels array for that card SHALL contain both "bug" and "urgent"

Scenario: Card with no labels

  • WHEN a card has no labels attached
  • THEN the labels array for that card SHALL be an empty array (not null)

Scenario: Board card listing with limit

  • WHEN pcli card list --board <id> --limit 10 is executed
  • THEN the system SHALL return at most 10 cards total across all lists
  • AND each card SHALL include the listName and labels fields