aboutsummaryrefslogtreecommitdiffstats
path: root/skills
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-24 09:41:43 +0200
committerDanilo M. <danix@danix.xyz>2026-06-24 09:41:43 +0200
commiteeaba25642392532901cd4c95c23054e9a7ba2b3 (patch)
treefef19a8b397ccdbaf1c828c3a1c268730e36a698 /skills
parent23bf41452709a632a7f1afe2d78551da767d8d56 (diff)
downloadgitctl-eeaba25642392532901cd4c95c23054e9a7ba2b3.tar.gz
gitctl-eeaba25642392532901cd4c95c23054e9a7ba2b3.zip
feat: repo list - list all repos, public and private
New gitctl repo list / helper list-repos verb. Source of truth is the bare repos on disk (REPO_BASE/*.git), not cgitrc, so private repos (absent from cgitrc since cgit auto-discovery is off) show too. Each repo is tagged PUB/PRIV by cgitrc membership, with its section and a 60-char description from the repo's description file. Client renders an aligned table, green public / dim private on a TTY. Adds repo_sections_from() primitive; find_repo_section becomes a thin lookup over it. Self-tests cover the cgitrc parse and a temp-FS scan. Updates README, SKILL.md, bash completion (repo list action), TODO. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'skills')
-rw-r--r--skills/gitctl/SKILL.md6
1 files changed, 5 insertions, 1 deletions
diff --git a/skills/gitctl/SKILL.md b/skills/gitctl/SKILL.md
index b701153..9d6ac17 100644
--- a/skills/gitctl/SKILL.md
+++ b/skills/gitctl/SKILL.md
@@ -17,6 +17,7 @@ setup" and "Client install") rather than guessing.
## When to use
- User wants a NEW repo on the server -> `gitctl repo create`
+- List every repo (public AND private) -> `gitctl repo list`
- List/add cgit sections (categories) -> `gitctl sections list|add`
- Set a repo's cgit description -> `gitctl repo desc`
- Add the server as a git remote in the CWD repo -> `gitctl repo add-remote`
@@ -62,7 +63,10 @@ git push -u origin master
## Discovering current state
```
+gitctl repo list # every bare repo, public (in cgit) and private
gitctl sections list # existing cgit sections (categories)
```
-There is no repo-list verb on the client; a section is required for create, so
+`repo list` scans the bare repos on disk (the full set, not just cgit-exposed
+ones) and marks each public/private with a VIS column (green/dim on a TTY); use
+it to confirm a name exists or pick one. A section is required for create, so
list sections first if unsure which category to use.