@thebassclef/lite 0.1.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/dist/cli.cjs +238 -127
  2. package/dist/cli.js +240 -129
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/lite/.bassclef-source.json +10 -0
  7. package/dist/lite/.claude/settings.json +212 -0
  8. package/dist/lite/CLAUDE.md +41 -0
  9. package/dist/lite/gitignore +58 -0
  10. package/dist/lite/standards/bassclef-wiring-manifest.json +497 -0
  11. package/dist/lite/whereami.md +24 -0
  12. package/package.json +8 -2
  13. package/substrate/.bassclef/lite-manifest.json +0 -2701
  14. package/substrate/.claude/agents/architect.md +0 -70
  15. package/substrate/.claude/agents/builder.md +0 -114
  16. package/substrate/.claude/agents/designer.md +0 -156
  17. package/substrate/.claude/agents/reviewer.md +0 -88
  18. package/substrate/.claude/hooks/artifact-ingestion-gate.sh +0 -357
  19. package/substrate/.claude/hooks/assert-verify-steering.sh +0 -77
  20. package/substrate/.claude/hooks/bassclef-source-config-validate.sh +0 -215
  21. package/substrate/.claude/hooks/bassclef-sync.sh +0 -634
  22. package/substrate/.claude/hooks/compound-noun-scrub.sh +0 -292
  23. package/substrate/.claude/hooks/kiss-expansion-inject.sh +0 -69
  24. package/substrate/.claude/hooks/longrun-prep-compounding-axis-check.sh +0 -492
  25. package/substrate/.claude/hooks/longrun-prep-compounding-sequence-check.sh +0 -492
  26. package/substrate/.claude/hooks/plain-english-steering.sh +0 -156
  27. package/substrate/.claude/hooks/post-skill-friction-check.sh +0 -177
  28. package/substrate/.claude/hooks/post-skill-telemetry.sh +0 -62
  29. package/substrate/.claude/hooks/pre-build-gate.sh +0 -511
  30. package/substrate/.claude/hooks/pre-commit-gate.sh +0 -451
  31. package/substrate/.claude/hooks/session-end.sh +0 -433
  32. package/substrate/.claude/hooks/session-reflection.sh +0 -303
  33. package/substrate/.claude/hooks/skill-body-grade-gate.sh +0 -219
  34. package/substrate/.claude/hooks/skill-body-intent-drift.sh +0 -107
  35. package/substrate/.claude/hooks/skill-step-list-check.sh +0 -171
  36. package/substrate/.claude/hooks/state-validate.sh +0 -271
  37. package/substrate/.claude/hooks/substrate-clarity-gate.sh +0 -1110
  38. package/substrate/.claude/hooks/temperance-gate.sh +0 -147
  39. package/substrate/.claude/hooks/testing-tier-enforce.sh +0 -233
  40. package/substrate/.claude/hooks/turn-prose-grade-measure.sh +0 -219
  41. package/substrate/.claude/hooks/turn-prose-kiss-check.sh +0 -463
  42. package/substrate/.claude/hooks/vocabulary-migration-check.sh +0 -171
  43. package/substrate/.claude/hooks/whereami-utc-gate.sh +0 -142
  44. package/substrate/.claude/luminaries/alan-cooper.md +0 -170
  45. package/substrate/.claude/luminaries/alistair-cockburn.md +0 -140
  46. package/substrate/.claude/luminaries/amazon-pr-faq.md +0 -34
  47. package/substrate/.claude/luminaries/ash-maurya.md +0 -121
  48. package/substrate/.claude/luminaries/bill-buxton.md +0 -210
  49. package/substrate/.claude/luminaries/charles-sanders-peirce.md +0 -150
  50. package/substrate/.claude/luminaries/david-ogilvy.md +0 -192
  51. package/substrate/.claude/luminaries/don-norman.md +0 -173
  52. package/substrate/.claude/luminaries/edward-tufte.md +0 -179
  53. package/substrate/.claude/luminaries/eric-evans.md +0 -160
  54. package/substrate/.claude/luminaries/frederick-brooks.md +0 -50
  55. package/substrate/.claude/luminaries/gang-of-four.md +0 -157
  56. package/substrate/.claude/luminaries/glenford-myers.md +0 -230
  57. package/substrate/.claude/luminaries/hunt-thomas.md +0 -115
  58. package/substrate/.claude/luminaries/hyrum-wright.md +0 -94
  59. package/substrate/.claude/luminaries/jason-fried-dhh.md +0 -46
  60. package/substrate/.claude/luminaries/jesse-james-garrett.md +0 -154
  61. package/substrate/.claude/luminaries/john-ousterhout.md +0 -94
  62. package/substrate/.claude/luminaries/karl-popper.md +0 -132
  63. package/substrate/.claude/luminaries/kent-beck.md +0 -168
  64. package/substrate/.claude/luminaries/linus-torvalds.md +0 -218
  65. package/substrate/.claude/luminaries/martin-fowler.md +0 -164
  66. package/substrate/.claude/luminaries/michael-feathers.md +0 -125
  67. package/substrate/.claude/luminaries/michael-nygard.md +0 -118
  68. package/substrate/.claude/luminaries/robert-c-martin.md +0 -164
  69. package/substrate/.claude/luminaries/saltzer-schroeder.md +0 -194
  70. package/substrate/.claude/luminaries/sophia-prater.md +0 -193
  71. package/substrate/.claude/luminaries/stephen-toulmin.md +0 -131
  72. package/substrate/.claude/luminaries/tony-hoare.md +0 -170
  73. package/substrate/.claude/luminaries/vaughn-vernon.md +0 -50
  74. package/substrate/.claude/luminaries/w-edwards-deming.md +0 -158
  75. package/substrate/.claude/rules/accessor-library-discipline.md +0 -138
  76. package/substrate/.claude/rules/adr-discipline.md +0 -120
  77. package/substrate/.claude/rules/api-conventions.md +0 -125
  78. package/substrate/.claude/rules/artifact-ingestion.md +0 -179
  79. package/substrate/.claude/rules/assert-only-after-verify.md +0 -137
  80. package/substrate/.claude/rules/blocked-items.md +0 -146
  81. package/substrate/.claude/rules/bootstrap-pair-discipline.md +0 -141
  82. package/substrate/.claude/rules/branching.md +0 -28
  83. package/substrate/.claude/rules/cold-adopter-harness-discipline.md +0 -129
  84. package/substrate/.claude/rules/commit-conventions.md +0 -22
  85. package/substrate/.claude/rules/compounding-axis-fresh-analysis.md +0 -188
  86. package/substrate/.claude/rules/compounding-sequence-fresh-analysis.md +0 -188
  87. package/substrate/.claude/rules/context-engineering.md +0 -202
  88. package/substrate/.claude/rules/context-management.md +0 -85
  89. package/substrate/.claude/rules/defensive-bash.md +0 -68
  90. package/substrate/.claude/rules/deferred-actions.md +0 -233
  91. package/substrate/.claude/rules/destructive-operations.md +0 -69
  92. package/substrate/.claude/rules/diagnosis.md +0 -38
  93. package/substrate/.claude/rules/github-issue-flash-tweet.md +0 -156
  94. package/substrate/.claude/rules/guardrails.md +0 -73
  95. package/substrate/.claude/rules/hook-wire-on-author.md +0 -103
  96. package/substrate/.claude/rules/identifier-leak-prevention.md +0 -104
  97. package/substrate/.claude/rules/iteration-bet-brief-completeness.md +0 -54
  98. package/substrate/.claude/rules/lite-manifest-schema-change-discipline.md +0 -98
  99. package/substrate/.claude/rules/longrun-prep-plan-doc-compression.md +0 -89
  100. package/substrate/.claude/rules/loop-discipline.md +0 -81
  101. package/substrate/.claude/rules/manual-prod-approval.md +0 -100
  102. package/substrate/.claude/rules/marker-enrichment-discipline.md +0 -99
  103. package/substrate/.claude/rules/mobile-ephemeral-session.md +0 -109
  104. package/substrate/.claude/rules/new-dependency-check.md +0 -51
  105. package/substrate/.claude/rules/oo-ad-entry-point.md +0 -117
  106. package/substrate/.claude/rules/operator-facing-prose.md +0 -196
  107. package/substrate/.claude/rules/option-label-discipline.md +0 -108
  108. package/substrate/.claude/rules/pattern-annotation.md +0 -100
  109. package/substrate/.claude/rules/plain-english-discipline.md +0 -156
  110. package/substrate/.claude/rules/plan-enumeration-needs-value-props.md +0 -211
  111. package/substrate/.claude/rules/pr-body-shape.md +0 -317
  112. package/substrate/.claude/rules/pr-strategy.md +0 -167
  113. package/substrate/.claude/rules/pr-title-shape.md +0 -161
  114. package/substrate/.claude/rules/prototype-workflow.md +0 -65
  115. package/substrate/.claude/rules/reserved-skill-names.md +0 -123
  116. package/substrate/.claude/rules/schema-management.md +0 -49
  117. package/substrate/.claude/rules/sdlc-gates.md +0 -149
  118. package/substrate/.claude/rules/security.md +0 -37
  119. package/substrate/.claude/rules/session-artifacts.md +0 -236
  120. package/substrate/.claude/rules/skill-composition-declarations.md +0 -124
  121. package/substrate/.claude/rules/skill-description-clarity.md +0 -247
  122. package/substrate/.claude/rules/skill-procedure-step-list.md +0 -137
  123. package/substrate/.claude/rules/state-schema-validation.md +0 -162
  124. package/substrate/.claude/rules/stuck-signal-diagnostic.md +0 -140
  125. package/substrate/.claude/rules/substrate-config-schema.md +0 -98
  126. package/substrate/.claude/rules/test-list-discipline.md +0 -175
  127. package/substrate/.claude/rules/test-sufficiency.md +0 -210
  128. package/substrate/.claude/rules/testing-tier-config.md +0 -145
  129. package/substrate/.claude/rules/testing.md +0 -38
  130. package/substrate/.claude/rules/turn-estimate-grounding.md +0 -134
  131. package/substrate/.claude/rules/visual-hierarchy.md +0 -437
  132. package/substrate/.claude/rules/we-dont-break-adopters.md +0 -126
  133. package/substrate/.claude/rules/whereami-load-bearing.md +0 -202
  134. package/substrate/.claude/rules/writing-craft-discipline.md +0 -92
  135. package/substrate/.claude/rules/wu-sequencing-compounds.md +0 -145
  136. package/substrate/.claude/skills/build/SKILL.md +0 -640
  137. package/substrate/.claude/skills/chronicle/SKILL.md +0 -55
  138. package/substrate/.claude/skills/clean-artifacts/SKILL.md +0 -249
  139. package/substrate/.claude/skills/decompose/SKILL.md +0 -280
  140. package/substrate/.claude/skills/diagnose/SKILL.md +0 -297
  141. package/substrate/.claude/skills/feynman/SKILL.md +0 -90
  142. package/substrate/.claude/skills/howdoi/SKILL.md +0 -105
  143. package/substrate/.claude/skills/ia-model/SKILL.md +0 -108
  144. package/substrate/.claude/skills/interaction-design/SKILL.md +0 -112
  145. package/substrate/.claude/skills/interpret-input/SKILL.md +0 -180
  146. package/substrate/.claude/skills/journal/SKILL.md +0 -209
  147. package/substrate/.claude/skills/kiss/SKILL.md +0 -449
  148. package/substrate/.claude/skills/launch/SKILL.md +0 -915
  149. package/substrate/.claude/skills/lean-canvas/SKILL.md +0 -332
  150. package/substrate/.claude/skills/longrun/SKILL.md +0 -463
  151. package/substrate/.claude/skills/luminary/SKILL.md +0 -481
  152. package/substrate/.claude/skills/ogilvy-writing-audit/SKILL.md +0 -177
  153. package/substrate/.claude/skills/onboard-repo/SKILL.md +0 -1624
  154. package/substrate/.claude/skills/pattern-review/SKILL.md +0 -99
  155. package/substrate/.claude/skills/personas/SKILL.md +0 -207
  156. package/substrate/.claude/skills/promote/SKILL.md +0 -283
  157. package/substrate/.claude/skills/requirement/SKILL.md +0 -98
  158. package/substrate/.claude/skills/retro/SKILL.md +0 -117
  159. package/substrate/.claude/skills/riff/SKILL.md +0 -114
  160. package/substrate/.claude/skills/roadmap-reconcile/SKILL.md +0 -163
  161. package/substrate/.claude/skills/session-end/SKILL.md +0 -309
  162. package/substrate/.claude/skills/session-log/SKILL.md +0 -299
  163. package/substrate/.claude/skills/skills/SKILL.md +0 -228
  164. package/substrate/.claude/skills/spec/SKILL.md +0 -105
  165. package/substrate/.claude/skills/sprint/SKILL.md +0 -392
  166. package/substrate/.claude/skills/stage/SKILL.md +0 -384
  167. package/substrate/.claude/skills/state-a-problem/SKILL.md +0 -185
  168. package/substrate/.claude/skills/temperance/SKILL.md +0 -108
  169. package/substrate/.claude/skills/use-case/SKILL.md +0 -417
  170. package/substrate/.claude/skills/user-stories/SKILL.md +0 -268
  171. package/substrate/.claude/skills/value-prop/SKILL.md +0 -251
  172. package/substrate/.claude/skills/verify/SKILL.md +0 -160
  173. package/substrate/.claude/skills/visual-review/SKILL.md +0 -503
  174. package/substrate/.claude/skills/whats-the-plan/SKILL.md +0 -202
  175. package/substrate/.claude/skills/whereami/SKILL.md +0 -307
  176. package/substrate/AGENTS.md +0 -79
  177. package/substrate/CLAUDE-lite.md +0 -85
  178. package/substrate/CODE_OF_CONDUCT.md +0 -28
  179. package/substrate/CONTRIBUTING.md +0 -177
  180. package/substrate/README.md +0 -173
  181. package/substrate/SECURITY.md +0 -19
  182. package/substrate/architecture/decisions/ADR-029-release-pipeline.md +0 -79
  183. package/substrate/architecture/decisions/ADR-031-non-breaking-changes-adopter-discipline.md +0 -139
  184. package/substrate/architecture/decisions/ADR-032-adopter-sync-dispatcher-architecture.md +0 -192
  185. package/substrate/architecture/decisions/ADR-039-release-tagging-scheme.md +0 -145
  186. package/substrate/architecture/decisions/ADR-040-planning-skill-vocabulary-and-lite-profile.md +0 -155
  187. package/substrate/architecture/decisions/ADR-044-unified-skill-body-template.md +0 -162
  188. package/substrate/lib/clean-artifacts-sweep.sh +0 -112
  189. package/substrate/lib/code-comment-discipline.sh +0 -144
  190. package/substrate/lib/composer-preflight.sh +0 -459
  191. package/substrate/lib/hook-inject.sh +0 -255
  192. package/substrate/lib/luminary-pick.sh +0 -96
  193. package/substrate/lib/output-discipline.sh +0 -143
  194. package/substrate/lib/prose-scan-boundary.sh +0 -171
  195. package/substrate/lib/rewrite-check.sh +0 -214
  196. package/substrate/lib/state.sh +0 -1372
  197. package/substrate/lib/telemetry.sh +0 -205
  198. package/substrate/lib/tier-check.sh +0 -187
  199. package/substrate/lib/tier-dependency-audit.sh +0 -1088
  200. package/substrate/presence/install/bassclef-hook-connect.sh +0 -178
  201. package/substrate/presence/install/bassclef-sync.dispatcher.template.sh +0 -841
  202. package/substrate/presence/install/bassclef-sync.template.sh +0 -2076
  203. package/substrate/presence/install/schedule-auto-save.cron.sh +0 -88
  204. package/substrate/presence/install/schedule-auto-save.taskscheduler.md +0 -122
  205. package/substrate/scripts/aggregate-telemetry.sh +0 -217
  206. package/substrate/scripts/analyze-tier-dependencies.sh +0 -239
  207. package/substrate/scripts/generate-lite-manifest.sh +0 -505
  208. package/substrate/scripts/generate-tier-manifest.sh +0 -28
  209. package/substrate/scripts/intent-drift-check.sh +0 -456
  210. package/substrate/scripts/lite-manifest-drift-check.sh +0 -146
  211. package/substrate/scripts/render-lite-manifest-doc.sh +0 -150
  212. package/substrate/standards/adr-template.md +0 -86
  213. package/substrate/standards/api-conventions/nextjs.md +0 -84
  214. package/substrate/standards/artifact-composition.md +0 -209
  215. package/substrate/standards/bash-hook-safety.md +0 -246
  216. package/substrate/standards/bassclef-configs-schema.md +0 -232
  217. package/substrate/standards/bassclef-evolution.md +0 -143
  218. package/substrate/standards/bassclef-internal-jargon.md +0 -244
  219. package/substrate/standards/bassclef-managed-sentinel.md +0 -96
  220. package/substrate/standards/bassclef-source-config.md +0 -228
  221. package/substrate/standards/branch-stacking.md +0 -408
  222. package/substrate/standards/code-safety-principles.md +0 -176
  223. package/substrate/standards/composer-prerequisites.md +0 -155
  224. package/substrate/standards/deferred-actions-schema.md +0 -204
  225. package/substrate/standards/dependency-discipline/cargo.md +0 -39
  226. package/substrate/standards/dependency-discipline/gem.md +0 -43
  227. package/substrate/standards/dependency-discipline/go-mod.md +0 -41
  228. package/substrate/standards/dependency-discipline/npm.md +0 -42
  229. package/substrate/standards/dependency-discipline/pip.md +0 -42
  230. package/substrate/standards/deployment-topology/ec2-tailscale.md +0 -225
  231. package/substrate/standards/deployment-topology.md +0 -69
  232. package/substrate/standards/docs-sync-allowlist.md +0 -76
  233. package/substrate/standards/domain-and-dns.md +0 -145
  234. package/substrate/standards/frontend-stack.md +0 -67
  235. package/substrate/standards/frontmatter-schema.md +0 -154
  236. package/substrate/standards/graceful-exit.md +0 -227
  237. package/substrate/standards/hook-idempotency.md +0 -102
  238. package/substrate/standards/hook-injection-discipline.md +0 -202
  239. package/substrate/standards/hook-install-class.md +0 -215
  240. package/substrate/standards/input-handler-interface.md +0 -152
  241. package/substrate/standards/lite-manifest-schema-changes.md +0 -135
  242. package/substrate/standards/luminary-matching.md +0 -105
  243. package/substrate/standards/luminary-problem-patterns.md +0 -481
  244. package/substrate/standards/migration-discipline/active-record.md +0 -50
  245. package/substrate/standards/migration-discipline/alembic.md +0 -43
  246. package/substrate/standards/migration-discipline/gorm.md +0 -50
  247. package/substrate/standards/migration-discipline/prisma.md +0 -53
  248. package/substrate/standards/migration-discipline/sqlalchemy.md +0 -51
  249. package/substrate/standards/mobile-ephemeral-session.md +0 -167
  250. package/substrate/standards/model-routing-discipline.md +0 -160
  251. package/substrate/standards/ogilvy-writing-rules.md +0 -225
  252. package/substrate/standards/opener-discipline.md +0 -96
  253. package/substrate/standards/operator-facing-prose-discipline.md +0 -201
  254. package/substrate/standards/persona-schema.md +0 -229
  255. package/substrate/standards/pluggable-luminaries.md +0 -323
  256. package/substrate/standards/pr-body-discipline.md +0 -115
  257. package/substrate/standards/preview-state-schema.md +0 -189
  258. package/substrate/standards/project-directory-layout.md +0 -276
  259. package/substrate/standards/release-tagging.md +0 -137
  260. package/substrate/standards/reserved-skill-names.md +0 -120
  261. package/substrate/standards/scannable-multi-option-output.md +0 -261
  262. package/substrate/standards/sdlc-compliance.md +0 -286
  263. package/substrate/standards/sdlc-gates/typescript.md +0 -57
  264. package/substrate/standards/secrets-lifecycle.md +0 -210
  265. package/substrate/standards/security-scanner-adapter.md +0 -145
  266. package/substrate/standards/session-board.md +0 -256
  267. package/substrate/standards/skill-output-discipline.md +0 -90
  268. package/substrate/standards/state-spine-contract.md +0 -255
  269. package/substrate/standards/state-spine.md +0 -511
  270. package/substrate/standards/steering-hints/kiss-words.md +0 -11
  271. package/substrate/standards/substrate-config-schema.md +0 -267
  272. package/substrate/standards/tech-stack-config.md +0 -109
  273. package/substrate/standards/tier-dependency-analysis.md +0 -167
  274. package/substrate/standards/tier-runtime-deps/lite.md +0 -57
  275. package/substrate/standards/tier-tag-schema.md +0 -155
  276. package/substrate/standards/two-layer-config.md +0 -99
  277. package/substrate/standards/use-case-format.md +0 -292
  278. package/substrate/standards/user-story-invest.md +0 -268
  279. package/substrate/standards/velocity-and-appetite.md +0 -229
  280. package/substrate/standards/voice-input-pattern.md +0 -119
  281. package/substrate/standards/whereami-schema.md +0 -301
  282. package/substrate/standards/worktree-management.md +0 -211
  283. package/substrate/standards/writing-guide.md +0 -213
  284. package/substrate/templates/chronicle-template.md +0 -75
  285. package/substrate/templates/deferred-action-template.md +0 -45
  286. package/substrate/templates/memory-proposal-template.md +0 -77
  287. package/substrate/templates/persona-template.md +0 -200
  288. package/substrate/templates/pr-faq.md +0 -45
  289. package/substrate/templates/secret-rotation-template.md +0 -162
  290. package/substrate/templates/spec-template.md +0 -131
  291. package/substrate/templates/use-case-template.md +0 -194
  292. package/substrate/templates/user-story-template.md +0 -107
  293. package/substrate/templates/whereami-template.md +0 -101
@@ -1,173 +0,0 @@
1
- ---
2
- tier: lite
3
- name: Don Norman
4
- slug: don-norman
5
- claimed_by: [designer]
6
- referenced_by_skills: [prototype-variants, interaction-design, visual-review]
7
- primary_domain: ux
8
- depth: full
9
- sources:
10
- - type: book
11
- title: "The Design of Everyday Things (revised and expanded edition)"
12
- authors: ["Don Norman"]
13
- year: 2013
14
- url: "https://www.basicbooks.com/titles/don-norman/the-design-of-everyday-things/9780465050659/"
15
- isbn: "9780465050659"
16
- methodology_covered:
17
- - "Affordances — what a thing tells you about how to use it"
18
- - "Signifiers — perceivable signals of action possibilities"
19
- - "Mapping — relationship between controls and their effects"
20
- - "Feedback — communication of action results back to the user"
21
- - "Conceptual models + mental models + system models"
22
- - "Seven stages of action — bridge gulfs of execution and evaluation"
23
- - type: book
24
- title: "Emotional Design: Why We Love (or Hate) Everyday Things"
25
- authors: ["Don Norman"]
26
- year: 2004
27
- url: "https://www.basicbooks.com/titles/donald-a-norman/emotional-design/9780465051366/"
28
- isbn: "9780465051366"
29
- methodology_covered:
30
- - "Three levels of design — visceral + behavioral + reflective"
31
- - "Emotion as integral to design quality, not decoration"
32
- - type: book
33
- title: "Living with Complexity"
34
- authors: ["Don Norman"]
35
- year: 2010
36
- url: "https://mitpress.mit.edu/9780262528948/living-with-complexity/"
37
- isbn: "9780262528948"
38
- methodology_covered:
39
- - "Complexity is necessary; complication is what we design against"
40
- - "Signifiers carry the discipline that lets complex systems feel usable"
41
- verification_status: verified
42
- solves_problems_brownfield:
43
- - "Users keep clicking the wrong thing or missing a button; affordances are unclear"
44
- - "Interface error messages punish the user rather than help them recover"
45
- - "Mental model and system model have diverged — users predict wrong outcomes"
46
- - "Mode visibility is missing; users don't know what state they're in"
47
- solves_problems_greenfield:
48
- - "Designing a new control surface where affordance language must be self-evident from first encounter"
49
- - "Building a tool whose error model should help users recover, not punish"
50
- - "Planning a product where mappings between control and effect must feel natural from day one"
51
- - "Designing a system where visibility of state is a first-class concern"
52
- anti_patterns:
53
- - "Designs whose primary value is delight or emotional resonance — Norman optimizes for clarity, not joy"
54
- - "Highly abstract or conceptual UIs where direct manipulation isn't the model"
55
- description: "\"Good design makes the right action obvious."
56
- ---
57
-
58
- # Don Norman
59
-
60
- ## Signature
61
-
62
- *"Good design makes the right action obvious. The wrong action should be difficult, or at least conspicuously wrong."*
63
-
64
- Coined **user experience**; co-founder of Nielsen Norman Group; author of
65
- **The Design of Everyday Things** and **Emotional Design**. The bassclef
66
- voice on how physical and digital objects communicate their use through
67
- perceived properties.
68
-
69
- ## Core methods
70
-
71
- - **Affordances** — What an object invites a user to do with it, based on
72
- its physical/visual properties. A button affords pressing; a handle
73
- affords pulling. The mismatch between real and perceived affordance is
74
- a design failure.
75
- - **Signifiers** — Explicit clues that communicate what action is
76
- possible. Where affordances are inherent, signifiers are designed.
77
- Arrows, labels, shadows, highlights — all signifiers.
78
- - **Mapping** — The correspondence between controls and their effects.
79
- A stove-top dial that controls the front-left burner should be
80
- spatially closer to that burner than any other.
81
- - **Feedback loops** — Every action needs immediate, meaningful feedback
82
- confirming what happened. Silent actions produce anxious users; long
83
- delays produce retries and duplicate submissions.
84
- - **Constraints** — Physical, logical, semantic, cultural limits that
85
- prevent wrong actions. A form field that rejects invalid characters
86
- is a constraint; a confirmation dialog is not — it's a warning.
87
- - **Emotional design three-levels** — Visceral (initial impression),
88
- behavioral (usability in use), reflective (meaning after use). All
89
- three contribute to product success; missing any degrades the whole.
90
-
91
- ## When to channel this luminary
92
-
93
- When the biggest risk is that users won't know how to use the thing —
94
- or will use it wrong. Norman dominates affordance-forward design:
95
- products where discoverability and error prevention at the interaction
96
- level are critical. Think: operator tools used daily, forms with
97
- financial or legal consequences, controls for complex processes where
98
- mistakes are expensive.
99
-
100
- Do NOT channel Norman as a primary for: content-heavy sites where
101
- structure dominates (use Prater or Morville), pure data visualization
102
- (Tufte), or identity work (Scher/Vignelli).
103
-
104
- ## Stack translation
105
-
106
- In React + Tailwind + shadcn/ui:
107
-
108
- - **Affordances** → button components that look clickable (shadow,
109
- hover state, cursor:pointer). Card components that don't look
110
- clickable shouldn't be clickable.
111
- - **Signifiers** → explicit labels + icons + helper text. A disabled
112
- button should show WHY it's disabled, not just dim.
113
- - **Mapping** → form layouts where the submit button is near the last
114
- field, not floating in a sidebar. Navigation where the section you're
115
- in is visually connected to its content.
116
- - **Feedback** → toast notifications, loading states, optimistic UI
117
- updates. Every server action needs a returned state.
118
- - **Constraints** → form validation at field level (not just submit),
119
- disabled states when actions are invalid, type="email" / type="number".
120
-
121
- ## Anti-patterns it prevents
122
-
123
- - **Mystery meat navigation** — icons without labels; users guess what
124
- each does. Norman's signifier principle demands explicit labeling.
125
- - **Hidden state actions** — buttons that do different things in
126
- different states without signaling the change. Violates feedback
127
- principle.
128
- - **Silent errors** — form submission that fails without communicating
129
- why. Every error needs clear, actionable feedback at the point of
130
- failure.
131
- - **Mode confusion** — UI that behaves differently in different modes
132
- without clear mode indicators. The user doesn't know which mode
133
- they're in.
134
- - **Ornamental affordance** — cards that look clickable but aren't;
135
- elements styled like buttons but that are decorative. Betrays the
136
- user's learned affordance expectations.
137
-
138
- ## Worked example
139
-
140
- For a deal-stage transition control in POA:
141
-
142
- Norman would design it as: a clearly labeled button ("Advance to LOI"),
143
- visually grouped with the current stage display, disabled with
144
- explanation when the deal is missing required fields ("Missing: Offer
145
- Price, Buyer Contact"). On click: immediate loading state, optimistic
146
- UI showing the new stage, toast confirmation on server success, error
147
- banner with specific reason on failure ("Cannot advance: Seller hasn't
148
- signed NDA").
149
-
150
- What Norman would NOT produce: a stage dropdown with no explanation
151
- for why some options are grayed out; a silent state change where the
152
- deal advances without confirmation; a generic "Error" toast that
153
- doesn't explain what went wrong.
154
-
155
- ## Sources
156
-
157
- - *The Design of Everyday Things* — Norman, Basic Books (1988, rev. 2013)
158
- - *Emotional Design: Why We Love (or Hate) Everyday Things* — Norman (2003)
159
- - *Living with Complexity* — Norman (2010)
160
- - jnd.org — Norman's primary site
161
- - Nielsen Norman Group — nngroup.com (co-founded)
162
-
163
- ## Related luminaries
164
-
165
- - **Sophia Prater** — Prater works at the structural layer above Norman's
166
- interaction layer. Use both: Prater for IA, Norman for the interactions
167
- within each screen.
168
- - **Jenifer Tidwell** — Pattern library operationalizes Norman's
169
- principles into reusable UI vocabulary.
170
- - **Jakob Nielsen** — NN/g co-founder; heuristics are Nielsen's
171
- operationalization of Norman-adjacent principles.
172
- - **Aarron Walter** — Emotional design hierarchy builds on Norman's
173
- three-level model.
@@ -1,179 +0,0 @@
1
- ---
2
- tier: lite
3
- name: Edward Tufte
4
- slug: edward-tufte
5
- claimed_by: [creative-director, designer]
6
- referenced_by_skills: [frontend-design, visual-review, prototype-variants]
7
- primary_domain: visual
8
- depth: full
9
- sources:
10
- - type: book
11
- title: "The Visual Display of Quantitative Information (2nd edition)"
12
- authors: ["Edward Tufte"]
13
- year: 2001
14
- url: "https://www.edwardtufte.com/tufte/books_vdqi"
15
- isbn: "9781930824133"
16
- methodology_covered:
17
- - "Data-ink ratio — maximize the ink that represents data; minimize non-data ink"
18
- - "Chartjunk — non-data ink that obscures rather than clarifies"
19
- - "Lie factor — visual representation should match the underlying data scale"
20
- - "Small multiples — series of small similar graphs for comparison"
21
- - type: book
22
- title: "Envisioning Information"
23
- authors: ["Edward Tufte"]
24
- year: 1990
25
- url: "https://www.edwardtufte.com/tufte/books_ei"
26
- isbn: "9780961392116"
27
- methodology_covered:
28
- - "Escaping flatland — representing multiple dimensions in two-dimensional space"
29
- - "Color as data + micro-macro readings + layering and separation"
30
- - type: book
31
- title: "Visual Explanations: Images and Quantities, Evidence and Narrative"
32
- authors: ["Edward Tufte"]
33
- year: 1997
34
- url: "https://www.edwardtufte.com/tufte/books_visex"
35
- isbn: "9780961392123"
36
- methodology_covered:
37
- - "Visualizing causality and change over time"
38
- - "Smallest effective difference — use the minimum visual difference that conveys the distinction"
39
- - type: book
40
- title: "Beautiful Evidence"
41
- authors: ["Edward Tufte"]
42
- year: 2006
43
- url: "https://www.edwardtufte.com/tufte/books_be"
44
- isbn: "9780961392178"
45
- methodology_covered:
46
- - "Sparklines — word-sized graphics embedded in running text"
47
- - "Evidence presentation principles for analytical writing"
48
- verification_status: verified
49
- solves_problems_brownfield:
50
- - "UI shows many numbers or trends in compressed space and legibility is breaking down"
51
- - "Dashboard has accumulated decoration and chart-junk; signal is buried"
52
- - "Multi-dimensional data displays are letting one dimension drown out others"
53
- - "Users decode the chart before understanding the message"
54
- solves_problems_greenfield:
55
- - "Planning a dashboard, financial report, or analytics UI that must show dense data clearly from day one"
56
- - "Designing a surface where multiple quantitative dimensions need to coexist without one drowning the others"
57
- - "Building a tool for domain experts who read data faster than narrative"
58
- - "Need small multiples or sparklines as the main display element in the new design"
59
- anti_patterns:
60
- - "Sparse, narrative-heavy surfaces — Tufte over-compresses"
61
- - "Consumer-emotional or marketing surfaces — Tufte reads as cold"
62
- - "First-time onboarding flows — density assumes domain familiarity"
63
- description: "\"Above all else, show the data. Maximize the data-ink ratio; every pixel that doesn't represent information is a candidate for removal.\""
64
- ---
65
-
66
- # Edward Tufte
67
-
68
- ## Signature
69
-
70
- *"Above all else, show the data. Maximize the data-ink ratio; every pixel that doesn't represent information is a candidate for removal."*
71
-
72
- Yale statistician and visual communication theorist; author of **The
73
- Visual Display of Quantitative Information** (1983). The bassclef
74
- voice on data visualization — the standard against which all chart,
75
- dashboard, and data-dense UI work is measured.
76
-
77
- ## Core methods
78
-
79
- - **Data-ink ratio** — The ratio of "ink" (visual weight) representing
80
- actual data to total ink on the page. Maximize it. Every gridline,
81
- axis label, border, or color swatch that doesn't represent data is a
82
- candidate for removal.
83
- - **Small multiples** — Many small versions of the same chart, aligned
84
- in a grid, enable comparison at a glance. A single complex chart
85
- often reads better as 12 small simple ones.
86
- - **Sparklines** — Word-sized, intense, simple graphics embedded in
87
- prose or tables. Show trend without dominating layout.
88
- - **Chartjunk elimination** — Cross-hatching, 3D effects, decorative
89
- borders, grid backgrounds, redundant legends. All candidates for
90
- removal. Most "business graphics" are majority chartjunk.
91
- - **Layering + separation** — Show multiple dimensions in the same
92
- visualization through layers (color, line weight, opacity) that
93
- separate clearly rather than blend into noise.
94
- - **Graphical integrity** — No distortion through truncated axes,
95
- misleading scales, decoration that implies precision where none
96
- exists. Graphics should reveal truth, not obscure it.
97
-
98
- ## When to channel this luminary
99
-
100
- When the product is data-dense and the primary risk is that information
101
- will be decoration rather than communication. Tufte dominates for
102
- dashboards, analytics surfaces, financial tables, comparison views,
103
- time-series data, geographic data. Pair with Lupton for the typographic
104
- layer of the same dense surfaces.
105
-
106
- Do NOT channel Tufte for: brand-forward surfaces where information
107
- density is secondary (use Scher, Ive, Rams), narrative or editorial
108
- content (Lupton, Bierut), or playful/delightful experiences (Walter,
109
- Walsh).
110
-
111
- ## Stack translation
112
-
113
- In React with chart libraries (Recharts, Visx, D3):
114
-
115
- - **Data-ink** → strip default gridlines, axis decorations, plot
116
- borders. Add back only what's needed.
117
- - **Small multiples** → CSS grid of many small charts, shared axis,
118
- consistent scale. `grid-cols-4` of 12 charts beats one giant chart.
119
- - **Sparklines** → inline SVG components in table cells; no axis,
120
- minimal color, 40-80px wide by 20px tall.
121
- - **No chartjunk** → remove Recharts/Chart.js defaults (legends,
122
- gridlines, tooltips) and add back only what's essential.
123
- - **Integrity** → axis starts at zero for magnitude charts; don't
124
- truncate. Use log scale explicitly and label it. Never stack areas
125
- to imply a total that isn't.
126
-
127
- ## Anti-patterns it prevents
128
-
129
- - **3D charts** — three-dimensional representation of 2D data. Adds
130
- nothing; distorts everything.
131
- - **Pie charts with many slices** — humans compare bar lengths better
132
- than angles. Convert to horizontal bar chart.
133
- - **Decorative dashboards** — dashboards that prioritize visual
134
- impressiveness over information density. Colors without meaning,
135
- gauges without data, sparklines as ornament.
136
- - **Too many axes** — dual-axis charts overlaid without clear
137
- separation. Viewer can't parse which line belongs to which axis.
138
- - **Chart redundancy** — the same number shown as a card, in a chart,
139
- and in a table on the same screen. Pick one.
140
- - **Default library output** — shipping a Recharts chart without
141
- styling it. Defaults are chartjunk; strip them.
142
-
143
- ## Worked example
144
-
145
- For POA's deal-pipeline dashboard:
146
-
147
- Tufte's approach:
148
- - **Summary metrics**: large numbers in typographic weight, no
149
- background cards, minimal chrome. "42 deals / $18M pipeline /
150
- Q2 close rate 34%."
151
- - **Stage progression**: small-multiples of each stage's deal count
152
- over time (6 small line charts in a row, shared time axis).
153
- - **Deal table**: dense, many rows visible, sparklines in the "age"
154
- column showing days-in-current-stage.
155
- - **Colors**: only where they encode data (stage color, alert state).
156
- No decorative colors.
157
-
158
- What Tufte would NOT produce: a dashboard with 3D bar charts, gauge
159
- widgets, "funnel" visualizations with decorative gradients, animated
160
- transitions that slow comprehension, or sidebars of big colored cards
161
- that display single numbers with excessive chrome.
162
-
163
- ## Sources
164
-
165
- - *The Visual Display of Quantitative Information* — Tufte, Graphics
166
- Press (1983, rev. 2001) — foundational text
167
- - *Envisioning Information* — Tufte (1990)
168
- - *Visual Explanations* — Tufte (1997)
169
- - *Beautiful Evidence* — Tufte (2006)
170
- - edwardtufte.com — primary site
171
-
172
- ## Related luminaries
173
-
174
- - **Ellen Lupton** — Lupton + Tufte pair for data-dense typographic
175
- surfaces. Tufte's data-ink, Lupton's type hierarchy.
176
- - **Dieter Rams** — Shared restraint philosophy; Rams in physical
177
- objects, Tufte in information displays.
178
- - **Jony Ive** — Shared obsessive precision; Tufte at the data layer,
179
- Ive at the material layer.
@@ -1,160 +0,0 @@
1
- ---
2
- tier: lite
3
- name: Eric Evans
4
- slug: eric-evans
5
- claimed_by: [architect]
6
- referenced_by_skills: [architect-review, decompose, ia-model]
7
- primary_domain: architecture
8
- depth: full
9
- sources:
10
- - type: book
11
- title: "Domain-Driven Design: Tackling Complexity in the Heart of Software"
12
- authors: ["Eric Evans"]
13
- year: 2003
14
- url: "https://www.domainlanguage.com/ddd/"
15
- isbn: "9780321125217"
16
- methodology_covered:
17
- - "Ubiquitous Language — single language shared by domain experts and developers"
18
- - "Bounded Contexts — explicit boundaries within which a particular model is defined and applicable"
19
- - "Aggregates + Aggregate Roots — clusters of associated objects treated as a unit for data changes"
20
- - "Domain Events + Domain Services + Repositories + Factories"
21
- - "Strategic Design — Context Mapping + relationships between bounded contexts"
22
- - type: paper
23
- title: "Domain-Driven Design Reference (definitions and pattern summaries)"
24
- authors: ["Eric Evans"]
25
- year: 2015
26
- url: "https://www.domainlanguage.com/ddd/reference/"
27
- methodology_covered:
28
- - "Free reference document — distilled DDD patterns and definitions"
29
- - "Quick-lookup vocabulary for ubiquitous-language conversations"
30
- verification_status: verified
31
- description: "\"The model is the backbone of the design."
32
- ---
33
-
34
- # Eric Evans
35
-
36
- ## Signature
37
-
38
- *"The model is the backbone of the design. Bounded contexts let multiple models coexist without collapsing into mud."*
39
-
40
- Author of **Domain-Driven Design** (the "blue book," 2003). The
41
- foundational voice on DDD — modeling complex domains through
42
- ubiquitous language, bounded contexts, and strategic design.
43
-
44
- ## Core methods
45
-
46
- - **Ubiquitous Language** — the same vocabulary used by domain experts,
47
- designers, and developers. Code names match business terms. "Deal"
48
- in the model IS "Deal" in the code, not "Transaction" or "Record".
49
- - **Bounded Context** — an explicit boundary within which a particular
50
- model applies. Multiple models can coexist (e.g., "Deal" in Acquisition
51
- context vs "Deal" in Finance context) with documented translation
52
- between them.
53
- - **Context Map** — the strategic view of how bounded contexts relate
54
- (Partnership, Shared Kernel, Customer/Supplier, Conformist, Anticorruption
55
- Layer, Published Language, etc.).
56
- - **Aggregates + Aggregate Roots** — cluster of domain objects treated
57
- as a single unit for consistency. Root controls access; small
58
- aggregates with references by ID between them.
59
- - **Entities vs Value Objects** — entities have identity that persists
60
- across state changes; value objects are immutable and defined by
61
- their attributes (Money, DateRange, Address).
62
- - **Domain Events** — things that happened in the domain worth
63
- remembering (DealAdvanced, BrokerAssigned). Captured explicitly,
64
- often drive integration between bounded contexts.
65
-
66
- ## When to channel this luminary
67
-
68
- When the primary risk is domain complexity — multiple stakeholder
69
- viewpoints, technical jargon that hides business meaning, or
70
- schema-mirror code that ignores how the business thinks. Evans
71
- dominates for B2B products with specialist users, regulated domains,
72
- and enterprise integration work. Pair with Vernon (Implementing DDD —
73
- operational methods) always.
74
-
75
- Do NOT channel Evans for: CRUD apps with trivial domain logic,
76
- consumer products where user is not a specialist, or single-bounded-
77
- context systems small enough to model as one coherent whole.
78
-
79
- ## Stack translation
80
-
81
- In Next.js + Prisma + TypeScript:
82
-
83
- - **Ubiquitous Language** → Prisma model names, TypeScript types, React
84
- component names, URL paths all use the same domain vocabulary as the
85
- business. No translation layer needed.
86
- - **Bounded Contexts** → separate domain directories under `lib/` per
87
- bounded context (`lib/acquisition/`, `lib/finance/`), with explicit
88
- mapping types at the boundary.
89
- - **Aggregates** → Prisma's nested transaction boundaries align with
90
- aggregate roots. A single `prisma.$transaction` should map to one
91
- aggregate's invariants, not cross aggregates.
92
- - **Value Objects** → TypeScript branded types for domain concepts
93
- (`type DealId = string & { __brand: 'DealId' }`) prevent mixing.
94
- - **Domain Events** → Prisma middleware hooks or explicit event-dispatch
95
- in services; events drive downstream integration.
96
- - **Anticorruption Layer** → adapters wrapping external APIs (enrichment
97
- providers, email services) translate between their model and ours.
98
-
99
- ## Anti-patterns it prevents
100
-
101
- - **Schema-mirror code** — code vocabulary that matches the database
102
- table structure instead of the business domain. "UserDealJunction"
103
- instead of "DealOwnership."
104
- - **Anemic Domain Model** — objects that hold data without behavior;
105
- business logic scattered across services. Evans prefers rich
106
- domain objects with behavior co-located with state.
107
- - **Big Ball of Mud** — one bounded context that tries to serve
108
- every viewpoint. Acquisition logic mixed with reporting with
109
- notifications all in one model.
110
- - **Transaction Script for non-trivial domains** — procedural code
111
- orchestrating DB calls; fine for simple CRUD, breaks under
112
- complex business rules.
113
- - **Linguistic leakage** — technical terms bleeding into business
114
- communication ("let's persist the entity"). Ubiquitous Language
115
- demands business vocabulary in both directions.
116
-
117
- ## Worked example
118
-
119
- For POA's cross-module work (Acquisition + Communications + Reporting):
120
-
121
- Evans's approach:
122
- - **Three bounded contexts**, each with its own model:
123
- - Acquisition: Deal, Seller, Buyer, Stage, Offer
124
- - Communications: Thread, Message, Broker, Participant
125
- - Reporting: DealSnapshot, StageAggregate, SourceMetrics
126
- - **Context Map** showing relationships:
127
- - Acquisition → Communications: Customer/Supplier (Communications
128
- consumes Deal events from Acquisition)
129
- - Acquisition → Reporting: Published Language (Reporting reads
130
- read-only snapshots, never mutates Acquisition)
131
- - **Ubiquitous Language per context** — a "Deal" in Acquisition is not
132
- the same shape as a "DealSnapshot" in Reporting, and that's correct.
133
- - **Aggregates**: Deal is aggregate root in Acquisition; Thread is
134
- aggregate root in Communications. They reference each other by ID.
135
- - **Domain Events**: `DealAdvanced` event fires from Acquisition, is
136
- consumed by Communications (sends notifications) and Reporting
137
- (updates aggregates).
138
-
139
- What Evans would NOT produce: one Prisma schema where User, Deal,
140
- Thread, and Report all share tables with "status" columns meaning
141
- different things in different views. That's the ball of mud he's
142
- explicitly preventing.
143
-
144
- ## Sources
145
-
146
- - *Domain-Driven Design: Tackling Complexity in the Heart of Software* —
147
- Evans, Addison-Wesley (2003) — THE foundational text
148
- - *Domain-Driven Design Reference* — Evans (2015, free PDF at domainlanguage.com)
149
- - domainlanguage.com — primary site
150
-
151
- ## Related luminaries
152
-
153
- - **Vaughn Vernon** — Implementing DDD. Vernon operationalizes Evans
154
- for teams new to DDD. Pair always.
155
- - **Martin Fowler** — Patterns of Enterprise Application Architecture
156
- provides implementation vocabulary for DDD's strategic concepts.
157
- - **Alistair Cockburn** — Hexagonal Architecture contains bounded
158
- contexts naturally; aggregates live inside hexagons.
159
- - **Gregor Hohpe** — EIP's integration patterns operate across
160
- Evans's context map relationships.
@@ -1,50 +0,0 @@
1
- ---
2
- tier: lite
3
- name: Frederick P. Brooks Jr.
4
- slug: frederick-brooks
5
- claimed_by: [orchestrator, architect]
6
- referenced_by_skills: [sprint, architect-review]
7
- primary_domain: orchestration
8
- depth: stub
9
- description: "\"Adding manpower to a late software project makes it later.\""
10
- ---
11
-
12
- # Frederick P. Brooks Jr.
13
-
14
- ## Signature
15
-
16
- *"Adding manpower to a late software project makes it later."*
17
-
18
- Author of **The Mythical Man-Month** (1975, 1995). Canonical voice on
19
- **coordination costs, communication overhead, and why software projects
20
- fail at scale**. We invoke Brooks whenever the temptation is "throw more
21
- agents at it."
22
-
23
- ## Core methods
24
-
25
- - **Brooks's Law** — Adding people to a late project makes it later.
26
- Onboarding cost + communication overhead > productive output of new
27
- hires for the duration of the delay.
28
- - **Communication overhead formula** — n people have n(n-1)/2
29
- communication pathways. Coordination cost grows quadratically with team
30
- size.
31
- - **No silver bullet** — No single development advance will improve
32
- software productivity by an order of magnitude. Beware grand claims.
33
- - **Conceptual integrity over democratic design** — A single architect's
34
- coherent vision beats a committee's compromise. Applies directly to
35
- multi-agent orchestration: one coordinator, many executors.
36
-
37
- ## Sources
38
-
39
- - *The Mythical Man-Month: Essays on Software Engineering* — Brooks,
40
- Addison-Wesley (1975, 20th anniversary ed 1995)
41
- - *"No Silver Bullet — Essence and Accident in Software Engineering"* —
42
- Brooks (1986)
43
- - Turing Award Lecture (1999)
44
-
45
- ## Related luminaries
46
-
47
- - **Melvin Conway** — Conway's Law and Brooks's Law operate in the same
48
- domain: organizational structure determines system structure and cost.
49
- - **Catherine Wu (Anthropic)** — "Underfund on purpose" is Brooks's
50
- insight applied to agent orchestration: fewer agents, tighter scope.