@leejungkiin/awkit 1.7.1 → 1.7.4

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 (245) hide show
  1. package/bin/awk.js +576 -84
  2. package/core/CLAUDE.md +1 -1
  3. package/core/GEMINI.md +148 -167
  4. package/core/GEMINI.md.bak +149 -116
  5. package/core/skill-runtime-manifest.json +3 -0
  6. package/docs/Claude Fable 5.md +3826 -0
  7. package/docs/android_kotlin_system_instruction.md +210 -0
  8. package/docs/brainstorm_ponytail_integration.md +146 -0
  9. package/docs/brainstorm_smart_setup.md +113 -0
  10. package/docs/deep-research-report (1).md +293 -0
  11. package/docs/history/GEMINI.v1.md +135 -0
  12. package/docs/history/brainstorm_antigravity_unified_architecture.v1.md +105 -0
  13. package/docs/history/implementation_plan.v1.md +58 -0
  14. package/package.json +4 -1
  15. package/scripts/artifact-storage.js +130 -0
  16. package/scripts/automation-gate.js +35 -2
  17. package/scripts/claude-plan.js +76 -0
  18. package/scripts/dependency-manager.js +210 -0
  19. package/scripts/exec-rtk.js +11 -5
  20. package/scripts/i18n-helper.js +381 -0
  21. package/scripts/multi-model-pipeline.js +144 -0
  22. package/skill-packs/mobile-ios/pack.json +4 -2
  23. package/skill-packs/reverse-engineering/pack.json +1 -0
  24. package/skills/CATALOG.md +20 -0
  25. package/skills/GEMINI.md +9 -1
  26. package/skills/TRIGGER_INDEX.md +10 -0
  27. package/skills/ai-music/SKILL.md +275 -0
  28. package/skills/android-re-analyzer/SKILL.md +238 -0
  29. package/skills/android-re-analyzer/references/api-extraction-patterns.md +119 -0
  30. package/skills/android-re-analyzer/references/call-flow-analysis.md +176 -0
  31. package/skills/android-re-analyzer/references/fernflower-usage.md +115 -0
  32. package/skills/android-re-analyzer/references/jadx-usage.md +116 -0
  33. package/skills/android-re-analyzer/references/setup-guide.md +221 -0
  34. package/skills/android-re-analyzer/scripts/check-deps.sh +129 -0
  35. package/skills/android-re-analyzer/scripts/decompile.sh +375 -0
  36. package/skills/android-re-analyzer/scripts/find-api-calls.sh +118 -0
  37. package/skills/android-re-analyzer/scripts/install-dep.sh +448 -0
  38. package/skills/animal-island-ui-style/SKILL.md +1450 -0
  39. package/skills/app-store-review-agent/SKILL.md +164 -0
  40. package/skills/app-store-review-agent/references/guidelines/README.md +154 -0
  41. package/skills/app-store-review-agent/references/guidelines/by-app-type/ai_apps.md +37 -0
  42. package/skills/app-store-review-agent/references/guidelines/by-app-type/all_apps.md +50 -0
  43. package/skills/app-store-review-agent/references/guidelines/by-app-type/crypto_finance.md +31 -0
  44. package/skills/app-store-review-agent/references/guidelines/by-app-type/games.md +31 -0
  45. package/skills/app-store-review-agent/references/guidelines/by-app-type/health_fitness.md +31 -0
  46. package/skills/app-store-review-agent/references/guidelines/by-app-type/kids.md +27 -0
  47. package/skills/app-store-review-agent/references/guidelines/by-app-type/macos.md +38 -0
  48. package/skills/app-store-review-agent/references/guidelines/by-app-type/social_ugc.md +32 -0
  49. package/skills/app-store-review-agent/references/guidelines/by-app-type/subscription_iap.md +34 -0
  50. package/skills/app-store-review-agent/references/guidelines/by-app-type/vpn.md +18 -0
  51. package/skills/app-store-review-agent/references/rules/design/minimum_functionality.md +96 -0
  52. package/skills/app-store-review-agent/references/rules/design/sign_in_with_apple.md +54 -0
  53. package/skills/app-store-review-agent/references/rules/entitlements/unused_entitlements.md +83 -0
  54. package/skills/app-store-review-agent/references/rules/metadata/accurate_metadata.md +54 -0
  55. package/skills/app-store-review-agent/references/rules/metadata/apple_trademark.md +99 -0
  56. package/skills/app-store-review-agent/references/rules/metadata/china_storefront.md +72 -0
  57. package/skills/app-store-review-agent/references/rules/metadata/competitor_terms.md +56 -0
  58. package/skills/app-store-review-agent/references/rules/metadata/subscription_metadata.md +81 -0
  59. package/skills/app-store-review-agent/references/rules/privacy/privacy_manifest.md +84 -0
  60. package/skills/app-store-review-agent/references/rules/privacy/unnecessary_data.md +60 -0
  61. package/skills/app-store-review-agent/references/rules/subscription/misleading_pricing.md +63 -0
  62. package/skills/app-store-review-agent/references/rules/subscription/missing_tos_pp.md +54 -0
  63. package/skills/awf-ponytail/SKILL.md +91 -0
  64. package/skills/awf-ponytail-review/SKILL.md +67 -0
  65. package/skills/awf-session-restore/SKILL.md +3 -3
  66. package/skills/brainstorm-agent/SKILL.md +11 -2
  67. package/skills/brainstorm-agent/templates/brief-template.md +8 -0
  68. package/skills/claude-planner/SKILL.md +47 -0
  69. package/skills/code-review/SKILL.md +87 -0
  70. package/skills/expo-game-development/SKILL.md +163 -0
  71. package/skills/flutter/LICENSE.txt +202 -0
  72. package/skills/flutter/SKILL.md +127 -0
  73. package/skills/flutter-project-creater/LICENSE.txt +202 -0
  74. package/skills/flutter-project-creater/SKILL.md +106 -0
  75. package/skills/game-developer/SKILL.md +163 -0
  76. package/skills/game-developer/references/ecs-patterns.md +501 -0
  77. package/skills/game-developer/references/multiplayer-networking.md +475 -0
  78. package/skills/game-developer/references/performance-optimization.md +422 -0
  79. package/skills/game-developer/references/unity-patterns.md +271 -0
  80. package/skills/game-developer/references/unreal-cpp.md +352 -0
  81. package/skills/generate-gui-assets/SKILL.md +305 -0
  82. package/skills/generate-gui-assets/agents/openai.yaml +4 -0
  83. package/skills/generate-gui-assets/references/catalog-schema.md +58 -0
  84. package/skills/generate-gui-assets/references/extraction-techniques.md +21 -0
  85. package/skills/generate-gui-assets/references/prompt-patterns.md +58 -0
  86. package/skills/generate-gui-assets/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
  87. package/skills/generate-gui-assets/scripts/build_gui_contact_sheet.py +51 -0
  88. package/skills/generate-gui-assets/scripts/clean_chroma_edges.py +262 -0
  89. package/skills/generate-gui-assets/scripts/copy_approved_icons.py +64 -0
  90. package/skills/generate-gui-assets/scripts/prepare_gui_asset_run.py +91 -0
  91. package/skills/generate-gui-assets/scripts/suggest_grid_options.py +63 -0
  92. package/skills/generate-gui-assets/scripts/validate_gui_catalog.py +50 -0
  93. package/skills/godot-game-development/SKILL.md +142 -0
  94. package/skills/hatch-pet/LICENSE.txt +201 -0
  95. package/skills/hatch-pet/SKILL.md +420 -0
  96. package/skills/hatch-pet/agents/openai.yaml +4 -0
  97. package/skills/hatch-pet/references/animation-rows.md +29 -0
  98. package/skills/hatch-pet/references/codex-pet-contract.md +35 -0
  99. package/skills/hatch-pet/references/qa-rubric.md +60 -0
  100. package/skills/hatch-pet/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
  101. package/skills/hatch-pet/scripts/clean_chroma_edges.py +262 -0
  102. package/skills/hatch-pet/scripts/compose_atlas.py +150 -0
  103. package/skills/hatch-pet/scripts/derive_running_left_from_running_right.py +143 -0
  104. package/skills/hatch-pet/scripts/extract_strip_frames.py +323 -0
  105. package/skills/hatch-pet/scripts/finalize_pet_run.py +382 -0
  106. package/skills/hatch-pet/scripts/generate_pet_images.py +287 -0
  107. package/skills/hatch-pet/scripts/inspect_frames.py +246 -0
  108. package/skills/hatch-pet/scripts/make_contact_sheet.py +96 -0
  109. package/skills/hatch-pet/scripts/package_custom_pet.py +108 -0
  110. package/skills/hatch-pet/scripts/pet_job_status.py +117 -0
  111. package/skills/hatch-pet/scripts/prepare_pet_run.py +673 -0
  112. package/skills/hatch-pet/scripts/queue_pet_repairs.py +172 -0
  113. package/skills/hatch-pet/scripts/record_imagegen_result.py +250 -0
  114. package/skills/hatch-pet/scripts/render_animation_videos.py +134 -0
  115. package/skills/hatch-pet/scripts/render_animation_videos.sh +5 -0
  116. package/skills/hatch-pet/scripts/validate_atlas.py +139 -0
  117. package/skills/i18n-orchestrator/SKILL.md +37 -0
  118. package/skills/ios-simulator-skill/SKILL.md +390 -0
  119. package/skills/ios-simulator-skill/scripts/accessibility_audit.py +300 -0
  120. package/skills/ios-simulator-skill/scripts/app_launcher.py +326 -0
  121. package/skills/ios-simulator-skill/scripts/app_state_capture.py +400 -0
  122. package/skills/ios-simulator-skill/scripts/appearance.py +385 -0
  123. package/skills/ios-simulator-skill/scripts/build_and_test.py +348 -0
  124. package/skills/ios-simulator-skill/scripts/clipboard.py +103 -0
  125. package/skills/ios-simulator-skill/scripts/common/__init__.py +61 -0
  126. package/skills/ios-simulator-skill/scripts/common/cache_utils.py +289 -0
  127. package/skills/ios-simulator-skill/scripts/common/device_utils.py +462 -0
  128. package/skills/ios-simulator-skill/scripts/common/env_config.py +35 -0
  129. package/skills/ios-simulator-skill/scripts/common/hang_pipeline.py +862 -0
  130. package/skills/ios-simulator-skill/scripts/common/hang_sessions.py +490 -0
  131. package/skills/ios-simulator-skill/scripts/common/idb_utils.py +180 -0
  132. package/skills/ios-simulator-skill/scripts/common/screenshot_utils.py +338 -0
  133. package/skills/ios-simulator-skill/scripts/container.py +668 -0
  134. package/skills/ios-simulator-skill/scripts/gesture.py +394 -0
  135. package/skills/ios-simulator-skill/scripts/hang_watcher.py +1533 -0
  136. package/skills/ios-simulator-skill/scripts/keyboard.py +391 -0
  137. package/skills/ios-simulator-skill/scripts/localization_audit.py +483 -0
  138. package/skills/ios-simulator-skill/scripts/location.py +467 -0
  139. package/skills/ios-simulator-skill/scripts/log_monitor.py +493 -0
  140. package/skills/ios-simulator-skill/scripts/model_inspector.py +645 -0
  141. package/skills/ios-simulator-skill/scripts/navigator.py +461 -0
  142. package/skills/ios-simulator-skill/scripts/privacy_manager.py +310 -0
  143. package/skills/ios-simulator-skill/scripts/push_notification.py +240 -0
  144. package/skills/ios-simulator-skill/scripts/screen_mapper.py +296 -0
  145. package/skills/ios-simulator-skill/scripts/sim_health_check.sh +245 -0
  146. package/skills/ios-simulator-skill/scripts/sim_list.py +299 -0
  147. package/skills/ios-simulator-skill/scripts/simctl_boot.py +312 -0
  148. package/skills/ios-simulator-skill/scripts/simctl_create.py +316 -0
  149. package/skills/ios-simulator-skill/scripts/simctl_delete.py +357 -0
  150. package/skills/ios-simulator-skill/scripts/simctl_erase.py +351 -0
  151. package/skills/ios-simulator-skill/scripts/simctl_shutdown.py +290 -0
  152. package/skills/ios-simulator-skill/scripts/simulator_selector.py +375 -0
  153. package/skills/ios-simulator-skill/scripts/status_bar.py +250 -0
  154. package/skills/ios-simulator-skill/scripts/test_recorder.py +323 -0
  155. package/skills/ios-simulator-skill/scripts/visual_diff.py +235 -0
  156. package/skills/ios-simulator-skill/scripts/xcode/__init__.py +13 -0
  157. package/skills/ios-simulator-skill/scripts/xcode/builder.py +397 -0
  158. package/skills/ios-simulator-skill/scripts/xcode/cache.py +204 -0
  159. package/skills/ios-simulator-skill/scripts/xcode/config.py +178 -0
  160. package/skills/ios-simulator-skill/scripts/xcode/reporter.py +343 -0
  161. package/skills/ios-simulator-skill/scripts/xcode/xcresult.py +451 -0
  162. package/skills/ios-visual-qa-strategist/SKILL.md +111 -0
  163. package/skills/ios-visual-qa-strategist/agents/openai.yaml +4 -0
  164. package/skills/ios-visual-qa-strategist/references/ios-tool-selection.md +61 -0
  165. package/skills/ios-visual-qa-strategist/references/minimal-capture-policy.md +56 -0
  166. package/skills/ios-visual-qa-strategist/references/visual-reasoning-heuristics.md +53 -0
  167. package/skills/orchestrator/SKILL.md +0 -20
  168. package/skills/persistent-storage/SKILL.md +55 -0
  169. package/skills/short-maker/SKILL.md +23 -0
  170. package/skills/short-maker/scripts/effects.js +56 -0
  171. package/skills/short-maker/scripts/shortmaker-bridge.js +332 -0
  172. package/skills/short-maker/scripts/videomix.js +601 -0
  173. package/skills/short-maker/templates/hyperframes/cinematic-character.template.html +172 -0
  174. package/skills/short-maker/templates/hyperframes/index.template.html +194 -0
  175. package/skills/smali-to-kotlin/SKILL.md +128 -0
  176. package/skills/smali-to-kotlin/examples/getting-started/tech-stack.md +58 -0
  177. package/skills/smali-to-kotlin/examples/pipeline/data-ui-parity.md +118 -0
  178. package/skills/smali-to-kotlin/examples/pipeline/scanner-and-bootstrap.md +106 -0
  179. package/skills/smali-to-kotlin/library-patterns.md +189 -0
  180. package/skills/smali-to-kotlin/phase-0-discovery.md +128 -0
  181. package/skills/smali-to-kotlin/phase-1-architecture.md +166 -0
  182. package/skills/smali-to-kotlin/phase-2-blueprint-ui.md +347 -0
  183. package/skills/smali-to-kotlin/phase-2-blueprint.md +228 -0
  184. package/skills/smali-to-kotlin/phase-3-build.md +248 -0
  185. package/skills/smali-to-kotlin/phase-3-logic-build.md +268 -0
  186. package/skills/smali-to-kotlin/smali-reading-guide.md +310 -0
  187. package/skills/smali-to-kotlin/templates/app-map.md +101 -0
  188. package/skills/smali-to-kotlin/templates/architecture.md +142 -0
  189. package/skills/smali-to-kotlin/templates/blueprint.md +145 -0
  190. package/skills/spec-gate/SKILL.md +6 -2
  191. package/skills/symphony-enforcer/SKILL.md +8 -0
  192. package/skills/symphony-enforcer/examples/mindful-stop.md +2 -0
  193. package/skills/symphony-enforcer/examples/three-phase.md +16 -0
  194. package/skills/symphony-enforcer/examples/trigger-points.md +7 -1
  195. package/skills/unity-game-development/SKILL.md +231 -0
  196. package/skills/video-edit/SKILL.md +36 -0
  197. package/skills/video-edit/scripts/video_edit.py +324 -0
  198. package/templates/project-identity/android.json +2 -2
  199. package/templates/project-identity/backend-nestjs.json +2 -2
  200. package/templates/project-identity/expo.json +2 -2
  201. package/templates/project-identity/ios.json +2 -2
  202. package/templates/project-identity/web-nextjs.json +2 -2
  203. package/templates/setup-mapping.json +48 -0
  204. package/templates/specs/design-template.md +161 -71
  205. package/templates/specs/requirements-template.md +65 -133
  206. package/templates/specs/task-spec-template.xml +3 -0
  207. package/workflows/_uncategorized/critic.md +40 -0
  208. package/workflows/_uncategorized/git-rebase-flow.md +81 -0
  209. package/workflows/_uncategorized/image-gen.md +118 -0
  210. package/workflows/_uncategorized/multi-model-pipeline.md +60 -0
  211. package/workflows/_uncategorized/pixel-gen.md +86 -0
  212. package/workflows/_uncategorized/pixel-setup.md +90 -0
  213. package/workflows/_uncategorized/ponytail-review.md +59 -0
  214. package/workflows/_uncategorized/reverse-android-build.md +222 -0
  215. package/workflows/_uncategorized/reverse-android-design.md +139 -0
  216. package/workflows/_uncategorized/reverse-android-discover.md +150 -0
  217. package/workflows/_uncategorized/reverse-android-scan.md +158 -0
  218. package/workflows/_uncategorized/reverse-android.md +143 -0
  219. package/workflows/_uncategorized/reverse-ios-build.md +240 -0
  220. package/workflows/_uncategorized/reverse-ios-design.md +112 -0
  221. package/workflows/_uncategorized/reverse-ios-discover.md +120 -0
  222. package/workflows/_uncategorized/reverse-ios-scan.md +155 -0
  223. package/workflows/_uncategorized/reverse-ios.md +152 -0
  224. package/workflows/_uncategorized/safety-router.md +34 -0
  225. package/workflows/_uncategorized/teach.md +89 -0
  226. package/workflows/_uncategorized/verify-ui.md +53 -0
  227. package/workflows/_uncategorized/visualize-screenshots.md +34 -0
  228. package/workflows/ads/ads-analyst.md +201 -0
  229. package/workflows/ads/ads-audit.md +106 -0
  230. package/workflows/ads/ads-optimize.md +97 -0
  231. package/workflows/ads/ads-targeting.md +241 -0
  232. package/workflows/ads/adsExpert.md +160 -0
  233. package/workflows/ads/smali-ads-config.md +400 -0
  234. package/workflows/ads/smali-ads-flow.md +331 -0
  235. package/workflows/ads/smali-ads-interstitial.md +377 -0
  236. package/workflows/ads/smali-ads-native.md +382 -0
  237. package/workflows/context/teach.md +89 -0
  238. package/workflows/gitnexus.md +8 -8
  239. package/workflows/lifecycle/brainstorm.md +43 -0
  240. package/workflows/lifecycle/code.md +5 -0
  241. package/workflows/lifecycle/init.md +23 -5
  242. package/workflows/lifecycle/multi-model-pipeline.md +60 -0
  243. package/workflows/quality/ponytail-review.md +59 -0
  244. package/workflows/roles/critic.md +40 -0
  245. package/workflows/roles/safety-router.md +34 -0
@@ -0,0 +1,210 @@
1
+ # System Instruction for Premium Android Kotlin App Development
2
+
3
+ You are the **Ultimate Senior Android Developer, Mobile Architect, and Motion UI/UX Specialist**. Your mission is to design, scaffold, and implement industry-leading, premium-tier, production-ready Android applications from scratch. You write clean, scalable Kotlin, build fluid motion designs in Jetpack Compose, enforce strict Clean Architecture boundaries, and deploy using high-performance engineering standards.
4
+
5
+ ---
6
+
7
+ ## 1. Architectural & Engineering Standards (Clean Architecture)
8
+
9
+ ### 1.1 Folder & Package Structure
10
+
11
+ Organize the codebase following feature-based modularization, isolating features into self-contained architectural directories:
12
+
13
+ ```
14
+ app/src/main/java/com/company/myapp/
15
+ ├── core/ # Shared utilities, DI modules, theme, navigators
16
+ │ ├── di/ # Global AppModule, NetworkModule, DatabaseModule
17
+ │ ├── theme/ # Color, Type, Shape, Theme definitions
18
+ │ └── utils/ # Extensions, formatters, cryptography helpers
19
+ └── features/ # Feature-specific modules
20
+ └── [feature_name]/ # e.g., authentication, dashboard, onboarding
21
+ ├── domain/ # Pure Business Logic (No android framework imports)
22
+ │ ├── entities/ # Business domain models (standard Kotlin classes)
23
+ │ ├── usecases/ # Single-responsibility use cases
24
+ │ └── repositories/ # Repository interfaces (abstractions)
25
+ ├── data/ # Platform & External Systems
26
+ │ ├── datasources/ # Local (Room/DataStore) & Remote (Retrofit/Ktor) sources
27
+ │ ├── dto/ # API and DB data transfer objects (with @Serializable)
28
+ │ └── repositories/ # Concrete repository implementations (extends domain)
29
+ └── presentation/ # Jetpack Compose UI Layer
30
+ ├── ui/ # Stateless screens, composables, views, styling
31
+ └── viewmodels/ # Flow state holders, screen action handlers
32
+ ```
33
+
34
+ ### 1.2 Strict Layer Boundaries & Dependency Rules
35
+
36
+ Enforce the inward dependency rule (**Presentation → Domain ← Data**):
37
+
38
+ - **Domain Layer**: MUST be pure Kotlin. Never import `android.*`, `androidx.*`, `retrofit.*`, or other framework libraries. It defines the business entities and repository abstractions.
39
+ - **Presentation Layer**: Consists of composables and ViewModels. ViewModels use Domain UseCases to fetch and transform data.
40
+ - **Data Layer**: Responsible for persistence (Room), caching (DataStore), and network communications (Retrofit). Implements repository interfaces defined in the Domain layer.
41
+
42
+ ### 1.3 Dependency Injection (Dagger Hilt)
43
+
44
+ - Always use Dagger Hilt for DI: annotate your Application class with `@HiltAndroidApp`, activities with `@AndroidEntryPoint`, and ViewModels with `@HiltViewModel`.
45
+ - Use `@Inject constructor` for class dependencies.
46
+ - Define interface bindings cleanly in Hilt `@Module` classes using `@Binds` (for repository implementations) and `@Provides` (for external clients like Retrofit, Room, or DataStore instances).
47
+
48
+ ---
49
+
50
+ ## 2. UI-First Methodology & Premium Motion UX
51
+
52
+ Aesthetics and responsiveness are core features. The user must feel the fluidity of the interface through premium, elastic movements and elegant spacing.
53
+
54
+ ### 2.1 The UI-First Implementation Pipeline
55
+
56
+ Always prototype the visual design and settle the visual shell before wiring up reactive database endpoints:
57
+
58
+ 1. **Draft UI Skeleton**: Set up the visual container blocks.
59
+ 2. **Add Static Mock Data**: Render standard visual states (empty, loading, normal, error).
60
+ 3. **Implement Micro-interactions & Motion**: Add smooth spring transitions, hover states, and keyframe animations.
61
+ 4. **Connect Presentation State**: Wire the stateless UI components to real Hilt-injected ViewModels.
62
+ 5. **Final Parity Audit**: Verify screen performance on virtual emulators or physical testing targets.
63
+
64
+ ### 2.2 Elastic & Spring Physics Animations
65
+
66
+ Any dynamic presentation, button click, or page transition must utilize **spring-based physics** by default to create a premium, tactile feel.
67
+
68
+ - **Spring Press Effect on Buttons**:
69
+ ```kotlin
70
+ @Composable
71
+ fun PrimaryButton(
72
+ text: String,
73
+ onClick: () -> Unit,
74
+ modifier: Modifier = Modifier
75
+ ) {
76
+ var isPressed by remember { mutableStateOf(false) }
77
+ val scale by animateFloatAsState(
78
+ targetValue = if (isPressed) 0.95f else 1f,
79
+ animationSpec = spring(
80
+ dampingRatio = Spring.DampingRatioMediumBouncy,
81
+ stiffness = Spring.StiffnessLow
82
+ )
83
+ )
84
+
85
+ Button(
86
+ onClick = onClick,
87
+ modifier = modifier
88
+ .fillMaxWidth()
89
+ .scale(scale)
90
+ .pointerInput(Unit) {
91
+ detectTapGestures(
92
+ onPress = {
93
+ isPressed = true
94
+ tryAwaitRelease()
95
+ isPressed = false
96
+ }
97
+ )
98
+ }
99
+ ) {
100
+ Text(text, style = MaterialTheme.typography.bodyLarge)
101
+ }
102
+ }
103
+ ```
104
+
105
+ ### 2.3 Curated Color Systems & Typography Tokens
106
+
107
+ - **No Raw Primary Colors**: Utilize highly cohesive, harmonized HSL/Material 3 theme palettes. Enforce curated dark themes, neon borders, and soft semantic alerts.
108
+ - **Typography**: Dynamically fetch professional modern fonts (e.g., _Inter_, _Outfit_, _Roboto_) with a strong, highly readable visual hierarchy. Support Dynamic Type to scale text gracefully based on accessibility settings.
109
+ - **Glassmorphism**: Use semi-transparent container fills with fine, light borders, subtle background blurs, and soft shadows (`Modifier.shadow()`) to deliver modern UI depth.
110
+
111
+ ### 2.4 Touch Psychology
112
+
113
+ - **Tap Targets**: Maintain all interactive targets at a minimum of **48dp × 48dp** (based on Fitts' Law for human fingertips).
114
+ - **Spacing**: Ensure a minimum gap of **8-12dp** between adjacent interactive elements to prevent accidental miss-taps.
115
+ - **Thumb Zone Optimization**: Place core navigation controls, primary CTAs, and dynamic tab bars at the bottom half of the screen (the "easy-to-reach" zone).
116
+
117
+ ---
118
+
119
+ ## 3. High-Performance Engineering & Data Security
120
+
121
+ ### 3.1 Jetpack Compose List Optimizations
122
+
123
+ Improperly written lists cause jank and frame drops. Always adhere to these performance rules:
124
+
125
+ - **Always use Lazy Lists**: Use `LazyColumn` or `LazyRow` instead of `ScrollView` for lists with dynamic content.
126
+ - **Explicit State Keying**: Always provide a unique, stable ID for every list item using the `key` parameter to prevent redundant compose recompositions:
127
+ ```kotlin
128
+ LazyColumn {
129
+ items(
130
+ items = itemList,
131
+ key = { item -> item.stableId }
132
+ ) { item ->
133
+ ListItemComponent(item = item)
134
+ }
135
+ }
136
+ ```
137
+ - **Stateless Preview Delegates**: Break screens into a parent stateful wrapper (injecting ViewModel and handling navigation) and a child stateless screen composable containing only hardcoded parameters. This enables rapid Material Preview compilation for multiple states (Normal, Loading, Empty, Error).
138
+
139
+ ### 3.2 Secure Persistence & Tokens
140
+
141
+ - **Zero PII Leakage**: Never print user tokens, passwords, database values, or personal identifiers in production log outputs.
142
+ - **Encrypted Storage**: Cache API tokens, user authorization flags, and sensitive user states exclusively in `EncryptedSharedPreferences` or encrypted local databases (e.g., SQLCipher on top of Room).
143
+ - **Environment Configs**: Configure API endpoints, API keys, and deployment profiles in a secure `.env` or system environment mapping, injecting them through gradle custom `BuildConfig` fields.
144
+
145
+ ### 3.3 Asynchronous Threading & Flows
146
+
147
+ - **Explicit Dispatchers**: Ensure heavy calculations and local/remote source operations are launched on the correct dispatchers:
148
+ ```kotlin
149
+ viewModelScope.launch(Dispatchers.IO) {
150
+ repository.fetchData()
151
+ }
152
+ ```
153
+ - **Lifecycle-aware Flows**: Collect flows in Composable scopes safely using `collectAsStateWithLifecycle()` to prevent memory leaks and background battery drainage.
154
+
155
+ ---
156
+
157
+ ## 4. AWKit Android CLI & ADB Commands
158
+
159
+ Utilize the unified `android` CLI tool and ADB commands to execute system interactions, layout inspection, and test setups cleanly:
160
+
161
+ ```bash
162
+ # 1. Environment & Device Scaffolding
163
+ android info # Retrieve current Android SDK locations and configuration
164
+ android sdk install platforms/android-34 # Download a specific platform SDK target
165
+ android emulator start --name="Pixel_7_API_34" # Launch a selected Android Virtual Device (AVD)
166
+
167
+ # 2. Build & Layout Audits
168
+ android describe --project_dir=. # Scan targets and locate built APK paths
169
+ android layout --pretty # Dump the raw UI layout tree as formatted JSON
170
+ android layout --diff # Identify changed layout tree nodes since the last dump
171
+
172
+ # 3. Precise Visual Inspection & ADB Tap Actions
173
+ android screen capture -o ./tmp/capture.png # Capture active viewport to a PNG file
174
+ android screen capture --annotate -o ./tmp/capture_annotated.png # Capture active screen with bounding boxes and numeric labels
175
+ android screen resolve --screen ./tmp/capture_annotated.png --string "#3" # Get exact X/Y coordinate for visual box #3
176
+ adb shell input $(android screen resolve --screen ./tmp/capture_annotated.png --string "tap #3") # Tap visual region #3 directly
177
+
178
+ # 4. Device Interaction Control
179
+ adb shell input keyevent 66 # Trigger ENTER key event
180
+ adb shell input text "user@example.com" # Type literal string into the currently focused text field
181
+ adb shell input swipe 500 1500 500 500 800 # Slow vertical drag/swipe (duration: 800ms)
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 5. Testing & CI/CD Pipelines
187
+
188
+ ### 5.1 Journey Validation & Test Reports
189
+
190
+ Validate end-to-end user journeys using structured XML flows and export execution outcomes using a standardized JSON schema:
191
+
192
+ ```json
193
+ {
194
+ "journey": "Premium User Subscription Flow",
195
+ "results": [
196
+ {
197
+ "action": "Verify that the welcome headline is displayed on screen",
198
+ "status": "PASSED",
199
+ "commands": [],
200
+ "comment": "Headline 'Welcome to App' was successfully identified."
201
+ },
202
+ {
203
+ "action": "Tap the 'Go Premium' button",
204
+ "status": "PASSED",
205
+ "commands": ["adb shell input tap 450 1200"],
206
+ "comment": "Button region matched layout bounds."
207
+ }
208
+ ]
209
+ }
210
+ ```
@@ -0,0 +1,146 @@
1
+ # Revision History
2
+
3
+ | Version | Date | Author | Description |
4
+ |---|---|---|---|
5
+ | v1.0 | 2026-06-15 | Antigravity Orchestrator | Bản thảo brainstorm tích hợp triết lý Ponytail vào dự án AWKit |
6
+ | v1.1 | 2026-06-15 | Antigravity Orchestrator | ✅ Approved: Giải pháp 1 (Gate enforcement), mặc định bật, cấu hình qua `.project-identity` |
7
+
8
+ ---
9
+
10
+ # Brainstorm: Tích hợp Triết lý Ponytail vào AWKit
11
+
12
+ Tài liệu này tập trung vào việc áp dụng thực tế triết lý "lazy senior developer" từ dự án [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) vào hệ thống **AWKit (Antigravity Workflow Kit)**.
13
+
14
+ ---
15
+
16
+ ## 1. Phân tích bối cảnh dự án & Vấn đề thực tế
17
+
18
+ Trong quá trình phát triển các ứng dụng bằng AI (chẳng hạn như React Dashboard của Symphony, game Expo/Unity, hay các app iOS/Android trong hệ sinh thái của User):
19
+ * **AI thường "over-deliver"**: Khi được yêu cầu viết một tính năng đơn giản (ví dụ: bộ lọc ngày, cache dữ liệu), AI thường tự ý cài thêm các thư viện bên ngoài (Moment.js, Flatpickr, custom cache classes với TTL phức tạp) thay vì sử dụng tính năng native của trình duyệt/nền tảng hoặc thư viện tiêu chuẩn (stdlib).
20
+ * **Token Bloat**: Việc sinh thêm code boilerplate và các tầng trừu tượng không cần thiết làm phình to context của session làm việc, dẫn đến cạn kiệt ngân sách token nhanh hơn và làm chậm thời gian phản hồi của AI.
21
+ * **Gia tăng Technical Debt**: Nhiều class phức tạp được tạo ra "để dành cho tương lai" (speculative generality) nhưng thực tế không bao giờ được sử dụng đến, gây khó khăn cho việc bảo trì.
22
+
23
+ ---
24
+
25
+ ## 2. Giải pháp tích hợp thực tế vào AWKit
26
+
27
+ Chúng ta sẽ tích hợp triết lý Ponytail vào hai lớp của AWKit: **Lớp ràng buộc hệ thống (System Enforcer)** và **Lớp công cụ nhà phát triển (Developer Tools)**.
28
+
29
+ ### ✅ Giải pháp 1: Ràng buộc trực tiếp vào Quy trình 7-Gate (Internal Enforcement) — APPROVED
30
+ Hệ thống Gate của AWKit (đặc biệt là Gate 4 - Execution và Gate 5 - Verification) sẽ được bổ sung các chốt chặn tự động:
31
+ * **Gate 4 Phase B (UI Shell Mock) & Phase C (Logic)**:
32
+ * AI bắt buộc phải đối chiếu danh sách linh kiện/native API trước khi bắt tay viết code.
33
+ * *Ví dụ:* Nếu làm UI React, cấm cài thêm thư viện date/color picker hay modal nếu HTML5 `<input type="date">` hoặc `<dialog>` đáp ứng được.
34
+ * **Gate 5 (Verification)**:
35
+ * Tích hợp bước tự động rà soát over-engineering. Trước khi commit code qua `awkit gate git auto`, AI phải tự chạy bộ lọc Ponytail để tối giản hóa code vừa viết. Nếu có thể rút gọn tối thiểu 10% số dòng code mà vẫn giữ nguyên logic và tính an toàn, AI phải tự tái cấu trúc ngay lập tức.
36
+
37
+ ### Giải pháp 2: Xây dựng Kỹ năng `awf-ponytail` & `awf-ponytail-review`
38
+ * **Skill `awf-ponytail`**: Khi người dùng yêu cầu AI viết code tối giản bằng các từ khóa như `be lazy`, `lazy mode`, `ponytail`, AI sẽ tự động kích hoạt chế độ sinh code siêu tinh gọn, chỉ dùng stdlib và native APIs, đồng thời luôn đánh dấu các phần giản lược bằng comment `// ponytail: [giới hạn] -> [cách nâng cấp]`.
39
+ * **Skill `awf-ponytail-review`**: Hỗ trợ review độ phức tạp của code. Khi người dùng gọi `/ponytail-review` hoặc hỏi "code này có over-engineered không?", AI sẽ phân tích và đưa ra báo cáo cực kỳ ngắn gọn dạng:
40
+ `L<line>: <tag> <what>. <replacement>.`
41
+ * `delete:` Xóa bỏ boilerplate hoặc abstractions thừa.
42
+ * `stdlib:` Thay bằng hàm có sẵn của thư viện chuẩn.
43
+ * `native:` Thay bằng tính năng native của trình duyệt/HĐH.
44
+ * `yagni:` Gộp class/interface chỉ có một implementation duy nhất.
45
+ * `shrink:` Viết lại đoạn code ngắn gọn hơn.
46
+
47
+ ### Giải pháp 3: Xây dựng Workflow `workflows/quality/ponytail-review.md`
48
+ Cung cấp một workflow dạng manual để người dùng kích hoạt bất kỳ lúc nào nhằm quét toàn bộ codebase hoặc diff hiện tại để tìm các điểm có thể tối giản hóa, tính toán số dòng code tối đa có thể cắt giảm (`net: -<N> lines possible`).
49
+
50
+ ---
51
+
52
+ ## 3. Bản thảo Chi tiết Kỹ thuật (Technical Drafts)
53
+
54
+ ### A. Ràng buộc mới trong `core/GEMINI.md` (English)
55
+ ```markdown
56
+ ### Lazy Dev Mode (Ponytail Rules)
57
+ - **Ladder of Simplicity**: Before writing code, stop at the first rung:
58
+ 1. YAGNI: Speculative need = skip it.
59
+ 2. Stdlib does it? Use it.
60
+ 3. Native platform feature covers it? Use it (e.g. `<input type="date">`, `<dialog>`, native CSS transitions).
61
+ 4. Installed dependency solves it? Use it. Do not add new dependencies unless explicitly authorized.
62
+ 5. One line? Make it one line.
63
+ 6. Minimum code that works.
64
+ - **Complexity Guard**: No unrequested abstractions, interfaces with a single implementation, boilerplate, or scaffolding "for later".
65
+ - **Simplification Marker**: Mark intentional simplifications with a `ponytail:` comment describing the known ceiling and the upgrade path (e.g. `// ponytail: global lock, switch to per-account locks if throughput degrades`).
66
+ ```
67
+
68
+ ### B. Cấu trúc Skill `skills/awf-ponytail-review/SKILL.md` (English)
69
+ ```markdown
70
+ ---
71
+ name: awf-ponytail-review
72
+ description: Hunt for over-engineering and bloated code in diffs or directories.
73
+ version: 1.0.0
74
+ ---
75
+
76
+ # AWF Ponytail Review
77
+
78
+ Audit code exclusively for unnecessary complexity, speculative features, and boilerplate.
79
+
80
+ ## Audit Rules
81
+ 1. Identify code that duplicates stdlib (e.g., manual debouncers, custom string pads).
82
+ 2. Find unneeded third-party libraries doing what native features can do.
83
+ 3. Locate one-off abstractions (interfaces, factories, wrappers) that add no value.
84
+
85
+ ## Output Format
86
+ Strictly one line per finding:
87
+ `L<line>: <tag> <what>. <replacement>.`
88
+
89
+ End with: `net: -<N> lines possible.`
90
+ If the code is already optimized, output: `Lean already. Ship.`
91
+ ```
92
+
93
+ ---
94
+
95
+ ## 4. Các điểm cần thảo luận thêm (Open Questions)
96
+
97
+ 1. ~~**Có nên tự động kích hoạt Ponytail Mode cho mọi task không?**~~ → ✅ **QUYẾT ĐỊNH: MẶC ĐỊNH BẬT**
98
+ * Ponytail Mode mặc định **enabled** cho mọi dự án.
99
+ * Người dùng vibe coding thường không thể xác định rõ cái nào cần lazy, cái nào không → hệ thống nên tự áp dụng.
100
+ * Nếu người dùng muốn tắt (ví dụ: Enterprise projects cần kiến trúc mở rộng cao), cấu hình qua `.project-identity`:
101
+ ```json
102
+ "automation": {
103
+ "ponytailMode": {
104
+ "enabled": false,
105
+ "level": "full"
106
+ }
107
+ }
108
+ ```
109
+ * **Giá trị mặc định khi không khai báo**: `enabled: true`, `level: "full"`.
110
+
111
+ 2. **Comment `ponytail:` có nên là bắt buộc không?**
112
+ * *Đề xuất:* Rất cần thiết. Khi AI viết code quá tối giản (ví dụ: không dùng framework test phức tạp mà chỉ dùng `assert`), lập trình viên khác đọc vào có thể nghĩ AI làm ẩu hoặc thiếu kiến thức. Comment `// ponytail:` giúp làm rõ đó là sự giản lược có chủ đích.
113
+
114
+ ---
115
+
116
+ ## 5. Schema cấu hình `.project-identity`
117
+
118
+ Trường `automation.ponytailMode` sẽ tuân theo cấu trúc tương tự `communication.cavemanMode`:
119
+
120
+ ```json
121
+ {
122
+ "automation": {
123
+ "ponytailMode": {
124
+ "enabled": true,
125
+ "level": "full"
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ | Field | Type | Default | Description |
132
+ |-------|------|---------|-------------|
133
+ | `enabled` | `boolean` | `true` | Bật/tắt Ponytail enforcement trong Gate 4 & Gate 5 |
134
+ | `level` | `string` | `"full"` | Mức độ: `"lite"` (gợi ý), `"full"` (bắt buộc stdlib/native first), `"ultra"` (YAGNI cực đoan) |
135
+
136
+ **Quy tắc đọc cấu hình:**
137
+ ```
138
+ config = read(".project-identity")
139
+ ponytail = config?.automation?.ponytailMode
140
+ enabled = ponytail?.enabled ?? true // mặc định BẬT
141
+ level = ponytail?.level ?? "full" // mặc định FULL
142
+ ```
143
+
144
+ ---
145
+
146
+ *Đã duyệt Giải pháp 1. Sẵn sàng triển khai khi user approve.*
@@ -0,0 +1,113 @@
1
+ # Brainstorming: AWKit Smart Setup & Ecosystem Engine (SAEE)
2
+
3
+ > **Revision History**
4
+ > | Version | Date | Author | Description |
5
+ > |---|---|---|---|
6
+ > | v1.0.0 | 2026-05-28 | Antigravity Orchestrator | Initial concept proposal for Smart Setup inspired by `claude-code-setup` |
7
+
8
+ ---
9
+
10
+ ## 💡 Bối Cảnh & Cơ Hội
11
+
12
+ Anthropic vừa ra mắt `claude-code-setup` nhằm tối ưu hóa môi trường lập trình của Claude Code dựa trên phân tích cấu trúc dự án. Đối với **AWKit**, đây là cơ hội tuyệt vời để nâng cấp lệnh `/init` (và lệnh CLI `awkit init/setup`) từ một bộ khung tĩnh thành một **Hệ điều hành thích ứng thông minh (Adaptive Development OS)**.
13
+
14
+ Thay vì chỉ copy-paste các template tĩnh, AWKit có thể chủ động quét, phân tích và cấu hình toàn bộ hệ sinh thái phù hợp nhất cho dự án của người dùng.
15
+
16
+ ---
17
+
18
+ ## 🎯 5 Trụ Cột Của AWKit Smart Setup (SAEE)
19
+
20
+ Chúng ta có thể xây dựng tính năng này xoay quanh 5 trục chính:
21
+
22
+ ```mermaid
23
+ graph TD
24
+ A[Codebase Quét & Phân Tích] --> B(1. Smart Stack Analyzer)
25
+ B --> C(2. MCP Auto-Recommender)
26
+ B --> D(3. Adaptive Skill Activation)
27
+ B --> E(4. Automated Hook System)
28
+ B --> F(5. Tailored Workflows)
29
+ C & D & E & F --> G[Cập nhật .project-identity & specs/]
30
+ ```
31
+
32
+ ### 1. Smart Stack Analyzer (SSA)
33
+ Bộ quét thông minh phân tích sâu codebase để phát hiện:
34
+ - **Ngôn ngữ & Runtime**: Node.js, Python, Swift, Kotlin, Go, v.v.
35
+ - **Framework & Libraries**: React, Next.js, Expo, UIKit, Jetpack Compose, FastAPI, Express.
36
+ - **Database & Cloud**: Firebase, SQLite, PostgreSQL, Appwrite.
37
+ - **Package Manager**: npm, pnpm, yarn, bun, poetry, swift package manager.
38
+
39
+ ### 2. MCP Auto-Recommender (MCP-AR)
40
+ Đề xuất và tự động thiết lập các kết nối MCP phù hợp với dự án:
41
+ * *Web/Frontend Apps*: Đề xuất `playwright` cho việc test UI và debug giao diện trực quan.
42
+ * *Mobile Apps*: Đề xuất `maestro` cho end-to-end testing, `ios-simulator` và `android-cli-plugin`.
43
+ * *Database & Backend*: Đề xuất `sqlite-mcp-server` hoặc `firebase-mcp-server` khi phát hiện các gói firebase trong dependency.
44
+
45
+ ### 3. Adaptive Skill Activation (ASA)
46
+ AWKit sở hữu hơn 90+ skills chuyên sâu (ví dụ: `expo-build-optimizer`, `swiftui-pro`, `android-aso`, `firebase-firestore`). SAEE sẽ:
47
+ - Nhận diện những skills có ích nhất cho stack hiện tại.
48
+ - Tự động điền các skill này vào mục tiêu của agent để kích hoạt chúng một cách tối ưu, giảm thiểu noise context từ các skill không liên quan.
49
+
50
+ ### 4. Automated Hook System (AHS)
51
+ Thiết lập các quy tắc tự động hóa trong phiên làm việc:
52
+ - **Preflight build hooks**: Tự động chạy `awkit build` trước khi cho phép auto-commit.
53
+ - **Git Hook Automation**: Liên kết với quy tắc *Auto-Commit After Build* (qua `awkit gate git auto`).
54
+ - **Security Check Hook**: Cảnh báo hoặc chặn chỉnh sửa các file nhạy cảm (`.env`, private keys) được định nghĩa sẵn.
55
+
56
+ ### 5. Tailored Workflows & Roles (TWR)
57
+ Tự động tinh chỉnh và nạp các workflows thích ứng:
58
+ - Nếu phát hiện dự án mobile: Tự động nạp `/aso-audit`, `/ios-build`, `/app-store-screenshots`.
59
+ - Nếu phát hiện dự án backend/API: Nạp `/api-test`, `/deploy-app-hosting`.
60
+ - Đề xuất các **Subagents / Roles chuyên dụng** trong `AGENTS.md` (như Security Auditor, UX Reviewer).
61
+
62
+ ---
63
+
64
+ ## 🛠️ Luồng Thực Thi Đề Xuất (Interactive /init Workflow)
65
+
66
+ Khi người dùng chạy `/init` hoặc CLI `awkit setup`, quy trình sẽ diễn ra như sau:
67
+
68
+ > [!IMPORTANT]
69
+ > Triết lý thiết kế: **Smart Recommendations, Explicit Approvals**. AI phân tích và đưa ra đề xuất tối ưu, nhưng người dùng luôn giữ quyền quyết định cuối cùng qua UI trực quan.
70
+
71
+ ### 🔄 Chi Tiết Quy Trình 3 Bước
72
+
73
+ ```
74
+ ┌────────────────────────────────────────────────────────┐
75
+ │ Bước 1: Quét Codebase & Nhận Diện │
76
+ ├────────────────────────────────────────────────────────┤
77
+ │ Analyzing package.json, Xcode project, App.tsx... │
78
+ │ 🔍 Tech stack phát hiện: React Native, Expo, Firebase │
79
+ └──────────────────────────┬─────────────────────────────┘
80
+
81
+ ┌────────────────────────────────────────────────────────┐
82
+ │ Bước 2: Brainstorm Đề Xuất Hệ Sinh thái │
83
+ ├────────────────────────────────────────────────────────┤
84
+ │ 💡 MCP: Đề xuất kích hoạt maestro, firebase-mcp │
85
+ │ 🎯 Skills: Tự động bật expo-build-optimizer, firestore│
86
+ │ ⚡ Hooks: Bật auto-lint, auto-commit sau build │
87
+ └──────────────────────────┬─────────────────────────────┘
88
+
89
+ ┌────────────────────────────────────────────────────────┐
90
+ │ Bước 3: Ghi nhận & Cấu hình │
91
+ ├────────────────────────────────────────────────────────┤
92
+ │ ✓ Cập nhật .project-identity │
93
+ │ ✓ Khởi tạo specs/PROJECT.md & REQUIREMENTS.md │
94
+ └────────────────────────────────────────────────────────┘
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 🚀 Kế Hoạch Triển Khai (Roadmap)
100
+
101
+ Chúng ta có thể thực hiện theo mô hình **7-Gate System** của AWKit:
102
+
103
+ ### Phase 1: Infrastructure & Analyzer (🏗️ Gate 4 - Phase A)
104
+ - Phát triển module `scripts/smart-analyzer.js` sử dụng Node.js để phân tích nhanh các file cấu hình dự án (`package.json`, `Gemfile`, `build.gradle`, `Package.swift`).
105
+ - Định nghĩa schema map cho các gợi ý (Stack -> MCPs, Skills, Workflows).
106
+
107
+ ### Phase 2: CLI Integration (🎨 Gate 4 - Phase B)
108
+ - Mở rộng lệnh CLI `awkit setup` và `/init` workflow trong `workflows/lifecycle/init.md`.
109
+ - Xây dựng giao diện CLI interactive đẹp mắt sử dụng `inquirer` hoặc các form UI tương tác của AWKit.
110
+
111
+ ### Phase 3: Actionable Execution (⚡ Gate 4 - Phase C)
112
+ - Hiện thực hóa việc tự động cập nhật `.project-identity` và auto-scaffolding cấu trúc thư mục tối ưu dựa trên phân tích.
113
+ - Tích hợp chặt chẽ với Symphony để tạo bộ task mẫu cho từng stack (ví dụ: Task bootstrap cho Expo).