@michaelmusyoka/eng-os-kit 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 (33) hide show
  1. package/README.md +104 -0
  2. package/bin/eng-os.mjs +222 -0
  3. package/lib/targets.mjs +49 -0
  4. package/package.json +14 -0
  5. package/rules/engineering-contract.md +51 -0
  6. package/scripts/capture-evidence.sh +38 -0
  7. package/scripts/placeholder-audit.sh +51 -0
  8. package/scripts/validate-registry.mjs +71 -0
  9. package/skills/api-database-contract/SKILL.md +38 -0
  10. package/skills/code-review/SKILL.md +39 -0
  11. package/skills/engineering-contract/SKILL.md +40 -0
  12. package/skills/engineering-contract/references/definition-of-done.md +47 -0
  13. package/skills/implementation-prompt/SKILL.md +38 -0
  14. package/skills/incident-response/SKILL.md +34 -0
  15. package/skills/release-gate/SKILL.md +30 -0
  16. package/skills/repo-inspection/SKILL.md +41 -0
  17. package/skills/security-review/SKILL.md +43 -0
  18. package/skills/security-review/references/prompt-injection.md +18 -0
  19. package/skills/signature-dark-ui/SKILL.md +72 -0
  20. package/skills/signature-dark-ui/references/components.md +449 -0
  21. package/skills/signature-dark-ui/references/layout-and-motion.md +1246 -0
  22. package/skills/test-strategy/SKILL.md +36 -0
  23. package/skills/traceability-audit/SKILL.md +46 -0
  24. package/skills/verification-evidence/SKILL.md +30 -0
  25. package/state/decision-log.md +6 -0
  26. package/state/feature-registry.json +18 -0
  27. package/state/feature-registry.schema.json +29 -0
  28. package/state/known-issues.md +6 -0
  29. package/templates/adr.md +19 -0
  30. package/templates/feature-record.md +40 -0
  31. package/templates/implementation-prompt.md +49 -0
  32. package/templates/incident-report.md +29 -0
  33. package/templates/verification-record.md +45 -0
@@ -0,0 +1,449 @@
1
+ # Components reference
2
+
3
+ Contents: cards and hover, shadows, glassmorphism, navigation, primary and secondary buttons, inputs, badges, data visualization, progress bars, tables, modals, empty states, loading states, iconography, micro-interactions.
4
+
5
+ # 14. CARDS
6
+
7
+ Cards are a major part of the visual system.
8
+
9
+ Default:
10
+
11
+ ```css
12
+ background: var(--bg-card);
13
+ border: 1px solid var(--border);
14
+ border-radius: var(--radius);
15
+ ```
16
+
17
+ Large cards may use:
18
+
19
+ ```css
20
+ border-radius: var(--radius-lg);
21
+ padding: 24px–32px;
22
+ ```
23
+
24
+ Reference cards use dark elevated surfaces, subtle borders, controlled radius, and soft shadows.
25
+
26
+ ### Card hierarchy
27
+
28
+ Not every card should look identical.
29
+
30
+ Use:
31
+
32
+ ### Level 1
33
+ Flat surface.
34
+
35
+ ### Level 2
36
+ Surface + border.
37
+
38
+ ### Level 3
39
+ Surface + border + shadow.
40
+
41
+ ### Level 4
42
+ Featured surface + accent edge/glow.
43
+
44
+ Most components should remain Level 1 or Level 2.
45
+
46
+ ---
47
+
48
+ # 15. CARD HOVER
49
+
50
+ Hover should be subtle.
51
+
52
+ Preferred:
53
+
54
+ ```css
55
+ transform: translateY(-2px);
56
+ border-color: var(--border-bright);
57
+ ```
58
+
59
+ Optionally:
60
+
61
+ ```css
62
+ box-shadow: var(--shadow-glow);
63
+ ```
64
+
65
+ Do not make cards jump 10–20px.
66
+
67
+ Do not rotate cards.
68
+
69
+ Do not add huge glow effects.
70
+
71
+ The reference uses approximately 2px elevation on interactive cards.
72
+
73
+ ---
74
+
75
+ # 16. SHADOWS
76
+
77
+ Use soft, deep shadows.
78
+
79
+ Reference:
80
+
81
+ ```css
82
+ --shadow-card: 0 4px 32px rgba(0,0,0,0.45);
83
+ --shadow-glow: 0 0 32px rgba(59,130,246,0.25);
84
+ ```
85
+
86
+
87
+
88
+ Shadows should establish depth.
89
+
90
+ They should not make every element look like it is floating.
91
+
92
+ ---
93
+
94
+ # 17. GLASSMORPHISM
95
+
96
+ Use sparingly.
97
+
98
+ Acceptable:
99
+
100
+ - sticky navigation
101
+ - modal overlays
102
+ - floating contextual UI
103
+ - occasional hero decoration
104
+
105
+ Example:
106
+
107
+ ```css
108
+ background: rgba(6,9,20,0.85);
109
+ backdrop-filter: blur(20px);
110
+ ```
111
+
112
+ The reference uses this treatment on its sticky navigation.
113
+
114
+ Do not build the entire site from translucent glass cards.
115
+
116
+ That is one of the fastest ways to make the site look like a generic AI-generated interface.
117
+
118
+ ---
119
+
120
+ # 18. NAVIGATION
121
+
122
+ Desktop navigation:
123
+
124
+ - compact
125
+ - horizontal
126
+ - centered within max-width container
127
+ - sticky when useful
128
+ - translucent/dark
129
+ - subtle bottom border
130
+
131
+ Navigation links should be quiet.
132
+
133
+ Inactive:
134
+
135
+ ```text
136
+ muted slate
137
+ ```
138
+
139
+ Hover:
140
+
141
+ ```text
142
+ primary text
143
+ subtle translucent background
144
+ ```
145
+
146
+ Active:
147
+
148
+ ```text
149
+ blue-bright
150
+ ```
151
+
152
+ Reference navigation follows this exact hierarchy.
153
+
154
+ ---
155
+
156
+ # 19. PRIMARY BUTTONS
157
+
158
+ Primary buttons should feel tactile and important.
159
+
160
+ Use:
161
+
162
+ - blue gradient
163
+ - white text
164
+ - 8–14px radius
165
+ - moderate padding
166
+ - subtle glow
167
+ - small hover elevation
168
+
169
+ Example behavior:
170
+
171
+ ```css
172
+ transition: all 220ms cubic-bezier(0.4,0,0.2,1);
173
+ ```
174
+
175
+ Hover:
176
+
177
+ ```css
178
+ transform: translateY(-2px);
179
+ box-shadow: 0 8px 32px var(--blue-glow);
180
+ ```
181
+
182
+ The reference uses this interaction pattern.
183
+
184
+ ---
185
+
186
+ # 20. SECONDARY BUTTONS
187
+
188
+ Secondary actions should not compete with primary actions.
189
+
190
+ Use:
191
+
192
+ ```css
193
+ background: rgba(255,255,255,0.04–0.06);
194
+ border: 1px solid var(--border-bright);
195
+ color: var(--text-primary);
196
+ ```
197
+
198
+ Hover:
199
+
200
+ ```css
201
+ background: rgba(255,255,255,0.08–0.10);
202
+ transform: translateY(-1px or -2px);
203
+ ```
204
+
205
+ ---
206
+
207
+ # 21. INPUTS
208
+
209
+ Inputs should feel integrated into the interface.
210
+
211
+ Use:
212
+
213
+ ```css
214
+ background: var(--bg-surface);
215
+ border: 1px solid var(--border);
216
+ border-radius: 8px;
217
+ color: var(--text-primary);
218
+ ```
219
+
220
+ Focus:
221
+
222
+ ```css
223
+ border-color: var(--blue-bright);
224
+ box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
225
+ ```
226
+
227
+ The reference uses this exact focus philosophy.
228
+
229
+ Never use browser-default inputs.
230
+
231
+ ---
232
+
233
+ # 22. BADGES
234
+
235
+ Badges should be compact.
236
+
237
+ Use:
238
+
239
+ ```text
240
+ small font
241
+ semi-bold
242
+ pill radius
243
+ low-opacity colored background
244
+ colored text
245
+ ```
246
+
247
+ Examples:
248
+
249
+ ```text
250
+ SUCCESS
251
+ PENDING
252
+ PROCESSING
253
+ ACTIVE
254
+ NEW
255
+ POPULAR
256
+ ```
257
+
258
+ Semantic colors:
259
+
260
+ ```text
261
+ success → green
262
+ warning → amber
263
+ danger → red
264
+ info → blue
265
+ special → purple/cyan
266
+ ```
267
+
268
+ Keep the background translucent.
269
+
270
+ ---
271
+
272
+ # 23. DATA VISUALIZATION
273
+
274
+ For dashboards:
275
+
276
+ Charts should feel like part of the same interface.
277
+
278
+ Use:
279
+
280
+ - dark chart surfaces
281
+ - muted grid lines
282
+ - luminous data lines
283
+ - blue/cyan primary series
284
+ - green for positive metrics
285
+ - amber for warnings
286
+ - purple for secondary categories
287
+
288
+ The reference uses blue, cyan, purple, amber, and green as its primary chart vocabulary.
289
+
290
+ Do not use random chart palettes.
291
+
292
+ ---
293
+
294
+ # 24. PROGRESS BARS
295
+
296
+ Progress bars should be:
297
+
298
+ - thin
299
+ - rounded
300
+ - dark track
301
+ - bright fill
302
+ - animated when data loads
303
+
304
+ Typical:
305
+
306
+ ```text
307
+ track: 6–8px
308
+ radius: full
309
+ fill: accent
310
+ transition: 600ms ease
311
+ ```
312
+
313
+ The reference uses approximately 6px conversion bars with animated width transitions.
314
+
315
+ ---
316
+
317
+ # 41. TABLES
318
+
319
+ Tables should feel integrated rather than like HTML defaults.
320
+
321
+ Use:
322
+
323
+ - compact row heights
324
+ - muted headers
325
+ - thin dividers
326
+ - subtle hover
327
+ - semantic badges
328
+ - aligned numerical values
329
+ - horizontal scrolling on mobile
330
+
331
+ Reference behavior includes muted table headers, subtle row borders, and extremely low-opacity hover states.
332
+
333
+ ---
334
+
335
+ # 42. MODALS
336
+
337
+ Modal:
338
+
339
+ - dark card
340
+ - 20px radius
341
+ - subtle bright border
342
+ - blurred overlay
343
+ - controlled entrance animation
344
+
345
+ Reference modal behavior uses a dark elevated card, brightened border, blurred overlay, and a small translate/scale entrance.
346
+
347
+ Preferred entrance:
348
+
349
+ ```text
350
+ opacity: 0 → 1
351
+ translateY: 20px → 0
352
+ scale: .97 → 1
353
+ ```
354
+
355
+ ---
356
+
357
+ # 43. EMPTY STATES
358
+
359
+ Never leave an empty area blank.
360
+
361
+ Use:
362
+
363
+ - Signature Signal
364
+ - small icon
365
+ - concise explanation
366
+ - optional action
367
+
368
+ Example:
369
+
370
+ ```text
371
+ [Signature Signal]
372
+
373
+ No activity yet
374
+
375
+ Your recent activity will appear here.
376
+ ```
377
+
378
+ Keep it understated.
379
+
380
+ ---
381
+
382
+ # 44. LOADING STATES
383
+
384
+ Prefer skeletons or restrained shimmer.
385
+
386
+ Skeleton colors:
387
+
388
+ ```text
389
+ background: rgba(255,255,255,.04)
390
+ highlight: rgba(255,255,255,.07)
391
+ ```
392
+
393
+ Do not create enormous animated loading screens unless necessary.
394
+
395
+ The Signature Signal may be used as a subtle loading indicator.
396
+
397
+ ---
398
+
399
+ # 48. ICONOGRAPHY
400
+
401
+ Prefer:
402
+
403
+ - Lucide-style icons
404
+ - clean SVG icons
405
+ - consistent stroke width
406
+ - 16–20px typical size
407
+
408
+ Use icons as information enhancers.
409
+
410
+ Do not use emojis as the primary icon system.
411
+
412
+ Emojis may occasionally appear in dashboards or marketing copy where they make sense, but the core interface should use a coherent icon family.
413
+
414
+ ---
415
+
416
+ # 49. MICRO-INTERACTIONS
417
+
418
+ Every interactive element should communicate its state.
419
+
420
+ Examples:
421
+
422
+ ### Button
423
+
424
+ Rest → hover → pressed → disabled
425
+
426
+ ### Navigation
427
+
428
+ Inactive → hover → active
429
+
430
+ ### Input
431
+
432
+ Rest → focus → error → success
433
+
434
+ ### Card
435
+
436
+ Rest → hover → selected
437
+
438
+ ### Dropdown
439
+
440
+ Closed → opening → open
441
+
442
+ ### Modal
443
+
444
+ Hidden → entering → active → exiting
445
+
446
+ Animations should be fast enough to feel responsive.
447
+
448
+ ---
449
+