diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-19 19:49:08 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-19 19:49:08 +0200 |
| commit | b6965ac87bfffb610bf099812562951cc154738e (patch) | |
| tree | 0431d2466731a9bc4084843298afb5268ca38985 /AGENTS.md | |
| parent | 6cb503a50fc49ec26af0f0624141a0c97e75cca4 (diff) | |
| download | desktop-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.md | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -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. |
