summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-09-21 14:09:58 +0300
committerIgor Soarez <igor@soarez.org>2026-09-21 14:09:58 +0300
commitdec2702337924b9a004acf2afa7574f95d349077 (patch)
tree69321537c360da8d739bdade0ecb379f49c13976 /CLAUDE.md
parentfec40208281589b70228802914e98b3b4823924b (diff)
link: a part named in ~/.config/dot/skip does nothing on that machine
A machine may need one of the parts left out: on a laptop it does not own, ~/.claude/settings.json is the owner's, holding their environment and plugins, and linking this account's over it is wrong in both directions -- theirs is lost, and anything of theirs worth keeping would have to be carried here, in the repo every machine shares. The file is hand-written and in no repo, like ~/.localenv, so the exception stays on the machine that needs it. The check is in link/lib.sh, as each part starts, rather than in link.sh's loop, so `link/claude.sh yes` obeys it too; link.sh and other repos' link.sh source that file as well, and sit outside link/, so their names can never be read as a part's.
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index a78bc50..543698a 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -129,6 +129,8 @@ The repository uses a centralized linking system where `link.sh` creates symlink
`link.sh` holds only the plain one-line links. Anything with logic of its own is a part in `link/` (`ssh`, `claude`, `pi`, `skills`, `icloud`, `hammerspoon`, `kwin`): a script with the same `[yes]` dry-run interface that decides for itself whether it applies, and can be run alone (`link/ssh.sh yes`). Shared helpers are in `link/lib.sh`. New logic goes in a part, not in `link.sh`.
+A part named in `~/.config/dot/skip`, one per line, does nothing on that machine — whether it is reached through `link.sh` or run on its own. That file is hand-written and in no repo, like `~/.localenv`: it is for a machine where a part would do the wrong thing, such as one whose `~/.claude/settings.json` belongs to its owner rather than to this account, and it keeps that machine's exception out of this repo, which every machine shares.
+
### Theme System
A sophisticated theming system managed by `bin/theme` coordinates color schemes across multiple applications:
- Supports both light and dark modes