Skip to content

Commit 56fad8a

Browse files
committed
Update docs with new/updated commands and usage
1 parent 334ea67 commit 56fad8a

File tree

5 files changed

+138
-17
lines changed

5 files changed

+138
-17
lines changed

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Then there are some use cases with example commands
9797
gut clone -o myorg -r "^api-.*"
9898

9999
# Pull all repos across all organizations
100-
gut pull --all-orgs
100+
gut pull --all-owners
101101

102102
# Fetch and check status of all repos matching regex
103103
gut status -r ".*" --fetch
@@ -141,6 +141,9 @@ Commands:
141141
push Push the provided branch to remote server for all repositories that match a pattern or a topic
142142
remove Remove users (from an organisation or team) or delete repositories
143143
rename Rename repositories or teams
144+
rename
145+
repo Rename a repository
146+
team Rename a team in an organisation
144147
set Set information, secret for repositories or permission for a team
145148
show Show config, repositories, members, or user access
146149
status Show git status of all repositories that match a pattern
@@ -206,6 +209,7 @@ set
206209
show
207210
config Show current configuration
208211
repositories Show all repositories that match a pattern [aliases: repos]
212+
repository Show details for a specific repository (teams, collaborators)
209213
access Show repositories accessible by specified user(s) in an organisation
210214
members Show all members in an organisation [aliases: users]
211215
teams Show all teams in an organisation
@@ -219,7 +223,7 @@ template
219223
topic
220224
add Add topics for all repositories that match a regex
221225
apply Apply a script to all repositories that have topics matching a pattern
222-
get Get topics for all repositories that match a regex
226+
list List topics for all repositories that match a regex
223227
set Set topics for all repositories that match a regex
224228
225229
workflow

USAGE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,13 +260,13 @@ FLAGS:
260260
261261
SUBCOMMANDS:
262262
add
263-
get
263+
list
264264
help Prints this message or the help of the given subcommand(s)
265265
set Set topics for all repositories that match a regex
266266
267267
```
268268

269-
### Topic Get
269+
### Topic List
270270

271271
```
272272
gut-topic-list 0.1.0

docs/docs/get-started.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,18 @@ gut init -r ~/gut-repos -t ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
7575

7676
This creates a configuration file in your system's config directory (e.g., `~/.config/gut/` on Linux/macOS).
7777

78-
### 3. Set a Default Organization (Optional)
78+
### 3. Set a Default Owner (Optional)
7979

80-
To avoid specifying `-o <organization>` with every command, set a default:
80+
To avoid specifying `-o <owner>` with every command, set a default:
8181

8282
```bash
83-
gut set organisation -o <org-name>
83+
gut set owner <owner-name>
8484
```
8585

8686
For example:
8787

8888
```bash
89-
gut set organisation -o divvun
89+
gut set owner divvun
9090
```
9191

9292
## SSH Access (Optional)

docs/docs/usage/common-commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ gut push -o myorg -r ".*"
305305
Avoid typing `-o <org>` every time:
306306

307307
```bash
308-
gut set organisation myorg
308+
gut set owner myorg
309309

310310
# Now you can omit -o:
311311
gut status -r ".*"

docs/docs/usage/overview.md

Lines changed: 125 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ gut provides a comprehensive set of commands for managing multiple GitHub reposi
99
## Repository Operations
1010

1111
### clone
12-
Clone all repositories matching a pattern.
12+
Clone all repositories matching a pattern. Automatically detects and pulls Git LFS objects for repos that use LFS.
1313

1414
```bash
1515
gut clone -o <org> -r "<regex>"
@@ -28,7 +28,7 @@ gut fetch -o <org> -r "<regex>"
2828
```
2929

3030
### pull
31-
Pull the current branch of all local repositories that match a pattern.
31+
Pull the current branch of all local repositories that match a pattern. Automatically pulls Git LFS objects for repos that use LFS.
3232

3333
```bash
3434
gut pull -o <org> -r "<regex>"
@@ -227,6 +227,79 @@ gut set permission -o <org> -t team-slug \
227227

228228
**Permissions:** `pull`, `push`, `admin`, `maintain`, `triage`
229229

230+
### rename team
231+
Rename a GitHub organisation team. The new slug is auto-generated by GitHub from the new name.
232+
233+
```bash
234+
gut rename team <team-slug> <new-name> -o <org>
235+
```
236+
237+
!!! warning "Team References"
238+
Renaming a team may invalidate references in issues and discussions. Requires typing "YES" to confirm.
239+
240+
## Labels
241+
242+
Manage GitHub labels in bulk across repositories.
243+
244+
### label list
245+
List all labels for repositories matching a pattern.
246+
247+
```bash
248+
gut label list -o <org> -r "<regex>"
249+
```
250+
251+
### label create
252+
Create a label across all matching repositories.
253+
254+
```bash
255+
gut label create -o <org> -r "<regex>" \
256+
--name "bug" --color "d73a4a" \
257+
--description "Something isn't working"
258+
```
259+
260+
### label delete
261+
Delete a label from all matching repositories.
262+
263+
```bash
264+
gut label delete -o <org> -r "<regex>" --name "bug"
265+
```
266+
267+
### label rename
268+
Rename a label (and optionally update color/description) across all matching repositories.
269+
270+
```bash
271+
gut label rename -o <org> -r "<regex>" \
272+
--name "bug" --new-name "defect" \
273+
--color "ff0000"
274+
```
275+
276+
## Health
277+
278+
### health
279+
Comprehensive health check for repositories and system configuration.
280+
281+
```bash
282+
# Check repos for a single owner
283+
gut health -o <org>
284+
285+
# Check all owners
286+
gut health --all-owners
287+
```
288+
289+
**Checks performed:**
290+
291+
- **NFD/NFC normalization**: Filenames with decomposed Unicode that cause conflicts on macOS
292+
- **Case duplicates**: Files differing only in case (e.g., `File.txt` vs `file.txt`)
293+
- **Large files**: Files exceeding threshold that should use Git LFS (default: 50 MB)
294+
- **Long paths**: Filenames/paths exceeding Windows compatibility limits
295+
- **System config**: Git version, `core.precomposeUnicode`, `core.autocrlf`, Git LFS installation
296+
297+
**Options:**
298+
299+
- `--large-file-mb <SIZE>` — Size threshold in MB for LFS check (default: 50)
300+
- `--filename-length-bytes <LENGTH>` — Filename length warning threshold (default: 200)
301+
- `--path-length-bytes <LENGTH>` — Full path length warning threshold (default: 400)
302+
230303
## Topics
231304

232305
Topics are GitHub repository tags that help organize and discover repositories.
@@ -236,6 +309,9 @@ List topics for all repositories that match a pattern.
236309

237310
```bash
238311
gut topic list -o <org> -r "<regex>"
312+
313+
# JSON output
314+
gut topic list -o <org> -r "<regex>" --json
239315
```
240316

241317
### topic set
@@ -365,18 +441,59 @@ List all repositories matching a pattern.
365441
gut show repositories -o <org> -r "<regex>"
366442
```
367443

368-
### show users
369-
Show all users in an organization.
444+
### show repository
445+
Show detailed access information for a specific repository, including teams and collaborators with permission levels and affiliation.
446+
447+
```bash
448+
gut show repository <repo-name> -o <org>
449+
```
450+
451+
**Output:**
452+
453+
- Teams table: Team Slug, Team Name, Permission
454+
- Collaborators table: Username, Permission, Affiliation (org/direct/outside)
455+
456+
### show access
457+
Show user access levels across repositories.
458+
459+
```bash
460+
# Compact view (one column per user)
461+
gut show access <username1> <username2> -o <org> -r "<regex>"
462+
463+
# Detailed view (one row per user/repo)
464+
gut show access <username1> -o <org> --long
465+
```
466+
467+
### show teams
468+
Show all teams in an organisation.
469+
470+
```bash
471+
# Flat table
472+
gut show teams -o <org>
473+
474+
# Hierarchical tree showing parent/child relationships
475+
gut show teams -o <org> --tree
476+
```
477+
478+
### show team
479+
Show details of a specific team including members, repositories, and parent/child teams.
480+
481+
```bash
482+
gut show team <team-slug> -o <org>
483+
```
484+
485+
### show members
486+
Show all members in an organization with their roles and 2FA status.
370487

371488
```bash
372-
gut show users -o <org>
489+
gut show members -o <org>
373490
```
374491

375-
### set organisation
376-
Set the default organization for all commands.
492+
### set owner
493+
Set the default owner (organisation or user) for all commands.
377494

378495
```bash
379-
gut set organisation <org-name>
496+
gut set owner <owner-name>
380497
```
381498

382499
## Template System

0 commit comments

Comments
 (0)