issue-101: Add GitLab (glab) support and three-host CI-check parity to furnish-repo #102
No reviewers
Labels
No labels
bug
chore
documentation
enhancement
feature
ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
david/pi-extensions-and-skills!102
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/issue-101/add-gitlab-glab-support-and-three-host-ci-check-parity-to-furnish-repo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
furnish-repo's Host-Aware Dispatch table only covered GitHub and Forgejo — GitLab remotes silently fell through to the Forgejo/fjbranch, which is wrong. This PR adds full GitLab support viaglab, at the same level of detail furnish-repo already gives GitHub and Forgejo (explicit command blocks for every step, not just "verify with--help").While upgrading GitLab's merge-gate CI check, it became clear GitHub and Forgejo's existing CI check was purely manual ("check the web UI"). Since GitLab has a first-class scriptable pipeline-status command (
glab ci status), this PR upgrades all three hosts to real scripted CI checks for consistency:gh pr checks,glab ci status,fj pr checks.Verifying
fj pr checksagainst the canonicalfjCLI reference (docs.fjord.sh, generated fromfj --help) also surfaced a real bug: this repo'sforgejo-cliskill documentedfj pr mergewith--method/--deleteflags, but the canonical reference uses--style/--delete-branch, and lists nomanualstyle option. That's fixed here too, since furnish-repo's own Forgejofj pr mergeexamples needed to be correct and consistent withforgejo-cli.Per-file breakdown
skills/furnish-repo/SKILL.md(modified)glab) between GitHub and Forgejo; noted GitLab uses--color "#HEX"(leading#) unlike gh/forgejo's bare hex; added a terminology note (PR for GitHub/Forgejo, MR for GitLab, "PR/MR" where host-agnostic).glab auth statusto the auth check.glab label list.glab label create --name --color "#HEX" --descriptionfor all five canonical labels.glab issue create --title --description --label.glab mr create --source-branch --target-branch --title --description --yes.gh pr checks <PR_NUM> --json bucket,name,glab ci status --branch <branch> --output json,fj pr checks <PR_NUM> --json— replacing the old "the extension doesn't surface CI — check the web UI" language.fjeven though theforgejopi extension is otherwise preferred (it has no CI-status tool).glab mr merge --squash --remove-source-branch --auto-merge=false --yes(--auto-merge=falsesince furnish-repo does its own pre-check rather than delegating to glab's built-in wait-for-pipeline behavior).fj pr mergeexample to the corrected--style/--delete-branchflags.glab auth status, generalized PR→PR/MR wording, generalized the CI-failure row to reference all three check commands.glabreference line and GitLab steps throughout.skills/forgejo-cli/SKILL.md(modified)--method <merge|rebase|rebase-merge|squash|manual> --deleteto--style <merge|rebase|rebase-merge|squash> --delete-branch, matching docs.fjord.sh exactly (droppedmanual, which the canonical reference doesn't list). Documented--auto/--disable-autofor scheduled auto-merge.fj pr checks <PR_NUM> --json(previously undocumented entirely).Validation
Review-only — no scratch repo available on GitHub/GitLab/Forgejo to dry-run live. All flag syntax was verified against official/canonical sources during design: docs.gitlab.com/cli (
glab), cli.github.com/manual (gh), and docs.fjord.sh (fj, explicitly generated fromfj --help).Closes #101