Use CLI tools #3

Closed
opened 2026-03-19 11:07:38 +00:00 by ReadyPlayerNaN · 4 comments

The loop should instruct that before using the remote APIs directly, it should use the local CLI tools, like gh (github cli), glab (gitlab cli), fj (forgejo cli).

The loop should instruct that before using the remote APIs directly, it should use the local CLI tools, like gh (github cli), glab (gitlab cli), fj (forgejo cli).
Author
Owner

I've picked up this issue and I'm reviewing it now.

I've picked up this issue and I'm reviewing it now.
Author
Owner

Triage Assessment

What's clear: The document should establish that CLI tools (gh, glab, fj) are the preferred way to interact with the platform, with raw API calls as a fallback only when the CLI doesn't support an operation.

Scope: Update the Working Context section to establish this preference hierarchy.

No clarifying questions — the intent is clear. Proceeding to planning.

## Triage Assessment **What's clear:** The document should establish that CLI tools (`gh`, `glab`, `fj`) are the preferred way to interact with the platform, with raw API calls as a fallback only when the CLI doesn't support an operation. **Scope:** Update the Working Context section to establish this preference hierarchy. **No clarifying questions** — the intent is clear. Proceeding to planning.
Author
Owner

Plan

Goal: Establish CLI tools as the preferred interface for platform operations, with raw API calls as a fallback.

Approach: Update the Working Context section in merge-request-flow.md to define a clear preference hierarchy: CLI first, API second.

Tasks:

  1. Update the platform detection section to reframe CLI tools as the primary interface rather than just one option. After the platform list, add a paragraph stating: "Prefer CLI tools for all operations they support (creating issues, merge requests, comments, reviews, etc.). Use the platform's REST API directly only for operations the CLI does not support (e.g., adding labels, checking reactions, verifying permissions)."

  2. Add fj to the Forgejo/Gitea bullet — currently it says "Use the Forgejo/Gitea API or a compatible CLI". Change to: "Use fj or tea CLI. Terminology: 'merge requests'." to be consistent with the GitHub/GitLab bullets that name specific tools.

Risks:

  • Naming specific CLI tools (fj, tea) may be too prescriptive if the user has a different tool. Mitigate by saying "or a compatible CLI" as a fallback.

Test strategy:

  • Verify the updated section clearly establishes CLI > API preference.
  • Verify consistency across all three platform bullets.
## Plan **Goal:** Establish CLI tools as the preferred interface for platform operations, with raw API calls as a fallback. **Approach:** Update the Working Context section in `merge-request-flow.md` to define a clear preference hierarchy: CLI first, API second. **Tasks:** 1. **Update the platform detection section** to reframe CLI tools as the primary interface rather than just one option. After the platform list, add a paragraph stating: "Prefer CLI tools for all operations they support (creating issues, merge requests, comments, reviews, etc.). Use the platform's REST API directly only for operations the CLI does not support (e.g., adding labels, checking reactions, verifying permissions)." 2. **Add `fj` to the Forgejo/Gitea bullet** — currently it says "Use the Forgejo/Gitea API or a compatible CLI". Change to: "Use `fj` or `tea` CLI. Terminology: 'merge requests'." to be consistent with the GitHub/GitLab bullets that name specific tools. **Risks:** - Naming specific CLI tools (`fj`, `tea`) may be too prescriptive if the user has a different tool. Mitigate by saying "or a compatible CLI" as a fallback. **Test strategy:** - Verify the updated section clearly establishes CLI > API preference. - Verify consistency across all three platform bullets.
Author
Owner

Implementation complete. Merge request created: #5

Waiting for review.

Implementation complete. Merge request created: https://git.zak.pub/zak.pub/tantalus/pulls/5 Waiting for review.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
zak.pub/tantalus#3
No description provided.