@mytechtoday/augment-extensions 1.2.2 → 1.3.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.
- package/augment-extensions/visual-design/CHANGELOG.md +132 -0
- package/augment-extensions/visual-design/README.md +255 -0
- package/augment-extensions/visual-design/__tests__/README.md +119 -0
- package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -0
- package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -0
- package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -0
- package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -0
- package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -0
- package/augment-extensions/visual-design/domains/other/os-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -0
- package/augment-extensions/visual-design/domains/other/web-app.ts +157 -0
- package/augment-extensions/visual-design/domains/other/website.ts +161 -0
- package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -0
- package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -0
- package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -0
- package/augment-extensions/visual-design/examples/README.md +97 -0
- package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -0
- package/augment-extensions/visual-design/examples/basic-usage.md +216 -0
- package/augment-extensions/visual-design/examples/domain-workflows.md +257 -0
- package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -0
- package/augment-extensions/visual-design/module.json +78 -0
- package/augment-extensions/visual-design/style-selector.ts +177 -0
- package/augment-extensions/visual-design/types.ts +302 -0
- package/augment-extensions/visual-design/visual-design-core.ts +469 -0
- package/augment-extensions/workflows/adr-support/README.md +227 -0
- package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -0
- package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -0
- package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -0
- package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -0
- package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -0
- package/augment-extensions/workflows/adr-support/module.json +112 -0
- package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -0
- package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -0
- package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -0
- package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -0
- package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -0
- package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -0
- package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -0
- package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -0
- package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -0
- package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -0
- package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -0
- package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -0
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts +6 -0
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +1 -0
- package/cli/dist/utils/__tests__/adr-validator.example.js +148 -0
- package/cli/dist/utils/__tests__/adr-validator.example.js.map +1 -0
- package/cli/dist/utils/adr-validator.d.ts +65 -0
- package/cli/dist/utils/adr-validator.d.ts.map +1 -0
- package/cli/dist/utils/adr-validator.js +203 -0
- package/cli/dist/utils/adr-validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visual Design Core Module
|
|
3
|
+
*
|
|
4
|
+
* Defines the 8 core design elements, 11 design principles, and 5 skill categories
|
|
5
|
+
* that form the foundation of visual design knowledge for AI agents.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
DesignModule,
|
|
10
|
+
DesignElement,
|
|
11
|
+
DesignPrinciple,
|
|
12
|
+
SkillCategory
|
|
13
|
+
} from './types';
|
|
14
|
+
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// 8 Core Design Elements
|
|
17
|
+
// ============================================================================
|
|
18
|
+
|
|
19
|
+
export const DESIGN_ELEMENTS: DesignElement[] = [
|
|
20
|
+
{
|
|
21
|
+
name: 'Color',
|
|
22
|
+
description: 'Color palettes, contrast ratios, and accessibility considerations',
|
|
23
|
+
properties: {
|
|
24
|
+
aspects: [
|
|
25
|
+
'Color theory (primary, secondary, tertiary)',
|
|
26
|
+
'Color harmony (complementary, analogous, triadic)',
|
|
27
|
+
'Contrast ratios (WCAG AA: 4.5:1 for text, AAA: 7:1)',
|
|
28
|
+
'Color psychology and emotional impact',
|
|
29
|
+
'Accessibility (color blindness, high contrast modes)',
|
|
30
|
+
'Brand color consistency'
|
|
31
|
+
],
|
|
32
|
+
tools: ['Color contrast checkers', 'Palette generators', 'Accessibility validators']
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'Typography',
|
|
37
|
+
description: 'Font selection, hierarchy, readability, and text styling',
|
|
38
|
+
properties: {
|
|
39
|
+
aspects: [
|
|
40
|
+
'Font families (serif, sans-serif, monospace, display)',
|
|
41
|
+
'Type scale and hierarchy (h1-h6, body, caption)',
|
|
42
|
+
'Line height (1.5 for body text, 1.2 for headings)',
|
|
43
|
+
'Letter spacing and kerning',
|
|
44
|
+
'Font weights (100-900)',
|
|
45
|
+
'Responsive typography (fluid type scales)',
|
|
46
|
+
'Web font loading strategies'
|
|
47
|
+
],
|
|
48
|
+
tools: ['Google Fonts', 'Adobe Fonts', 'Type scale calculators']
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Layout',
|
|
53
|
+
description: 'Grid systems, alignment, spacing, and visual flow',
|
|
54
|
+
properties: {
|
|
55
|
+
aspects: [
|
|
56
|
+
'Grid systems (12-column, 8-point grid)',
|
|
57
|
+
'Flexbox and CSS Grid',
|
|
58
|
+
'Alignment and distribution',
|
|
59
|
+
'Visual hierarchy and flow',
|
|
60
|
+
'Responsive layouts (mobile-first)',
|
|
61
|
+
'Container widths and breakpoints',
|
|
62
|
+
'Z-index and stacking contexts'
|
|
63
|
+
],
|
|
64
|
+
tools: ['CSS Grid', 'Flexbox', 'Layout frameworks']
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: 'Imagery',
|
|
69
|
+
description: 'Photos, illustrations, icons, and visual content',
|
|
70
|
+
properties: {
|
|
71
|
+
aspects: [
|
|
72
|
+
'Image formats (WebP, AVIF, PNG, JPEG, SVG)',
|
|
73
|
+
'Aspect ratios (16:9, 4:3, 1:1, golden ratio)',
|
|
74
|
+
'Image optimization and compression',
|
|
75
|
+
'Responsive images (srcset, picture element)',
|
|
76
|
+
'Lazy loading strategies',
|
|
77
|
+
'Alt text and accessibility',
|
|
78
|
+
'Image composition and cropping'
|
|
79
|
+
],
|
|
80
|
+
tools: ['Image optimizers', 'CDNs', 'Responsive image generators']
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'Iconography',
|
|
85
|
+
description: 'Icon systems, sizes, styles, and consistency',
|
|
86
|
+
properties: {
|
|
87
|
+
aspects: [
|
|
88
|
+
'Icon styles (outlined, filled, rounded, sharp)',
|
|
89
|
+
'Icon sizes (16px, 24px, 32px, 48px)',
|
|
90
|
+
'SVG vs icon fonts',
|
|
91
|
+
'Icon accessibility (aria-label, role)',
|
|
92
|
+
'Consistent visual language',
|
|
93
|
+
'Icon grid and alignment',
|
|
94
|
+
'Color and state variations'
|
|
95
|
+
],
|
|
96
|
+
tools: ['Material Icons', 'Font Awesome', 'Heroicons', 'Lucide']
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'Spacing',
|
|
101
|
+
description: 'Margins, padding, and rhythm systems',
|
|
102
|
+
properties: {
|
|
103
|
+
aspects: [
|
|
104
|
+
'8-point grid system (multiples of 8px)',
|
|
105
|
+
'Spacing scale (4px, 8px, 16px, 24px, 32px, 48px, 64px)',
|
|
106
|
+
'Vertical rhythm and baseline grid',
|
|
107
|
+
'Component spacing consistency',
|
|
108
|
+
'Responsive spacing (clamp, calc)',
|
|
109
|
+
'Negative space and breathing room',
|
|
110
|
+
'Optical alignment adjustments'
|
|
111
|
+
],
|
|
112
|
+
tools: ['Spacing tokens', 'Design systems', 'CSS custom properties']
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'Motion',
|
|
117
|
+
description: 'Animations, transitions, and micro-interactions',
|
|
118
|
+
properties: {
|
|
119
|
+
aspects: [
|
|
120
|
+
'Animation durations (100ms instant, 200ms fast, 300ms normal, 500ms slow)',
|
|
121
|
+
'Easing functions (ease-in, ease-out, ease-in-out, spring)',
|
|
122
|
+
'Transition properties (opacity, transform, color)',
|
|
123
|
+
'Micro-interactions (hover, focus, active states)',
|
|
124
|
+
'Loading states and skeletons',
|
|
125
|
+
'Page transitions and route animations',
|
|
126
|
+
'Reduced motion preferences (prefers-reduced-motion)'
|
|
127
|
+
],
|
|
128
|
+
tools: ['CSS animations', 'Framer Motion', 'GSAP', 'Lottie']
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
name: 'Elevation',
|
|
133
|
+
description: 'Shadows, depth, and layering systems',
|
|
134
|
+
properties: {
|
|
135
|
+
aspects: [
|
|
136
|
+
'Shadow levels (0-24 in Material Design)',
|
|
137
|
+
'Box shadows vs drop shadows',
|
|
138
|
+
'Layering and z-index hierarchy',
|
|
139
|
+
'Depth perception and visual weight',
|
|
140
|
+
'Elevation tokens (none, sm, md, lg, xl)',
|
|
141
|
+
'Neumorphism and glassmorphism effects',
|
|
142
|
+
'Dark mode shadow adjustments'
|
|
143
|
+
],
|
|
144
|
+
tools: ['Shadow generators', 'Elevation systems', 'CSS filters']
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
];
|
|
148
|
+
|
|
149
|
+
// ============================================================================
|
|
150
|
+
// 11 Design Principles
|
|
151
|
+
// ============================================================================
|
|
152
|
+
|
|
153
|
+
export const DESIGN_PRINCIPLES: DesignPrinciple[] = [
|
|
154
|
+
{
|
|
155
|
+
name: 'Balance',
|
|
156
|
+
description: 'Visual equilibrium through symmetrical or asymmetrical distribution of elements',
|
|
157
|
+
guidelines: [
|
|
158
|
+
'Symmetrical balance: Mirror elements across a central axis',
|
|
159
|
+
'Asymmetrical balance: Different elements with equal visual weight',
|
|
160
|
+
'Radial balance: Elements radiating from a central point',
|
|
161
|
+
'Use visual weight (size, color, position) to create balance',
|
|
162
|
+
'Balance negative and positive space'
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'Contrast',
|
|
167
|
+
description: 'Difference between elements to create visual interest and hierarchy',
|
|
168
|
+
guidelines: [
|
|
169
|
+
'Color contrast: Light vs dark, complementary colors',
|
|
170
|
+
'Size contrast: Large vs small elements',
|
|
171
|
+
'Shape contrast: Geometric vs organic forms',
|
|
172
|
+
'Texture contrast: Smooth vs rough surfaces',
|
|
173
|
+
'Ensure sufficient contrast for accessibility (WCAG AA: 4.5:1)',
|
|
174
|
+
'Use contrast to guide attention and create focal points'
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: 'Hierarchy',
|
|
179
|
+
description: 'Organization of elements to show importance and guide user attention',
|
|
180
|
+
guidelines: [
|
|
181
|
+
'Size hierarchy: Larger elements appear more important',
|
|
182
|
+
'Color hierarchy: Bright/saturated colors draw attention',
|
|
183
|
+
'Position hierarchy: Top-left to bottom-right reading pattern',
|
|
184
|
+
'Typography hierarchy: h1 > h2 > h3 > body > caption',
|
|
185
|
+
'Use F-pattern or Z-pattern for content layout',
|
|
186
|
+
'Limit hierarchy levels to 3-4 for clarity'
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'Unity',
|
|
191
|
+
description: 'Cohesion and consistency across all design elements',
|
|
192
|
+
guidelines: [
|
|
193
|
+
'Consistent color palette throughout design',
|
|
194
|
+
'Unified typography system (2-3 font families max)',
|
|
195
|
+
'Repeated visual patterns and motifs',
|
|
196
|
+
'Consistent spacing and alignment',
|
|
197
|
+
'Shared design language across components',
|
|
198
|
+
'Brand consistency in all touchpoints'
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: 'Emphasis',
|
|
203
|
+
description: 'Creating focal points to draw attention to key elements',
|
|
204
|
+
guidelines: [
|
|
205
|
+
'Use size, color, or position to create emphasis',
|
|
206
|
+
'Limit focal points to 1-2 per screen/section',
|
|
207
|
+
'Contrast emphasized elements with surroundings',
|
|
208
|
+
'Use whitespace to isolate important elements',
|
|
209
|
+
'Apply visual weight through color saturation or boldness',
|
|
210
|
+
'Guide user journey with strategic emphasis'
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
name: 'Rhythm',
|
|
215
|
+
description: 'Repetition and pattern to create visual flow and movement',
|
|
216
|
+
guidelines: [
|
|
217
|
+
'Regular rhythm: Consistent spacing and repetition',
|
|
218
|
+
'Progressive rhythm: Gradual changes in size or spacing',
|
|
219
|
+
'Flowing rhythm: Organic, curved patterns',
|
|
220
|
+
'Use rhythm to guide eye movement',
|
|
221
|
+
'Create visual interest through varied repetition',
|
|
222
|
+
'Maintain rhythm in grid systems and layouts'
|
|
223
|
+
]
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: 'Proportion',
|
|
227
|
+
description: 'Relationship between element sizes and the overall composition',
|
|
228
|
+
guidelines: [
|
|
229
|
+
'Golden ratio (1.618) for harmonious proportions',
|
|
230
|
+
'Rule of thirds for composition',
|
|
231
|
+
'Scale elements relative to their importance',
|
|
232
|
+
'Maintain aspect ratios for images and containers',
|
|
233
|
+
'Use proportional spacing systems (8-point grid)',
|
|
234
|
+
'Consider viewport proportions for responsive design'
|
|
235
|
+
]
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
name: 'White Space',
|
|
239
|
+
description: 'Negative space that provides breathing room and improves readability',
|
|
240
|
+
guidelines: [
|
|
241
|
+
'Micro white space: Between letters, lines, and small elements',
|
|
242
|
+
'Macro white space: Between major sections and components',
|
|
243
|
+
'Use white space to create visual hierarchy',
|
|
244
|
+
'Increase white space for premium/luxury feel',
|
|
245
|
+
'Reduce clutter by embracing emptiness',
|
|
246
|
+
'White space is not wasted space—it enhances comprehension'
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
name: 'Consistency',
|
|
251
|
+
description: 'Uniformity in design patterns, behaviors, and visual language',
|
|
252
|
+
guidelines: [
|
|
253
|
+
'Consistent component styling across the application',
|
|
254
|
+
'Predictable interaction patterns (buttons, links, forms)',
|
|
255
|
+
'Unified color usage (primary for actions, red for errors)',
|
|
256
|
+
'Consistent spacing and alignment rules',
|
|
257
|
+
'Standardized iconography and imagery style',
|
|
258
|
+
'Follow platform conventions (iOS, Android, Web)'
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: 'Accessibility',
|
|
263
|
+
description: 'Designing for all users, including those with disabilities',
|
|
264
|
+
guidelines: [
|
|
265
|
+
'WCAG 2.1 Level AA compliance minimum',
|
|
266
|
+
'Color contrast ratios: 4.5:1 for text, 3:1 for UI components',
|
|
267
|
+
'Keyboard navigation support (tab order, focus states)',
|
|
268
|
+
'Screen reader compatibility (semantic HTML, ARIA labels)',
|
|
269
|
+
'Responsive text sizing (rem units, no fixed px)',
|
|
270
|
+
'Support for reduced motion preferences',
|
|
271
|
+
'Touch targets minimum 44x44px (iOS) or 48x48px (Android)'
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: 'Responsiveness',
|
|
276
|
+
description: 'Adapting design to different screen sizes and devices',
|
|
277
|
+
guidelines: [
|
|
278
|
+
'Mobile-first approach (design for smallest screen first)',
|
|
279
|
+
'Breakpoints: 320px (mobile), 768px (tablet), 1024px (desktop), 1440px (large)',
|
|
280
|
+
'Fluid typography (clamp, vw units)',
|
|
281
|
+
'Flexible layouts (CSS Grid, Flexbox)',
|
|
282
|
+
'Responsive images (srcset, picture element)',
|
|
283
|
+
'Touch-friendly interactions on mobile',
|
|
284
|
+
'Test on real devices, not just browser DevTools'
|
|
285
|
+
]
|
|
286
|
+
}
|
|
287
|
+
];
|
|
288
|
+
|
|
289
|
+
// ============================================================================
|
|
290
|
+
// 5 Skill Categories
|
|
291
|
+
// ============================================================================
|
|
292
|
+
|
|
293
|
+
export const SKILL_CATEGORIES: SkillCategory[] = [
|
|
294
|
+
{
|
|
295
|
+
name: 'Visual Design Fundamentals',
|
|
296
|
+
description: 'Core visual design skills and principles',
|
|
297
|
+
skills: [
|
|
298
|
+
'Color theory and application',
|
|
299
|
+
'Typography and type hierarchy',
|
|
300
|
+
'Layout and composition',
|
|
301
|
+
'Grid systems and alignment',
|
|
302
|
+
'Visual hierarchy creation',
|
|
303
|
+
'Balance and proportion',
|
|
304
|
+
'Contrast and emphasis',
|
|
305
|
+
'White space utilization',
|
|
306
|
+
'Design system creation',
|
|
307
|
+
'Style guide development'
|
|
308
|
+
]
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: 'User Interface (UI) Design',
|
|
312
|
+
description: 'Designing interactive digital interfaces',
|
|
313
|
+
skills: [
|
|
314
|
+
'Component design (buttons, inputs, cards)',
|
|
315
|
+
'Navigation patterns (menus, tabs, breadcrumbs)',
|
|
316
|
+
'Form design and validation states',
|
|
317
|
+
'Modal and dialog design',
|
|
318
|
+
'Responsive design patterns',
|
|
319
|
+
'Mobile-first design',
|
|
320
|
+
'Touch target sizing',
|
|
321
|
+
'Icon design and selection',
|
|
322
|
+
'Micro-interactions and animations',
|
|
323
|
+
'Loading states and feedback'
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
name: 'User Experience (UX) Design',
|
|
328
|
+
description: 'Creating intuitive and delightful user experiences',
|
|
329
|
+
skills: [
|
|
330
|
+
'User research and personas',
|
|
331
|
+
'Information architecture',
|
|
332
|
+
'User flows and journey mapping',
|
|
333
|
+
'Wireframing and prototyping',
|
|
334
|
+
'Usability testing',
|
|
335
|
+
'Accessibility design (WCAG compliance)',
|
|
336
|
+
'Interaction design patterns',
|
|
337
|
+
'Content strategy',
|
|
338
|
+
'Error prevention and recovery',
|
|
339
|
+
'Performance perception optimization'
|
|
340
|
+
]
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
name: 'Technical Implementation',
|
|
344
|
+
description: 'Translating designs into code and technical specifications',
|
|
345
|
+
skills: [
|
|
346
|
+
'HTML semantic structure',
|
|
347
|
+
'CSS (Flexbox, Grid, custom properties)',
|
|
348
|
+
'Responsive CSS (media queries, container queries)',
|
|
349
|
+
'CSS animations and transitions',
|
|
350
|
+
'Design tokens and theming',
|
|
351
|
+
'Component-based architecture',
|
|
352
|
+
'Accessibility implementation (ARIA, semantic HTML)',
|
|
353
|
+
'Performance optimization (lazy loading, code splitting)',
|
|
354
|
+
'Browser compatibility',
|
|
355
|
+
'Design handoff and documentation'
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: 'Design Tools & Workflow',
|
|
360
|
+
description: 'Proficiency with design tools and collaborative workflows',
|
|
361
|
+
skills: [
|
|
362
|
+
'Figma (components, auto-layout, variants)',
|
|
363
|
+
'Adobe XD / Sketch',
|
|
364
|
+
'Prototyping tools (Framer, ProtoPie)',
|
|
365
|
+
'Version control for design (Git, Abstract)',
|
|
366
|
+
'Design system management',
|
|
367
|
+
'Collaboration and feedback tools',
|
|
368
|
+
'Asset export and optimization',
|
|
369
|
+
'Design QA and review processes',
|
|
370
|
+
'Handoff to development (Zeplin, Figma Dev Mode)',
|
|
371
|
+
'Documentation and style guides'
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
];
|
|
375
|
+
|
|
376
|
+
// ============================================================================
|
|
377
|
+
// Core Module Export
|
|
378
|
+
// ============================================================================
|
|
379
|
+
|
|
380
|
+
export const VISUAL_DESIGN_CORE: DesignModule = {
|
|
381
|
+
name: 'visual-design-core',
|
|
382
|
+
version: '1.0.0',
|
|
383
|
+
description: 'Core visual design knowledge: 8 elements, 11 principles, 5 skill categories',
|
|
384
|
+
elements: DESIGN_ELEMENTS,
|
|
385
|
+
principles: DESIGN_PRINCIPLES,
|
|
386
|
+
skills: SKILL_CATEGORIES,
|
|
387
|
+
vendorPriority: ['google', 'microsoft', 'amazon']
|
|
388
|
+
};
|
|
389
|
+
|
|
390
|
+
// ============================================================================
|
|
391
|
+
// Helper Functions
|
|
392
|
+
// ============================================================================
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Get a design element by name
|
|
396
|
+
*/
|
|
397
|
+
export function getElement(name: string): DesignElement | undefined {
|
|
398
|
+
return DESIGN_ELEMENTS.find(
|
|
399
|
+
element => element.name.toLowerCase() === name.toLowerCase()
|
|
400
|
+
);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Get a design principle by name
|
|
405
|
+
*/
|
|
406
|
+
export function getPrinciple(name: string): DesignPrinciple | undefined {
|
|
407
|
+
return DESIGN_PRINCIPLES.find(
|
|
408
|
+
principle => principle.name.toLowerCase() === name.toLowerCase()
|
|
409
|
+
);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Get a skill category by name
|
|
414
|
+
*/
|
|
415
|
+
export function getSkillCategory(name: string): SkillCategory | undefined {
|
|
416
|
+
return SKILL_CATEGORIES.find(
|
|
417
|
+
category => category.name.toLowerCase() === name.toLowerCase()
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Get all elements, principles, and skills as a summary
|
|
423
|
+
*/
|
|
424
|
+
export function getCoreSummary(): {
|
|
425
|
+
elements: string[];
|
|
426
|
+
principles: string[];
|
|
427
|
+
skillCategories: string[];
|
|
428
|
+
} {
|
|
429
|
+
return {
|
|
430
|
+
elements: DESIGN_ELEMENTS.map(e => e.name),
|
|
431
|
+
principles: DESIGN_PRINCIPLES.map(p => p.name),
|
|
432
|
+
skillCategories: SKILL_CATEGORIES.map(s => s.name)
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Validate if a design follows core principles
|
|
438
|
+
*/
|
|
439
|
+
export function validateDesign(design: {
|
|
440
|
+
hasColorContrast: boolean;
|
|
441
|
+
hasTypographyHierarchy: boolean;
|
|
442
|
+
hasConsistentSpacing: boolean;
|
|
443
|
+
isAccessible: boolean;
|
|
444
|
+
isResponsive: boolean;
|
|
445
|
+
}): { valid: boolean; issues: string[] } {
|
|
446
|
+
const issues: string[] = [];
|
|
447
|
+
|
|
448
|
+
if (!design.hasColorContrast) {
|
|
449
|
+
issues.push('Insufficient color contrast (violates Contrast principle)');
|
|
450
|
+
}
|
|
451
|
+
if (!design.hasTypographyHierarchy) {
|
|
452
|
+
issues.push('Missing typography hierarchy (violates Hierarchy principle)');
|
|
453
|
+
}
|
|
454
|
+
if (!design.hasConsistentSpacing) {
|
|
455
|
+
issues.push('Inconsistent spacing (violates Consistency principle)');
|
|
456
|
+
}
|
|
457
|
+
if (!design.isAccessible) {
|
|
458
|
+
issues.push('Accessibility issues (violates Accessibility principle)');
|
|
459
|
+
}
|
|
460
|
+
if (!design.isResponsive) {
|
|
461
|
+
issues.push('Not responsive (violates Responsiveness principle)');
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
return {
|
|
465
|
+
valid: issues.length === 0,
|
|
466
|
+
issues
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# ADR Support Module
|
|
2
|
+
|
|
3
|
+
**Version:** 1.0.0
|
|
4
|
+
**Type:** Workflow
|
|
5
|
+
**Category:** Architecture Documentation & Decision Management
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
The ADR Support module enables Augment AI agents to **automatically** manage Architecture Decision Records (ADRs) throughout the software development lifecycle. This module transforms ADR management from a manual documentation task into an automated knowledge management system embedded in the development workflow.
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This module enables AI agents to:
|
|
14
|
+
|
|
15
|
+
- ✅ **Detect** when architectural decisions are being made
|
|
16
|
+
- ✅ **Create** ADRs using appropriate templates
|
|
17
|
+
- ✅ **Track** ADR lifecycle and status transitions
|
|
18
|
+
- ✅ **Update** ADRs with new information while maintaining immutability
|
|
19
|
+
- ✅ **Supersede** outdated decisions with new ones
|
|
20
|
+
- ✅ **Validate** ADR completeness and compliance
|
|
21
|
+
- ✅ **Integrate** ADRs with OpenSpec specifications and Beads tasks
|
|
22
|
+
- ✅ **Review** decisions and compare planned vs actual outcomes
|
|
23
|
+
- ✅ **Detect** conflicts between decisions
|
|
24
|
+
|
|
25
|
+
## Supported Domains
|
|
26
|
+
|
|
27
|
+
This module applies to all project types:
|
|
28
|
+
|
|
29
|
+
- **Website** - Web presence and marketing sites
|
|
30
|
+
- **Web-app** - Web applications and SaaS platforms
|
|
31
|
+
- **OS Application** - Desktop applications
|
|
32
|
+
- **Linux** - Linux-specific applications
|
|
33
|
+
- **Windows** - Windows-specific applications
|
|
34
|
+
- **.NET** - .NET framework applications
|
|
35
|
+
- **Mobile** - Mobile applications (iOS, Android)
|
|
36
|
+
- **AI Prompt Helper** - AI/ML systems and prompt engineering
|
|
37
|
+
- **Motion Picture** - Video production and media workflows
|
|
38
|
+
- **Print Campaigns** - Print media and marketing materials
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
### 1. Link the Module
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
augx link workflows/adr-support
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Create ADR Directory
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
mkdir -p adr/templates
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 3. Copy Templates
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
cp augment-extensions/workflows/adr-support/templates/*.md adr/templates/
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 4. Create Configuration
|
|
61
|
+
|
|
62
|
+
Create `.adr-config.json` in your project root:
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"adrDirectory": "adr",
|
|
67
|
+
"defaultTemplate": "nygard",
|
|
68
|
+
"numberFormat": "0000",
|
|
69
|
+
"statusTypes": ["draft", "proposed", "approved", "implemented", "maintained", "superseded", "sunset"],
|
|
70
|
+
"reviewPeriodDays": 30,
|
|
71
|
+
"integration": {
|
|
72
|
+
"openspec": { "enabled": true, "specsDirectory": "openspec/specs" },
|
|
73
|
+
"beads": { "enabled": true, "issuesFile": ".beads/issues.jsonl" },
|
|
74
|
+
"git": { "enabled": true, "commitMessagePrefix": "ADR" }
|
|
75
|
+
},
|
|
76
|
+
"validation": {
|
|
77
|
+
"requireContext": true,
|
|
78
|
+
"requireDecision": true,
|
|
79
|
+
"requireConsequences": true,
|
|
80
|
+
"enforceStatusTransitions": true
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Directory Structure
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
repository-root/
|
|
89
|
+
├── adr/ # ADR directory
|
|
90
|
+
│ ├── README.md # ADL overview and index
|
|
91
|
+
│ ├── 0001-use-markdown.md # ADR files
|
|
92
|
+
│ ├── 0002-choose-database.md
|
|
93
|
+
│ ├── templates/ # Template directory
|
|
94
|
+
│ │ ├── nygard.md
|
|
95
|
+
│ │ ├── madr-simple.md
|
|
96
|
+
│ │ ├── madr-elaborate.md
|
|
97
|
+
│ │ └── business-case.md
|
|
98
|
+
│ └── .adr-config.json # Configuration
|
|
99
|
+
├── openspec/ # OpenSpec integration
|
|
100
|
+
│ └── specs/
|
|
101
|
+
│ └── [specs linked to ADRs]
|
|
102
|
+
└── .beads/ # Beads integration
|
|
103
|
+
└── issues.jsonl # Tasks linked to ADRs
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Features
|
|
107
|
+
|
|
108
|
+
### 1. Automatic Decision Detection
|
|
109
|
+
|
|
110
|
+
The AI agent monitors:
|
|
111
|
+
- Code changes (dependencies, schemas, APIs, infrastructure)
|
|
112
|
+
- Conversation triggers ("we should use...", "let's switch to...")
|
|
113
|
+
- OpenSpec spec creation/modification
|
|
114
|
+
- Significance criteria (affects multiple components, impacts NFRs, etc.)
|
|
115
|
+
|
|
116
|
+
### 2. ADR Creation & Templates
|
|
117
|
+
|
|
118
|
+
Four templates available:
|
|
119
|
+
- **Michael Nygard** (default) - Standard ADR format
|
|
120
|
+
- **MADR Simple** - Straightforward decisions
|
|
121
|
+
- **MADR Elaborate** - Complex decisions with multiple options
|
|
122
|
+
- **Business Case** - Cost/ROI analysis decisions
|
|
123
|
+
|
|
124
|
+
### 3. Lifecycle Management
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
draft → proposed → approved → implemented → maintained
|
|
128
|
+
↓
|
|
129
|
+
superseded/sunset
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 4. OpenSpec Integration
|
|
133
|
+
|
|
134
|
+
- Link ADRs to specifications
|
|
135
|
+
- Cross-reference in both directions
|
|
136
|
+
- Update coordination manifest
|
|
137
|
+
- Suggest spec updates when ADRs superseded
|
|
138
|
+
|
|
139
|
+
### 5. Beads Integration
|
|
140
|
+
|
|
141
|
+
- Create tasks for ADR implementation
|
|
142
|
+
- Link tasks to ADRs
|
|
143
|
+
- Update ADR status when tasks complete
|
|
144
|
+
- Track implementation progress
|
|
145
|
+
|
|
146
|
+
### 6. Validation & Quality
|
|
147
|
+
|
|
148
|
+
- Required sections check
|
|
149
|
+
- Status transition validation
|
|
150
|
+
- Reference validation
|
|
151
|
+
- Completeness criteria
|
|
152
|
+
|
|
153
|
+
### 7. Review & Outcomes
|
|
154
|
+
|
|
155
|
+
- Schedule reviews after implementation
|
|
156
|
+
- Compare planned vs actual outcomes
|
|
157
|
+
- Generate review templates
|
|
158
|
+
- Suggest superseding if needed
|
|
159
|
+
|
|
160
|
+
## Contents
|
|
161
|
+
|
|
162
|
+
### Rules (8 files)
|
|
163
|
+
- `decision-detection.md` - How AI agents detect architectural decisions
|
|
164
|
+
- `adr-creation.md` - ADR creation process and automation
|
|
165
|
+
- `lifecycle-management.md` - ADR lifecycle and status transitions
|
|
166
|
+
- `template-selection.md` - Template selection logic
|
|
167
|
+
- `validation.md` - Validation and completeness checks
|
|
168
|
+
- `openspec-integration.md` - OpenSpec integration patterns
|
|
169
|
+
- `beads-integration.md` - Beads integration patterns
|
|
170
|
+
- `conflict-detection.md` - Conflict detection and resolution
|
|
171
|
+
|
|
172
|
+
### Templates (4 files)
|
|
173
|
+
- `nygard.md` - Michael Nygard template
|
|
174
|
+
- `madr-simple.md` - MADR Simple template
|
|
175
|
+
- `madr-elaborate.md` - MADR Elaborate template
|
|
176
|
+
- `business-case.md` - Business Case template
|
|
177
|
+
|
|
178
|
+
### Examples (3 files)
|
|
179
|
+
- `complete-lifecycle-example.md` - Full lifecycle demonstration
|
|
180
|
+
- `superseding-example.md` - Superseding workflow
|
|
181
|
+
- `integration-example.md` - OpenSpec + Beads integration
|
|
182
|
+
|
|
183
|
+
### Schemas (2 files)
|
|
184
|
+
- `adr-config.json` - Configuration schema
|
|
185
|
+
- `adr-metadata.json` - Metadata schema
|
|
186
|
+
|
|
187
|
+
## Usage
|
|
188
|
+
|
|
189
|
+
The AI agent operates automatically. When it detects an architectural decision:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
User: "I think we should use Redis for caching instead of Memcached"
|
|
193
|
+
|
|
194
|
+
AI: "I've detected an architectural decision about caching technology.
|
|
195
|
+
This affects:
|
|
196
|
+
- Performance (caching strategy)
|
|
197
|
+
- Infrastructure (new dependency)
|
|
198
|
+
- Multiple components (user service, product service)
|
|
199
|
+
|
|
200
|
+
Should I create an ADR? [Yes/No]"
|
|
201
|
+
|
|
202
|
+
User: "Yes"
|
|
203
|
+
|
|
204
|
+
AI: "Creating ADR 0044: Choose Redis for caching layer
|
|
205
|
+
Template: MADR Elaborate
|
|
206
|
+
Status: draft
|
|
207
|
+
Tags: caching, infrastructure, performance
|
|
208
|
+
|
|
209
|
+
I've pre-filled the context and options sections.
|
|
210
|
+
Please review and add details."
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## Dependencies
|
|
214
|
+
|
|
215
|
+
- `workflows/openspec` >= 1.0.0
|
|
216
|
+
- `workflows/beads` >= 1.0.0
|
|
217
|
+
|
|
218
|
+
## References
|
|
219
|
+
|
|
220
|
+
- **ADR Framework:** https://github.com/joelparkerhenderson/architecture-decision-record
|
|
221
|
+
- **OpenSpec:** https://github.com/Fission-AI/OpenSpec.git
|
|
222
|
+
- **Beads:** https://github.com/steveyegge/beads.git
|
|
223
|
+
|
|
224
|
+
## License
|
|
225
|
+
|
|
226
|
+
Part of Augment Extensions - see repository root for license information.
|
|
227
|
+
|