@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,156 +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
-
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
+
@@ -1,157 +1,157 @@
1
- /**
2
- * Mobile Application Domain Module
3
- *
4
- * Mobile-specific design patterns for iOS and Android applications
5
- * following Human Interface Guidelines and Material Design for mobile.
6
- */
7
-
8
- import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
-
10
- // ============================================================================
11
- // Mobile Application Color Palette
12
- // ============================================================================
13
-
14
- const MOBILE_COLORS: ColorPalette = {
15
- primary: {
16
- name: 'App Primary',
17
- hex: '#007AFF',
18
- rgb: { r: 0, g: 122, b: 255 },
19
- hsl: { h: 211, s: 100, l: 50 },
20
- variants: [
21
- { name: 'Primary Light', hex: '#5AC8FA', usage: 'Highlights' },
22
- { name: 'Primary Dark', hex: '#0051D5', usage: 'Pressed 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 1', hex: '#F2F2F7', rgb: { r: 242, g: 242, b: 247 }, hsl: { h: 240, s: 25, l: 96 } },
28
- { name: 'Gray 2', hex: '#E5E5EA', rgb: { r: 229, g: 229, b: 234 }, hsl: { h: 240, s: 11, l: 91 } },
29
- { name: 'Gray 5', hex: '#636366', rgb: { r: 99, g: 99, b: 102 }, hsl: { h: 240, s: 1, l: 39 } },
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: '#34C759', usage: 'Success states' },
34
- warning: { hex: '#FF9500', usage: 'Warnings' },
35
- error: { hex: '#FF3B30', usage: 'Errors, destructive' },
36
- info: { hex: '#007AFF', usage: 'Information' }
37
- },
38
- accessibility: {
39
- minimumContrast: 4.5,
40
- targetContrast: 7,
41
- colorBlindSafe: true,
42
- guidelines: [
43
- 'Support iOS Dynamic Type',
44
- 'Support Android Material You theming',
45
- 'Ensure 44x44pt touch targets (iOS)',
46
- 'Ensure 48x48dp touch targets (Android)',
47
- 'Test with accessibility scanners'
48
- ]
49
- }
50
- };
51
-
52
- // ============================================================================
53
- // Mobile Application Typography
54
- // ============================================================================
55
-
56
- const MOBILE_TYPOGRAPHY: TypographyRules = {
57
- fontFamilies: {
58
- primary: '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", sans-serif',
59
- secondary: 'system-ui, sans-serif',
60
- monospace: '"SF Mono", "Roboto Mono", monospace'
61
- },
62
- hierarchy: {
63
- h1: { fontSize: '34px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '0' },
64
- h2: { fontSize: '28px', fontWeight: 700, lineHeight: 1.3, letterSpacing: '0' },
65
- h3: { fontSize: '22px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
66
- h4: { fontSize: '20px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
67
- h5: { fontSize: '17px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
68
- h6: { fontSize: '15px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
69
- body: { fontSize: '17px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
70
- small: { fontSize: '15px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
71
- caption: { fontSize: '13px', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
72
- },
73
- scale: {
74
- base: 17,
75
- ratio: 1.15,
76
- sizes: [11, 13, 15, 17, 20, 22, 28, 34]
77
- },
78
- guidelines: [
79
- 'Use San Francisco for iOS',
80
- 'Use Roboto for Android',
81
- 'Support Dynamic Type (iOS)',
82
- 'Support scalable text (Android)',
83
- 'Larger base size for mobile readability'
84
- ]
85
- };
86
-
87
- // ============================================================================
88
- // Mobile Application Layout System
89
- // ============================================================================
90
-
91
- const MOBILE_LAYOUT: LayoutSystem = {
92
- grid: {
93
- columns: 4,
94
- gutter: '16px',
95
- margin: '16px',
96
- breakpoints: {
97
- phone: '0-599px',
98
- tablet: '600-839px',
99
- large: '840px+'
100
- }
101
- },
102
- spacing: {
103
- unit: 8,
104
- scale: [0, 8, 16, 24, 32, 40, 48, 64],
105
- guidelines: [
106
- 'Use 8px base unit for spacing',
107
- 'Maintain 44x44pt touch targets (iOS)',
108
- 'Maintain 48x48dp touch targets (Android)',
109
- 'Use safe area insets for notched devices'
110
- ]
111
- },
112
- containerWidths: {
113
- phone: '100%',
114
- tablet: '100%',
115
- large: '100%'
116
- },
117
- guidelines: [
118
- 'Use native navigation patterns (tab bar, navigation bar)',
119
- 'Implement swipe gestures for navigation',
120
- 'Support portrait and landscape orientations',
121
- 'Use bottom navigation for primary actions',
122
- 'Implement pull-to-refresh for lists',
123
- 'Use modal sheets for secondary actions'
124
- ]
125
- };
126
-
127
- // ============================================================================
128
- // Mobile Application Domain Export
129
- // ============================================================================
130
-
131
- export const MOBILE_APPLICATION_DOMAIN: DomainStyle = {
132
- domain: 'mobile-application',
133
- characteristics: [
134
- 'Touch-first interaction design',
135
- 'Native navigation patterns (iOS/Android)',
136
- 'Gesture-based interactions',
137
- 'Bottom navigation and tab bars',
138
- 'Pull-to-refresh and infinite scroll',
139
- 'Modal sheets and action sheets',
140
- 'Safe area inset handling',
141
- 'Haptic feedback integration',
142
- 'Offline-first architecture',
143
- 'Push notification support'
144
- ],
145
- colorScheme: MOBILE_COLORS,
146
- typography: MOBILE_TYPOGRAPHY,
147
- layout: MOBILE_LAYOUT,
148
- examples: [
149
- 'Social media feed with infinite scroll',
150
- 'E-commerce app with product catalog',
151
- 'Messaging app with chat interface',
152
- 'Banking app with dashboard',
153
- 'Fitness tracker with charts',
154
- 'News reader with article cards'
155
- ]
156
- };
157
-
1
+ /**
2
+ * Mobile Application Domain Module
3
+ *
4
+ * Mobile-specific design patterns for iOS and Android applications
5
+ * following Human Interface Guidelines and Material Design for mobile.
6
+ */
7
+
8
+ import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
9
+
10
+ // ============================================================================
11
+ // Mobile Application Color Palette
12
+ // ============================================================================
13
+
14
+ const MOBILE_COLORS: ColorPalette = {
15
+ primary: {
16
+ name: 'App Primary',
17
+ hex: '#007AFF',
18
+ rgb: { r: 0, g: 122, b: 255 },
19
+ hsl: { h: 211, s: 100, l: 50 },
20
+ variants: [
21
+ { name: 'Primary Light', hex: '#5AC8FA', usage: 'Highlights' },
22
+ { name: 'Primary Dark', hex: '#0051D5', usage: 'Pressed 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 1', hex: '#F2F2F7', rgb: { r: 242, g: 242, b: 247 }, hsl: { h: 240, s: 25, l: 96 } },
28
+ { name: 'Gray 2', hex: '#E5E5EA', rgb: { r: 229, g: 229, b: 234 }, hsl: { h: 240, s: 11, l: 91 } },
29
+ { name: 'Gray 5', hex: '#636366', rgb: { r: 99, g: 99, b: 102 }, hsl: { h: 240, s: 1, l: 39 } },
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: '#34C759', usage: 'Success states' },
34
+ warning: { hex: '#FF9500', usage: 'Warnings' },
35
+ error: { hex: '#FF3B30', usage: 'Errors, destructive' },
36
+ info: { hex: '#007AFF', usage: 'Information' }
37
+ },
38
+ accessibility: {
39
+ minimumContrast: 4.5,
40
+ targetContrast: 7,
41
+ colorBlindSafe: true,
42
+ guidelines: [
43
+ 'Support iOS Dynamic Type',
44
+ 'Support Android Material You theming',
45
+ 'Ensure 44x44pt touch targets (iOS)',
46
+ 'Ensure 48x48dp touch targets (Android)',
47
+ 'Test with accessibility scanners'
48
+ ]
49
+ }
50
+ };
51
+
52
+ // ============================================================================
53
+ // Mobile Application Typography
54
+ // ============================================================================
55
+
56
+ const MOBILE_TYPOGRAPHY: TypographyRules = {
57
+ fontFamilies: {
58
+ primary: '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", sans-serif',
59
+ secondary: 'system-ui, sans-serif',
60
+ monospace: '"SF Mono", "Roboto Mono", monospace'
61
+ },
62
+ hierarchy: {
63
+ h1: { fontSize: '34px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '0' },
64
+ h2: { fontSize: '28px', fontWeight: 700, lineHeight: 1.3, letterSpacing: '0' },
65
+ h3: { fontSize: '22px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
66
+ h4: { fontSize: '20px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
67
+ h5: { fontSize: '17px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
68
+ h6: { fontSize: '15px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
69
+ body: { fontSize: '17px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
70
+ small: { fontSize: '15px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
71
+ caption: { fontSize: '13px', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
72
+ },
73
+ scale: {
74
+ base: 17,
75
+ ratio: 1.15,
76
+ sizes: [11, 13, 15, 17, 20, 22, 28, 34]
77
+ },
78
+ guidelines: [
79
+ 'Use San Francisco for iOS',
80
+ 'Use Roboto for Android',
81
+ 'Support Dynamic Type (iOS)',
82
+ 'Support scalable text (Android)',
83
+ 'Larger base size for mobile readability'
84
+ ]
85
+ };
86
+
87
+ // ============================================================================
88
+ // Mobile Application Layout System
89
+ // ============================================================================
90
+
91
+ const MOBILE_LAYOUT: LayoutSystem = {
92
+ grid: {
93
+ columns: 4,
94
+ gutter: '16px',
95
+ margin: '16px',
96
+ breakpoints: {
97
+ phone: '0-599px',
98
+ tablet: '600-839px',
99
+ large: '840px+'
100
+ }
101
+ },
102
+ spacing: {
103
+ unit: 8,
104
+ scale: [0, 8, 16, 24, 32, 40, 48, 64],
105
+ guidelines: [
106
+ 'Use 8px base unit for spacing',
107
+ 'Maintain 44x44pt touch targets (iOS)',
108
+ 'Maintain 48x48dp touch targets (Android)',
109
+ 'Use safe area insets for notched devices'
110
+ ]
111
+ },
112
+ containerWidths: {
113
+ phone: '100%',
114
+ tablet: '100%',
115
+ large: '100%'
116
+ },
117
+ guidelines: [
118
+ 'Use native navigation patterns (tab bar, navigation bar)',
119
+ 'Implement swipe gestures for navigation',
120
+ 'Support portrait and landscape orientations',
121
+ 'Use bottom navigation for primary actions',
122
+ 'Implement pull-to-refresh for lists',
123
+ 'Use modal sheets for secondary actions'
124
+ ]
125
+ };
126
+
127
+ // ============================================================================
128
+ // Mobile Application Domain Export
129
+ // ============================================================================
130
+
131
+ export const MOBILE_APPLICATION_DOMAIN: DomainStyle = {
132
+ domain: 'mobile-application',
133
+ characteristics: [
134
+ 'Touch-first interaction design',
135
+ 'Native navigation patterns (iOS/Android)',
136
+ 'Gesture-based interactions',
137
+ 'Bottom navigation and tab bars',
138
+ 'Pull-to-refresh and infinite scroll',
139
+ 'Modal sheets and action sheets',
140
+ 'Safe area inset handling',
141
+ 'Haptic feedback integration',
142
+ 'Offline-first architecture',
143
+ 'Push notification support'
144
+ ],
145
+ colorScheme: MOBILE_COLORS,
146
+ typography: MOBILE_TYPOGRAPHY,
147
+ layout: MOBILE_LAYOUT,
148
+ examples: [
149
+ 'Social media feed with infinite scroll',
150
+ 'E-commerce app with product catalog',
151
+ 'Messaging app with chat interface',
152
+ 'Banking app with dashboard',
153
+ 'Fitness tracker with charts',
154
+ 'News reader with article cards'
155
+ ]
156
+ };
157
+