Add GitLab (glab) support and three-host CI-check parity to furnish-repo #101

Closed
opened 2026-08-28 03:30:55 +00:00 by david · 0 comments
Owner

Summary

Extends the furnish-repo skill to support GitLab (via glab) at full parity with the existing GitHub (gh) and Forgejo (forgejo extension / fj) support, and upgrades the CI-check step for all three hosts to a real scripted command instead of "check the web UI". Also fixes a discovered flag-naming bug in the forgejo-cli skill.

Background

furnish-repo's Host-Aware Dispatch table only listed GitHub and Forgejo — GitLab remotes silently fell through to the Forgejo/fj branch, which is incorrect. Separately, today's CI check for the merge gate (Phase 3.7) is manual ("check the web UI") for both existing hosts, which is weaker than what's actually available from each CLI.

Changes

skills/furnish-repo/SKILL.md

  • Added a GitLab dispatch row (glab) between GitHub and Forgejo.
  • Added explicit glab command blocks at full parity with GitHub/Forgejo for every step: label list/create, issue create, MR create, MR merge, plus the auth precondition and Failure Handling table.
  • Adopted host-correct terminology: "MR" for GitLab, "PR" for GitHub/Forgejo, "PR/MR" where genuinely host-agnostic.
  • Upgraded the CI-check step (Phase 3.7) to a real scripted command per host:
    • GitHub: gh pr checks <PR_NUM> --json bucket,name
    • GitLab: glab ci status --branch <branch> --output json
    • Forgejo: fj pr checks <PR_NUM> --json (explicit fallback to fj, since the forgejo pi extension has no CI-status tool of its own)
  • glab mr merge uses --auto-merge=false since furnish-repo does its own explicit pre-check rather than delegating to glab's built-in auto-merge-and-wait.

skills/forgejo-cli/SKILL.md

  • Fixed fj pr merge flags to match the canonical docs.fjord.sh CLI reference: --method--style, --delete--delete-branch. Dropped the manual style option, which docs.fjord.sh's --style list does not include.
  • Added missing fj pr checks <NUMBER> [--json] documentation (was entirely undocumented).

Verification

All flag syntax verified against official/canonical sources: docs.gitlab.com/cli (glab), cli.github.com/manual (gh), and docs.fjord.sh (fj, explicitly generated from fj --help). Validation is review-only — no scratch repo available on any host to dry-run live.

## Summary Extends the `furnish-repo` skill to support GitLab (via `glab`) at full parity with the existing GitHub (`gh`) and Forgejo (`forgejo` extension / `fj`) support, and upgrades the CI-check step for **all three hosts** to a real scripted command instead of "check the web UI". Also fixes a discovered flag-naming bug in the `forgejo-cli` skill. ## Background `furnish-repo`'s Host-Aware Dispatch table only listed GitHub and Forgejo — GitLab remotes silently fell through to the Forgejo/`fj` branch, which is incorrect. Separately, today's CI check for the merge gate (Phase 3.7) is manual ("check the web UI") for both existing hosts, which is weaker than what's actually available from each CLI. ## Changes ### `skills/furnish-repo/SKILL.md` - Added a GitLab dispatch row (`glab`) between GitHub and Forgejo. - Added explicit `glab` command blocks at full parity with GitHub/Forgejo for every step: label list/create, issue create, MR create, MR merge, plus the auth precondition and Failure Handling table. - Adopted host-correct terminology: "MR" for GitLab, "PR" for GitHub/Forgejo, "PR/MR" where genuinely host-agnostic. - Upgraded the CI-check step (Phase 3.7) to a real scripted command per host: - GitHub: `gh pr checks <PR_NUM> --json bucket,name` - GitLab: `glab ci status --branch <branch> --output json` - Forgejo: `fj pr checks <PR_NUM> --json` (explicit fallback to `fj`, since the `forgejo` pi extension has no CI-status tool of its own) - `glab mr merge` uses `--auto-merge=false` since furnish-repo does its own explicit pre-check rather than delegating to glab's built-in auto-merge-and-wait. ### `skills/forgejo-cli/SKILL.md` - Fixed `fj pr merge` flags to match the canonical docs.fjord.sh CLI reference: `--method` → `--style`, `--delete` → `--delete-branch`. Dropped the `manual` style option, which docs.fjord.sh's `--style` list does not include. - Added missing `fj pr checks <NUMBER> [--json]` documentation (was entirely undocumented). ## Verification All flag syntax verified against official/canonical sources: docs.gitlab.com/cli (`glab`), cli.github.com/manual (`gh`), and docs.fjord.sh (`fj`, explicitly generated from `fj --help`). Validation is review-only — no scratch repo available on any host to dry-run live.
david closed this issue 2026-08-28 03:33:26 +00:00
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
david/pi-extensions-and-skills#101
No description provided.