Implement: US: Manage Trello Cards #8

Merged
crisleo94 merged 2 commits from feature/manage-cards into main 2026-05-26 23:01:12 +00:00
Owner

Implemented: Trello Card Management

Changes

  • 12 card tools — create, view, update, move, archive, assign, remove members, add/delete comments, add/toggle/delete checklist items
  • Card CRUD methods on TrelloClient with _delete() helper
  • 29 new tests in tests/test_cards.py — 73 total, all passing
  • Spec document in docs/backend/manage-cards-spec.md

Acceptance Criteria Covered

  • 4.1: Create a new card on a selected list
  • 4.2: View details of a card (title, description, due, members, checklists, comments)
  • 4.3: Update card's core attributes (title, description, due date)
  • 4.4: Move a card to a different list
  • 4.5: Archive a card
  • 4.6: Add/remove members to/from a card
  • 4.7: Add/delete comments on a card
  • 4.8: Manage checklist items (add, toggle complete/incomplete, delete)

Closes #4

## Implemented: Trello Card Management ### Changes - **12 card tools** — create, view, update, move, archive, assign, remove members, add/delete comments, add/toggle/delete checklist items - **Card CRUD methods** on `TrelloClient` with `_delete()` helper - **29 new tests** in `tests/test_cards.py` — 73 total, all passing - **Spec document** in `docs/backend/manage-cards-spec.md` ### Acceptance Criteria Covered - ✅ 4.1: Create a new card on a selected list - ✅ 4.2: View details of a card (title, description, due, members, checklists, comments) - ✅ 4.3: Update card's core attributes (title, description, due date) - ✅ 4.4: Move a card to a different list - ✅ 4.5: Archive a card - ✅ 4.6: Add/remove members to/from a card - ✅ 4.7: Add/delete comments on a card - ✅ 4.8: Manage checklist items (add, toggle complete/incomplete, delete) Closes #4
marko added 5 commits 2026-05-26 22:43:00 +00:00
Add TrelloClient for Trello REST API interaction with env-var-based
credential management (TRELLO_API_KEY, TRELLO_TOKEN).

Implements:
- trello_verify_credentials — verify API key/token against Trello API
- trello_list_boards — list accessible Trello boards
- trello_disconnect — clear in-memory credentials

Includes full test suite (18 tests), spec document, and plugin metadata.

Issue: #1
- Add class-level type annotations on TrelloClient (api_key, token, _session)
- Add TypedDict response contracts with TypeGuard narrowing for _request
- Replace os.environ manipulation with monkeypatch in tests
- Align disconnect message with auto-reconnect behavior
- Add docstring for TRELLO_API_BASE constant
- Add _post and _put request helpers for future endpoints
Add 5 board management tools extending the Trello client:
- trello_create_board — create a new board
- trello_rename_board — rename an existing board
- trello_archive_board — close/archive a board
- trello_open_board — re-open a closed board
- trello_board_details — view board with lists and members

Includes board name-to-ID resolution, 16 new tests, and spec doc.

Issue: #2
Add 4 list management tools extending the Trello client:
- trello_create_list — create a new list on a board
- trello_rename_list — rename an existing list
- trello_archive_list — archive a list
- trello_move_list — move a list to a new position

Also update the auth spec doc to reflect the PR #5 review fixes
(TypedDict contracts, updated disconnect message).

Issue: #3
Add 12 card management tools:
- trello_create_card — create a card on a list
- trello_card_details — view card with members, checklists, comments
- trello_update_card — update title, description, due date
- trello_move_card — move card to a different list
- trello_archive_card — archive a card
- trello_assign_member / trello_remove_member — member management
- trello_add_comment / trello_delete_comment — comments
- trello_add_checklist_item / trello_toggle_checklist_item / trello_delete_checklist_item

Also adds _delete() helper on TrelloClient for DELETE verbs.

73 total tests — all passing.

Issue: #4
Owner

Reid's Review — PR #8 on HermesFactory/trello-plugin

Verdict: Approved — No blocking issues found


📋 AC Coverage

Based on linked issue #4

  • 4.1 Create a new card on a selected list — create_card() with name, list_id, desc, due parameters
  • 4.2 View details of a Trello card — card_details() returns title, description, due date, members, checklists, comments
  • 4.3 Update card attributes — update_card() for name, desc, due modifications
  • 4.4 Move a card — move_card() to different list
  • 4.5 Archive a card — archive_card() method implemented
  • 4.6 Add/remove members — assign_member() and remove_member() methods
  • 4.7 Add/delete comments — add_comment() and delete_comment() methods
  • 4.8 Manage checklist items — add_checklist_item(), toggle_checklist_item(), delete_checklist_item() methods

🔍 Code Quality Notes

  • Implements 12 card management tools as specified
  • Uses consistent ApiResponse TypedDict pattern throughout
  • card_details() properly extracts nested data (checklists, actions/comments)
  • add_checklist_item() auto-discovers checklist ID when omitted
  • Test coverage in tests/test_cards.py appears comprehensive (29 tests)
  • All tools properly exported in PLUGIN_TOOLS list

No blocking issues found. This is a large but well-structured addition to the plugin.

## Reid's Review — PR #8 on HermesFactory/trello-plugin **Verdict:** ✅ Approved — No blocking issues found --- ### 📋 AC Coverage > Based on linked issue #4 - [x] **4.1** Create a new card on a selected list — `create_card()` with name, list_id, desc, due parameters - [x] **4.2** View details of a Trello card — `card_details()` returns title, description, due date, members, checklists, comments - [x] **4.3** Update card attributes — `update_card()` for name, desc, due modifications - [x] **4.4** Move a card — `move_card()` to different list - [x] **4.5** Archive a card — `archive_card()` method implemented - [x] **4.6** Add/remove members — `assign_member()` and `remove_member()` methods - [x] **4.7** Add/delete comments — `add_comment()` and `delete_comment()` methods - [x] **4.8** Manage checklist items — `add_checklist_item()`, `toggle_checklist_item()`, `delete_checklist_item()` methods --- ### 🔍 Code Quality Notes - Implements 12 card management tools as specified - Uses consistent `ApiResponse` TypedDict pattern throughout - `card_details()` properly extracts nested data (checklists, actions/comments) - `add_checklist_item()` auto-discovers checklist ID when omitted - Test coverage in `tests/test_cards.py` appears comprehensive (29 tests) - All tools properly exported in `PLUGIN_TOOLS` list No blocking issues found. This is a large but well-structured addition to the plugin.
crisleo94 added 1 commit 2026-05-26 23:00:48 +00:00
crisleo94 approved these changes 2026-05-26 23:01:09 +00:00
crisleo94 merged commit f6dca202aa into main 2026-05-26 23:01:12 +00:00
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: HermesFactory/trello-plugin#8