aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-19 19:49:08 +0200
committerDanilo M. <danix@danix.xyz>2026-10-19 19:49:08 +0200
commitb6965ac87bfffb610bf099812562951cc154738e (patch)
tree0431d2466731a9bc4084843298afb5268ca38985 /AGENTS.md
parent6cb503a50fc49ec26af0f0624141a0c97e75cca4 (diff)
downloaddesktop-assistant-b6965ac87bfffb610bf099812562951cc154738e.tar.gz
desktop-assistant-b6965ac87bfffb610bf099812562951cc154738e.zip
clone tool: clone a public repo into the host's folder
A public URL is cloned into ~/Programming/GIT/<host-folder>/<repo>, the folder chosen by host from ~/.config/desktop-assistant/clone-hosts (github.com, gitlab.com, forge.slackware.nl seeded). An unknown host or an already-cloned repo stops and asks with a concrete action; approving a new host folder appends it to the map, so later clones of that host ask nothing. Update pulls with --ff-only, never clones over the folder. test-clone.sh stubs git and uses a scratch tree and map.
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 7e80210..efcec80 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -236,6 +236,30 @@ mode is one bit and undone by asking again. Spec:
- The game hold on presentation is covered by `test-mode.sh` only: faking
`status.gaming` live would fight the shell's game detector.
+### Clone tool, live check (2026-10-19)
+
+`clone` (`examples/tools/clone.sh`): a public repo goes to
+`~/Programming/GIT/<host-folder>/<repo>`, and the two things the model
+must not decide alone (unknown host, already cloned) are asked. Spec:
+`docs/superpowers/specs/2026-10-19-clone-tool-design.md`.
+
+- Host→folder map in `~/.config/desktop-assistant/clone-hosts`, seeded
+ github.com→GITHUB, gitlab.com→GITLAB, forge.slackware.nl→FORGE.
+ Approving a new host appends its folder, so later clones of that host
+ ask nothing.
+- Live: "Clone https://codeberg.org/example/repo" called `clone`, got
+ "no folder for host codeberg.org", and asked "Create CODEBERG/ and clone
+ repo there?"; no folder was created. "Clone
+ https://github.com/firefly-iii/firefly-iii.git" called `clone`, got
+ "already cloned at .../GITHUB/firefly-iii", and asked about updating;
+ nothing was written.
+- Real clone, already-cloned and pull checked against a `file://localhost`
+ origin in a scratch `CLONE_ROOT`: cloned into `LOCAL/repo`, the second
+ run said already cloned, `update=1` ran `git pull --ff-only` ("Already
+ up to date").
+- A tool added to `~/.config/desktop-assistant/tools/` needs a daemon
+ restart: `TOOLS` is loaded once at import, not per request.
+
### Text daemon, live check (2026-10-16)
Model Gemma4-12B-qat-mtp, ctx 32768, preset reasoning-budget 4096.