@xaviele/ag-kit 1.0.0

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 (235) hide show
  1. package/README.md +20 -0
  2. package/bin/cli.js +63 -0
  3. package/package.json +27 -0
  4. package/template/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  5. package/template/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  6. package/template/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  7. package/template/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  8. package/template/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
  9. package/template/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  10. package/template/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  11. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  12. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  13. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  14. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  15. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  16. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  17. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  18. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  19. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  20. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  21. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  22. package/template/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  23. package/template/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  24. package/template/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  25. package/template/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  26. package/template/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  27. package/template/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  28. package/template/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  29. package/template/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  30. package/template/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  31. package/template/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
  32. package/template/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
  33. package/template/.agent/ARCHITECTURE.md +281 -0
  34. package/template/.agent/agents/backend-specialist.md +263 -0
  35. package/template/.agent/agents/code-archaeologist.md +106 -0
  36. package/template/.agent/agents/database-architect.md +226 -0
  37. package/template/.agent/agents/debugger.md +225 -0
  38. package/template/.agent/agents/devops-engineer.md +242 -0
  39. package/template/.agent/agents/documentation-writer.md +104 -0
  40. package/template/.agent/agents/explorer-agent.md +73 -0
  41. package/template/.agent/agents/frontend-specialist.md +593 -0
  42. package/template/.agent/agents/game-developer.md +162 -0
  43. package/template/.agent/agents/mobile-developer.md +377 -0
  44. package/template/.agent/agents/orchestrator.md +416 -0
  45. package/template/.agent/agents/penetration-tester.md +188 -0
  46. package/template/.agent/agents/performance-optimizer.md +187 -0
  47. package/template/.agent/agents/product-manager.md +112 -0
  48. package/template/.agent/agents/product-owner.md +95 -0
  49. package/template/.agent/agents/project-planner.md +406 -0
  50. package/template/.agent/agents/qa-automation-engineer.md +103 -0
  51. package/template/.agent/agents/security-auditor.md +170 -0
  52. package/template/.agent/agents/seo-specialist.md +111 -0
  53. package/template/.agent/agents/test-engineer.md +158 -0
  54. package/template/.agent/mcp_config.json +24 -0
  55. package/template/.agent/rules/GEMINI.md +273 -0
  56. package/template/.agent/scripts/auto_preview.py +148 -0
  57. package/template/.agent/scripts/checklist.py +217 -0
  58. package/template/.agent/scripts/session_manager.py +120 -0
  59. package/template/.agent/scripts/verify_all.py +327 -0
  60. package/template/.agent/skills/adr/SKILL.md +282 -0
  61. package/template/.agent/skills/alirezarezvani-code-to-prd/SKILL.md +499 -0
  62. package/template/.agent/skills/api-patterns/SKILL.md +81 -0
  63. package/template/.agent/skills/api-patterns/api-style.md +42 -0
  64. package/template/.agent/skills/api-patterns/auth.md +24 -0
  65. package/template/.agent/skills/api-patterns/documentation.md +26 -0
  66. package/template/.agent/skills/api-patterns/graphql.md +41 -0
  67. package/template/.agent/skills/api-patterns/rate-limiting.md +31 -0
  68. package/template/.agent/skills/api-patterns/response.md +37 -0
  69. package/template/.agent/skills/api-patterns/rest.md +40 -0
  70. package/template/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  71. package/template/.agent/skills/api-patterns/security-testing.md +122 -0
  72. package/template/.agent/skills/api-patterns/trpc.md +41 -0
  73. package/template/.agent/skills/api-patterns/versioning.md +22 -0
  74. package/template/.agent/skills/app-builder/SKILL.md +75 -0
  75. package/template/.agent/skills/app-builder/agent-coordination.md +71 -0
  76. package/template/.agent/skills/app-builder/feature-building.md +53 -0
  77. package/template/.agent/skills/app-builder/project-detection.md +34 -0
  78. package/template/.agent/skills/app-builder/scaffolding.md +118 -0
  79. package/template/.agent/skills/app-builder/tech-stack.md +41 -0
  80. package/template/.agent/skills/app-builder/templates/SKILL.md +39 -0
  81. package/template/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  82. package/template/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  83. package/template/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  84. package/template/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  85. package/template/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  86. package/template/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  87. package/template/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  88. package/template/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  89. package/template/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  90. package/template/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  91. package/template/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  92. package/template/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  93. package/template/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  94. package/template/.agent/skills/architecture/SKILL.md +55 -0
  95. package/template/.agent/skills/architecture/context-discovery.md +43 -0
  96. package/template/.agent/skills/architecture/examples.md +94 -0
  97. package/template/.agent/skills/architecture/pattern-selection.md +68 -0
  98. package/template/.agent/skills/architecture/patterns-reference.md +50 -0
  99. package/template/.agent/skills/architecture/trade-off-analysis.md +77 -0
  100. package/template/.agent/skills/bash-linux/SKILL.md +199 -0
  101. package/template/.agent/skills/behavioral-modes/SKILL.md +242 -0
  102. package/template/.agent/skills/brainstorming/SKILL.md +163 -0
  103. package/template/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  104. package/template/.agent/skills/claudekit-ai-multimodal/SKILL.md +353 -0
  105. package/template/.agent/skills/clean-code/SKILL.md +201 -0
  106. package/template/.agent/skills/code-review-checklist/SKILL.md +109 -0
  107. package/template/.agent/skills/database-design/SKILL.md +52 -0
  108. package/template/.agent/skills/database-design/database-selection.md +43 -0
  109. package/template/.agent/skills/database-design/indexing.md +39 -0
  110. package/template/.agent/skills/database-design/migrations.md +48 -0
  111. package/template/.agent/skills/database-design/optimization.md +36 -0
  112. package/template/.agent/skills/database-design/orm-selection.md +30 -0
  113. package/template/.agent/skills/database-design/schema-design.md +56 -0
  114. package/template/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  115. package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
  116. package/template/.agent/skills/doc.md +177 -0
  117. package/template/.agent/skills/document/SKILL.md +250 -0
  118. package/template/.agent/skills/documentation-templates/SKILL.md +194 -0
  119. package/template/.agent/skills/frontend-design/SKILL.md +452 -0
  120. package/template/.agent/skills/frontend-design/animation-guide.md +331 -0
  121. package/template/.agent/skills/frontend-design/color-system.md +311 -0
  122. package/template/.agent/skills/frontend-design/decision-trees.md +418 -0
  123. package/template/.agent/skills/frontend-design/motion-graphics.md +306 -0
  124. package/template/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  125. package/template/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  126. package/template/.agent/skills/frontend-design/typography-system.md +345 -0
  127. package/template/.agent/skills/frontend-design/ux-psychology.md +1116 -0
  128. package/template/.agent/skills/frontend-design/visual-effects.md +383 -0
  129. package/template/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  130. package/template/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  131. package/template/.agent/skills/game-development/SKILL.md +167 -0
  132. package/template/.agent/skills/game-development/game-art/SKILL.md +185 -0
  133. package/template/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  134. package/template/.agent/skills/game-development/game-design/SKILL.md +129 -0
  135. package/template/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  136. package/template/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  137. package/template/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  138. package/template/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  139. package/template/.agent/skills/game-development/web-games/SKILL.md +150 -0
  140. package/template/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  141. package/template/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  142. package/template/.agent/skills/i18n-localization/SKILL.md +154 -0
  143. package/template/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  144. package/template/.agent/skills/intelligent-routing/SKILL.md +335 -0
  145. package/template/.agent/skills/lint-and-validate/SKILL.md +45 -0
  146. package/template/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  147. package/template/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  148. package/template/.agent/skills/mcp-builder/SKILL.md +176 -0
  149. package/template/.agent/skills/mindrally-meta-prompt/SKILL.md +129 -0
  150. package/template/.agent/skills/mobile-design/SKILL.md +394 -0
  151. package/template/.agent/skills/mobile-design/decision-trees.md +516 -0
  152. package/template/.agent/skills/mobile-design/mobile-backend.md +491 -0
  153. package/template/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  154. package/template/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  155. package/template/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  156. package/template/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  157. package/template/.agent/skills/mobile-design/mobile-performance.md +767 -0
  158. package/template/.agent/skills/mobile-design/mobile-testing.md +356 -0
  159. package/template/.agent/skills/mobile-design/mobile-typography.md +433 -0
  160. package/template/.agent/skills/mobile-design/platform-android.md +666 -0
  161. package/template/.agent/skills/mobile-design/platform-ios.md +561 -0
  162. package/template/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  163. package/template/.agent/skills/mobile-design/touch-psychology.md +537 -0
  164. package/template/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -0
  165. package/template/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  166. package/template/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  167. package/template/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  168. package/template/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  169. package/template/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  170. package/template/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  171. package/template/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  172. package/template/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -0
  173. package/template/.agent/skills/nextjs-react-expert/SKILL.md +293 -0
  174. package/template/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  175. package/template/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  176. package/template/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  177. package/template/.agent/skills/parallel-agents/SKILL.md +175 -0
  178. package/template/.agent/skills/performance-profiling/SKILL.md +143 -0
  179. package/template/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  180. package/template/.agent/skills/plan-writing/SKILL.md +152 -0
  181. package/template/.agent/skills/pm-skills-create-prd/SKILL.md +88 -0
  182. package/template/.agent/skills/powershell-windows/SKILL.md +167 -0
  183. package/template/.agent/skills/prompt-engineering/SKILL.md +566 -0
  184. package/template/.agent/skills/python-patterns/SKILL.md +441 -0
  185. package/template/.agent/skills/red-team-tactics/SKILL.md +199 -0
  186. package/template/.agent/skills/rust-pro/SKILL.md +176 -0
  187. package/template/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  188. package/template/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  189. package/template/.agent/skills/server-management/SKILL.md +161 -0
  190. package/template/.agent/skills/skills/adr/SKILL.md +282 -0
  191. package/template/.agent/skills/skills/alirezarezvani-code-to-prd/SKILL.md +499 -0
  192. package/template/.agent/skills/skills/claudekit-ai-multimodal/SKILL.md +353 -0
  193. package/template/.agent/skills/skills/document/SKILL.md +250 -0
  194. package/template/.agent/skills/skills/mindrally-meta-prompt/SKILL.md +129 -0
  195. package/template/.agent/skills/skills/pm-skills-create-prd/SKILL.md +88 -0
  196. package/template/.agent/skills/skills/prompt-engineering/SKILL.md +566 -0
  197. package/template/.agent/skills/systematic-debugging/SKILL.md +109 -0
  198. package/template/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  199. package/template/.agent/skills/tdd-workflow/SKILL.md +149 -0
  200. package/template/.agent/skills/testing-patterns/SKILL.md +178 -0
  201. package/template/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  202. package/template/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  203. package/template/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  204. package/template/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  205. package/template/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  206. package/template/.agent/skills/webapp-testing/SKILL.md +187 -0
  207. package/template/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  208. package/template/.agent/skills/zalo-mini-app/SKILL.md +81 -0
  209. package/template/.agent/skills/zalo-mini-app/references/api-device.md +121 -0
  210. package/template/.agent/skills/zalo-mini-app/references/api-overview.md +88 -0
  211. package/template/.agent/skills/zalo-mini-app/references/api-storage.md +74 -0
  212. package/template/.agent/skills/zalo-mini-app/references/api-ui.md +124 -0
  213. package/template/.agent/skills/zalo-mini-app/references/api-user.md +113 -0
  214. package/template/.agent/skills/zalo-mini-app/references/api-zalo.md +127 -0
  215. package/template/.agent/skills/zalo-mini-app/references/design-guidelines.md +70 -0
  216. package/template/.agent/skills/zalo-mini-app/references/getting-started.md +95 -0
  217. package/template/.agent/skills/zalo-mini-app/references/react-best-practices.md +790 -0
  218. package/template/.agent/skills/zalo-mini-app/references/web-design-guidelines.md +591 -0
  219. package/template/.agent/skills/zalo-mini-app/references/zaui-display.md +103 -0
  220. package/template/.agent/skills/zalo-mini-app/references/zaui-form.md +108 -0
  221. package/template/.agent/skills/zalo-mini-app/references/zaui-layout.md +94 -0
  222. package/template/.agent/skills/zalo-mini-app/references/zaui-overlay.md +98 -0
  223. package/template/.agent/skills/zalo-mini-app/references/zaui-overview.md +82 -0
  224. package/template/.agent/workflows/brainstorm.md +113 -0
  225. package/template/.agent/workflows/create.md +59 -0
  226. package/template/.agent/workflows/debug.md +103 -0
  227. package/template/.agent/workflows/deploy.md +176 -0
  228. package/template/.agent/workflows/enhance.md +63 -0
  229. package/template/.agent/workflows/orchestrate.md +237 -0
  230. package/template/.agent/workflows/plan.md +89 -0
  231. package/template/.agent/workflows/preview.md +81 -0
  232. package/template/.agent/workflows/status.md +86 -0
  233. package/template/.agent/workflows/test.md +144 -0
  234. package/template/.agent/workflows/ui-ux-pro-max.md +296 -0
  235. package/template/.agent/workflows/veo-marketing.md +46 -0
@@ -0,0 +1,113 @@
1
+ # User & Authorization APIs
2
+
3
+ ## authorize
4
+ Request permission for sensitive data.
5
+ ```js
6
+ import { authorize } from "zmp-sdk/apis";
7
+
8
+ await authorize({ scopes: ["scope.userInfo", "scope.userPhonenumber"] });
9
+ ```
10
+
11
+ Scopes:
12
+ - `scope.userInfo` - Name & avatar
13
+ - `scope.userPhonenumber` - Phone number
14
+ - `scope.userLocation` - GPS location
15
+
16
+ ## getUserID
17
+ Get unique user identifier (no permission required).
18
+ ```js
19
+ import { getUserID } from "zmp-sdk/apis";
20
+
21
+ const userID = await getUserID({});
22
+ ```
23
+
24
+ ## getUserInfo
25
+ Get user profile with name and avatar.
26
+ ```js
27
+ import { getUserInfo } from "zmp-sdk/apis";
28
+
29
+ const { userInfo } = await getUserInfo({
30
+ autoRequestPermission: true, // Auto-show permission dialog
31
+ avatarType: "normal" // "small" | "normal" | "large"
32
+ });
33
+
34
+ // userInfo: { id, name, avatar, followedOA, idByOA, isSensitive }
35
+ ```
36
+
37
+ Handle permission denied:
38
+ ```js
39
+ try {
40
+ const { userInfo } = await getUserInfo();
41
+ } catch (error) {
42
+ if (error.code === -1401) {
43
+ // User denied permission
44
+ }
45
+ }
46
+ ```
47
+
48
+ ## getPhoneNumber
49
+ Get user phone number (requires permission).
50
+ ```js
51
+ import { getPhoneNumber } from "zmp-sdk/apis";
52
+
53
+ const { number } = await getPhoneNumber({});
54
+ ```
55
+
56
+ ## getAccessToken
57
+ Get token for backend verification.
58
+ ```js
59
+ import { getAccessToken } from "zmp-sdk/apis";
60
+
61
+ const { accessToken } = await getAccessToken({});
62
+ // Send to backend for verification via Open API
63
+ ```
64
+
65
+ ## getSetting
66
+ Check current permission status.
67
+ ```js
68
+ import { getSetting } from "zmp-sdk/apis";
69
+
70
+ const settings = await getSetting({});
71
+ // { "scope.userInfo": true, "scope.userPhonenumber": false }
72
+ ```
73
+
74
+ ## getAppInfo
75
+ Get Mini App information.
76
+ ```js
77
+ import { getAppInfo } from "zmp-sdk/apis";
78
+
79
+ const { appId, appName, version } = await getAppInfo({});
80
+ ```
81
+
82
+ ## getSystemInfo
83
+ Get device and Zalo app info.
84
+ ```js
85
+ import { getSystemInfo } from "zmp-sdk/apis";
86
+
87
+ const {
88
+ platform, // "android" | "ios"
89
+ zaloVersion,
90
+ language,
91
+ screenWidth,
92
+ screenHeight,
93
+ statusBarHeight,
94
+ safeAreaInsets
95
+ } = await getSystemInfo({});
96
+ ```
97
+
98
+ ## getDeviceIdAsync
99
+ Get unique device identifier.
100
+ ```js
101
+ import { getDeviceIdAsync } from "zmp-sdk/apis";
102
+
103
+ const deviceId = await getDeviceIdAsync({});
104
+ ```
105
+
106
+ ## getContextAsync
107
+ Get context when Mini App was opened.
108
+ ```js
109
+ import { getContextAsync } from "zmp-sdk/apis";
110
+
111
+ const context = await getContextAsync({});
112
+ // { entryPoint, referrer, ... }
113
+ ```
@@ -0,0 +1,127 @@
1
+ # Zalo Platform APIs
2
+
3
+ ## Official Account (OA)
4
+
5
+ ### followOA / unfollowOA
6
+ Prompt user to follow/unfollow OA.
7
+ ```js
8
+ import { followOA, unfollowOA } from "zmp-sdk/apis";
9
+
10
+ await followOA({ oaId: "your-oa-id" });
11
+ await unfollowOA({ oaId: "your-oa-id" });
12
+ ```
13
+
14
+ ### interactOA
15
+ Open OA interaction options.
16
+ ```js
17
+ import { interactOA } from "zmp-sdk/apis";
18
+
19
+ await interactOA({ oaId: "your-oa-id" });
20
+ ```
21
+
22
+ ### viewOAQr
23
+ Display OA QR code.
24
+ ```js
25
+ import { viewOAQr } from "zmp-sdk/apis";
26
+
27
+ viewOAQr({ oaId: "your-oa-id" });
28
+ ```
29
+
30
+ ## Chat & Social
31
+
32
+ ### openChat
33
+ Open chat with user or OA.
34
+ ```js
35
+ import { openChat } from "zmp-sdk/apis";
36
+
37
+ openChat({
38
+ type: "oa", // "user" | "oa"
39
+ id: "oa-or-user-id",
40
+ message: "Hello!"
41
+ });
42
+ ```
43
+
44
+ ### openProfile
45
+ Open user/OA profile.
46
+ ```js
47
+ import { openProfile } from "zmp-sdk/apis";
48
+
49
+ openProfile({
50
+ type: "user",
51
+ id: "user-id"
52
+ });
53
+ ```
54
+
55
+ ### openProfilePicker
56
+ Open friend selector.
57
+ ```js
58
+ import { openProfilePicker } from "zmp-sdk/apis";
59
+
60
+ const { users } = await openProfilePicker({
61
+ maxSelection: 5
62
+ });
63
+ ```
64
+
65
+ ### openShareSheet
66
+ Share content.
67
+ ```js
68
+ import { openShareSheet } from "zmp-sdk/apis";
69
+
70
+ openShareSheet({
71
+ type: "link",
72
+ data: {
73
+ link: "https://zalo.me/s/app-id",
74
+ title: "Check this out!",
75
+ description: "Amazing mini app",
76
+ thumbnail: "https://example.com/thumb.jpg"
77
+ }
78
+ });
79
+ ```
80
+
81
+ ### openPostFeed
82
+ Post to Zalo feed.
83
+ ```js
84
+ import { openPostFeed } from "zmp-sdk/apis";
85
+
86
+ openPostFeed({
87
+ type: "link",
88
+ data: {
89
+ link: "https://example.com",
90
+ title: "My Post"
91
+ }
92
+ });
93
+ ```
94
+
95
+ ## App Features
96
+
97
+ ### createShortcut
98
+ Add shortcut to home screen.
99
+ ```js
100
+ import { createShortcut } from "zmp-sdk/apis";
101
+
102
+ await createShortcut({});
103
+ ```
104
+
105
+ ### addRating
106
+ Prompt user to rate mini app.
107
+ ```js
108
+ import { addRating } from "zmp-sdk/apis";
109
+
110
+ addRating({});
111
+ ```
112
+
113
+ ### minimizeApp
114
+ Minimize to background.
115
+ ```js
116
+ import { minimizeApp } from "zmp-sdk/apis";
117
+
118
+ minimizeApp({});
119
+ ```
120
+
121
+ ### favoriteApp
122
+ Add to favorites.
123
+ ```js
124
+ import { favoriteApp } from "zmp-sdk/apis";
125
+
126
+ favoriteApp({});
127
+ ```
@@ -0,0 +1,70 @@
1
+ # Design Guidelines
2
+
3
+ ## Core Principles
4
+ 1. **Fast & Friendly** - Quick, intuitive experience
5
+ 2. **Clear & Consistent** - Easy navigation, unified UI
6
+ 3. **User Control** - Undo actions, feedback, status display
7
+ 4. **Reduce Cognitive Load** - Minimize required actions
8
+
9
+ ## Navigation
10
+
11
+ ### Header Bar
12
+ - Fixed header with back/home button on left
13
+ - Menu button (fixed by Zalo) on top right
14
+ - Don't place elements under menu button
15
+
16
+ ### Bottom Navigation
17
+ - Max 4 tabs recommended
18
+ - Use for main sections only
19
+
20
+ ## Loading States
21
+ 1. **Splash Loading** - Initial app load (auto by Zalo)
22
+ 2. **Progress Bar** - Below action bar for page loads
23
+ 3. **Modal Loading** - Full overlay for operations
24
+
25
+ ## Feedback
26
+ - Show toast for success/error states
27
+ - Provide empty states for no content
28
+ - Show error states with retry options
29
+
30
+ ## Colors
31
+ | Type | Color |
32
+ |------|-------|
33
+ | Primary | #006AF5 |
34
+ | Success | #00C853 |
35
+ | Warning | #FFA000 |
36
+ | Error | #FF3B30 |
37
+ | Text Primary | #141415 |
38
+ | Text Secondary | #767A7F |
39
+ | Background | #F4F5F6 |
40
+
41
+ ## Typography
42
+ - Title: 20px, Bold
43
+ - Subtitle: 16px, Medium
44
+ - Body: 14px, Regular
45
+ - Caption: 12px, Regular
46
+
47
+ ## Spacing
48
+ Base unit: 4px (U1)
49
+ - Component padding: 12-16px
50
+ - Section spacing: 24px
51
+ - Screen margin: 16px
52
+
53
+ ## Corner Radius
54
+ - Buttons: 8px
55
+ - Cards: 12px
56
+ - Modals: 16px
57
+ - Avatar: 20% of width
58
+
59
+ ## Performance
60
+ - Bundle size: <10MB
61
+ - First load: <3 seconds
62
+ - Optimize images, lazy load
63
+
64
+ ## Review Checklist
65
+ - [ ] Logo, name, description accurate
66
+ - [ ] No 3rd party links without approval
67
+ - [ ] No crashes, smooth performance
68
+ - [ ] Good UI/UX following guidelines
69
+ - [ ] Proper authentication
70
+ - [ ] No malicious code
@@ -0,0 +1,95 @@
1
+ # Getting Started with Zalo Mini App
2
+
3
+ ## Prerequisites
4
+ - Node.js installed
5
+ - Zalo Developer account at [Zalo for Developers](https://developers.zalo.me/)
6
+
7
+ ## Create Zalo App & Mini App
8
+ 1. Login to [Zalo for Developers](https://developers.zalo.me/), create a Zalo App
9
+ 2. In Settings, activate the app
10
+ 3. Go to [Mini App Center](https://miniapp.zaloplatforms.com/), select Zalo App, create Mini App
11
+ 4. Note the Mini App ID for development
12
+
13
+ ## Install Dev Tools
14
+ ```bash
15
+ npm install -g zmp-cli
16
+ ```
17
+
18
+ ## Create New Project
19
+ ```bash
20
+ zmp create my-app
21
+ cd my-app
22
+ zmp start
23
+ ```
24
+
25
+ ## Project Structure
26
+ ```
27
+ my-app/
28
+ ├── src/
29
+ │ ├── pages/ # Page components
30
+ │ ├── components/ # Reusable components
31
+ │ └── app.js # Entry point
32
+ ├── app-config.json # Mini App configuration
33
+ ├── .env # Environment variables
34
+ └── package.json
35
+ ```
36
+
37
+ ## app-config.json
38
+ ```json
39
+ {
40
+ "app": {
41
+ "title": "My App",
42
+ "headerColor": "#1843EF",
43
+ "headerTitle": "App Title",
44
+ "textColor": "white",
45
+ "leftButton": "back",
46
+ "statusBar": "normal",
47
+ "actionBarHidden": false
48
+ },
49
+ "listCSS": [],
50
+ "listSyncJS": [],
51
+ "listAsyncJS": []
52
+ }
53
+ ```
54
+
55
+ | Field | Description |
56
+ |-------|-------------|
57
+ | headerColor | Navigation bar background color |
58
+ | headerTitle | Title displayed on navigation bar |
59
+ | textColor | Text color ("white" or "black") |
60
+ | leftButton | "back" or "home" |
61
+ | statusBar | "normal" or "fullscreen" |
62
+ | actionBarHidden | Hide navigation bar |
63
+
64
+ ## Deploy & Test
65
+ ```bash
66
+ zmp deploy # Deploy to testing
67
+ zmp login # Login to Zalo
68
+ ```
69
+
70
+ ## Test on Device
71
+ 1. Open Zalo app
72
+ 2. Scan QR code from Mini App Center
73
+ 3. Or use link: `https://zalo.me/s/{mini-appId}`
74
+
75
+ ## Convert Web App to Mini App
76
+ ```bash
77
+ cd your-web-app
78
+ zmp init
79
+ # Select "Using ZMP to deploy only"
80
+ ```
81
+
82
+ Update root element selector to `#app`:
83
+ ```js
84
+ const root = createRoot(document.getElementById("app"));
85
+ ```
86
+
87
+ For Vite, set `base: "./"` in vite.config.js.
88
+ For Webpack, use `window.APP_VERSION` for public path.
89
+
90
+ ## Publishing
91
+ 1. Go to Mini App Center > Version Management
92
+ 2. Submit version for review
93
+ 3. After approval, click Publish
94
+
95
+ See [design-guidelines.md](./design-guidelines.md) for UI requirements.