feat: add followers CLI command #92

Merged
erik merged 1 commit from feat/task-b3382200-followers-cli into main 2026-06-04 07:17:04 -05:00
Owner

Summary

Implement the Slugkit followers listing command in the CLI.

Task

#task-b3382200

Changes

  • Add slug followers list [--json]
  • Call GET /api/v1/followers with configured API credentials
  • Render human-readable populated follower lists
  • Render a useful empty follower list message
  • Support valid JSON output
  • Add mocked CLI tests for populated list, empty list, JSON output, auth/network/API/501 failures, and invalid usage

Testing

  • Unit tests added/updated
  • Manual testing performed

Checklist

  • ./scripts/pre-pr.sh passes
  • Documentation updated (CLI help)
  • No unrelated changes included
## Summary Implement the Slugkit followers listing command in the CLI. ## Task #task-b3382200 ## Changes - Add `slug followers list [--json]` - Call `GET /api/v1/followers` with configured API credentials - Render human-readable populated follower lists - Render a useful empty follower list message - Support valid JSON output - Add mocked CLI tests for populated list, empty list, JSON output, auth/network/API/501 failures, and invalid usage ## Testing - [x] Unit tests added/updated - [ ] Manual testing performed ## Checklist - [x] `./scripts/pre-pr.sh` passes - [x] Documentation updated (CLI help) - [x] No unrelated changes included
feat: add followers CLI command
All checks were successful
CI / build-lint-test (pull_request) Successful in 30s
ce46537fab
Task: #task-b3382200
Author
Owner

PR Review

Summary

Reviewed PR #92 against task task-b3382200 and docs/cli-specs/08-followers-commands.md. The PR adds slug followers list, calls the followers API, supports human and JSON output, handles empty lists, and adds mocked CLI tests for success and failure cases.

Acceptance criteria

  • Can list followers. — slug followers list calls /followers; tests assert path, auth header, and populated output.
  • Empty follower list prints a useful message. — tests assert No followers found. for an empty API response.
  • --json output is valid. — tests parse JSON output for follower list data.
  • 501 Not Implemented responses are displayed clearly. — tests assert clear propagated message.
  • Tests cover populated, empty, and failure responses. — tests cover populated, empty, JSON, auth, API, network, 501, and invalid usage.
  • Relevant lint/test checks pass. — ./scripts/pre-pr.sh passed locally and Forgejo CI succeeded.

Blocking issues

None.

Warnings

None.

Verification

  • ./scripts/pre-pr.sh passed locally.
  • Forgejo CI status for CI / build-lint-test (pull_request) is success.

Verdict

Approved. Ready for human merge approval.

## PR Review ### Summary Reviewed PR #92 against task `task-b3382200` and `docs/cli-specs/08-followers-commands.md`. The PR adds `slug followers list`, calls the followers API, supports human and JSON output, handles empty lists, and adds mocked CLI tests for success and failure cases. ### Acceptance criteria - [x] Can list followers. — `slug followers list` calls `/followers`; tests assert path, auth header, and populated output. - [x] Empty follower list prints a useful message. — tests assert `No followers found.` for an empty API response. - [x] `--json` output is valid. — tests parse JSON output for follower list data. - [x] `501 Not Implemented` responses are displayed clearly. — tests assert clear propagated message. - [x] Tests cover populated, empty, and failure responses. — tests cover populated, empty, JSON, auth, API, network, `501`, and invalid usage. - [x] Relevant lint/test checks pass. — `./scripts/pre-pr.sh` passed locally and Forgejo CI succeeded. ### Blocking issues None. ### Warnings None. ### Verification - `./scripts/pre-pr.sh` passed locally. - Forgejo CI status for `CI / build-lint-test (pull_request)` is `success`. ### Verdict Approved. Ready for human merge approval.
erik merged commit f32a18b6c2 into main 2026-06-04 07:17:04 -05:00
erik deleted branch feat/task-b3382200-followers-cli 2026-06-04 07:17:04 -05:00
Sign in to join this conversation.
No description provided.