aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-24 00:39:53 -0400
committerCraig Jennings <c@cjennings.net>2026-06-24 00:39:53 -0400
commit03ad1500dc83f16395d733e5700784fa4ea80428 (patch)
tree66cc67f117630675109ee469029572de539484f7
parentcc93fa87b6a2a1e56e087ade061a621c611ae0a2 (diff)
downloadrulesets-03ad1500dc83f16395d733e5700784fa4ea80428.tar.gz
rulesets-03ad1500dc83f16395d733e5700784fa4ea80428.zip
docs(rules): add a daily-driver machine-sync rule
Craig runs two daily drivers, ratio and velox, that need to stay in sync. The rule prompts every project session to consider whether an important machine-level change (dotfiles, a synced repo's clone or timer, a global config, a one-time bootstrap) needs to reach the other box, and to name the manual step when nothing carries it automatically. It carries the current open instance: the roam.git KB clone plus its roam-sync timer is confirmed on velox and still needs verifying on ratio. Claude-Session: https://claude.ai/code/session_017PtX1nt1rtYVATuzmzBS4f
-rw-r--r--claude-rules/daily-drivers.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/claude-rules/daily-drivers.md b/claude-rules/daily-drivers.md
new file mode 100644
index 0000000..eeda33f
--- /dev/null
+++ b/claude-rules/daily-drivers.md
@@ -0,0 +1,49 @@
+# Daily-Driver Machines
+
+Applies to: `**/*`
+
+Craig runs exactly two daily-driver machines: **ratio** and **velox**. They are
+kept in sync, and an important change made on one usually needs to reach the
+other.
+
+## The Rule
+
+When you make or notice a change that is **machine-level and important** —
+dotfiles, installed tooling, a synced repo's clone or timer setup, a global
+config, a systemd unit, a credential, a one-time bootstrap step — consider
+whether the *other* daily driver needs the same change, and flag it. Don't
+assume a change made on the current machine is live everywhere.
+
+This is a prompt to think, not a script to run. The agent can't reach the other
+machine; the point is to surface "the other daily driver may need this too" at
+the moment the change lands, so it doesn't silently drift to one box.
+
+## How the sync actually happens
+
+The mechanism depends on what changed:
+
+- **A tracked repo** (rulesets, dotfiles, a project) — the other machine just
+ needs a `git pull` (and, for rulesets, a `make install` to relink anything
+ new). Most changes are this.
+- **Dotfiles** — ride the dotfiles repo; the other machine picks them up on its
+ next stow/pull.
+- **A one-time setup** — a new repo clone, a new systemd timer, a freshly
+ installed tool, a credential — has to be done by hand on each machine. These
+ are the ones that silently drift, because nothing carries them automatically.
+
+When the change is the one-time kind, say so explicitly: name the manual step
+the other machine still needs.
+
+## Knowing which machine you're on
+
+`uname -n` returns the hostname (`ratio` or `velox`). Use it when a reminder is
+machine-specific ("on ratio, you still need to …") so the note is actionable
+rather than abstract.
+
+## Current open instance
+
+The org-roam knowledge-base clone — `git@cjennings.net:roam.git` — plus its
+`roam-sync` systemd timer is confirmed set up on **velox**. It still needs
+verifying (clone + timer) on **ratio**. This is the last piece before the
+"memory sync across machines" work closes (tracked in the rulesets `todo.org`).
+Clear this line once ratio is confirmed.