aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-05 14:16:44 -0500
committerCraig Jennings <c@cjennings.net>2026-06-05 14:16:44 -0500
commit619131d92ad9f442a89cb41ade707a8eb5bc3d3d (patch)
tree01fecfaa84d57eec1d487df10f61189a5b3528d7
parentf31e8f3a39190424eec325234224311618e28267 (diff)
downloaddotemacs-619131d92ad9f442a89cb41ade707a8eb5bc3d3d.tar.gz
dotemacs-619131d92ad9f442a89cb41ade707a8eb5bc3d3d.zip
chore(claude): add patterns-catalog pointer rule from bundle
Synced into .claude/rules/ by the startup language-bundle drift check. Points at the rulesets pattern catalog for interaction-design decisions.
-rw-r--r--.claude/rules/patterns.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/.claude/rules/patterns.md b/.claude/rules/patterns.md
new file mode 100644
index 00000000..e079a288
--- /dev/null
+++ b/.claude/rules/patterns.md
@@ -0,0 +1,29 @@
+# Pattern Catalog Pointer
+
+Applies to: `**/*`
+
+A curated catalog of reusable interaction-design patterns lives at `~/code/rulesets/patterns/`. Each pattern is one file capturing a small principle with wide surface area — discovered in one project, written down so the next project doesn't re-derive it.
+
+## When to consult it
+
+Before designing any user-facing interaction choice, read the relevant pattern instead of reinventing the shape:
+
+- A prompt or a chain of prompts (a completing-read, a wizard, a multi-step form)
+- A picker over N candidates where the kind of candidate matters, not just the name
+- A default for a yes/no or multiple-choice prompt
+- A confirmation whose friction should match its consequence
+- Any "should this be one prompt or several?" decision
+
+These patterns came out of Emacs/Elisp prompt design, but the principles are interface-general — they apply to a CLI flow, a web form, or a TUI just as well.
+
+## How to load it
+
+Don't carry the whole catalog in context. Read `~/code/rulesets/patterns/README.org` for the index and the one-line principle of each pattern, then read the single pattern file you need (the patterns are `.org` files). Humans grep `patterns/` directly.
+
+## The root principle
+
+The patterns converge on one idea: the choices the user has should all be on screen, accurately labeled, ordered by what they'll most often want, with friction sized to the cost of being wrong. Each pattern file is one worked shape of that principle.
+
+## Adding to it
+
+A new pattern is captured as a raw note in a project's `docs/design/` when it lands, then promoted into `patterns/` in a batched review (see `patterns/README.md` for the cadence and the frontmatter contract). Don't formalize every rough note inline — capture on landing, promote on review.