@momo-kits/native-kits 0.158.1-beta.1-debug → 0.158.1-beta.2-debug

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 (139) hide show
  1. package/compose/build.gradle.kts +1 -1
  2. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +15 -1
  3. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +15 -1
  4. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +1 -0
  5. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +4 -1
  6. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +11 -9
  7. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +56 -1
  8. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +167 -0
  9. package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Example.xcscheme +32 -0
  10. package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  11. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  12. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/WorkspaceSettings.xcsettings +16 -0
  13. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +6 -0
  14. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +5 -0
  15. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +58 -0
  16. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Pods-Example.xcscheme +58 -0
  17. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImage.xcscheme +58 -0
  18. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +58 -0
  19. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SkeletonUI.xcscheme +58 -0
  20. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +58 -0
  21. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios.xcscheme +58 -0
  22. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +60 -0
  23. package/gradle.properties +1 -1
  24. package/local.properties +2 -2
  25. package/package.json +1 -1
  26. package/.claude/settings.local.json +0 -11
  27. package/.claude/skills/design-system/SKILL.md +0 -88
  28. package/.claude/skills/design-system/references/components/avatar.md +0 -134
  29. package/.claude/skills/design-system/references/components/badge.md +0 -127
  30. package/.claude/skills/design-system/references/components/bottom-tab.md +0 -177
  31. package/.claude/skills/design-system/references/components/bottomsheet.md +0 -170
  32. package/.claude/skills/design-system/references/components/button.md +0 -206
  33. package/.claude/skills/design-system/references/components/carousel.md +0 -117
  34. package/.claude/skills/design-system/references/components/checkbox.md +0 -98
  35. package/.claude/skills/design-system/references/components/chip.md +0 -146
  36. package/.claude/skills/design-system/references/components/collapse.md +0 -120
  37. package/.claude/skills/design-system/references/components/date-picker.md +0 -119
  38. package/.claude/skills/design-system/references/components/divider.md +0 -84
  39. package/.claude/skills/design-system/references/components/icon.md +0 -130
  40. package/.claude/skills/design-system/references/components/image.md +0 -81
  41. package/.claude/skills/design-system/references/components/information.md +0 -107
  42. package/.claude/skills/design-system/references/components/input-dropdown.md +0 -138
  43. package/.claude/skills/design-system/references/components/input-money.md +0 -157
  44. package/.claude/skills/design-system/references/components/input-otp.md +0 -132
  45. package/.claude/skills/design-system/references/components/input-phone-number.md +0 -140
  46. package/.claude/skills/design-system/references/components/input-search.md +0 -124
  47. package/.claude/skills/design-system/references/components/input-text-area.md +0 -133
  48. package/.claude/skills/design-system/references/components/input.md +0 -152
  49. package/.claude/skills/design-system/references/components/loader.md +0 -87
  50. package/.claude/skills/design-system/references/components/pagination.md +0 -105
  51. package/.claude/skills/design-system/references/components/popup-notify.md +0 -128
  52. package/.claude/skills/design-system/references/components/progress-info.md +0 -114
  53. package/.claude/skills/design-system/references/components/radio.md +0 -86
  54. package/.claude/skills/design-system/references/components/rating.md +0 -126
  55. package/.claude/skills/design-system/references/components/skeleton.md +0 -120
  56. package/.claude/skills/design-system/references/components/slider.md +0 -141
  57. package/.claude/skills/design-system/references/components/snackbar.md +0 -97
  58. package/.claude/skills/design-system/references/components/stepper.md +0 -100
  59. package/.claude/skills/design-system/references/components/steps.md +0 -91
  60. package/.claude/skills/design-system/references/components/suggest-action.md +0 -95
  61. package/.claude/skills/design-system/references/components/swipe.md +0 -121
  62. package/.claude/skills/design-system/references/components/switch.md +0 -98
  63. package/.claude/skills/design-system/references/components/tab-view.md +0 -120
  64. package/.claude/skills/design-system/references/components/tag.md +0 -118
  65. package/.claude/skills/design-system/references/components/text.md +0 -151
  66. package/.claude/skills/design-system/references/components/toast.md +0 -99
  67. package/.claude/skills/design-system/references/components/tooltip.md +0 -138
  68. package/.claude/skills/design-system/references/components/top-nav-miniapp.md +0 -94
  69. package/.claude/skills/design-system/references/components/top-nav.md +0 -226
  70. package/.claude/skills/design-system/references/components/uploader.md +0 -115
  71. package/.claude/skills/design-system/references/navigation/bottom-tab.md +0 -131
  72. package/.claude/skills/design-system/references/navigation/bottomsheet.md +0 -161
  73. package/.claude/skills/design-system/references/navigation/modal.md +0 -133
  74. package/.claude/skills/design-system/references/navigation/navigation-options.md +0 -225
  75. package/.claude/skills/design-system/references/navigation/navigator.md +0 -111
  76. package/.claude/skills/design-system/references/navigation/setup.md +0 -134
  77. package/.claude/skills/design-system/references/navigation/stack.md +0 -128
  78. package/.claude/skills/design-system/references/spec-convention.md +0 -80
  79. package/.claude/skills/design-system/references/tokens/colors.md +0 -131
  80. package/.claude/skills/design-system/references/tokens/spacing-radius.md +0 -144
  81. package/.claude/skills/design-system/references/tokens/theme.md +0 -125
  82. package/.claude/skills/design-system/references/tokens/typography.md +0 -135
  83. package/.claude/skills/design-system-kits/SKILL.md +0 -102
  84. package/.claude/skills/design-system-kits/references/code-convention.md +0 -118
  85. package/.claude/skills/design-system-kits/references/components/avatar.md +0 -45
  86. package/.claude/skills/design-system-kits/references/components/badge.md +0 -27
  87. package/.claude/skills/design-system-kits/references/components/button.md +0 -65
  88. package/.claude/skills/design-system-kits/references/components/carousel.md +0 -51
  89. package/.claude/skills/design-system-kits/references/components/checkbox.md +0 -39
  90. package/.claude/skills/design-system-kits/references/components/chip.md +0 -54
  91. package/.claude/skills/design-system-kits/references/components/collapse.md +0 -63
  92. package/.claude/skills/design-system-kits/references/components/date-picker.md +0 -36
  93. package/.claude/skills/design-system-kits/references/components/divider.md +0 -21
  94. package/.claude/skills/design-system-kits/references/components/icon.md +0 -382
  95. package/.claude/skills/design-system-kits/references/components/image.md +0 -62
  96. package/.claude/skills/design-system-kits/references/components/information.md +0 -61
  97. package/.claude/skills/design-system-kits/references/components/input-dropdown.md +0 -92
  98. package/.claude/skills/design-system-kits/references/components/input-money.md +0 -128
  99. package/.claude/skills/design-system-kits/references/components/input-otp.md +0 -85
  100. package/.claude/skills/design-system-kits/references/components/input-phone-number.md +0 -96
  101. package/.claude/skills/design-system-kits/references/components/input-search.md +0 -127
  102. package/.claude/skills/design-system-kits/references/components/input-text-area.md +0 -100
  103. package/.claude/skills/design-system-kits/references/components/input.md +0 -126
  104. package/.claude/skills/design-system-kits/references/components/loader.md +0 -41
  105. package/.claude/skills/design-system-kits/references/components/pagination.md +0 -47
  106. package/.claude/skills/design-system-kits/references/components/popup-notify.md +0 -69
  107. package/.claude/skills/design-system-kits/references/components/popup-promotion.md +0 -35
  108. package/.claude/skills/design-system-kits/references/components/progress-info.md +0 -55
  109. package/.claude/skills/design-system-kits/references/components/radio.md +0 -42
  110. package/.claude/skills/design-system-kits/references/components/rating.md +0 -36
  111. package/.claude/skills/design-system-kits/references/components/skeleton.md +0 -25
  112. package/.claude/skills/design-system-kits/references/components/slider.md +0 -53
  113. package/.claude/skills/design-system-kits/references/components/snackbar.md +0 -52
  114. package/.claude/skills/design-system-kits/references/components/stepper.md +0 -46
  115. package/.claude/skills/design-system-kits/references/components/steps.md +0 -57
  116. package/.claude/skills/design-system-kits/references/components/suggest-action.md +0 -44
  117. package/.claude/skills/design-system-kits/references/components/swipe.md +0 -44
  118. package/.claude/skills/design-system-kits/references/components/switch.md +0 -43
  119. package/.claude/skills/design-system-kits/references/components/tab-view.md +0 -56
  120. package/.claude/skills/design-system-kits/references/components/tag.md +0 -50
  121. package/.claude/skills/design-system-kits/references/components/text.md +0 -56
  122. package/.claude/skills/design-system-kits/references/components/toast.md +0 -51
  123. package/.claude/skills/design-system-kits/references/components/tooltip.md +0 -95
  124. package/.claude/skills/design-system-kits/references/components/uploader.md +0 -48
  125. package/.claude/skills/design-system-kits/references/design-spec-structure.md +0 -356
  126. package/.claude/skills/design-system-kits/references/design-spec-to-code.md +0 -596
  127. package/.claude/skills/design-system-kits/references/navigation/bottom-tab.md +0 -155
  128. package/.claude/skills/design-system-kits/references/navigation/bottomsheet.md +0 -94
  129. package/.claude/skills/design-system-kits/references/navigation/modal.md +0 -125
  130. package/.claude/skills/design-system-kits/references/navigation/navigation-options.md +0 -430
  131. package/.claude/skills/design-system-kits/references/navigation/navigator.md +0 -177
  132. package/.claude/skills/design-system-kits/references/navigation/setup.md +0 -94
  133. package/.claude/skills/design-system-kits/references/navigation/stack.md +0 -152
  134. package/.claude/skills/design-system-kits/references/screen-layout-rule.md +0 -125
  135. package/.claude/skills/design-system-kits/references/tokens/colors.md +0 -183
  136. package/.claude/skills/design-system-kits/references/tokens/spacing-radius.md +0 -45
  137. package/.claude/skills/design-system-kits/references/tokens/theme.md +0 -97
  138. package/.claude/skills/design-system-kits/references/tokens/typography.md +0 -105
  139. package/.claude/skills/vibe-design/SKILL.md +0 -306
@@ -1,105 +0,0 @@
1
- # Typography Reference
2
-
3
- ## React Native
4
-
5
- ```tsx
6
- import { Text } from '@momo-kits/foundation';
7
-
8
- <Text typography="body_default_regular">Hello</Text>
9
- ```
10
-
11
- Pattern: `{category}_{size}_{weight}`
12
-
13
- ### Full Scale (verified against source)
14
-
15
- | Style | Size | Weight |
16
- |-------|------|--------|
17
- | `headline_l_bold` | 28px / 40px | 700 |
18
- | `headline_default_bold` | 24px / 34px | 700 |
19
- | `header_m_bold` | 18px / 26px | 700 |
20
- | `header_default_bold` | 16px / 22px | 700 |
21
- | `header_s_semibold` | 14px / 20px | 600 |
22
- | `header_xs_semibold` | 12px / 18px | 600 |
23
- | `body_default_regular` | 14px / 20px | 400 |
24
- | `body_default_regularstrikethrought` | 14px / 20px | 400 + line-through |
25
- | `description_default_regular` | 12px / 18px | 400 |
26
- | `description_default_regularstrikethrought` | 12px / 18px | 400 + line-through |
27
- | `description_xs_regular` | 10px / 14px | 400 |
28
- | `description_xs_regularstrikethrought` | 10px / 14px | 400 + line-through |
29
- | `label_default_medium` | 14px / 20px | 500 |
30
- | `label_s_medium` | 12px / 18px | 500 |
31
- | `label_xs_medium` | 10px / 14px | 500 |
32
- | `action_default_bold` | 16px / 22px | 700 |
33
- | `action_s_bold` | 14px / 20px | 700 |
34
- | `action_xs_bold` | 12px / 18px | 700 |
35
- | `action_xxs_bold` | 10px / 14px | 700 |
36
-
37
- > **Note:** Do NOT use non-existent styles like `headline_l_semibold`, `body_l_regular`, `caption_*`, `label_l_*`, `body_default_regularStrikethrough` (wrong casing) — they are not defined.
38
-
39
- ### Text Props
40
-
41
- ```tsx
42
- <Text
43
- typography="body_default_regular" // REQUIRED
44
- color={Colors.black_17} // text color
45
- fontFamily="SFProText" // 'SFProText' | 'AlegreyaSans' | 'BarlowCondensed' | 'MoMoSignature' | 'MoMoTrustDisplay'
46
- numberOfLines={2} // line clamp
47
- style={textStyle} // standard RN text style
48
- />
49
- ```
50
-
51
- ---
52
-
53
- ## Compose
54
-
55
- ```kotlin
56
- import vn.momo.kits.components.Text
57
- import vn.momo.kits.const.Typography
58
-
59
- Text(text = "Hello", style = Typography.bodyDefaultRegular)
60
- ```
61
-
62
- ### Full Scale
63
-
64
- | Style | Size | Weight |
65
- |-------|------|--------|
66
- | `headlineDefaultBold` | 24sp | Bold |
67
- | `headerMBold` | 18sp | Bold |
68
- | `headerDefaultBold` | 16sp | Bold |
69
- | `headerSSemibold` | 14sp | SemiBold |
70
- | `headerXsSemibold` | 12sp | SemiBold |
71
- | `bodyDefaultRegular` | 14sp | Normal |
72
- | `bodyDefaultRegularStrikethrough` | 14sp | Normal + line-through |
73
- | `descriptionDefaultRegular` | 12sp | Normal |
74
- | `descriptionDefaultRegularStrikethrough` | 12sp | Normal + line-through |
75
- | `descriptionXsRegular` | 10sp | Normal |
76
- | `descriptionXsRegularStrikethrough` | 10sp | Normal + line-through |
77
- | `labelDefaultMedium` | 14sp | Medium |
78
- | `labelSMedium` | 12sp | Medium |
79
- | `labelXsMedium` | 10sp | Medium |
80
- | `actionDefaultBold` | 16sp | Bold |
81
- | `actionSBold` | 14sp | Bold |
82
- | `actionXsBold` | 12sp | Bold |
83
- | `actionXxsBold` | 10sp | Bold |
84
-
85
- ### Text Props
86
-
87
- ```kotlin
88
- Text(
89
- text = "Hello", // String or AnnotatedString
90
- style = Typography.bodyDefaultRegular, // TextStyle (default)
91
- color = theme.colors.text.default, // Color? (null = theme default)
92
- textAlign = TextAlign.Start,
93
- maxLines = Int.MAX_VALUE,
94
- overflow = TextOverflow.Clip,
95
- textDecoration = null, // TextDecoration?
96
- fontFamily = null, // "SFProText" | "MoMoSignature" | "MoMoTrustDisplay"
97
- modifier = Modifier,
98
- minLines = 1,
99
- letterSpacing = TextUnit.Unspecified,
100
- softWrap = true,
101
- accessibilityId = null, // String? for automation
102
- )
103
- ```
104
-
105
- Font scaling is automatic via `scaleSize()`.
@@ -1,306 +0,0 @@
1
- ---
2
- name: vibe-design
3
- description: >
4
- Product workflow orchestrator that manages the full development pipeline from idea to delivery.
5
- Takes a Product Owner's prompt and runs it through 4 sequential phases — PO (product brief),
6
- Design (design specs via design-system skill), Development (code via design-system-kits skill),
7
- and QC (quality assurance) — with mandatory quality gates between each phase.
8
- ALWAYS use this skill when: the user wants to build a new feature end-to-end, describes a product
9
- idea or user story, asks to "design and build" something, wants to go from concept to code,
10
- mentions workflow or pipeline for product development, or asks to create a feature with
11
- design-to-code handoff. This is the starting point for any product work — it coordinates
12
- the design-system and design-system-kits skills automatically so the user doesn't have to
13
- invoke them manually.
14
- ---
15
-
16
- # Vibe Design — Product Workflow Orchestrator
17
-
18
- You are orchestrating a product development pipeline. Your job is to guide work through 4 phases, each with a quality gate that requires user approval before moving forward. This ensures nothing slips through handoffs — catching issues early when they're cheap to fix.
19
-
20
- ## The Pipeline
21
-
22
- ```
23
- [Phase 1: PO] --> Gate 1 --> [Phase 2: Design] --> Gate 2 --> [Phase 3: Dev] --> Gate 3 --> [Phase 4: QC]
24
- Product Brief Confirm Design Specs Confirm Implementation Confirm Test & Verify
25
- ```
26
-
27
- ## Sub-Skill Integration
28
-
29
- This orchestrator delegates to two sub-skills at the right moment. Do NOT load them upfront — load on demand when entering the relevant phase:
30
-
31
- | Phase | Sub-Skill | Path | When to load |
32
- |-------|-----------|------|-------------|
33
- | Phase 2: Design | **design-system** | `.claude/skills/design-system/SKILL.md` | After Gate 1 is approved |
34
- | Phase 3: Dev | **design-system-kits** | `.claude/skills/design-system-kits/SKILL.md` | After Gate 2 is approved |
35
-
36
- **How to load a sub-skill:** Read the sub-skill's `SKILL.md` file, then follow its instructions (including reading its prereqs and reference files as needed). The sub-skill tells you which reference files to load for tokens, components, and navigation — follow its on-demand loading tables.
37
-
38
- ---
39
-
40
- ## How to Start
41
-
42
- When the user gives you a product idea, feature request, or prompt:
43
-
44
- 1. Announce that you're starting the **vibe-design** workflow
45
- 2. Create a workflow tracker at `vibe-design-workflow.md` in the working directory
46
- 3. Begin Phase 1 (PO)
47
-
48
- ---
49
-
50
- ## Phase 1: Product Owner — Product Brief
51
-
52
- Take the user's idea and structure it into a clear product brief.
53
-
54
- ### Output: `docs/product-brief.md`
55
-
56
- ```markdown
57
- # Product Brief: [Feature Name]
58
-
59
- ## Overview
60
- What is this feature and why does it matter?
61
-
62
- ## Problem Statement
63
- What user pain point or business need does this solve?
64
-
65
- ## Target Users
66
- Who will use this? Be specific about user segments.
67
-
68
- ## User Stories
69
- - As a [user type], I want to [action] so that [benefit]
70
- - (3-5 stories covering core scenarios)
71
-
72
- ## Acceptance Criteria
73
- Measurable, testable conditions that define "done":
74
- - [ ] Criterion 1 (specific & measurable — not "loads fast" but "loads within 2s")
75
- - [ ] Criterion 2
76
-
77
- ## Scope
78
- ### In Scope
79
- - Feature A
80
- - Feature B
81
-
82
- ### Out of Scope
83
- - Things explicitly NOT included
84
-
85
- ## Platform
86
- - [ ] React Native
87
- - [ ] Compose Multiplatform
88
- - [ ] Both
89
-
90
- ## Priority
91
- Must-have / Should-have / Nice-to-have for each feature
92
- ```
93
-
94
- ### Quality Gate 1: Brief Review
95
-
96
- Present the brief and ask the user to review:
97
-
98
- ```
99
- == QUALITY GATE 1: Product Brief Review ==
100
-
101
- Please review the product brief above:
102
- 1. Is the problem statement clear?
103
- 2. Do user stories cover the key scenarios?
104
- 3. Are acceptance criteria specific and measurable?
105
- 4. Is the scope well-defined?
106
- 5. Is the platform choice correct?
107
-
108
- Reply "approved" to move to Design phase, or give feedback to revise.
109
- ```
110
-
111
- **Do NOT proceed until the user explicitly says "approved" (or equivalent).** If they give feedback, revise and present the gate again.
112
-
113
- ---
114
-
115
- ## Phase 2: Design — Design Specifications
116
-
117
- **On entering this phase:** Read `.claude/skills/design-system/SKILL.md` and follow its instructions. This sub-skill tells you how to:
118
- - Load the spec convention (`references/spec-convention.md`)
119
- - Look up KitX components from its reference tables
120
- - Load the right token files (colors, typography, spacing, theme)
121
- - Generate proper design specs
122
-
123
- ### Process
124
-
125
- 1. Read the approved product brief
126
- 2. Read and follow the **design-system** skill
127
- 3. For each screen/component from the user stories:
128
- - Select KitX components (use the design-system component reference table)
129
- - Load the relevant component reference files for visual specs
130
- - Load token files as needed for colors, typography, spacing
131
- - Document all states (default, pressed, disabled, error, loading, focus)
132
- - Include accessibility specs (WCAG AA contrast, 44pt touch targets, screen reader)
133
- - Note platform differences if targeting both RN and Compose
134
-
135
- ### Output: `docs/design-specs/[screen-name].md`
136
-
137
- For each screen or component, create a spec file following the design-system skill's conventions.
138
-
139
- ### Quality Gate 2: Design Review
140
-
141
- ```
142
- == QUALITY GATE 2: Design Spec Review ==
143
-
144
- Please review the design specifications:
145
- 1. Do designs address all user stories from the brief?
146
- 2. Are the right KitX components selected?
147
- 3. Are all interaction states documented?
148
- 4. Are accessibility specs included?
149
- 5. Are design tokens used correctly (no hardcoded values)?
150
- 6. Are platform differences noted (if multi-platform)?
151
-
152
- Reply "approved" to move to Development phase, or give feedback to revise.
153
- ```
154
-
155
- **Do NOT proceed until the user explicitly approves.**
156
-
157
- ---
158
-
159
- ## Phase 3: Development — Code Implementation
160
-
161
- **On entering this phase:** Read `.claude/skills/design-system-kits/SKILL.md` and follow its instructions. This sub-skill tells you how to:
162
- - Load the code convention (`references/code-convention.md`)
163
- - Look up KitX component APIs from its reference tables
164
- - Load token files for correct imports
165
- - Generate code with proper structure (Screen > Section > Card > Item for RN, NavigationContainer for Compose)
166
-
167
- ### Process
168
-
169
- 1. Read the approved design specs
170
- 2. Read the product brief for acceptance criteria
171
- 3. Read and follow the **design-system-kits** skill
172
- 4. For each screen/component:
173
- - Load the relevant component reference files for exact API and imports
174
- - Match the design spec exactly — same components, same tokens, same states
175
- - Follow code conventions (file header, AI-GENERATED markers, max 500 lines)
176
- - Use theme access via `ApplicationContext` (RN) or `AppTheme.current` (Compose)
177
-
178
- ### Output
179
-
180
- Generate code files (`.tsx`/`.ts` for React Native, `.kt` for Compose) in the project structure.
181
-
182
- ### Quality Gate 3: Code Review
183
-
184
- ```
185
- == QUALITY GATE 3: Code Review ==
186
-
187
- Please review the implementation:
188
- 1. Does the code match the approved design specs?
189
- 2. Are all KitX components used correctly?
190
- 3. Are design tokens applied (no hardcoded colors/spacing/fonts)?
191
- 4. Are all interaction states handled?
192
- 5. Does the code follow conventions?
193
- 6. Are accessibility attributes included?
194
-
195
- Reply "approved" to move to QC phase, or give feedback to revise.
196
- ```
197
-
198
- **Do NOT proceed until the user explicitly approves.**
199
-
200
- ---
201
-
202
- ## Phase 4: QC — Quality Assurance
203
-
204
- Cross-reference the brief, design specs, and code to produce a verification report.
205
-
206
- ### Output: `docs/qc-report.md`
207
-
208
- ```markdown
209
- # QC Report: [Feature Name]
210
-
211
- ## Acceptance Criteria Verification
212
- | # | Criterion | Status | Evidence |
213
- |---|----------|--------|----------|
214
- | 1 | [from brief] | Pass/Fail | How it's met in code |
215
-
216
- ## Design Compliance
217
- | Screen/Component | Matches Design? | Issues |
218
- |-----------------|----------------|--------|
219
- | [name] | Yes/No | [details] |
220
-
221
- ## Test Cases
222
- ### Functional Tests
223
- - [ ] Test case 1: description — Steps / Expected result
224
- - [ ] Test case 2: ...
225
-
226
- ### State Tests
227
- - [ ] Default state renders correctly
228
- - [ ] Pressed state shows feedback
229
- - [ ] Disabled state prevents interaction
230
- - [ ] Error state displays message
231
- - [ ] Loading state shows indicator
232
-
233
- ### Accessibility Tests
234
- - [ ] Contrast ratios meet WCAG AA (4.5:1)
235
- - [ ] Touch targets minimum 44x44pt
236
- - [ ] Screen reader labels are meaningful
237
-
238
- ### Platform Tests (if multi-platform)
239
- - [ ] React Native renders correctly
240
- - [ ] Compose renders correctly
241
- - [ ] Visual parity between platforms
242
-
243
- ## Summary
244
- Overall assessment and any blockers.
245
- ```
246
-
247
- ### Final Gate: QC Sign-off
248
-
249
- ```
250
- == QUALITY GATE 4: QC Sign-off ==
251
-
252
- Please review the QC report:
253
- 1. Are all acceptance criteria verified?
254
- 2. Does implementation match the design?
255
- 3. Are test cases comprehensive?
256
- 4. Any blockers?
257
-
258
- Reply "approved" to complete the workflow, or specify what needs fixing.
259
- ```
260
-
261
- If the user finds issues, determine which phase needs rework and loop back to that phase — going through its gate again.
262
-
263
- ---
264
-
265
- ## Workflow Tracker
266
-
267
- Maintain `vibe-design-workflow.md` throughout the process:
268
-
269
- ```markdown
270
- # Vibe Design Workflow: [Feature Name]
271
- ## Current Status: [Phase 1 / Gate 1 / Phase 2 / Gate 2 / Phase 3 / Gate 3 / Phase 4 / Complete]
272
-
273
- | Phase | Status | Approved |
274
- |-------|--------|----------|
275
- | 1. PO Brief | -- | -- |
276
- | 2. Design | -- | -- |
277
- | 3. Development | -- | -- |
278
- | 4. QC | -- | -- |
279
-
280
- ## Artifacts
281
- - Product Brief: `docs/product-brief.md`
282
- - Design Specs: `docs/design-specs/`
283
- - Code: [file paths]
284
- - QC Report: `docs/qc-report.md`
285
- ```
286
-
287
- Update this file as each phase completes and each gate is passed.
288
-
289
- ---
290
-
291
- ## Handling Rework
292
-
293
- When the user rejects at a quality gate or QC finds issues:
294
-
295
- 1. Identify which phase needs the fix (a code issue might trace back to a design gap)
296
- 2. Update the workflow tracker
297
- 3. Make the fix in the appropriate phase
298
- 4. Re-run the quality gate for that phase
299
- 5. Continue forward — never skip gates even on rework
300
-
301
- ## Tips
302
-
303
- - **Be the glue between phases.** When moving from design to dev, explicitly map how each design decision becomes code.
304
- - **Catch contradictions early.** If the brief says "simple one-tap action" but design has a 5-step flow, flag it at the design gate.
305
- - **Keep scope tight.** If the user adds features mid-flow, note what's in scope vs. what should be a separate workflow.
306
- - **Show progress.** After each gate approval, recap what's done and what's next.