From 9c301a8eac944083556b3dce297764b4fca7d49a Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 24 Jun 2026 10:28:04 +0200 Subject: docs: bring CLAUDE.md, README, TODO current after the three features - CLAUDE.md: new hard rule that removal functions are exact inverses of their add counterparts (round-trip self-tests); TRASH_DIR added to the server constants; verified-live list extended with list-repos and a full delete cycle. - README: TRASH_DIR in the server-install constants and its dir note. - TODO: items 1-3 already marked done; cross-cutting work folded in; remaining leftovers listed (repo-name completion, the cosmetic No changes. echo, and the YAGNI gc-trash prune verb). - Removed all pre-existing em dashes from CLAUDE.md and README. Docs only, no code change. Co-Authored-By: Claude Opus 4.8 --- TODO.md | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index 7889779..9bb4ad8 100644 --- a/TODO.md +++ b/TODO.md @@ -65,10 +65,26 @@ leading `-y` when resolving group/action. ## Cross-cutting -- Bash completion: once `repo list` exists, complete repo names for `desc`, - `delete`, `add-remote` (like `--section` is completed today). One ssh call, - only when completing a repo-name argument. -- Skill: update both SKILL.md files (repo skills/gitctl + ~/.claude) to mention - delete (and its destructive, confirm-always nature) and `-y`'s real limit. -- Tests: each new helper verb gets self-test coverage (cgit block removal is the - risky one - mirror the insert tests: first/middle/last/missing). +Done as part of items 1-3: both SKILL.md files updated (delete + `-y` limit), +self-test coverage for every new helper verb, completion actions for `list` and +`delete`, README and CLAUDE.md brought current. + +## Remaining (not started) + +These are the leftovers after the three features shipped. None block anything. + +1. Repo-name bash completion. Now that `repo list` exists, complete repo NAMES + for `desc`, `delete`, and `add-remote` (the way `--section` is completed from + the server today). One ssh call (`gitctl repo list`, cut field 1), only when + completing the repo-name argument, so a stray Tab does not hit the network. + +2. Quiet the stray `No changes.` line. In `repo create` and `repo delete` the + `list-sections` / `add-section` helper passthrough prints a `No changes.` + line out of order, before the cgit-block message. Cosmetic only. Fix by + calling those helper steps with `quiet=True` (the flag already exists) and + printing a clean status, or by suppressing that specific echo. + +3. FUTURE / YAGNI: `gc-trash --older-than ` helper verb to prune + `TRASH_DIR` entries past a retention window, runnable from cron. The + timestamped trash layout already supports it; do not build until there is an + actual need to reclaim space. -- cgit v1.2.3