@mytechtoday/augment-extensions 1.2.1 → 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/AGENTS.md +33 -1
- package/README.md +3 -3
- package/augment-extensions/domain-rules/software-architecture/README.md +143 -0
- package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -0
- package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -0
- package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -0
- package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -0
- package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -0
- package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -0
- package/augment-extensions/domain-rules/software-architecture/module.json +119 -0
- package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -0
- package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -0
- package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -0
- package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -0
- package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -0
- package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -0
- package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -0
- package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -0
- package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -0
- package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -0
- package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -0
- package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -0
- package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -0
- package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -0
- package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -0
- package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -0
- package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -0
- package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -0
- 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/augment-extensions/workflows/beads/rules/workflow.md +1 -1
- 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/modules.md +40 -3
- package/package.json +1 -1
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Microsoft Fluent 2 Design System
|
|
3
|
+
*
|
|
4
|
+
* Fluent 2 (2021-present) represents Microsoft's evolution toward cross-platform
|
|
5
|
+
* consistency, depth through materials (Acrylic/Mica), and adaptive design.
|
|
6
|
+
* Key characteristics include layered materials, subtle depth, Segoe UI Variable
|
|
7
|
+
* typography, and seamless integration across Windows, web, iOS, and Android.
|
|
8
|
+
*
|
|
9
|
+
* References:
|
|
10
|
+
* - Fluent 2 Design System Documentation (2025-2026)
|
|
11
|
+
* - https://fluent2.microsoft.design/
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import {
|
|
15
|
+
VendorStyle,
|
|
16
|
+
ColorPalette,
|
|
17
|
+
TypographyRules,
|
|
18
|
+
LayoutSystem,
|
|
19
|
+
MotionSystem,
|
|
20
|
+
ElevationSystem,
|
|
21
|
+
ComponentLibrary
|
|
22
|
+
} from '../../types';
|
|
23
|
+
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Color System - Adaptive Color Tokens
|
|
26
|
+
// ============================================================================
|
|
27
|
+
|
|
28
|
+
const MICROSOFT_FLUENT_COLORS: ColorPalette = {
|
|
29
|
+
primary: {
|
|
30
|
+
name: 'Brand Primary',
|
|
31
|
+
hex: '#0078D4',
|
|
32
|
+
rgb: { r: 0, g: 120, b: 212 },
|
|
33
|
+
hsl: { h: 206, s: 100, l: 42 },
|
|
34
|
+
variants: [
|
|
35
|
+
{ name: 'Primary Shade 10', hex: '#004578', usage: 'Pressed state' },
|
|
36
|
+
{ name: 'Primary Shade 20', hex: '#005A9E', usage: 'Hover state' },
|
|
37
|
+
{ name: 'Primary Shade 30', hex: '#106EBE', usage: 'Active state' },
|
|
38
|
+
{ name: 'Primary Tint 10', hex: '#2B88D8', usage: 'Light backgrounds' },
|
|
39
|
+
{ name: 'Primary Tint 20', hex: '#C7E0F4', usage: 'Subtle highlights' },
|
|
40
|
+
{ name: 'Primary Tint 30', hex: '#DEECF9', usage: 'Very light backgrounds' }
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
secondary: {
|
|
44
|
+
name: 'Secondary',
|
|
45
|
+
hex: '#8764B8',
|
|
46
|
+
rgb: { r: 135, g: 100, b: 184 },
|
|
47
|
+
hsl: { h: 265, s: 38, l: 56 },
|
|
48
|
+
variants: [
|
|
49
|
+
{ name: 'Secondary Shade 10', hex: '#5B3B8C', usage: 'Pressed state' },
|
|
50
|
+
{ name: 'Secondary Tint 10', hex: '#C4B5D6', usage: 'Light backgrounds' }
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
neutral: [
|
|
54
|
+
{ name: 'Grey 2', hex: '#050505', rgb: { r: 5, g: 5, b: 5 }, hsl: { h: 0, s: 0, l: 2 } },
|
|
55
|
+
{ name: 'Grey 4', hex: '#0A0A0A', rgb: { r: 10, g: 10, b: 10 }, hsl: { h: 0, s: 0, l: 4 } },
|
|
56
|
+
{ name: 'Grey 6', hex: '#0F0F0F', rgb: { r: 15, g: 15, b: 15 }, hsl: { h: 0, s: 0, l: 6 } },
|
|
57
|
+
{ name: 'Grey 8', hex: '#141414', rgb: { r: 20, g: 20, b: 20 }, hsl: { h: 0, s: 0, l: 8 } },
|
|
58
|
+
{ name: 'Grey 10', hex: '#1A1A1A', rgb: { r: 26, g: 26, b: 26 }, hsl: { h: 0, s: 0, l: 10 } },
|
|
59
|
+
{ name: 'Grey 12', hex: '#1F1F1F', rgb: { r: 31, g: 31, b: 31 }, hsl: { h: 0, s: 0, l: 12 } },
|
|
60
|
+
{ name: 'Grey 14', hex: '#242424', rgb: { r: 36, g: 36, b: 36 }, hsl: { h: 0, s: 0, l: 14 } },
|
|
61
|
+
{ name: 'Grey 16', hex: '#292929', rgb: { r: 41, g: 41, b: 41 }, hsl: { h: 0, s: 0, l: 16 } },
|
|
62
|
+
{ name: 'Grey 18', hex: '#2E2E2E', rgb: { r: 46, g: 46, b: 46 }, hsl: { h: 0, s: 0, l: 18 } },
|
|
63
|
+
{ name: 'Grey 20', hex: '#333333', rgb: { r: 51, g: 51, b: 51 }, hsl: { h: 0, s: 0, l: 20 } },
|
|
64
|
+
{ name: 'Grey 22', hex: '#383838', rgb: { r: 56, g: 56, b: 56 }, hsl: { h: 0, s: 0, l: 22 } },
|
|
65
|
+
{ name: 'Grey 24', hex: '#3D3D3D', rgb: { r: 61, g: 61, b: 61 }, hsl: { h: 0, s: 0, l: 24 } },
|
|
66
|
+
{ name: 'Grey 26', hex: '#424242', rgb: { r: 66, g: 66, b: 66 }, hsl: { h: 0, s: 0, l: 26 } },
|
|
67
|
+
{ name: 'Grey 28', hex: '#474747', rgb: { r: 71, g: 71, b: 71 }, hsl: { h: 0, s: 0, l: 28 } },
|
|
68
|
+
{ name: 'Grey 30', hex: '#4D4D4D', rgb: { r: 77, g: 77, b: 77 }, hsl: { h: 0, s: 0, l: 30 } },
|
|
69
|
+
{ name: 'Grey 90', hex: '#E6E6E6', rgb: { r: 230, g: 230, b: 230 }, hsl: { h: 0, s: 0, l: 90 } },
|
|
70
|
+
{ name: 'Grey 92', hex: '#EBEBEB', rgb: { r: 235, g: 235, b: 235 }, hsl: { h: 0, s: 0, l: 92 } },
|
|
71
|
+
{ name: 'Grey 94', hex: '#F0F0F0', rgb: { r: 240, g: 240, b: 240 }, hsl: { h: 0, s: 0, l: 94 } },
|
|
72
|
+
{ name: 'Grey 96', hex: '#F5F5F5', rgb: { r: 245, g: 245, b: 245 }, hsl: { h: 0, s: 0, l: 96 } },
|
|
73
|
+
{ name: 'Grey 98', hex: '#FAFAFA', rgb: { r: 250, g: 250, b: 250 }, hsl: { h: 0, s: 0, l: 98 } }
|
|
74
|
+
],
|
|
75
|
+
semantic: {
|
|
76
|
+
success: '#107C10',
|
|
77
|
+
warning: '#F7630C',
|
|
78
|
+
error: '#D13438',
|
|
79
|
+
info: '#0078D4'
|
|
80
|
+
},
|
|
81
|
+
accessibility: {
|
|
82
|
+
minContrastRatio: 4.5,
|
|
83
|
+
wcagLevel: 'AA',
|
|
84
|
+
colorBlindSafe: true
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// ============================================================================
|
|
89
|
+
// Typography System - Segoe UI Variable
|
|
90
|
+
// ============================================================================
|
|
91
|
+
|
|
92
|
+
const MICROSOFT_FLUENT_TYPOGRAPHY: TypographyRules = {
|
|
93
|
+
fontFamilies: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Segoe UI Variable',
|
|
96
|
+
fallbacks: ['Segoe UI', '-apple-system', 'BlinkMacSystemFont', 'Roboto', 'Helvetica Neue', 'sans-serif'],
|
|
97
|
+
weights: [300, 400, 600, 700],
|
|
98
|
+
styles: ['normal', 'italic'],
|
|
99
|
+
usage: 'Primary font for all UI elements, supports variable font technology'
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: 'Cascadia Code',
|
|
103
|
+
fallbacks: ['Consolas', 'Monaco', 'Courier New', 'monospace'],
|
|
104
|
+
weights: [400, 700],
|
|
105
|
+
styles: ['normal'],
|
|
106
|
+
usage: 'Monospace font for code and technical content'
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
typeScale: {
|
|
110
|
+
base: 14,
|
|
111
|
+
ratio: 1.125,
|
|
112
|
+
sizes: {
|
|
113
|
+
caption: 12,
|
|
114
|
+
body: 14,
|
|
115
|
+
subtitle: 16,
|
|
116
|
+
title3: 20,
|
|
117
|
+
title2: 24,
|
|
118
|
+
title1: 28,
|
|
119
|
+
display: 68
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
hierarchy: {
|
|
123
|
+
h1: { fontSize: '68px', fontWeight: 600, lineHeight: 1.2, letterSpacing: '-0.02em' },
|
|
124
|
+
h2: { fontSize: '28px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '-0.01em' },
|
|
125
|
+
h3: { fontSize: '24px', fontWeight: 600, lineHeight: 1.3 },
|
|
126
|
+
h4: { fontSize: '20px', fontWeight: 600, lineHeight: 1.4 },
|
|
127
|
+
h5: { fontSize: '16px', fontWeight: 600, lineHeight: 1.4 },
|
|
128
|
+
h6: { fontSize: '14px', fontWeight: 600, lineHeight: 1.4 },
|
|
129
|
+
body: { fontSize: '14px', fontWeight: 400, lineHeight: 1.5 },
|
|
130
|
+
caption: { fontSize: '12px', fontWeight: 400, lineHeight: 1.4 }
|
|
131
|
+
},
|
|
132
|
+
lineHeight: {
|
|
133
|
+
tight: 1.2,
|
|
134
|
+
normal: 1.5,
|
|
135
|
+
relaxed: 1.75
|
|
136
|
+
},
|
|
137
|
+
letterSpacing: {
|
|
138
|
+
tight: '-0.02em',
|
|
139
|
+
normal: '0',
|
|
140
|
+
wide: '0.02em'
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
// ============================================================================
|
|
145
|
+
// Layout System - Responsive Grid
|
|
146
|
+
// ============================================================================
|
|
147
|
+
|
|
148
|
+
const MICROSOFT_FLUENT_LAYOUT: LayoutSystem = {
|
|
149
|
+
grid: {
|
|
150
|
+
columns: 12,
|
|
151
|
+
gutter: '16px',
|
|
152
|
+
margin: '24px',
|
|
153
|
+
maxWidth: '1920px'
|
|
154
|
+
},
|
|
155
|
+
spacing: {
|
|
156
|
+
base: 4,
|
|
157
|
+
scale: [0, 2, 4, 6, 8, 10, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72, 80, 96, 120],
|
|
158
|
+
tokens: {
|
|
159
|
+
'spacing-none': '0',
|
|
160
|
+
'spacing-xxs': '2px',
|
|
161
|
+
'spacing-xs': '4px',
|
|
162
|
+
'spacing-s': '8px',
|
|
163
|
+
'spacing-m': '12px',
|
|
164
|
+
'spacing-l': '16px',
|
|
165
|
+
'spacing-xl': '20px',
|
|
166
|
+
'spacing-xxl': '24px',
|
|
167
|
+
'spacing-xxxl': '32px'
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
breakpoints: {
|
|
171
|
+
xs: '0px',
|
|
172
|
+
sm: '640px',
|
|
173
|
+
md: '1024px',
|
|
174
|
+
lg: '1366px',
|
|
175
|
+
xl: '1920px',
|
|
176
|
+
xxl: '2560px'
|
|
177
|
+
},
|
|
178
|
+
containers: {
|
|
179
|
+
maxWidth: {
|
|
180
|
+
xs: '100%',
|
|
181
|
+
sm: '640px',
|
|
182
|
+
md: '1024px',
|
|
183
|
+
lg: '1366px',
|
|
184
|
+
xl: '1920px'
|
|
185
|
+
},
|
|
186
|
+
padding: {
|
|
187
|
+
xs: '16px',
|
|
188
|
+
sm: '24px',
|
|
189
|
+
md: '32px',
|
|
190
|
+
lg: '40px',
|
|
191
|
+
xl: '48px'
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
// ============================================================================
|
|
197
|
+
// Motion System - Subtle and Purposeful
|
|
198
|
+
// ============================================================================
|
|
199
|
+
|
|
200
|
+
const MICROSOFT_FLUENT_MOTION: MotionSystem = {
|
|
201
|
+
durations: {
|
|
202
|
+
instant: '50ms',
|
|
203
|
+
fast: '100ms',
|
|
204
|
+
normal: '200ms',
|
|
205
|
+
slow: '400ms'
|
|
206
|
+
},
|
|
207
|
+
easings: {
|
|
208
|
+
linear: 'linear',
|
|
209
|
+
easeIn: 'cubic-bezier(0.8, 0, 1, 1)',
|
|
210
|
+
easeOut: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
211
|
+
easeInOut: 'cubic-bezier(0.8, 0, 0.2, 1)',
|
|
212
|
+
spring: 'cubic-bezier(0.33, 0, 0.67, 1)'
|
|
213
|
+
},
|
|
214
|
+
animations: [
|
|
215
|
+
{
|
|
216
|
+
name: 'fadeIn',
|
|
217
|
+
duration: '200ms',
|
|
218
|
+
easing: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
219
|
+
properties: ['opacity']
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: 'slideIn',
|
|
223
|
+
duration: '300ms',
|
|
224
|
+
easing: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
225
|
+
properties: ['transform', 'opacity']
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: 'scaleIn',
|
|
229
|
+
duration: '200ms',
|
|
230
|
+
easing: 'cubic-bezier(0.33, 0, 0.67, 1)',
|
|
231
|
+
properties: ['transform', 'opacity']
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
name: 'reveal',
|
|
235
|
+
duration: '400ms',
|
|
236
|
+
easing: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
237
|
+
properties: ['clip-path', 'opacity']
|
|
238
|
+
}
|
|
239
|
+
]
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
// ============================================================================
|
|
243
|
+
// Elevation System - Layered Depth
|
|
244
|
+
// ============================================================================
|
|
245
|
+
|
|
246
|
+
const MICROSOFT_FLUENT_ELEVATION: ElevationSystem = {
|
|
247
|
+
levels: [
|
|
248
|
+
{
|
|
249
|
+
level: 0,
|
|
250
|
+
shadow: 'none',
|
|
251
|
+
usage: 'Base surface, no elevation'
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
level: 2,
|
|
255
|
+
shadow: '0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132)',
|
|
256
|
+
usage: 'Cards, tiles at rest'
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
level: 4,
|
|
260
|
+
shadow: '0 0.6px 1.8px rgba(0, 0, 0, 0.108), 0 3.2px 7.2px rgba(0, 0, 0, 0.132)',
|
|
261
|
+
usage: 'Raised cards, hover states'
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
level: 8,
|
|
265
|
+
shadow: '0 1.2px 3.6px rgba(0, 0, 0, 0.108), 0 6.4px 14.4px rgba(0, 0, 0, 0.132)',
|
|
266
|
+
usage: 'Dropdowns, tooltips'
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
level: 16,
|
|
270
|
+
shadow: '0 2.4px 7.2px rgba(0, 0, 0, 0.108), 0 12.8px 28.8px rgba(0, 0, 0, 0.132)',
|
|
271
|
+
usage: 'Dialogs, flyouts'
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
level: 64,
|
|
275
|
+
shadow: '0 9.6px 28.8px rgba(0, 0, 0, 0.108), 0 51.2px 115.2px rgba(0, 0, 0, 0.132)',
|
|
276
|
+
usage: 'Modal overlays, highest elevation'
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
shadows: {
|
|
280
|
+
none: 'none',
|
|
281
|
+
sm: '0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132)',
|
|
282
|
+
md: '0 0.6px 1.8px rgba(0, 0, 0, 0.108), 0 3.2px 7.2px rgba(0, 0, 0, 0.132)',
|
|
283
|
+
lg: '0 1.2px 3.6px rgba(0, 0, 0, 0.108), 0 6.4px 14.4px rgba(0, 0, 0, 0.132)',
|
|
284
|
+
xl: '0 2.4px 7.2px rgba(0, 0, 0, 0.108), 0 12.8px 28.8px rgba(0, 0, 0, 0.132)'
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
// ============================================================================
|
|
289
|
+
// Component Library - Fluent 2 Components
|
|
290
|
+
// ============================================================================
|
|
291
|
+
|
|
292
|
+
const MICROSOFT_FLUENT_COMPONENTS: ComponentLibrary = {
|
|
293
|
+
buttons: {
|
|
294
|
+
variants: [
|
|
295
|
+
'primary',
|
|
296
|
+
'subtle',
|
|
297
|
+
'outline',
|
|
298
|
+
'transparent'
|
|
299
|
+
],
|
|
300
|
+
states: [
|
|
301
|
+
'rest',
|
|
302
|
+
'hover',
|
|
303
|
+
'pressed',
|
|
304
|
+
'disabled',
|
|
305
|
+
'focused'
|
|
306
|
+
],
|
|
307
|
+
sizes: [
|
|
308
|
+
'small',
|
|
309
|
+
'medium',
|
|
310
|
+
'large'
|
|
311
|
+
],
|
|
312
|
+
examples: [
|
|
313
|
+
'Primary button: High-emphasis actions with brand color background',
|
|
314
|
+
'Subtle button: Medium-emphasis with subtle background',
|
|
315
|
+
'Outline button: Secondary actions with border',
|
|
316
|
+
'Transparent button: Low-emphasis without background'
|
|
317
|
+
]
|
|
318
|
+
},
|
|
319
|
+
inputs: {
|
|
320
|
+
variants: [
|
|
321
|
+
'filled',
|
|
322
|
+
'outline',
|
|
323
|
+
'underline'
|
|
324
|
+
],
|
|
325
|
+
states: [
|
|
326
|
+
'rest',
|
|
327
|
+
'hover',
|
|
328
|
+
'focused',
|
|
329
|
+
'disabled',
|
|
330
|
+
'error'
|
|
331
|
+
],
|
|
332
|
+
sizes: [
|
|
333
|
+
'small',
|
|
334
|
+
'medium',
|
|
335
|
+
'large'
|
|
336
|
+
],
|
|
337
|
+
examples: [
|
|
338
|
+
'Text input with label and helper text',
|
|
339
|
+
'Search input with icon',
|
|
340
|
+
'Dropdown with multi-select',
|
|
341
|
+
'Date picker with calendar'
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
cards: {
|
|
345
|
+
variants: [
|
|
346
|
+
'filled',
|
|
347
|
+
'outline',
|
|
348
|
+
'subtle'
|
|
349
|
+
],
|
|
350
|
+
states: [
|
|
351
|
+
'rest',
|
|
352
|
+
'hover',
|
|
353
|
+
'pressed',
|
|
354
|
+
'selected'
|
|
355
|
+
],
|
|
356
|
+
sizes: [
|
|
357
|
+
'compact',
|
|
358
|
+
'standard',
|
|
359
|
+
'large'
|
|
360
|
+
],
|
|
361
|
+
examples: [
|
|
362
|
+
'Content card with image, title, and description',
|
|
363
|
+
'Interactive card with hover elevation',
|
|
364
|
+
'Selectable card with checkbox',
|
|
365
|
+
'Card with action buttons'
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
navigation: {
|
|
369
|
+
variants: [
|
|
370
|
+
'horizontal',
|
|
371
|
+
'vertical',
|
|
372
|
+
'tabs',
|
|
373
|
+
'breadcrumb'
|
|
374
|
+
],
|
|
375
|
+
states: [
|
|
376
|
+
'default',
|
|
377
|
+
'selected',
|
|
378
|
+
'hover',
|
|
379
|
+
'disabled'
|
|
380
|
+
],
|
|
381
|
+
sizes: [
|
|
382
|
+
'compact',
|
|
383
|
+
'standard'
|
|
384
|
+
],
|
|
385
|
+
examples: [
|
|
386
|
+
'Top navigation bar with logo and menu items',
|
|
387
|
+
'Side navigation panel with collapsible sections',
|
|
388
|
+
'Tab navigation for content switching',
|
|
389
|
+
'Breadcrumb trail for hierarchical navigation'
|
|
390
|
+
]
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
// ============================================================================
|
|
395
|
+
// Microsoft Fluent 2 Export
|
|
396
|
+
// ============================================================================
|
|
397
|
+
|
|
398
|
+
export const MICROSOFT_FLUENT: VendorStyle = {
|
|
399
|
+
vendor: 'microsoft',
|
|
400
|
+
name: 'Fluent 2',
|
|
401
|
+
version: '2.0',
|
|
402
|
+
characteristics: [
|
|
403
|
+
'Acrylic and Mica materials for depth and transparency',
|
|
404
|
+
'Subtle layered elevation with soft shadows',
|
|
405
|
+
'Segoe UI Variable typography with variable font support',
|
|
406
|
+
'Cross-platform consistency (Windows, Web, iOS, Android)',
|
|
407
|
+
'Adaptive color system with light and dark themes',
|
|
408
|
+
'Rounded corners (2px-8px radius)',
|
|
409
|
+
'Purposeful, subtle motion with ease-out curves',
|
|
410
|
+
'Accessible design (WCAG 2.1 AA compliant)',
|
|
411
|
+
'Responsive 12-column grid system',
|
|
412
|
+
'Component-based architecture',
|
|
413
|
+
'Focus on productivity and clarity',
|
|
414
|
+
'Seamless integration with Microsoft 365 ecosystem'
|
|
415
|
+
],
|
|
416
|
+
colorPalette: MICROSOFT_FLUENT_COLORS,
|
|
417
|
+
typography: MICROSOFT_FLUENT_TYPOGRAPHY,
|
|
418
|
+
layout: MICROSOFT_FLUENT_LAYOUT,
|
|
419
|
+
motion: MICROSOFT_FLUENT_MOTION,
|
|
420
|
+
elevation: MICROSOFT_FLUENT_ELEVATION,
|
|
421
|
+
components: MICROSOFT_FLUENT_COMPONENTS
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* USAGE GUIDELINES FOR AI AGENTS
|
|
426
|
+
*
|
|
427
|
+
* When applying Microsoft Fluent 2 design:
|
|
428
|
+
*
|
|
429
|
+
* 1. COLOR SYSTEM
|
|
430
|
+
* - Use adaptive color tokens that work in light and dark themes
|
|
431
|
+
* - Apply brand primary (#0078D4) for key actions
|
|
432
|
+
* - Use neutral grays (2-step increments) for backgrounds and surfaces
|
|
433
|
+
* - Ensure WCAG AA compliance (4.5:1 contrast ratio minimum)
|
|
434
|
+
* - Support automatic theme switching
|
|
435
|
+
*
|
|
436
|
+
* 2. TYPOGRAPHY
|
|
437
|
+
* - Use Segoe UI Variable as primary font
|
|
438
|
+
* - Apply variable font technology for smooth weight transitions
|
|
439
|
+
* - Follow type scale (12px caption to 68px display)
|
|
440
|
+
* - Maintain minimum 14px for body text
|
|
441
|
+
* - Use appropriate font weights (300, 400, 600, 700)
|
|
442
|
+
*
|
|
443
|
+
* 3. LAYOUT
|
|
444
|
+
* - Use 12-column responsive grid
|
|
445
|
+
* - Apply 4px base spacing unit
|
|
446
|
+
* - Use consistent spacing scale (2, 4, 6, 8, 10, 12, 16, 20, 24...)
|
|
447
|
+
* - Implement responsive breakpoints (640px, 1024px, 1366px, 1920px)
|
|
448
|
+
* - Maintain adequate padding and margins
|
|
449
|
+
*
|
|
450
|
+
* 4. MATERIALS & DEPTH
|
|
451
|
+
* - Apply Acrylic material for navigation and panels (blur + transparency)
|
|
452
|
+
* - Use Mica material for app backgrounds (subtle texture)
|
|
453
|
+
* - Implement layered elevation (0, 2, 4, 8, 16, 64)
|
|
454
|
+
* - Use soft, subtle shadows for depth
|
|
455
|
+
* - Avoid excessive elevation changes
|
|
456
|
+
*
|
|
457
|
+
* 5. MOTION
|
|
458
|
+
* - Use subtle, purposeful animations
|
|
459
|
+
* - Apply ease-out curves for natural feel
|
|
460
|
+
* - Keep durations short (50ms-400ms)
|
|
461
|
+
* - Animate opacity, transform, and clip-path
|
|
462
|
+
* - Respect user motion preferences (prefers-reduced-motion)
|
|
463
|
+
*
|
|
464
|
+
* 6. COMPONENTS
|
|
465
|
+
* - Use Fluent 2 component library
|
|
466
|
+
* - Apply consistent button styles (primary, subtle, outline, transparent)
|
|
467
|
+
* - Implement proper focus indicators
|
|
468
|
+
* - Support keyboard navigation
|
|
469
|
+
* - Provide clear visual feedback for interactions
|
|
470
|
+
*
|
|
471
|
+
* 7. ACCESSIBILITY
|
|
472
|
+
* - Ensure WCAG 2.1 AA compliance
|
|
473
|
+
* - Provide sufficient color contrast
|
|
474
|
+
* - Support keyboard navigation
|
|
475
|
+
* - Include ARIA labels and roles
|
|
476
|
+
* - Test with screen readers
|
|
477
|
+
* - Support high contrast mode
|
|
478
|
+
*
|
|
479
|
+
* 8. CROSS-PLATFORM
|
|
480
|
+
* - Design for Windows, Web, iOS, and Android
|
|
481
|
+
* - Use platform-appropriate patterns
|
|
482
|
+
* - Maintain consistent brand identity
|
|
483
|
+
* - Adapt to platform conventions
|
|
484
|
+
* - Test on multiple devices and screen sizes
|
|
485
|
+
*
|
|
486
|
+
* EXAMPLE USAGE:
|
|
487
|
+
*
|
|
488
|
+
* ```typescript
|
|
489
|
+
* import { MICROSOFT_FLUENT } from './microsoft-fluent';
|
|
490
|
+
*
|
|
491
|
+
* // Apply Fluent 2 colors
|
|
492
|
+
* const primaryColor = MICROSOFT_FLUENT.colorPalette.primary.hex; // #0078D4
|
|
493
|
+
* const neutralBg = MICROSOFT_FLUENT.colorPalette.neutral[17].hex; // #F5F5F5
|
|
494
|
+
*
|
|
495
|
+
* // Use typography scale
|
|
496
|
+
* const headingStyle = MICROSOFT_FLUENT.typography.hierarchy.h2;
|
|
497
|
+
* // fontSize: '28px', fontWeight: 600, lineHeight: 1.3
|
|
498
|
+
*
|
|
499
|
+
* // Apply elevation
|
|
500
|
+
* const cardShadow = MICROSOFT_FLUENT.elevation.levels[1].shadow;
|
|
501
|
+
* // '0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132)'
|
|
502
|
+
*
|
|
503
|
+
* // Use motion
|
|
504
|
+
* const fadeAnimation = MICROSOFT_FLUENT.motion.animations.find(a => a.name === 'fadeIn');
|
|
505
|
+
* // duration: '200ms', easing: 'cubic-bezier(0, 0, 0.2, 1)'
|
|
506
|
+
* ```
|
|
507
|
+
*
|
|
508
|
+
* MATERIALS IMPLEMENTATION:
|
|
509
|
+
*
|
|
510
|
+
* Acrylic Material (CSS):
|
|
511
|
+
* ```css
|
|
512
|
+
* .acrylic-surface {
|
|
513
|
+
* background: rgba(243, 243, 243, 0.7);
|
|
514
|
+
* backdrop-filter: blur(30px) saturate(125%);
|
|
515
|
+
* border: 1px solid rgba(255, 255, 255, 0.18);
|
|
516
|
+
* }
|
|
517
|
+
* ```
|
|
518
|
+
*
|
|
519
|
+
* Mica Material (CSS):
|
|
520
|
+
* ```css
|
|
521
|
+
* .mica-surface {
|
|
522
|
+
* background: linear-gradient(
|
|
523
|
+
* 135deg,
|
|
524
|
+
* rgba(243, 243, 243, 0.9) 0%,
|
|
525
|
+
* rgba(250, 250, 250, 0.9) 100%
|
|
526
|
+
* );
|
|
527
|
+
* backdrop-filter: blur(50px);
|
|
528
|
+
* }
|
|
529
|
+
* ```
|
|
530
|
+
*/
|
|
531
|
+
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Visual Design Module - Usage Examples
|
|
2
|
+
|
|
3
|
+
This directory contains practical examples demonstrating how to use the Visual Design module with Augment AI.
|
|
4
|
+
|
|
5
|
+
## Examples
|
|
6
|
+
|
|
7
|
+
### 1. Basic Usage (`basic-usage.md`)
|
|
8
|
+
- How to query the module
|
|
9
|
+
- Selecting vendor styles
|
|
10
|
+
- Applying design elements
|
|
11
|
+
|
|
12
|
+
### 2. Website Design (`website-design-example.md`)
|
|
13
|
+
- Complete website design workflow
|
|
14
|
+
- Multi-page site structure
|
|
15
|
+
- Navigation and layout patterns
|
|
16
|
+
|
|
17
|
+
### 3. Web Application Design (`web-app-design-example.md`)
|
|
18
|
+
- SPA/PWA design patterns
|
|
19
|
+
- Interactive components
|
|
20
|
+
- State-driven UI
|
|
21
|
+
|
|
22
|
+
### 4. Mobile Application Design (`mobile-app-design-example.md`)
|
|
23
|
+
- Touch-first interactions
|
|
24
|
+
- Native platform patterns (iOS/Android)
|
|
25
|
+
- Responsive mobile layouts
|
|
26
|
+
|
|
27
|
+
### 5. Print Campaign Design (`print-campaign-example.md`)
|
|
28
|
+
- Flyers, posters, banners
|
|
29
|
+
- Print-specific color and typography
|
|
30
|
+
- Layout for physical media
|
|
31
|
+
|
|
32
|
+
### 6. Cross-Platform Design (`cross-platform-example.md`)
|
|
33
|
+
- Consistent design across platforms
|
|
34
|
+
- Platform-specific adaptations
|
|
35
|
+
- Design system tokens
|
|
36
|
+
|
|
37
|
+
### 7. AI Prompt Helper (`ai-prompt-example.md`)
|
|
38
|
+
- Generating image prompts
|
|
39
|
+
- Style-specific prompt templates
|
|
40
|
+
- Multi-platform compatibility
|
|
41
|
+
|
|
42
|
+
### 8. Domain-Specific Workflows (`domain-workflows.md`)
|
|
43
|
+
- Website vs Web-app vs Mobile
|
|
44
|
+
- .NET Application design
|
|
45
|
+
- Linux/Windows platform design
|
|
46
|
+
- Motion Picture design
|
|
47
|
+
|
|
48
|
+
## How to Use These Examples
|
|
49
|
+
|
|
50
|
+
1. **Read the example**: Each example is self-contained with context and goals
|
|
51
|
+
2. **Follow the workflow**: Step-by-step instructions for AI agents
|
|
52
|
+
3. **Adapt to your needs**: Modify examples for your specific use case
|
|
53
|
+
4. **Reference the module**: Use `augx show visual-design` for detailed specs
|
|
54
|
+
|
|
55
|
+
## For AI Agents
|
|
56
|
+
|
|
57
|
+
When working with the Visual Design module:
|
|
58
|
+
|
|
59
|
+
1. **Query the module first**: `augx show visual-design`
|
|
60
|
+
2. **Select appropriate vendor**: Use default priority or user preference
|
|
61
|
+
3. **Choose domain**: Website, Web-app, Mobile, Print, etc.
|
|
62
|
+
4. **Apply design elements**: Color, typography, layout, spacing
|
|
63
|
+
5. **Follow design principles**: Balance, contrast, hierarchy, accessibility
|
|
64
|
+
6. **Generate output**: HTML/CSS, design specs, or mockups
|
|
65
|
+
|
|
66
|
+
## Example Workflow
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# 1. Link the module
|
|
70
|
+
augx link visual-design
|
|
71
|
+
|
|
72
|
+
# 2. View module content
|
|
73
|
+
augx show visual-design
|
|
74
|
+
|
|
75
|
+
# 3. View specific vendor style
|
|
76
|
+
augx show visual-design/google-modern
|
|
77
|
+
|
|
78
|
+
# 4. View specific domain
|
|
79
|
+
augx show visual-design/website
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Testing Your Designs
|
|
83
|
+
|
|
84
|
+
Refer to `__tests__/` directory for:
|
|
85
|
+
- Unit tests for style selectors
|
|
86
|
+
- Integration tests for vendor styles
|
|
87
|
+
- Validation tests for design principles
|
|
88
|
+
|
|
89
|
+
## Additional Resources
|
|
90
|
+
|
|
91
|
+
- **Module README**: `../README.md`
|
|
92
|
+
- **Type Definitions**: `../types.ts`
|
|
93
|
+
- **Core Design Elements**: `../visual-design-core.ts`
|
|
94
|
+
- **Style Selector**: `../style-selector.ts`
|
|
95
|
+
- **Vendor Styles**: `../domains/web-page-styles/`
|
|
96
|
+
- **Domain Styles**: `../domains/other/`
|
|
97
|
+
|