fj repo collaborator: list, add, and remove collaborators #169

Closed
opened 2026-06-15 15:01:14 +00:00 by stephen · 0 comments
Owner

Problem

fj repo manages deploy-keys, topics, and webhooks, but not people; granting or revoking a person's access needs the web UI.

Acceptance criteria

  • fj repo collaborator list -> users and permission level (--json supported).
  • fj repo collaborator add <user> [--permission read|write|admin] (default write).
  • fj repo collaborator remove <user>.
  • Maps to Forgejo GET /repos/{}/collaborators, PUT /collaborators/{user} (permission body), DELETE /collaborators/{user}.
  • Re-adding with a new permission updates it; removing a non-collaborator exits with a clear message.

Value

Access management from the terminal; scriptable onboarding / offboarding.

Priority

p2.

Dependencies / sequencing

None.

Overlap

Org-membership mutation (considered, not filed) is adjacent; keep this scoped to repo collaborators.

## Problem `fj repo` manages deploy-keys, topics, and webhooks, but not people; granting or revoking a person's access needs the web UI. ## Acceptance criteria - [ ] `fj repo collaborator list` -> users and permission level (`--json` supported). - [ ] `fj repo collaborator add <user> [--permission read|write|admin]` (default write). - [ ] `fj repo collaborator remove <user>`. - [ ] Maps to Forgejo `GET /repos/{}/collaborators`, `PUT /collaborators/{user}` (permission body), `DELETE /collaborators/{user}`. - [ ] Re-adding with a new permission updates it; removing a non-collaborator exits with a clear message. ## Value Access management from the terminal; scriptable onboarding / offboarding. ## Priority p2. ## Dependencies / sequencing None. ## Overlap Org-membership mutation (considered, not filed) is adjacent; keep this scoped to repo collaborators.
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
rasterstate/fj#169
No description provided.