ops forgejo repo: add repo-level CRUD verbs #73

Closed
opened 2026-05-25 00:28:02 +00:00 by coilysiren · 0 comments
Owner

Problem

The gh repo verb set has direct forgejo API equivalents but no coily surface.

Scope

Add the following under coily ops forgejo repo:

  • list [--query Q] [--limit N] -> GET /repos/search (text-match on name; an owner-name shortcut can land later if it earns its weight)
  • view --repo <owner/name> -> GET /repos/{owner}/{repo}
  • edit --repo <owner/name> [--description-file PATH] [--private=...] [--has-issues=...] [--has-wiki=...] -> PATCH /repos/{owner}/{repo}
  • fork --repo <owner/name> [--organization NAME] -> POST /repos/{owner}/{repo}/forks
  • archive --repo <owner/name> -> PATCH /repos/{owner}/{repo} with {archived: true} (shortcut for the gh-equivalent flow)
  • delete --repo <owner/name> -> DELETE /repos/{owner}/{repo} (admin-gated server-side)

Booleans on edit use cli/v3 IsSet semantics so "leave alone" and "set to false" stay distinguishable. --description-file rather than inline --description for the lockdown gate.

Why

Fourth noun of the 5-noun sweep. Repo-level CRUD is the natural completion of the issue/label/release surface for cross-repo lifecycle automation.

**Problem** The `gh repo` verb set has direct forgejo API equivalents but no coily surface. **Scope** Add the following under `coily ops forgejo repo`: - `list [--query Q] [--limit N]` -> `GET /repos/search` (text-match on name; an owner-name shortcut can land later if it earns its weight) - `view --repo <owner/name>` -> `GET /repos/{owner}/{repo}` - `edit --repo <owner/name> [--description-file PATH] [--private=...] [--has-issues=...] [--has-wiki=...]` -> `PATCH /repos/{owner}/{repo}` - `fork --repo <owner/name> [--organization NAME]` -> `POST /repos/{owner}/{repo}/forks` - `archive --repo <owner/name>` -> `PATCH /repos/{owner}/{repo}` with `{archived: true}` (shortcut for the gh-equivalent flow) - `delete --repo <owner/name>` -> `DELETE /repos/{owner}/{repo}` (admin-gated server-side) Booleans on `edit` use cli/v3 `IsSet` semantics so "leave alone" and "set to false" stay distinguishable. `--description-file` rather than inline `--description` for the lockdown gate. **Why** Fourth noun of the 5-noun sweep. Repo-level CRUD is the natural completion of the issue/label/release surface for cross-repo lifecycle automation.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
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
coilyco-bridge/coily#73
No description provided.