From 82f9907d264beae4a5baa6c2ec887b3b30a0b0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Thu, 13 Aug 2026 02:13:50 +0000 Subject: [PATCH] decide tools install to ~/.local/claude-scripts --- TODO.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/TODO.md b/TODO.md index 6fef085..bec722f 100644 --- a/TODO.md +++ b/TODO.md @@ -24,13 +24,24 @@ where the tooling expects it. something written by hand on that machine. - **Dry run by default, or at least `--dry-run`.** Show what it would link. -### Known problem to fix while doing it +### Tools are installed, not referenced in place — DECIDED -`user/CLAUDE.md` hardcodes `~/projects/claude-mds/tools/mask-secret.py`. That -path is this machine's. Options: have the installer rewrite the path at install -time, put the tools on `PATH` (`~/.local/bin/mask-secret`), or resolve it from -`$CLAUDE_MDS_HOME`. Prefer the `PATH` option — the doc then names a command -rather than a location, which is true everywhere. +`tools/` stays in the repo as the source, and the installer puts it under +`~/.local/claude-scripts/` (confirm the name), with `mask-secret` linked onto +`~/.local/bin` so it is a command rather than a path. + +That fixes a real bug: `user/CLAUDE.md` currently hardcodes +`~/projects/claude-mds/tools/mask-secret.py`, which is only true on this +machine. Once installed, the doc says `mask-secret` and is true everywhere. + +Carry `mask-hooks.d/` across with it, keeping the executable bits. The hooks are +the machine-specific half, so the installer should place only the hooks that +belong on that machine — same "only if this path exists" condition as the docs. +`officer-chat-events` should not land on a laptop with no Officer install, even +though it already exits cleanly when it finds no database. + +Update `user/CLAUDE.md` to name the command in the same change, or the doc and +the layout disagree the moment this ships. ### Open questions