@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.
- package/LICENSE +22 -22
- package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
- package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
- package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
- package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
- package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
- package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
- package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
- package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
- package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
- package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
- package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
- package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
- package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
- package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
- package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
- package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
- package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
- package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
- package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
- package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
- package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
- package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
- package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
- package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
- package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
- package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
- package/augment-extensions/visual-design/CHANGELOG.md +132 -132
- package/augment-extensions/visual-design/README.md +255 -255
- package/augment-extensions/visual-design/__tests__/README.md +119 -119
- package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -172
- package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -214
- package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -157
- package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -156
- package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -156
- package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -157
- package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -156
- package/augment-extensions/visual-design/domains/other/os-application.ts +156 -156
- package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -158
- package/augment-extensions/visual-design/domains/other/web-app.ts +157 -157
- package/augment-extensions/visual-design/domains/other/website.ts +161 -161
- package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -156
- package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -506
- package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -615
- package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -531
- package/augment-extensions/visual-design/examples/README.md +97 -97
- package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -233
- package/augment-extensions/visual-design/examples/basic-usage.md +216 -216
- package/augment-extensions/visual-design/examples/domain-workflows.md +257 -257
- package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -247
- package/augment-extensions/visual-design/module.json +78 -78
- package/augment-extensions/visual-design/style-selector.ts +177 -177
- package/augment-extensions/visual-design/types.ts +302 -302
- package/augment-extensions/visual-design/visual-design-core.ts +469 -469
- package/augment-extensions/workflows/adr-support/README.md +227 -227
- package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -203
- package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -162
- package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -449
- package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -580
- package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -436
- package/augment-extensions/workflows/adr-support/module.json +112 -112
- package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -372
- package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -443
- package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -486
- package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -362
- package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -427
- package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -465
- package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -405
- package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -543
- package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -191
- package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -172
- package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -235
- package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -197
- package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -68
- package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -84
- package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
- package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
- package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
- package/cli/dist/utils/auto-sync.js +19 -19
- package/package.json +5 -3
- package/augment-extensions/workflows/openspec/README.md +0 -96
- package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
- package/augment-extensions/workflows/openspec/module.json +0 -54
- package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
- package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
- package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
- package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts +0 -6
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +0 -1
- package/cli/dist/utils/__tests__/adr-validator.example.js +0 -148
- package/cli/dist/utils/__tests__/adr-validator.example.js.map +0 -1
- package/cli/dist/utils/adr-validator.d.ts +0 -65
- package/cli/dist/utils/adr-validator.d.ts.map +0 -1
- package/cli/dist/utils/adr-validator.js +0 -203
- 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
|
+
|