aboutsummaryrefslogtreecommitdiff
path: root/claude-rules/cross-project.md
diff options
context:
space:
mode:
Diffstat (limited to 'claude-rules/cross-project.md')
-rw-r--r--claude-rules/cross-project.md8
1 files changed, 8 insertions, 0 deletions
diff --git a/claude-rules/cross-project.md b/claude-rules/cross-project.md
index 73c0e1b..c5de962 100644
--- a/claude-rules/cross-project.md
+++ b/claude-rules/cross-project.md
@@ -50,6 +50,14 @@ whose canonical home is `~/code/rulesets/`. When work in a downstream project
needs one of these files to change, a local edit alone is a stopgap that the
next sync reverts. The durable change happens only in the rulesets canonical.
+Installed global paths such as `~/.claude/rules/`, `~/.claude/hooks/`,
+`~/.claude/skills/`, and rulesets-owned entries in `~/.local/bin/` are
+symlinks into the canonical repository, not downstream copies. Never edit
+through those paths from another project's session: resolving the symlink
+would dirty rulesets outside its own logging and wrap discipline. The
+`rulesets-write-boundary.py` hook mechanically denies Edit/Write targets whose
+real path lands there and directs the proposal through `inbox-send rulesets`.
+
The process, every time:
1. **Make the change locally** in the downstream project so it's usable