@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.
Files changed (87) hide show
  1. package/AGENTS.md +33 -1
  2. package/README.md +3 -3
  3. package/augment-extensions/domain-rules/software-architecture/README.md +143 -0
  4. package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -0
  5. package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -0
  6. package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -0
  7. package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -0
  8. package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -0
  9. package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -0
  10. package/augment-extensions/domain-rules/software-architecture/module.json +119 -0
  11. package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -0
  12. package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -0
  13. package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -0
  14. package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -0
  15. package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -0
  16. package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -0
  17. package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -0
  18. package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -0
  19. package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -0
  20. package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -0
  21. package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -0
  22. package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -0
  23. package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -0
  24. package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -0
  25. package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -0
  26. package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -0
  27. package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -0
  28. package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -0
  29. package/augment-extensions/visual-design/CHANGELOG.md +132 -0
  30. package/augment-extensions/visual-design/README.md +255 -0
  31. package/augment-extensions/visual-design/__tests__/README.md +119 -0
  32. package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -0
  33. package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -0
  34. package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -0
  35. package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -0
  36. package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -0
  37. package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -0
  38. package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -0
  39. package/augment-extensions/visual-design/domains/other/os-application.ts +156 -0
  40. package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -0
  41. package/augment-extensions/visual-design/domains/other/web-app.ts +157 -0
  42. package/augment-extensions/visual-design/domains/other/website.ts +161 -0
  43. package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -0
  44. package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -0
  45. package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -0
  46. package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -0
  47. package/augment-extensions/visual-design/examples/README.md +97 -0
  48. package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -0
  49. package/augment-extensions/visual-design/examples/basic-usage.md +216 -0
  50. package/augment-extensions/visual-design/examples/domain-workflows.md +257 -0
  51. package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -0
  52. package/augment-extensions/visual-design/module.json +78 -0
  53. package/augment-extensions/visual-design/style-selector.ts +177 -0
  54. package/augment-extensions/visual-design/types.ts +302 -0
  55. package/augment-extensions/visual-design/visual-design-core.ts +469 -0
  56. package/augment-extensions/workflows/adr-support/README.md +227 -0
  57. package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -0
  58. package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -0
  59. package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -0
  60. package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -0
  61. package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -0
  62. package/augment-extensions/workflows/adr-support/module.json +112 -0
  63. package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -0
  64. package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -0
  65. package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -0
  66. package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -0
  67. package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -0
  68. package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -0
  69. package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -0
  70. package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -0
  71. package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -0
  72. package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -0
  73. package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -0
  74. package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -0
  75. package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -0
  76. package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -0
  77. package/augment-extensions/workflows/beads/rules/workflow.md +1 -1
  78. package/cli/dist/utils/__tests__/adr-validator.example.d.ts +6 -0
  79. package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +1 -0
  80. package/cli/dist/utils/__tests__/adr-validator.example.js +148 -0
  81. package/cli/dist/utils/__tests__/adr-validator.example.js.map +1 -0
  82. package/cli/dist/utils/adr-validator.d.ts +65 -0
  83. package/cli/dist/utils/adr-validator.d.ts.map +1 -0
  84. package/cli/dist/utils/adr-validator.js +203 -0
  85. package/cli/dist/utils/adr-validator.js.map +1 -0
  86. package/modules.md +40 -3
  87. package/package.json +1 -1
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Vendor Styles Integration Tests
3
+ *
4
+ * Tests for Google Modern, Microsoft Fluent, and Amazon Cloudscape
5
+ * design system implementations.
6
+ */
7
+
8
+ import { GOOGLE_MODERN } from '../domains/web-page-styles/google-modern';
9
+ import { MICROSOFT_FLUENT } from '../domains/web-page-styles/microsoft-fluent';
10
+ import { AMAZON_CLOUDSCAPE } from '../domains/web-page-styles/amazon-cloudscape';
11
+ import { VendorStyle } from '../types';
12
+
13
+ describe('Vendor Styles', () => {
14
+ describe('Google Modern (Material 3 Expressive)', () => {
15
+ it('should have correct vendor identifier', () => {
16
+ expect(GOOGLE_MODERN.vendor).toBe('google');
17
+ });
18
+
19
+ it('should have correct name and version', () => {
20
+ expect(GOOGLE_MODERN.name).toBe('Material 3 Expressive');
21
+ expect(GOOGLE_MODERN.version).toBe('3.0');
22
+ });
23
+
24
+ it('should have characteristics array', () => {
25
+ expect(Array.isArray(GOOGLE_MODERN.characteristics)).toBe(true);
26
+ expect(GOOGLE_MODERN.characteristics.length).toBeGreaterThan(0);
27
+ });
28
+
29
+ it('should have color palette', () => {
30
+ expect(GOOGLE_MODERN.colorPalette).toBeDefined();
31
+ expect(GOOGLE_MODERN.colorPalette.primary).toBeDefined();
32
+ expect(GOOGLE_MODERN.colorPalette.primary.hex).toBe('#6750A4');
33
+ });
34
+
35
+ it('should have typography system', () => {
36
+ expect(GOOGLE_MODERN.typography).toBeDefined();
37
+ expect(GOOGLE_MODERN.typography.fontFamilies).toBeDefined();
38
+ expect(GOOGLE_MODERN.typography.hierarchy).toBeDefined();
39
+ });
40
+
41
+ it('should have layout system', () => {
42
+ expect(GOOGLE_MODERN.layout).toBeDefined();
43
+ expect(GOOGLE_MODERN.layout.grid).toBeDefined();
44
+ expect(GOOGLE_MODERN.layout.spacing).toBeDefined();
45
+ });
46
+
47
+ it('should have motion system', () => {
48
+ expect(GOOGLE_MODERN.motion).toBeDefined();
49
+ expect(GOOGLE_MODERN.motion.durations).toBeDefined();
50
+ expect(GOOGLE_MODERN.motion.easings).toBeDefined();
51
+ });
52
+
53
+ it('should have elevation system', () => {
54
+ expect(GOOGLE_MODERN.elevation).toBeDefined();
55
+ expect(GOOGLE_MODERN.elevation.levels).toBeDefined();
56
+ });
57
+
58
+ it('should have component library', () => {
59
+ expect(GOOGLE_MODERN.components).toBeDefined();
60
+ expect(GOOGLE_MODERN.components?.buttons).toBeDefined();
61
+ expect(GOOGLE_MODERN.components?.inputs).toBeDefined();
62
+ });
63
+ });
64
+
65
+ describe('Microsoft Fluent 2', () => {
66
+ it('should have correct vendor identifier', () => {
67
+ expect(MICROSOFT_FLUENT.vendor).toBe('microsoft');
68
+ });
69
+
70
+ it('should have correct name and version', () => {
71
+ expect(MICROSOFT_FLUENT.name).toBe('Fluent 2');
72
+ expect(MICROSOFT_FLUENT.version).toBe('2.0');
73
+ });
74
+
75
+ it('should have characteristics array', () => {
76
+ expect(Array.isArray(MICROSOFT_FLUENT.characteristics)).toBe(true);
77
+ expect(MICROSOFT_FLUENT.characteristics.length).toBeGreaterThan(0);
78
+ });
79
+
80
+ it('should have color palette', () => {
81
+ expect(MICROSOFT_FLUENT.colorPalette).toBeDefined();
82
+ expect(MICROSOFT_FLUENT.colorPalette.primary).toBeDefined();
83
+ expect(MICROSOFT_FLUENT.colorPalette.primary.hex).toBe('#0078D4');
84
+ });
85
+
86
+ it('should have typography system', () => {
87
+ expect(MICROSOFT_FLUENT.typography).toBeDefined();
88
+ expect(MICROSOFT_FLUENT.typography.fontFamilies).toBeDefined();
89
+ expect(MICROSOFT_FLUENT.typography.hierarchy).toBeDefined();
90
+ });
91
+
92
+ it('should have layout system', () => {
93
+ expect(MICROSOFT_FLUENT.layout).toBeDefined();
94
+ expect(MICROSOFT_FLUENT.layout.grid).toBeDefined();
95
+ expect(MICROSOFT_FLUENT.layout.spacing).toBeDefined();
96
+ });
97
+
98
+ it('should have motion system', () => {
99
+ expect(MICROSOFT_FLUENT.motion).toBeDefined();
100
+ expect(MICROSOFT_FLUENT.motion.durations).toBeDefined();
101
+ expect(MICROSOFT_FLUENT.motion.easings).toBeDefined();
102
+ });
103
+
104
+ it('should have elevation system', () => {
105
+ expect(MICROSOFT_FLUENT.elevation).toBeDefined();
106
+ expect(MICROSOFT_FLUENT.elevation.levels).toBeDefined();
107
+ });
108
+
109
+ it('should have component library', () => {
110
+ expect(MICROSOFT_FLUENT.components).toBeDefined();
111
+ expect(MICROSOFT_FLUENT.components?.buttons).toBeDefined();
112
+ expect(MICROSOFT_FLUENT.components?.inputs).toBeDefined();
113
+ });
114
+ });
115
+
116
+ describe('Amazon Cloudscape', () => {
117
+ it('should have correct vendor identifier', () => {
118
+ expect(AMAZON_CLOUDSCAPE.vendor).toBe('amazon');
119
+ });
120
+
121
+ it('should have correct name and version', () => {
122
+ expect(AMAZON_CLOUDSCAPE.name).toBe('Cloudscape Design System');
123
+ expect(AMAZON_CLOUDSCAPE.version).toBe('3.0');
124
+ });
125
+
126
+ it('should have characteristics array', () => {
127
+ expect(Array.isArray(AMAZON_CLOUDSCAPE.characteristics)).toBe(true);
128
+ expect(AMAZON_CLOUDSCAPE.characteristics.length).toBeGreaterThan(0);
129
+ });
130
+
131
+ it('should have color palette', () => {
132
+ expect(AMAZON_CLOUDSCAPE.colorPalette).toBeDefined();
133
+ expect(AMAZON_CLOUDSCAPE.colorPalette.primary).toBeDefined();
134
+ expect(AMAZON_CLOUDSCAPE.colorPalette.primary.hex).toBe('#0972D3');
135
+ });
136
+
137
+ it('should have typography system', () => {
138
+ expect(AMAZON_CLOUDSCAPE.typography).toBeDefined();
139
+ expect(AMAZON_CLOUDSCAPE.typography.fontFamilies).toBeDefined();
140
+ expect(AMAZON_CLOUDSCAPE.typography.hierarchy).toBeDefined();
141
+ });
142
+
143
+ it('should have layout system', () => {
144
+ expect(AMAZON_CLOUDSCAPE.layout).toBeDefined();
145
+ expect(AMAZON_CLOUDSCAPE.layout.grid).toBeDefined();
146
+ expect(AMAZON_CLOUDSCAPE.layout.spacing).toBeDefined();
147
+ });
148
+
149
+ it('should have motion system', () => {
150
+ expect(AMAZON_CLOUDSCAPE.motion).toBeDefined();
151
+ expect(AMAZON_CLOUDSCAPE.motion.durations).toBeDefined();
152
+ expect(AMAZON_CLOUDSCAPE.motion.easings).toBeDefined();
153
+ });
154
+
155
+ it('should have elevation system', () => {
156
+ expect(AMAZON_CLOUDSCAPE.elevation).toBeDefined();
157
+ expect(AMAZON_CLOUDSCAPE.elevation.levels).toBeDefined();
158
+ });
159
+
160
+ it('should have component library', () => {
161
+ expect(AMAZON_CLOUDSCAPE.components).toBeDefined();
162
+ expect(AMAZON_CLOUDSCAPE.components?.buttons).toBeDefined();
163
+ expect(AMAZON_CLOUDSCAPE.components?.inputs).toBeDefined();
164
+ });
165
+ });
166
+
167
+ describe('Cross-vendor consistency', () => {
168
+ const vendors: VendorStyle[] = [GOOGLE_MODERN, MICROSOFT_FLUENT, AMAZON_CLOUDSCAPE];
169
+
170
+ it('all vendors should have required properties', () => {
171
+ vendors.forEach(vendor => {
172
+ expect(vendor.vendor).toBeDefined();
173
+ expect(vendor.name).toBeDefined();
174
+ expect(vendor.version).toBeDefined();
175
+ expect(vendor.characteristics).toBeDefined();
176
+ expect(vendor.colorPalette).toBeDefined();
177
+ expect(vendor.typography).toBeDefined();
178
+ expect(vendor.layout).toBeDefined();
179
+ expect(vendor.motion).toBeDefined();
180
+ expect(vendor.elevation).toBeDefined();
181
+ });
182
+ });
183
+
184
+ it('all vendors should have unique identifiers', () => {
185
+ const vendorIds = vendors.map(v => v.vendor);
186
+ const uniqueIds = new Set(vendorIds);
187
+ expect(uniqueIds.size).toBe(vendors.length);
188
+ });
189
+
190
+ it('all vendors should have accessibility standards', () => {
191
+ vendors.forEach(vendor => {
192
+ expect(vendor.colorPalette.accessibility).toBeDefined();
193
+ expect(vendor.colorPalette.accessibility?.wcagLevel).toBeDefined();
194
+ });
195
+ });
196
+
197
+ it('all vendors should have responsive grid systems', () => {
198
+ vendors.forEach(vendor => {
199
+ expect(vendor.layout.grid).toBeDefined();
200
+ expect(vendor.layout.grid.columns).toBeGreaterThan(0);
201
+ expect(vendor.layout.breakpoints).toBeDefined();
202
+ });
203
+ });
204
+
205
+ it('all vendors should have spacing systems', () => {
206
+ vendors.forEach(vendor => {
207
+ expect(vendor.layout.spacing).toBeDefined();
208
+ expect(vendor.layout.spacing.base).toBeGreaterThan(0);
209
+ expect(vendor.layout.spacing.scale).toBeDefined();
210
+ });
211
+ });
212
+ });
213
+ });
214
+
@@ -0,0 +1,157 @@
1
+ /**
2
+ * AI Image Generation Prompt Helper Domain Module
3
+ *
4
+ * Design patterns and guidelines for creating effective prompts
5
+ * for AI image generation tools (Midjourney, DALL-E, Stable Diffusion).
6
+ */
7
+
8
+ import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
+
10
+ // ============================================================================
11
+ // AI Prompt Helper Color Palette
12
+ // ============================================================================
13
+
14
+ const AI_PROMPT_COLORS: ColorPalette = {
15
+ primary: {
16
+ name: 'Creative Purple',
17
+ hex: '#8B5CF6',
18
+ rgb: { r: 139, g: 92, b: 246 },
19
+ hsl: { h: 258, s: 90, l: 66 },
20
+ variants: [
21
+ { name: 'Purple Light', hex: '#C4B5FD', usage: 'Highlights' },
22
+ { name: 'Purple Dark', hex: '#7C3AED', usage: 'Emphasis' }
23
+ ]
24
+ },
25
+ neutral: [
26
+ { name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
27
+ { name: 'Gray 50', hex: '#FAFAF9', rgb: { r: 250, g: 250, b: 249 }, hsl: { h: 60, s: 9, l: 98 } },
28
+ { name: 'Gray 100', hex: '#F5F5F4', rgb: { r: 245, g: 245, b: 244 }, hsl: { h: 60, s: 9, l: 96 } },
29
+ { name: 'Gray 800', hex: '#27272A', rgb: { r: 39, g: 39, b: 42 }, hsl: { h: 240, s: 4, l: 16 } },
30
+ { name: 'Black', hex: '#000000', rgb: { r: 0, g: 0, b: 0 }, hsl: { h: 0, s: 0, l: 0 } }
31
+ ],
32
+ semantic: {
33
+ success: { hex: '#22C55E', usage: 'Successful generation' },
34
+ warning: { hex: '#EAB308', usage: 'Prompt warnings' },
35
+ error: { hex: '#EF4444', usage: 'Generation errors' },
36
+ info: { hex: '#3B82F6', usage: 'Tips and suggestions' }
37
+ },
38
+ accessibility: {
39
+ minimumContrast: 4.5,
40
+ targetContrast: 7,
41
+ colorBlindSafe: true,
42
+ guidelines: [
43
+ 'Ensure readable text on all backgrounds',
44
+ 'Use color coding for prompt categories',
45
+ 'Provide visual feedback for generation status',
46
+ 'Support dark mode for extended use'
47
+ ]
48
+ }
49
+ };
50
+
51
+ // ============================================================================
52
+ // AI Prompt Helper Typography
53
+ // ============================================================================
54
+
55
+ const AI_PROMPT_TYPOGRAPHY: TypographyRules = {
56
+ fontFamilies: {
57
+ primary: 'Inter, -apple-system, BlinkMacSystemFont, sans-serif',
58
+ secondary: 'system-ui, sans-serif',
59
+ monospace: '"Fira Code", "JetBrains Mono", monospace'
60
+ },
61
+ hierarchy: {
62
+ h1: { fontSize: '36px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em' },
63
+ h2: { fontSize: '28px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '-0.01em' },
64
+ h3: { fontSize: '22px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
65
+ h4: { fontSize: '18px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
66
+ h5: { fontSize: '16px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
67
+ h6: { fontSize: '14px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
68
+ body: { fontSize: '16px', fontWeight: 400, lineHeight: 1.6, letterSpacing: '0' },
69
+ small: { fontSize: '14px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
70
+ caption: { fontSize: '12px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' }
71
+ },
72
+ scale: {
73
+ base: 16,
74
+ ratio: 1.25,
75
+ sizes: [12, 14, 16, 18, 22, 28, 36]
76
+ },
77
+ guidelines: [
78
+ 'Use monospace for prompt text',
79
+ 'Use sans-serif for UI elements',
80
+ 'Ensure readability for long prompts',
81
+ 'Highlight keywords and modifiers',
82
+ 'Use consistent formatting for examples'
83
+ ]
84
+ };
85
+
86
+ // ============================================================================
87
+ // AI Prompt Helper Layout System
88
+ // ============================================================================
89
+
90
+ const AI_PROMPT_LAYOUT: LayoutSystem = {
91
+ grid: {
92
+ columns: 12,
93
+ gutter: '24px',
94
+ margin: '24px',
95
+ breakpoints: {
96
+ mobile: '0-639px',
97
+ tablet: '640-1023px',
98
+ desktop: '1024px+'
99
+ }
100
+ },
101
+ spacing: {
102
+ unit: 8,
103
+ scale: [0, 8, 16, 24, 32, 40, 48, 64, 80],
104
+ guidelines: [
105
+ 'Use 8px base unit for spacing',
106
+ 'Group related prompt elements',
107
+ 'Provide clear visual hierarchy',
108
+ 'Use cards for prompt templates'
109
+ ]
110
+ },
111
+ containerWidths: {
112
+ mobile: '100%',
113
+ tablet: '768px',
114
+ desktop: '1024px',
115
+ max: '1280px'
116
+ },
117
+ guidelines: [
118
+ 'Use two-column layout (prompt builder + preview)',
119
+ 'Provide collapsible sections for categories',
120
+ 'Use tags for prompt modifiers',
121
+ 'Implement search and filter for templates',
122
+ 'Show real-time character count',
123
+ 'Provide copy-to-clipboard functionality'
124
+ ]
125
+ };
126
+
127
+ // ============================================================================
128
+ // AI Prompt Helper Domain Export
129
+ // ============================================================================
130
+
131
+ export const AI_PROMPT_HELPER_DOMAIN: DomainStyle = {
132
+ domain: 'ai-prompt-helper',
133
+ characteristics: [
134
+ 'Prompt template library',
135
+ 'Keyword and modifier suggestions',
136
+ 'Style and artist references',
137
+ 'Technical parameter guidance',
138
+ 'Aspect ratio and resolution presets',
139
+ 'Negative prompt suggestions',
140
+ 'Prompt weight and emphasis syntax',
141
+ 'Multi-platform compatibility (Midjourney, DALL-E, SD)',
142
+ 'Prompt history and favorites',
143
+ 'Community prompt sharing'
144
+ ],
145
+ colorScheme: AI_PROMPT_COLORS,
146
+ typography: AI_PROMPT_TYPOGRAPHY,
147
+ layout: AI_PROMPT_LAYOUT,
148
+ examples: [
149
+ 'Portrait photography prompt: "professional headshot, studio lighting, 85mm lens, shallow depth of field"',
150
+ 'Landscape prompt: "mountain vista at golden hour, dramatic clouds, wide angle, photorealistic"',
151
+ 'Illustration prompt: "anime style character, vibrant colors, detailed linework, by Studio Ghibli"',
152
+ 'Abstract art prompt: "geometric patterns, bold colors, minimalist composition, vector art"',
153
+ 'Product photography: "product shot on white background, soft lighting, high detail, commercial photography"',
154
+ 'Architectural visualization: "modern building exterior, glass facade, sunset lighting, architectural photography"'
155
+ ]
156
+ };
157
+
@@ -0,0 +1,156 @@
1
+ /**
2
+ * .NET Application Domain Module
3
+ *
4
+ * .NET-specific application design patterns for WPF, WinForms,
5
+ * MAUI, and Blazor applications following Microsoft design guidelines.
6
+ */
7
+
8
+ import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
+
10
+ // ============================================================================
11
+ // .NET Application Color Palette
12
+ // ============================================================================
13
+
14
+ const DOTNET_COLORS: ColorPalette = {
15
+ primary: {
16
+ name: '.NET Purple',
17
+ hex: '#512BD4',
18
+ rgb: { r: 81, g: 43, b: 212 },
19
+ hsl: { h: 253, s: 66, l: 50 },
20
+ variants: [
21
+ { name: 'Purple Light', hex: '#8B5CF6', usage: 'Hover states' },
22
+ { name: 'Purple Dark', hex: '#3B1FA2', usage: 'Active states' }
23
+ ]
24
+ },
25
+ neutral: [
26
+ { name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
27
+ { name: 'Gray 10', hex: '#F5F5F5', rgb: { r: 245, g: 245, b: 245 }, hsl: { h: 0, s: 0, l: 96 } },
28
+ { name: 'Gray 20', hex: '#E0E0E0', rgb: { r: 224, g: 224, b: 224 }, hsl: { h: 0, s: 0, l: 88 } },
29
+ { name: 'Gray 80', hex: '#424242', rgb: { r: 66, g: 66, b: 66 }, hsl: { h: 0, s: 0, l: 26 } },
30
+ { name: 'Gray 90', hex: '#212121', rgb: { r: 33, g: 33, b: 33 }, hsl: { h: 0, s: 0, l: 13 } }
31
+ ],
32
+ semantic: {
33
+ success: { hex: '#2E7D32', usage: 'Success states' },
34
+ warning: { hex: '#F57C00', usage: 'Warnings' },
35
+ error: { hex: '#C62828', usage: 'Errors' },
36
+ info: { hex: '#0288D1', usage: 'Information' }
37
+ },
38
+ accessibility: {
39
+ minimumContrast: 4.5,
40
+ targetContrast: 7,
41
+ colorBlindSafe: true,
42
+ guidelines: [
43
+ 'Follow WCAG 2.1 AA standards',
44
+ 'Support Windows high contrast mode',
45
+ 'Test with .NET accessibility tools',
46
+ 'Ensure keyboard navigation'
47
+ ]
48
+ }
49
+ };
50
+
51
+ // ============================================================================
52
+ // .NET Application Typography
53
+ // ============================================================================
54
+
55
+ const DOTNET_TYPOGRAPHY: TypographyRules = {
56
+ fontFamilies: {
57
+ primary: '"Segoe UI", "Helvetica Neue", Arial, sans-serif',
58
+ secondary: 'system-ui, sans-serif',
59
+ monospace: '"Cascadia Code", "Consolas", "Courier New", monospace'
60
+ },
61
+ hierarchy: {
62
+ h1: { fontSize: '32px', fontWeight: 600, lineHeight: 1.2, letterSpacing: '0' },
63
+ h2: { fontSize: '24px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '0' },
64
+ h3: { fontSize: '20px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
65
+ h4: { fontSize: '16px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
66
+ h5: { fontSize: '14px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
67
+ h6: { fontSize: '12px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
68
+ body: { fontSize: '14px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
69
+ small: { fontSize: '12px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
70
+ caption: { fontSize: '11px', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
71
+ },
72
+ scale: {
73
+ base: 14,
74
+ ratio: 1.2,
75
+ sizes: [11, 12, 14, 16, 20, 24, 32]
76
+ },
77
+ guidelines: [
78
+ 'Use Segoe UI for Windows applications',
79
+ 'Use San Francisco for macOS/iOS (MAUI)',
80
+ 'Follow platform typography conventions',
81
+ 'Support dynamic font scaling',
82
+ 'Ensure readability in data grids'
83
+ ]
84
+ };
85
+
86
+ // ============================================================================
87
+ // .NET Application Layout System
88
+ // ============================================================================
89
+
90
+ const DOTNET_LAYOUT: LayoutSystem = {
91
+ grid: {
92
+ columns: 12,
93
+ gutter: '16px',
94
+ margin: '16px',
95
+ breakpoints: {
96
+ compact: '0-639px',
97
+ medium: '640-1023px',
98
+ expanded: '1024px+'
99
+ }
100
+ },
101
+ spacing: {
102
+ unit: 8,
103
+ scale: [0, 8, 16, 24, 32, 40, 48, 64],
104
+ guidelines: [
105
+ 'Use 8px base unit for spacing',
106
+ 'Follow WPF/WinForms layout conventions',
107
+ 'Use Grid and StackPanel for layouts',
108
+ 'Maintain consistent margins and padding'
109
+ ]
110
+ },
111
+ containerWidths: {
112
+ compact: '100%',
113
+ medium: '100%',
114
+ expanded: '100%'
115
+ },
116
+ guidelines: [
117
+ 'Use XAML layouts (Grid, StackPanel, DockPanel)',
118
+ 'Implement MVVM pattern for data binding',
119
+ 'Use data templates for list items',
120
+ 'Support responsive layouts with AdaptiveTriggers',
121
+ 'Implement proper focus management',
122
+ 'Use commanding for user actions'
123
+ ]
124
+ };
125
+
126
+ // ============================================================================
127
+ // .NET Application Domain Export
128
+ // ============================================================================
129
+
130
+ export const DOTNET_APPLICATION_DOMAIN: DomainStyle = {
131
+ domain: 'dotnet-application',
132
+ characteristics: [
133
+ 'XAML-based UI definition',
134
+ 'MVVM architecture pattern',
135
+ 'Data binding and commanding',
136
+ 'WPF/WinForms/MAUI controls',
137
+ 'Cross-platform with .NET MAUI',
138
+ 'Dependency injection support',
139
+ 'Async/await patterns',
140
+ 'Entity Framework integration',
141
+ 'NuGet package ecosystem',
142
+ 'Visual Studio designer support'
143
+ ],
144
+ colorScheme: DOTNET_COLORS,
145
+ typography: DOTNET_TYPOGRAPHY,
146
+ layout: DOTNET_LAYOUT,
147
+ examples: [
148
+ 'WPF desktop application with ribbon',
149
+ 'WinForms data entry application',
150
+ '.NET MAUI cross-platform app',
151
+ 'Blazor web application',
152
+ 'Entity Framework data grid',
153
+ 'Settings dialog with tabs'
154
+ ]
155
+ };
156
+
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Linux Platform Domain Module
3
+ *
4
+ * Linux-specific application design patterns following
5
+ * GNOME HIG, KDE HIG, and freedesktop.org standards.
6
+ */
7
+
8
+ import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
+
10
+ // ============================================================================
11
+ // Linux Platform Color Palette
12
+ // ============================================================================
13
+
14
+ const LINUX_COLORS: ColorPalette = {
15
+ primary: {
16
+ name: 'Blue Accent',
17
+ hex: '#3584E4',
18
+ rgb: { r: 53, g: 132, b: 228 },
19
+ hsl: { h: 213, s: 76, l: 55 },
20
+ variants: [
21
+ { name: 'Blue Light', hex: '#62A0EA', usage: 'Hover states' },
22
+ { name: 'Blue Dark', hex: '#1C71D8', usage: 'Active states' }
23
+ ]
24
+ },
25
+ neutral: [
26
+ { name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
27
+ { name: 'Light 1', hex: '#F6F5F4', rgb: { r: 246, g: 245, b: 244 }, hsl: { h: 30, s: 11, l: 96 } },
28
+ { name: 'Light 2', hex: '#DEDDDA', rgb: { r: 222, g: 221, b: 218 }, hsl: { h: 45, s: 9, l: 86 } },
29
+ { name: 'Dark 3', hex: '#5E5C64', rgb: { r: 94, g: 92, b: 100 }, hsl: { h: 255, s: 4, l: 38 } },
30
+ { name: 'Dark 5', hex: '#241F31', rgb: { r: 36, g: 31, b: 49 }, hsl: { h: 257, s: 23, l: 16 } }
31
+ ],
32
+ semantic: {
33
+ success: { hex: '#26A269', usage: 'Success states' },
34
+ warning: { hex: '#E5A50A', usage: 'Warnings' },
35
+ error: { hex: '#C01C28', usage: 'Errors, destructive actions' },
36
+ info: { hex: '#3584E4', usage: 'Information' }
37
+ },
38
+ accessibility: {
39
+ minimumContrast: 4.5,
40
+ targetContrast: 7,
41
+ colorBlindSafe: true,
42
+ guidelines: [
43
+ 'Follow GNOME HIG color guidelines',
44
+ 'Support GTK theme integration',
45
+ 'Respect system dark/light preference',
46
+ 'Test with Orca screen reader'
47
+ ]
48
+ }
49
+ };
50
+
51
+ // ============================================================================
52
+ // Linux Platform Typography
53
+ // ============================================================================
54
+
55
+ const LINUX_TYPOGRAPHY: TypographyRules = {
56
+ fontFamilies: {
57
+ primary: '"Cantarell", "Ubuntu", "Noto Sans", sans-serif',
58
+ secondary: 'system-ui, sans-serif',
59
+ monospace: '"Source Code Pro", "Liberation Mono", monospace'
60
+ },
61
+ hierarchy: {
62
+ h1: { fontSize: '24px', fontWeight: 700, lineHeight: 1.3, letterSpacing: '0' },
63
+ h2: { fontSize: '20px', fontWeight: 700, lineHeight: 1.4, letterSpacing: '0' },
64
+ h3: { fontSize: '16px', fontWeight: 700, lineHeight: 1.4, letterSpacing: '0' },
65
+ h4: { fontSize: '14px', fontWeight: 700, lineHeight: 1.5, letterSpacing: '0' },
66
+ h5: { fontSize: '12px', fontWeight: 700, lineHeight: 1.5, letterSpacing: '0' },
67
+ h6: { fontSize: '11px', fontWeight: 700, lineHeight: 1.5, letterSpacing: '0' },
68
+ body: { fontSize: '11px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
69
+ small: { fontSize: '10px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
70
+ caption: { fontSize: '9px', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
71
+ },
72
+ scale: {
73
+ base: 11,
74
+ ratio: 1.2,
75
+ sizes: [9, 10, 11, 12, 14, 16, 20, 24]
76
+ },
77
+ guidelines: [
78
+ 'Use Cantarell for GNOME applications',
79
+ 'Use Ubuntu font for Ubuntu-based apps',
80
+ 'Follow freedesktop.org font standards',
81
+ 'Support font scaling preferences',
82
+ 'Ensure readability at small sizes'
83
+ ]
84
+ };
85
+
86
+ // ============================================================================
87
+ // Linux Platform Layout System
88
+ // ============================================================================
89
+
90
+ const LINUX_LAYOUT: LayoutSystem = {
91
+ grid: {
92
+ columns: 12,
93
+ gutter: '12px',
94
+ margin: '12px',
95
+ breakpoints: {
96
+ compact: '0-639px',
97
+ medium: '640-1023px',
98
+ expanded: '1024px+'
99
+ }
100
+ },
101
+ spacing: {
102
+ unit: 6,
103
+ scale: [0, 6, 12, 18, 24, 30, 36, 48],
104
+ guidelines: [
105
+ 'Use 6px base unit (GNOME HIG)',
106
+ 'Follow GTK spacing conventions',
107
+ 'Maintain consistent padding',
108
+ 'Use headerbar for window controls'
109
+ ]
110
+ },
111
+ containerWidths: {
112
+ compact: '100%',
113
+ medium: '100%',
114
+ expanded: '100%'
115
+ },
116
+ guidelines: [
117
+ 'Use GTK/Qt widgets and patterns',
118
+ 'Implement headerbar with window controls',
119
+ 'Follow GNOME HIG or KDE HIG guidelines',
120
+ 'Support keyboard navigation',
121
+ 'Integrate with desktop environment',
122
+ 'Use native file choosers and dialogs'
123
+ ]
124
+ };
125
+
126
+ // ============================================================================
127
+ // Linux Platform Domain Export
128
+ // ============================================================================
129
+
130
+ export const LINUX_PLATFORM_DOMAIN: DomainStyle = {
131
+ domain: 'linux-platform',
132
+ characteristics: [
133
+ 'GTK or Qt widget toolkit integration',
134
+ 'Headerbar with integrated window controls',
135
+ 'Desktop environment theme integration',
136
+ 'D-Bus integration for system services',
137
+ 'XDG standards compliance',
138
+ 'Keyboard-first navigation',
139
+ 'Native file chooser dialogs',
140
+ 'System tray/notification area support',
141
+ 'Wayland and X11 compatibility',
142
+ 'Flatpak/Snap packaging support'
143
+ ],
144
+ colorScheme: LINUX_COLORS,
145
+ typography: LINUX_TYPOGRAPHY,
146
+ layout: LINUX_LAYOUT,
147
+ examples: [
148
+ 'GNOME application with headerbar',
149
+ 'KDE Plasma application with menu bar',
150
+ 'File manager with sidebar navigation',
151
+ 'Terminal emulator with tabs',
152
+ 'System settings application',
153
+ 'Text editor with syntax highlighting'
154
+ ]
155
+ };
156
+