@mytechtoday/augment-extensions 1.3.0 → 1.3.1

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 (95) hide show
  1. package/LICENSE +22 -22
  2. package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
  3. package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
  4. package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
  5. package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
  6. package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
  7. package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
  8. package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
  9. package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
  10. package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
  11. package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
  12. package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
  13. package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
  14. package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
  15. package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
  16. package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
  17. package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
  18. package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
  19. package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
  20. package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
  21. package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
  22. package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
  23. package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
  24. package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
  25. package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
  26. package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
  27. package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
  28. package/augment-extensions/visual-design/CHANGELOG.md +132 -132
  29. package/augment-extensions/visual-design/README.md +255 -255
  30. package/augment-extensions/visual-design/__tests__/README.md +119 -119
  31. package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -172
  32. package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -214
  33. package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -157
  34. package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -156
  35. package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -156
  36. package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -157
  37. package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -156
  38. package/augment-extensions/visual-design/domains/other/os-application.ts +156 -156
  39. package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -158
  40. package/augment-extensions/visual-design/domains/other/web-app.ts +157 -157
  41. package/augment-extensions/visual-design/domains/other/website.ts +161 -161
  42. package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -156
  43. package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -506
  44. package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -615
  45. package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -531
  46. package/augment-extensions/visual-design/examples/README.md +97 -97
  47. package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -233
  48. package/augment-extensions/visual-design/examples/basic-usage.md +216 -216
  49. package/augment-extensions/visual-design/examples/domain-workflows.md +257 -257
  50. package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -247
  51. package/augment-extensions/visual-design/module.json +78 -78
  52. package/augment-extensions/visual-design/style-selector.ts +177 -177
  53. package/augment-extensions/visual-design/types.ts +302 -302
  54. package/augment-extensions/visual-design/visual-design-core.ts +469 -469
  55. package/augment-extensions/workflows/adr-support/README.md +227 -227
  56. package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -203
  57. package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -162
  58. package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -449
  59. package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -580
  60. package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -436
  61. package/augment-extensions/workflows/adr-support/module.json +112 -112
  62. package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -372
  63. package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -443
  64. package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -486
  65. package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -362
  66. package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -427
  67. package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -465
  68. package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -405
  69. package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -543
  70. package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -191
  71. package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -172
  72. package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -235
  73. package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -197
  74. package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -68
  75. package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -84
  76. package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
  77. package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
  78. package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
  79. package/cli/dist/utils/auto-sync.js +19 -19
  80. package/package.json +5 -3
  81. package/augment-extensions/workflows/openspec/README.md +0 -96
  82. package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
  83. package/augment-extensions/workflows/openspec/module.json +0 -54
  84. package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
  85. package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
  86. package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
  87. package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
  88. package/cli/dist/utils/__tests__/adr-validator.example.d.ts +0 -6
  89. package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +0 -1
  90. package/cli/dist/utils/__tests__/adr-validator.example.js +0 -148
  91. package/cli/dist/utils/__tests__/adr-validator.example.js.map +0 -1
  92. package/cli/dist/utils/adr-validator.d.ts +0 -65
  93. package/cli/dist/utils/adr-validator.d.ts.map +0 -1
  94. package/cli/dist/utils/adr-validator.js +0 -203
  95. package/cli/dist/utils/adr-validator.js.map +0 -1
@@ -1,158 +1,158 @@
1
- /**
2
- * Print Campaigns Domain Module
3
- *
4
- * Design patterns for print media including flyers, posters,
5
- * banners, and billboards with CMYK color and print specifications.
6
- */
7
-
8
- import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
-
10
- // ============================================================================
11
- // Print Campaigns Color Palette
12
- // ============================================================================
13
-
14
- const PRINT_COLORS: ColorPalette = {
15
- primary: {
16
- name: 'Print Red',
17
- hex: '#E63946',
18
- rgb: { r: 230, g: 57, b: 70 },
19
- hsl: { h: 356, s: 78, l: 56 },
20
- variants: [
21
- { name: 'Red Light', hex: '#FF6B6B', usage: 'Highlights' },
22
- { name: 'Red Dark', hex: '#C1121F', 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: 'Light Gray', hex: '#F1FAEE', rgb: { r: 241, g: 250, b: 238 }, hsl: { h: 105, s: 60, l: 96 } },
28
- { name: 'Mid Gray', hex: '#A8DADC', rgb: { r: 168, g: 218, b: 220 }, hsl: { h: 182, s: 41, l: 76 } },
29
- { name: 'Dark Gray', hex: '#457B9D', rgb: { r: 69, g: 123, b: 157 }, hsl: { h: 203, s: 39, l: 44 } },
30
- { name: 'Black', hex: '#1D3557', rgb: { r: 29, g: 53, b: 87 }, hsl: { h: 215, s: 50, l: 23 } }
31
- ],
32
- semantic: {
33
- success: { hex: '#2A9D8F', usage: 'Positive messaging' },
34
- warning: { hex: '#F4A261', usage: 'Attention grabbing' },
35
- error: { hex: '#E76F51', usage: 'Urgent calls-to-action' },
36
- info: { hex: '#264653', usage: 'Information blocks' }
37
- },
38
- accessibility: {
39
- minimumContrast: 4.5,
40
- targetContrast: 7,
41
- colorBlindSafe: true,
42
- guidelines: [
43
- 'Use CMYK color mode for print',
44
- 'Ensure 300 DPI resolution minimum',
45
- 'Add bleed area (0.125" standard)',
46
- 'Test with print proofs before production'
47
- ]
48
- }
49
- };
50
-
51
- // ============================================================================
52
- // Print Campaigns Typography
53
- // ============================================================================
54
-
55
- const PRINT_TYPOGRAPHY: TypographyRules = {
56
- fontFamilies: {
57
- primary: '"Helvetica", "Arial", sans-serif',
58
- secondary: '"Garamond", "Georgia", serif',
59
- monospace: '"Courier", monospace'
60
- },
61
- hierarchy: {
62
- h1: { fontSize: '72pt', fontWeight: 700, lineHeight: 1.1, letterSpacing: '-0.02em' },
63
- h2: { fontSize: '48pt', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.01em' },
64
- h3: { fontSize: '36pt', fontWeight: 600, lineHeight: 1.3, letterSpacing: '0' },
65
- h4: { fontSize: '24pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
66
- h5: { fontSize: '18pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
67
- h6: { fontSize: '14pt', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
68
- body: { fontSize: '12pt', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
69
- small: { fontSize: '10pt', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
70
- caption: { fontSize: '8pt', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
71
- },
72
- scale: {
73
- base: 12,
74
- ratio: 1.5,
75
- sizes: [8, 10, 12, 14, 18, 24, 36, 48, 72]
76
- },
77
- guidelines: [
78
- 'Use points (pt) instead of pixels',
79
- 'Embed fonts or convert to outlines',
80
- 'Ensure minimum 8pt for body text',
81
- 'Use high-quality font files',
82
- 'Test readability at actual print size'
83
- ]
84
- };
85
-
86
- // ============================================================================
87
- // Print Campaigns Layout System
88
- // ============================================================================
89
-
90
- const PRINT_LAYOUT: LayoutSystem = {
91
- grid: {
92
- columns: 12,
93
- gutter: '0.25in',
94
- margin: '0.5in',
95
- breakpoints: {
96
- flyer: '8.5x11in',
97
- poster: '18x24in',
98
- banner: '3x6ft',
99
- billboard: '14x48ft'
100
- }
101
- },
102
- spacing: {
103
- unit: 0.125,
104
- scale: [0, 0.125, 0.25, 0.5, 0.75, 1, 1.5, 2],
105
- guidelines: [
106
- 'Use inches for measurements',
107
- 'Add 0.125" bleed on all sides',
108
- 'Maintain 0.25" safe zone from trim',
109
- 'Use consistent margins'
110
- ]
111
- },
112
- containerWidths: {
113
- flyer: '8.5in',
114
- poster: '24in',
115
- banner: '72in',
116
- billboard: '576in'
117
- },
118
- guidelines: [
119
- 'Design at actual size or proportional scale',
120
- 'Use CMYK color mode',
121
- 'Set resolution to 300 DPI minimum',
122
- 'Add bleed and crop marks',
123
- 'Convert text to outlines before printing',
124
- 'Use high-resolution images only'
125
- ]
126
- };
127
-
128
- // ============================================================================
129
- // Print Campaigns Domain Export
130
- // ============================================================================
131
-
132
- export const PRINT_CAMPAIGNS_DOMAIN: DomainStyle = {
133
- domain: 'print-campaigns',
134
- characteristics: [
135
- 'CMYK color mode for accurate printing',
136
- '300 DPI resolution minimum',
137
- 'Bleed area (0.125" standard)',
138
- 'Safe zone for important content',
139
- 'High-contrast for visibility',
140
- 'Large, readable typography',
141
- 'Clear visual hierarchy',
142
- 'Strong call-to-action placement',
143
- 'Brand consistency across materials',
144
- 'Print-ready file formats (PDF, EPS)'
145
- ],
146
- colorScheme: PRINT_COLORS,
147
- typography: PRINT_TYPOGRAPHY,
148
- layout: PRINT_LAYOUT,
149
- examples: [
150
- 'Event flyer (8.5x11") with bold headline and event details',
151
- 'Concert poster (18x24") with artist photo and venue info',
152
- 'Trade show banner (3x6ft) with company branding',
153
- 'Highway billboard (14x48ft) with simple message',
154
- 'Business card (3.5x2") with contact information',
155
- 'Brochure (tri-fold) with product features'
156
- ]
157
- };
158
-
1
+ /**
2
+ * Print Campaigns Domain Module
3
+ *
4
+ * Design patterns for print media including flyers, posters,
5
+ * banners, and billboards with CMYK color and print specifications.
6
+ */
7
+
8
+ import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
+
10
+ // ============================================================================
11
+ // Print Campaigns Color Palette
12
+ // ============================================================================
13
+
14
+ const PRINT_COLORS: ColorPalette = {
15
+ primary: {
16
+ name: 'Print Red',
17
+ hex: '#E63946',
18
+ rgb: { r: 230, g: 57, b: 70 },
19
+ hsl: { h: 356, s: 78, l: 56 },
20
+ variants: [
21
+ { name: 'Red Light', hex: '#FF6B6B', usage: 'Highlights' },
22
+ { name: 'Red Dark', hex: '#C1121F', 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: 'Light Gray', hex: '#F1FAEE', rgb: { r: 241, g: 250, b: 238 }, hsl: { h: 105, s: 60, l: 96 } },
28
+ { name: 'Mid Gray', hex: '#A8DADC', rgb: { r: 168, g: 218, b: 220 }, hsl: { h: 182, s: 41, l: 76 } },
29
+ { name: 'Dark Gray', hex: '#457B9D', rgb: { r: 69, g: 123, b: 157 }, hsl: { h: 203, s: 39, l: 44 } },
30
+ { name: 'Black', hex: '#1D3557', rgb: { r: 29, g: 53, b: 87 }, hsl: { h: 215, s: 50, l: 23 } }
31
+ ],
32
+ semantic: {
33
+ success: { hex: '#2A9D8F', usage: 'Positive messaging' },
34
+ warning: { hex: '#F4A261', usage: 'Attention grabbing' },
35
+ error: { hex: '#E76F51', usage: 'Urgent calls-to-action' },
36
+ info: { hex: '#264653', usage: 'Information blocks' }
37
+ },
38
+ accessibility: {
39
+ minimumContrast: 4.5,
40
+ targetContrast: 7,
41
+ colorBlindSafe: true,
42
+ guidelines: [
43
+ 'Use CMYK color mode for print',
44
+ 'Ensure 300 DPI resolution minimum',
45
+ 'Add bleed area (0.125" standard)',
46
+ 'Test with print proofs before production'
47
+ ]
48
+ }
49
+ };
50
+
51
+ // ============================================================================
52
+ // Print Campaigns Typography
53
+ // ============================================================================
54
+
55
+ const PRINT_TYPOGRAPHY: TypographyRules = {
56
+ fontFamilies: {
57
+ primary: '"Helvetica", "Arial", sans-serif',
58
+ secondary: '"Garamond", "Georgia", serif',
59
+ monospace: '"Courier", monospace'
60
+ },
61
+ hierarchy: {
62
+ h1: { fontSize: '72pt', fontWeight: 700, lineHeight: 1.1, letterSpacing: '-0.02em' },
63
+ h2: { fontSize: '48pt', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.01em' },
64
+ h3: { fontSize: '36pt', fontWeight: 600, lineHeight: 1.3, letterSpacing: '0' },
65
+ h4: { fontSize: '24pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
66
+ h5: { fontSize: '18pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
67
+ h6: { fontSize: '14pt', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
68
+ body: { fontSize: '12pt', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
69
+ small: { fontSize: '10pt', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
70
+ caption: { fontSize: '8pt', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
71
+ },
72
+ scale: {
73
+ base: 12,
74
+ ratio: 1.5,
75
+ sizes: [8, 10, 12, 14, 18, 24, 36, 48, 72]
76
+ },
77
+ guidelines: [
78
+ 'Use points (pt) instead of pixels',
79
+ 'Embed fonts or convert to outlines',
80
+ 'Ensure minimum 8pt for body text',
81
+ 'Use high-quality font files',
82
+ 'Test readability at actual print size'
83
+ ]
84
+ };
85
+
86
+ // ============================================================================
87
+ // Print Campaigns Layout System
88
+ // ============================================================================
89
+
90
+ const PRINT_LAYOUT: LayoutSystem = {
91
+ grid: {
92
+ columns: 12,
93
+ gutter: '0.25in',
94
+ margin: '0.5in',
95
+ breakpoints: {
96
+ flyer: '8.5x11in',
97
+ poster: '18x24in',
98
+ banner: '3x6ft',
99
+ billboard: '14x48ft'
100
+ }
101
+ },
102
+ spacing: {
103
+ unit: 0.125,
104
+ scale: [0, 0.125, 0.25, 0.5, 0.75, 1, 1.5, 2],
105
+ guidelines: [
106
+ 'Use inches for measurements',
107
+ 'Add 0.125" bleed on all sides',
108
+ 'Maintain 0.25" safe zone from trim',
109
+ 'Use consistent margins'
110
+ ]
111
+ },
112
+ containerWidths: {
113
+ flyer: '8.5in',
114
+ poster: '24in',
115
+ banner: '72in',
116
+ billboard: '576in'
117
+ },
118
+ guidelines: [
119
+ 'Design at actual size or proportional scale',
120
+ 'Use CMYK color mode',
121
+ 'Set resolution to 300 DPI minimum',
122
+ 'Add bleed and crop marks',
123
+ 'Convert text to outlines before printing',
124
+ 'Use high-resolution images only'
125
+ ]
126
+ };
127
+
128
+ // ============================================================================
129
+ // Print Campaigns Domain Export
130
+ // ============================================================================
131
+
132
+ export const PRINT_CAMPAIGNS_DOMAIN: DomainStyle = {
133
+ domain: 'print-campaigns',
134
+ characteristics: [
135
+ 'CMYK color mode for accurate printing',
136
+ '300 DPI resolution minimum',
137
+ 'Bleed area (0.125" standard)',
138
+ 'Safe zone for important content',
139
+ 'High-contrast for visibility',
140
+ 'Large, readable typography',
141
+ 'Clear visual hierarchy',
142
+ 'Strong call-to-action placement',
143
+ 'Brand consistency across materials',
144
+ 'Print-ready file formats (PDF, EPS)'
145
+ ],
146
+ colorScheme: PRINT_COLORS,
147
+ typography: PRINT_TYPOGRAPHY,
148
+ layout: PRINT_LAYOUT,
149
+ examples: [
150
+ 'Event flyer (8.5x11") with bold headline and event details',
151
+ 'Concert poster (18x24") with artist photo and venue info',
152
+ 'Trade show banner (3x6ft) with company branding',
153
+ 'Highway billboard (14x48ft) with simple message',
154
+ 'Business card (3.5x2") with contact information',
155
+ 'Brochure (tri-fold) with product features'
156
+ ]
157
+ };
158
+
@@ -1,157 +1,157 @@
1
- /**
2
- * Web-app Domain Module
3
- *
4
- * Interactive SPA/PWA patterns for single-page applications
5
- * with dynamic content, state management, and app-like experiences.
6
- */
7
-
8
- import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
-
10
- // ============================================================================
11
- // Web-app Color Palette
12
- // ============================================================================
13
-
14
- const WEBAPP_COLORS: ColorPalette = {
15
- primary: {
16
- name: 'App Primary',
17
- hex: '#6366F1',
18
- rgb: { r: 99, g: 102, b: 241 },
19
- hsl: { h: 239, s: 84, l: 67 },
20
- variants: [
21
- { name: 'Primary Light', hex: '#A5B4FC', usage: 'Hover states, highlights' },
22
- { name: 'Primary Dark', hex: '#4F46E5', usage: 'Active states, pressed' }
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: '#F9FAFB', rgb: { r: 249, g: 250, b: 251 }, hsl: { h: 210, s: 20, l: 98 } },
28
- { name: 'Gray 100', hex: '#F3F4F6', rgb: { r: 243, g: 244, b: 246 }, hsl: { h: 220, s: 14, l: 96 } },
29
- { name: 'Gray 700', hex: '#374151', rgb: { r: 55, g: 65, b: 81 }, hsl: { h: 217, s: 19, l: 27 } },
30
- { name: 'Gray 900', hex: '#111827', rgb: { r: 17, g: 24, b: 39 }, hsl: { h: 221, s: 39, l: 11 } }
31
- ],
32
- semantic: {
33
- success: { hex: '#10B981', usage: 'Success states, confirmations' },
34
- warning: { hex: '#F59E0B', usage: 'Warnings, pending states' },
35
- error: { hex: '#EF4444', usage: 'Errors, validation failures' },
36
- info: { hex: '#3B82F6', usage: 'Information, tooltips' }
37
- },
38
- accessibility: {
39
- minimumContrast: 4.5,
40
- targetContrast: 7,
41
- colorBlindSafe: true,
42
- guidelines: [
43
- 'Ensure 4.5:1 contrast for all interactive elements',
44
- 'Use focus indicators with 3:1 contrast',
45
- 'Support dark mode with proper contrast',
46
- 'Test with accessibility tools'
47
- ]
48
- }
49
- };
50
-
51
- // ============================================================================
52
- // Web-app Typography
53
- // ============================================================================
54
-
55
- const WEBAPP_TYPOGRAPHY: TypographyRules = {
56
- fontFamilies: {
57
- primary: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
58
- secondary: 'Inter, system-ui, sans-serif',
59
- monospace: '"SF Mono", Monaco, "Cascadia Code", monospace'
60
- },
61
- hierarchy: {
62
- h1: { fontSize: '32px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em' },
63
- h2: { fontSize: '24px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '-0.01em' },
64
- h3: { fontSize: '20px', 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: '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.01em' }
71
- },
72
- scale: {
73
- base: 14,
74
- ratio: 1.2,
75
- sizes: [11, 12, 14, 16, 18, 20, 24, 32, 40]
76
- },
77
- guidelines: [
78
- 'Use system fonts for native app feel',
79
- 'Smaller base size (14px) for dense interfaces',
80
- 'Consistent font weights for UI hierarchy',
81
- 'Monospace for code and data display',
82
- 'Optimize for readability at small sizes'
83
- ]
84
- };
85
-
86
- // ============================================================================
87
- // Web-app Layout System
88
- // ============================================================================
89
-
90
- const WEBAPP_LAYOUT: LayoutSystem = {
91
- grid: {
92
- columns: 12,
93
- gutter: '16px',
94
- margin: '16px',
95
- breakpoints: {
96
- mobile: '0-639px',
97
- tablet: '640-1023px',
98
- desktop: '1024px+'
99
- }
100
- },
101
- spacing: {
102
- unit: 4,
103
- scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64],
104
- guidelines: [
105
- 'Use 4px base unit for tight spacing',
106
- 'Compact spacing for dense interfaces',
107
- 'Consistent padding in panels and cards',
108
- 'Minimal margins for app-like feel'
109
- ]
110
- },
111
- containerWidths: {
112
- mobile: '100%',
113
- tablet: '100%',
114
- desktop: '100%',
115
- fullscreen: '100vw'
116
- },
117
- guidelines: [
118
- 'Use app shell pattern (persistent header/sidebar)',
119
- 'Implement virtual scrolling for large lists',
120
- 'Use fixed positioning for navigation',
121
- 'Optimize for single-hand mobile use',
122
- 'Support offline-first architecture',
123
- 'Implement skeleton screens for loading states'
124
- ]
125
- };
126
-
127
- // ============================================================================
128
- // Web-app Domain Export
129
- // ============================================================================
130
-
131
- export const WEBAPP_DOMAIN: DomainStyle = {
132
- domain: 'web-app',
133
- characteristics: [
134
- 'Single-page application architecture',
135
- 'Client-side routing and state management',
136
- 'Real-time data updates and synchronization',
137
- 'Offline-first with service workers',
138
- 'App-like navigation patterns',
139
- 'Persistent UI shell (header, sidebar)',
140
- 'Loading states and skeleton screens',
141
- 'Optimistic UI updates',
142
- 'Touch-friendly interactions',
143
- 'Progressive Web App capabilities'
144
- ],
145
- colorScheme: WEBAPP_COLORS,
146
- typography: WEBAPP_TYPOGRAPHY,
147
- layout: WEBAPP_LAYOUT,
148
- examples: [
149
- 'Dashboard with data visualization and charts',
150
- 'Project management tool with kanban boards',
151
- 'Email client with inbox and compose views',
152
- 'Social media feed with infinite scroll',
153
- 'Collaborative document editor',
154
- 'Task management app with drag-and-drop'
155
- ]
156
- };
157
-
1
+ /**
2
+ * Web-app Domain Module
3
+ *
4
+ * Interactive SPA/PWA patterns for single-page applications
5
+ * with dynamic content, state management, and app-like experiences.
6
+ */
7
+
8
+ import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
+
10
+ // ============================================================================
11
+ // Web-app Color Palette
12
+ // ============================================================================
13
+
14
+ const WEBAPP_COLORS: ColorPalette = {
15
+ primary: {
16
+ name: 'App Primary',
17
+ hex: '#6366F1',
18
+ rgb: { r: 99, g: 102, b: 241 },
19
+ hsl: { h: 239, s: 84, l: 67 },
20
+ variants: [
21
+ { name: 'Primary Light', hex: '#A5B4FC', usage: 'Hover states, highlights' },
22
+ { name: 'Primary Dark', hex: '#4F46E5', usage: 'Active states, pressed' }
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: '#F9FAFB', rgb: { r: 249, g: 250, b: 251 }, hsl: { h: 210, s: 20, l: 98 } },
28
+ { name: 'Gray 100', hex: '#F3F4F6', rgb: { r: 243, g: 244, b: 246 }, hsl: { h: 220, s: 14, l: 96 } },
29
+ { name: 'Gray 700', hex: '#374151', rgb: { r: 55, g: 65, b: 81 }, hsl: { h: 217, s: 19, l: 27 } },
30
+ { name: 'Gray 900', hex: '#111827', rgb: { r: 17, g: 24, b: 39 }, hsl: { h: 221, s: 39, l: 11 } }
31
+ ],
32
+ semantic: {
33
+ success: { hex: '#10B981', usage: 'Success states, confirmations' },
34
+ warning: { hex: '#F59E0B', usage: 'Warnings, pending states' },
35
+ error: { hex: '#EF4444', usage: 'Errors, validation failures' },
36
+ info: { hex: '#3B82F6', usage: 'Information, tooltips' }
37
+ },
38
+ accessibility: {
39
+ minimumContrast: 4.5,
40
+ targetContrast: 7,
41
+ colorBlindSafe: true,
42
+ guidelines: [
43
+ 'Ensure 4.5:1 contrast for all interactive elements',
44
+ 'Use focus indicators with 3:1 contrast',
45
+ 'Support dark mode with proper contrast',
46
+ 'Test with accessibility tools'
47
+ ]
48
+ }
49
+ };
50
+
51
+ // ============================================================================
52
+ // Web-app Typography
53
+ // ============================================================================
54
+
55
+ const WEBAPP_TYPOGRAPHY: TypographyRules = {
56
+ fontFamilies: {
57
+ primary: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
58
+ secondary: 'Inter, system-ui, sans-serif',
59
+ monospace: '"SF Mono", Monaco, "Cascadia Code", monospace'
60
+ },
61
+ hierarchy: {
62
+ h1: { fontSize: '32px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em' },
63
+ h2: { fontSize: '24px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '-0.01em' },
64
+ h3: { fontSize: '20px', 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: '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.01em' }
71
+ },
72
+ scale: {
73
+ base: 14,
74
+ ratio: 1.2,
75
+ sizes: [11, 12, 14, 16, 18, 20, 24, 32, 40]
76
+ },
77
+ guidelines: [
78
+ 'Use system fonts for native app feel',
79
+ 'Smaller base size (14px) for dense interfaces',
80
+ 'Consistent font weights for UI hierarchy',
81
+ 'Monospace for code and data display',
82
+ 'Optimize for readability at small sizes'
83
+ ]
84
+ };
85
+
86
+ // ============================================================================
87
+ // Web-app Layout System
88
+ // ============================================================================
89
+
90
+ const WEBAPP_LAYOUT: LayoutSystem = {
91
+ grid: {
92
+ columns: 12,
93
+ gutter: '16px',
94
+ margin: '16px',
95
+ breakpoints: {
96
+ mobile: '0-639px',
97
+ tablet: '640-1023px',
98
+ desktop: '1024px+'
99
+ }
100
+ },
101
+ spacing: {
102
+ unit: 4,
103
+ scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64],
104
+ guidelines: [
105
+ 'Use 4px base unit for tight spacing',
106
+ 'Compact spacing for dense interfaces',
107
+ 'Consistent padding in panels and cards',
108
+ 'Minimal margins for app-like feel'
109
+ ]
110
+ },
111
+ containerWidths: {
112
+ mobile: '100%',
113
+ tablet: '100%',
114
+ desktop: '100%',
115
+ fullscreen: '100vw'
116
+ },
117
+ guidelines: [
118
+ 'Use app shell pattern (persistent header/sidebar)',
119
+ 'Implement virtual scrolling for large lists',
120
+ 'Use fixed positioning for navigation',
121
+ 'Optimize for single-hand mobile use',
122
+ 'Support offline-first architecture',
123
+ 'Implement skeleton screens for loading states'
124
+ ]
125
+ };
126
+
127
+ // ============================================================================
128
+ // Web-app Domain Export
129
+ // ============================================================================
130
+
131
+ export const WEBAPP_DOMAIN: DomainStyle = {
132
+ domain: 'web-app',
133
+ characteristics: [
134
+ 'Single-page application architecture',
135
+ 'Client-side routing and state management',
136
+ 'Real-time data updates and synchronization',
137
+ 'Offline-first with service workers',
138
+ 'App-like navigation patterns',
139
+ 'Persistent UI shell (header, sidebar)',
140
+ 'Loading states and skeleton screens',
141
+ 'Optimistic UI updates',
142
+ 'Touch-friendly interactions',
143
+ 'Progressive Web App capabilities'
144
+ ],
145
+ colorScheme: WEBAPP_COLORS,
146
+ typography: WEBAPP_TYPOGRAPHY,
147
+ layout: WEBAPP_LAYOUT,
148
+ examples: [
149
+ 'Dashboard with data visualization and charts',
150
+ 'Project management tool with kanban boards',
151
+ 'Email client with inbox and compose views',
152
+ 'Social media feed with infinite scroll',
153
+ 'Collaborative document editor',
154
+ 'Task management app with drag-and-drop'
155
+ ]
156
+ };
157
+