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 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
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Implemented: Trello Card Management
Changes
TrelloClientwith_delete()helpertests/test_cards.py— 73 total, all passingdocs/backend/manage-cards-spec.mdAcceptance Criteria Covered
Closes #4
Reid's Review — PR #8 on HermesFactory/trello-plugin
Verdict: ✅ Approved — No blocking issues found
📋 AC Coverage
create_card()with name, list_id, desc, due parameterscard_details()returns title, description, due date, members, checklists, commentsupdate_card()for name, desc, due modificationsmove_card()to different listarchive_card()method implementedassign_member()andremove_member()methodsadd_comment()anddelete_comment()methodsadd_checklist_item(),toggle_checklist_item(),delete_checklist_item()methods🔍 Code Quality Notes
ApiResponseTypedDict pattern throughoutcard_details()properly extracts nested data (checklists, actions/comments)add_checklist_item()auto-discovers checklist ID when omittedtests/test_cards.pyappears comprehensive (29 tests)PLUGIN_TOOLSlistNo blocking issues found. This is a large but well-structured addition to the plugin.