Implement: US: Manage Trello Lists #7

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

Implemented: Trello List Management

Changes

  • 4 list tools in src/trello_plugin/tools.py:
    • 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
  • List CRUD methods on TrelloClient
  • 10 new tests in tests/test_lists.py — 44 total, all passing
  • Spec documents: docs/backend/manage-lists-spec.md
  • Updated docs/backend/trello-auth-spec.md to reflect PR #5 review fixes

This branch is based on feature/manage-boards and includes auth + boards code.

Acceptance Criteria Covered

  • 3.1: Create a new list on a selected board
  • 3.2: Rename an existing list
  • 3.3: Archive a list
  • 3.4: Move a list to a different position on the board

Closes #3

## Implemented: Trello List Management ### Changes - **4 list tools** in `src/trello_plugin/tools.py`: - `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 - **List CRUD methods** on `TrelloClient` - **10 new tests** in `tests/test_lists.py` — 44 total, all passing - **Spec documents**: `docs/backend/manage-lists-spec.md` - **Updated** `docs/backend/trello-auth-spec.md` to reflect PR #5 review fixes This branch is based on `feature/manage-boards` and includes auth + boards code. ### Acceptance Criteria Covered - ✅ 3.1: Create a new list on a selected board - ✅ 3.2: Rename an existing list - ✅ 3.3: Archive a list - ✅ 3.4: Move a list to a different position on the board Closes #3
marko added 4 commits 2026-05-26 22:37:43 +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
Owner

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

Verdict: Approved — No blocking issues found


📋 AC Coverage

Based on linked issue #3

  • 3.1 Create a new list on a selected board — create_list() with name, board_id, pos parameters
  • 3.2 Rename an existing list — rename_list() with list_id and name parameters
  • 3.3 Archive a list — archive_list() method implemented
  • 3.4 Move a list to a different position — move_list() with pos parameter (top/bottom/number)

🔍 Code Quality Notes

  • Extends the existing TrelloClient cleanly with list management methods
  • Uses _resolve_board_id() helper for name-to-ID resolution when creating lists
  • Type hints are consistent with the updated pattern from PR #6
  • Test file tests/test_lists.py has proper monkeypatch fixture usage
  • All 4 tools (trello_create_list, trello_rename_list, trello_archive_list, trello_move_list) properly exported

No blocking issues found.

## Reid's Review — PR #7 on HermesFactory/trello-plugin **Verdict:** ✅ Approved — No blocking issues found --- ### 📋 AC Coverage > Based on linked issue #3 - [x] **3.1** Create a new list on a selected board — `create_list()` with name, board_id, pos parameters - [x] **3.2** Rename an existing list — `rename_list()` with list_id and name parameters - [x] **3.3** Archive a list — `archive_list()` method implemented - [x] **3.4** Move a list to a different position — `move_list()` with pos parameter (top/bottom/number) --- ### 🔍 Code Quality Notes - Extends the existing `TrelloClient` cleanly with list management methods - Uses `_resolve_board_id()` helper for name-to-ID resolution when creating lists - Type hints are consistent with the updated pattern from PR #6 - Test file `tests/test_lists.py` has proper `monkeypatch` fixture usage - All 4 tools (`trello_create_list`, `trello_rename_list`, `trello_archive_list`, `trello_move_list`) properly exported No blocking issues found.
crisleo94 added 1 commit 2026-05-26 22:59:24 +00:00
crisleo94 approved these changes 2026-05-26 23:00:36 +00:00
crisleo94 merged commit 3dce15d87d into main 2026-05-26 23:00:40 +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#7