@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.
- package/README.md +20 -0
- package/bin/cli.js +63 -0
- package/package.json +27 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/template/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/template/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
- package/template/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
- package/template/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/template/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/template/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/template/.agent/ARCHITECTURE.md +281 -0
- package/template/.agent/agents/backend-specialist.md +263 -0
- package/template/.agent/agents/code-archaeologist.md +106 -0
- package/template/.agent/agents/database-architect.md +226 -0
- package/template/.agent/agents/debugger.md +225 -0
- package/template/.agent/agents/devops-engineer.md +242 -0
- package/template/.agent/agents/documentation-writer.md +104 -0
- package/template/.agent/agents/explorer-agent.md +73 -0
- package/template/.agent/agents/frontend-specialist.md +593 -0
- package/template/.agent/agents/game-developer.md +162 -0
- package/template/.agent/agents/mobile-developer.md +377 -0
- package/template/.agent/agents/orchestrator.md +416 -0
- package/template/.agent/agents/penetration-tester.md +188 -0
- package/template/.agent/agents/performance-optimizer.md +187 -0
- package/template/.agent/agents/product-manager.md +112 -0
- package/template/.agent/agents/product-owner.md +95 -0
- package/template/.agent/agents/project-planner.md +406 -0
- package/template/.agent/agents/qa-automation-engineer.md +103 -0
- package/template/.agent/agents/security-auditor.md +170 -0
- package/template/.agent/agents/seo-specialist.md +111 -0
- package/template/.agent/agents/test-engineer.md +158 -0
- package/template/.agent/mcp_config.json +24 -0
- package/template/.agent/rules/GEMINI.md +273 -0
- package/template/.agent/scripts/auto_preview.py +148 -0
- package/template/.agent/scripts/checklist.py +217 -0
- package/template/.agent/scripts/session_manager.py +120 -0
- package/template/.agent/scripts/verify_all.py +327 -0
- package/template/.agent/skills/adr/SKILL.md +282 -0
- package/template/.agent/skills/alirezarezvani-code-to-prd/SKILL.md +499 -0
- package/template/.agent/skills/api-patterns/SKILL.md +81 -0
- package/template/.agent/skills/api-patterns/api-style.md +42 -0
- package/template/.agent/skills/api-patterns/auth.md +24 -0
- package/template/.agent/skills/api-patterns/documentation.md +26 -0
- package/template/.agent/skills/api-patterns/graphql.md +41 -0
- package/template/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/template/.agent/skills/api-patterns/response.md +37 -0
- package/template/.agent/skills/api-patterns/rest.md +40 -0
- package/template/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/template/.agent/skills/api-patterns/security-testing.md +122 -0
- package/template/.agent/skills/api-patterns/trpc.md +41 -0
- package/template/.agent/skills/api-patterns/versioning.md +22 -0
- package/template/.agent/skills/app-builder/SKILL.md +75 -0
- package/template/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/template/.agent/skills/app-builder/feature-building.md +53 -0
- package/template/.agent/skills/app-builder/project-detection.md +34 -0
- package/template/.agent/skills/app-builder/scaffolding.md +118 -0
- package/template/.agent/skills/app-builder/tech-stack.md +41 -0
- package/template/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/template/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/template/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/template/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/template/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/template/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/template/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/template/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/template/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/template/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/template/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/template/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/template/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/template/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/template/.agent/skills/architecture/SKILL.md +55 -0
- package/template/.agent/skills/architecture/context-discovery.md +43 -0
- package/template/.agent/skills/architecture/examples.md +94 -0
- package/template/.agent/skills/architecture/pattern-selection.md +68 -0
- package/template/.agent/skills/architecture/patterns-reference.md +50 -0
- package/template/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/template/.agent/skills/bash-linux/SKILL.md +199 -0
- package/template/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/template/.agent/skills/brainstorming/SKILL.md +163 -0
- package/template/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/template/.agent/skills/claudekit-ai-multimodal/SKILL.md +353 -0
- package/template/.agent/skills/clean-code/SKILL.md +201 -0
- package/template/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/template/.agent/skills/database-design/SKILL.md +52 -0
- package/template/.agent/skills/database-design/database-selection.md +43 -0
- package/template/.agent/skills/database-design/indexing.md +39 -0
- package/template/.agent/skills/database-design/migrations.md +48 -0
- package/template/.agent/skills/database-design/optimization.md +36 -0
- package/template/.agent/skills/database-design/orm-selection.md +30 -0
- package/template/.agent/skills/database-design/schema-design.md +56 -0
- package/template/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.agent/skills/doc.md +177 -0
- package/template/.agent/skills/document/SKILL.md +250 -0
- package/template/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/template/.agent/skills/frontend-design/SKILL.md +452 -0
- package/template/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/template/.agent/skills/frontend-design/color-system.md +311 -0
- package/template/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/template/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/template/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/template/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/template/.agent/skills/frontend-design/typography-system.md +345 -0
- package/template/.agent/skills/frontend-design/ux-psychology.md +1116 -0
- package/template/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/template/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/template/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/template/.agent/skills/game-development/SKILL.md +167 -0
- package/template/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/template/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/template/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/template/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/template/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/template/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/template/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/template/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/template/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/template/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/template/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/template/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/template/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/template/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/template/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/template/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/template/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/template/.agent/skills/mindrally-meta-prompt/SKILL.md +129 -0
- package/template/.agent/skills/mobile-design/SKILL.md +394 -0
- package/template/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/template/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/template/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/template/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/template/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/template/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/template/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/template/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/template/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/template/.agent/skills/mobile-design/platform-android.md +666 -0
- package/template/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/template/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/template/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/template/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -0
- package/template/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/template/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/template/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/template/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/template/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/template/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/template/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/template/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -0
- package/template/.agent/skills/nextjs-react-expert/SKILL.md +293 -0
- package/template/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/template/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/template/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/template/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/template/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/template/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/template/.agent/skills/plan-writing/SKILL.md +152 -0
- package/template/.agent/skills/pm-skills-create-prd/SKILL.md +88 -0
- package/template/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/template/.agent/skills/prompt-engineering/SKILL.md +566 -0
- package/template/.agent/skills/python-patterns/SKILL.md +441 -0
- package/template/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/template/.agent/skills/rust-pro/SKILL.md +176 -0
- package/template/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/template/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/template/.agent/skills/server-management/SKILL.md +161 -0
- package/template/.agent/skills/skills/adr/SKILL.md +282 -0
- package/template/.agent/skills/skills/alirezarezvani-code-to-prd/SKILL.md +499 -0
- package/template/.agent/skills/skills/claudekit-ai-multimodal/SKILL.md +353 -0
- package/template/.agent/skills/skills/document/SKILL.md +250 -0
- package/template/.agent/skills/skills/mindrally-meta-prompt/SKILL.md +129 -0
- package/template/.agent/skills/skills/pm-skills-create-prd/SKILL.md +88 -0
- package/template/.agent/skills/skills/prompt-engineering/SKILL.md +566 -0
- package/template/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/template/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/template/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/template/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/template/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/template/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/template/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/template/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/template/.agent/skills/web-design-guidelines/SKILL.md +57 -0
- package/template/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/template/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/template/.agent/skills/zalo-mini-app/SKILL.md +81 -0
- package/template/.agent/skills/zalo-mini-app/references/api-device.md +121 -0
- package/template/.agent/skills/zalo-mini-app/references/api-overview.md +88 -0
- package/template/.agent/skills/zalo-mini-app/references/api-storage.md +74 -0
- package/template/.agent/skills/zalo-mini-app/references/api-ui.md +124 -0
- package/template/.agent/skills/zalo-mini-app/references/api-user.md +113 -0
- package/template/.agent/skills/zalo-mini-app/references/api-zalo.md +127 -0
- package/template/.agent/skills/zalo-mini-app/references/design-guidelines.md +70 -0
- package/template/.agent/skills/zalo-mini-app/references/getting-started.md +95 -0
- package/template/.agent/skills/zalo-mini-app/references/react-best-practices.md +790 -0
- package/template/.agent/skills/zalo-mini-app/references/web-design-guidelines.md +591 -0
- package/template/.agent/skills/zalo-mini-app/references/zaui-display.md +103 -0
- package/template/.agent/skills/zalo-mini-app/references/zaui-form.md +108 -0
- package/template/.agent/skills/zalo-mini-app/references/zaui-layout.md +94 -0
- package/template/.agent/skills/zalo-mini-app/references/zaui-overlay.md +98 -0
- package/template/.agent/skills/zalo-mini-app/references/zaui-overview.md +82 -0
- package/template/.agent/workflows/brainstorm.md +113 -0
- package/template/.agent/workflows/create.md +59 -0
- package/template/.agent/workflows/debug.md +103 -0
- package/template/.agent/workflows/deploy.md +176 -0
- package/template/.agent/workflows/enhance.md +63 -0
- package/template/.agent/workflows/orchestrate.md +237 -0
- package/template/.agent/workflows/plan.md +89 -0
- package/template/.agent/workflows/preview.md +81 -0
- package/template/.agent/workflows/status.md +86 -0
- package/template/.agent/workflows/test.md +144 -0
- package/template/.agent/workflows/ui-ux-pro-max.md +296 -0
- package/template/.agent/workflows/veo-marketing.md +46 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# ZaUI Form Components
|
|
2
|
+
|
|
3
|
+
## Button
|
|
4
|
+
```jsx
|
|
5
|
+
import { Button } from "zmp-ui";
|
|
6
|
+
|
|
7
|
+
<Button>Default</Button>
|
|
8
|
+
<Button type="primary">Primary</Button>
|
|
9
|
+
<Button type="danger">Danger</Button>
|
|
10
|
+
<Button size="small">Small</Button>
|
|
11
|
+
<Button size="large" fullWidth>Large Full</Button>
|
|
12
|
+
<Button loading>Loading</Button>
|
|
13
|
+
<Button disabled>Disabled</Button>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Props: `type`, `size`, `fullWidth`, `loading`, `disabled`, `onClick`
|
|
17
|
+
|
|
18
|
+
## Input
|
|
19
|
+
```jsx
|
|
20
|
+
import { Input } from "zmp-ui";
|
|
21
|
+
|
|
22
|
+
<Input label="Name" placeholder="Enter name" />
|
|
23
|
+
<Input type="number" label="Amount" />
|
|
24
|
+
<Input status="error" errorText="Required field" />
|
|
25
|
+
<Input clearable />
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Password
|
|
29
|
+
```jsx
|
|
30
|
+
import { Password } from "zmp-ui";
|
|
31
|
+
|
|
32
|
+
<Password label="Password" />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Search
|
|
36
|
+
```jsx
|
|
37
|
+
import { Search } from "zmp-ui";
|
|
38
|
+
|
|
39
|
+
<Search placeholder="Search..." onChange={(e) => {}} />
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## TextArea
|
|
43
|
+
```jsx
|
|
44
|
+
import { TextArea } from "zmp-ui";
|
|
45
|
+
|
|
46
|
+
<TextArea label="Description" maxLength={200} showCount />
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## OTP
|
|
50
|
+
```jsx
|
|
51
|
+
import { OTP } from "zmp-ui";
|
|
52
|
+
|
|
53
|
+
<OTP length={6} onChange={(value) => console.log(value)} />
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Select
|
|
57
|
+
```jsx
|
|
58
|
+
import { Select } from "zmp-ui";
|
|
59
|
+
|
|
60
|
+
<Select
|
|
61
|
+
label="Country"
|
|
62
|
+
placeholder="Select country"
|
|
63
|
+
onChange={(value) => {}}
|
|
64
|
+
>
|
|
65
|
+
<Option value="vn" title="Vietnam" />
|
|
66
|
+
<Option value="us" title="United States" />
|
|
67
|
+
</Select>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Picker / DatePicker
|
|
71
|
+
```jsx
|
|
72
|
+
import { Picker, DatePicker } from "zmp-ui";
|
|
73
|
+
|
|
74
|
+
<Picker
|
|
75
|
+
data={[{ value: 1, displayName: "Option 1" }]}
|
|
76
|
+
onChange={(value) => {}}
|
|
77
|
+
/>
|
|
78
|
+
|
|
79
|
+
<DatePicker
|
|
80
|
+
label="Birthday"
|
|
81
|
+
value={date}
|
|
82
|
+
onChange={(value) => setDate(value)}
|
|
83
|
+
/>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Switch / Checkbox / Radio
|
|
87
|
+
```jsx
|
|
88
|
+
import { Switch, Checkbox, Radio } from "zmp-ui";
|
|
89
|
+
|
|
90
|
+
<Switch checked={on} onChange={setOn} />
|
|
91
|
+
|
|
92
|
+
<Checkbox.Group onChange={(values) => {}}>
|
|
93
|
+
<Checkbox value="a" label="Option A" />
|
|
94
|
+
<Checkbox value="b" label="Option B" />
|
|
95
|
+
</Checkbox.Group>
|
|
96
|
+
|
|
97
|
+
<Radio.Group value={selected} onChange={setSelected}>
|
|
98
|
+
<Radio value="1" label="Choice 1" />
|
|
99
|
+
<Radio value="2" label="Choice 2" />
|
|
100
|
+
</Radio.Group>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Slider
|
|
104
|
+
```jsx
|
|
105
|
+
import { Slider } from "zmp-ui";
|
|
106
|
+
|
|
107
|
+
<Slider value={50} onChange={(v) => {}} min={0} max={100} />
|
|
108
|
+
```
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# ZaUI Layout Components
|
|
2
|
+
|
|
3
|
+
## App
|
|
4
|
+
Root component wrapping entire app.
|
|
5
|
+
```jsx
|
|
6
|
+
import { App } from "zmp-ui";
|
|
7
|
+
|
|
8
|
+
<App>
|
|
9
|
+
{/* Your app content */}
|
|
10
|
+
</App>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Page
|
|
14
|
+
Page container with header support.
|
|
15
|
+
```jsx
|
|
16
|
+
import { Page, Header } from "zmp-ui";
|
|
17
|
+
|
|
18
|
+
<Page>
|
|
19
|
+
<Header title="Page Title" />
|
|
20
|
+
<div className="page-content">
|
|
21
|
+
{/* Content */}
|
|
22
|
+
</div>
|
|
23
|
+
</Page>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Props:
|
|
27
|
+
- `hideScrollbar` - Hide scrollbar
|
|
28
|
+
- `restoreScrollOnBack` - Restore scroll position
|
|
29
|
+
|
|
30
|
+
## Header
|
|
31
|
+
Custom header component.
|
|
32
|
+
```jsx
|
|
33
|
+
import { Header } from "zmp-ui";
|
|
34
|
+
|
|
35
|
+
<Header
|
|
36
|
+
title="My Page"
|
|
37
|
+
showBackIcon={true}
|
|
38
|
+
onBackClick={() => navigate(-1)}
|
|
39
|
+
/>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Props:
|
|
43
|
+
- `title` - Header title
|
|
44
|
+
- `showBackIcon` - Show back button
|
|
45
|
+
- `onBackClick` - Back button handler
|
|
46
|
+
|
|
47
|
+
## BottomNavigation
|
|
48
|
+
Fixed bottom tab bar.
|
|
49
|
+
```jsx
|
|
50
|
+
import { BottomNavigation } from "zmp-ui";
|
|
51
|
+
|
|
52
|
+
<BottomNavigation fixed>
|
|
53
|
+
<BottomNavigation.Item
|
|
54
|
+
key="home"
|
|
55
|
+
label="Home"
|
|
56
|
+
icon={<Icon icon="zi-home" />}
|
|
57
|
+
activeIcon={<Icon icon="zi-home-solid" />}
|
|
58
|
+
/>
|
|
59
|
+
<BottomNavigation.Item
|
|
60
|
+
key="profile"
|
|
61
|
+
label="Profile"
|
|
62
|
+
icon={<Icon icon="zi-user" />}
|
|
63
|
+
activeIcon={<Icon icon="zi-user-solid" />}
|
|
64
|
+
/>
|
|
65
|
+
</BottomNavigation>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Tabs
|
|
69
|
+
Tab panels.
|
|
70
|
+
```jsx
|
|
71
|
+
import { Tabs } from "zmp-ui";
|
|
72
|
+
|
|
73
|
+
<Tabs defaultActiveKey="tab1">
|
|
74
|
+
<Tabs.Tab key="tab1" label="Tab 1">
|
|
75
|
+
Content 1
|
|
76
|
+
</Tabs.Tab>
|
|
77
|
+
<Tabs.Tab key="tab2" label="Tab 2">
|
|
78
|
+
Content 2
|
|
79
|
+
</Tabs.Tab>
|
|
80
|
+
</Tabs>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## ZMPRouter / AnimationRoutes
|
|
84
|
+
Router with page transitions.
|
|
85
|
+
```jsx
|
|
86
|
+
import { ZMPRouter, AnimationRoutes, Route } from "zmp-ui";
|
|
87
|
+
|
|
88
|
+
<ZMPRouter>
|
|
89
|
+
<AnimationRoutes>
|
|
90
|
+
<Route path="/" element={<HomePage />} />
|
|
91
|
+
<Route path="/profile" element={<ProfilePage />} />
|
|
92
|
+
</AnimationRoutes>
|
|
93
|
+
</ZMPRouter>
|
|
94
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# ZaUI Overlay Components
|
|
2
|
+
|
|
3
|
+
## Modal
|
|
4
|
+
Dialog modal.
|
|
5
|
+
```jsx
|
|
6
|
+
import { Modal, Button } from "zmp-ui";
|
|
7
|
+
|
|
8
|
+
const [visible, setVisible] = useState(false);
|
|
9
|
+
|
|
10
|
+
<Button onClick={() => setVisible(true)}>Open Modal</Button>
|
|
11
|
+
|
|
12
|
+
<Modal
|
|
13
|
+
visible={visible}
|
|
14
|
+
title="Confirm"
|
|
15
|
+
onClose={() => setVisible(false)}
|
|
16
|
+
actions={[
|
|
17
|
+
{ text: "Cancel", close: true },
|
|
18
|
+
{ text: "OK", close: true, highLight: true }
|
|
19
|
+
]}
|
|
20
|
+
>
|
|
21
|
+
Are you sure you want to proceed?
|
|
22
|
+
</Modal>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Props:
|
|
26
|
+
- `visible` - Show/hide modal
|
|
27
|
+
- `title` - Modal title
|
|
28
|
+
- `onClose` - Close handler
|
|
29
|
+
- `actions` - Footer buttons
|
|
30
|
+
- `maskClosable` - Click mask to close
|
|
31
|
+
|
|
32
|
+
## Sheet
|
|
33
|
+
Bottom sheet.
|
|
34
|
+
```jsx
|
|
35
|
+
import { Sheet, Button } from "zmp-ui";
|
|
36
|
+
|
|
37
|
+
const [visible, setVisible] = useState(false);
|
|
38
|
+
|
|
39
|
+
<Button onClick={() => setVisible(true)}>Open Sheet</Button>
|
|
40
|
+
|
|
41
|
+
<Sheet visible={visible} onClose={() => setVisible(false)} height={300}>
|
|
42
|
+
<Sheet.Header title="Select Option" />
|
|
43
|
+
<Sheet.Content>
|
|
44
|
+
{/* Sheet content */}
|
|
45
|
+
</Sheet.Content>
|
|
46
|
+
</Sheet>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Props:
|
|
50
|
+
- `visible`, `onClose`
|
|
51
|
+
- `height` - Sheet height
|
|
52
|
+
- `swipeToClose` - Enable swipe gesture
|
|
53
|
+
|
|
54
|
+
## ActionSheet
|
|
55
|
+
Action menu.
|
|
56
|
+
```jsx
|
|
57
|
+
import { ActionSheet } from "zmp-ui";
|
|
58
|
+
|
|
59
|
+
const [visible, setVisible] = useState(false);
|
|
60
|
+
|
|
61
|
+
<ActionSheet
|
|
62
|
+
visible={visible}
|
|
63
|
+
onClose={() => setVisible(false)}
|
|
64
|
+
actions={[
|
|
65
|
+
{ text: "Edit", onClick: handleEdit },
|
|
66
|
+
{ text: "Delete", danger: true, onClick: handleDelete },
|
|
67
|
+
{ text: "Cancel", close: true }
|
|
68
|
+
]}
|
|
69
|
+
/>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## SnackbarProvider
|
|
73
|
+
Toast notifications.
|
|
74
|
+
```jsx
|
|
75
|
+
import { SnackbarProvider, useSnackbar, App } from "zmp-ui";
|
|
76
|
+
|
|
77
|
+
// Wrap app
|
|
78
|
+
<App>
|
|
79
|
+
<SnackbarProvider>
|
|
80
|
+
<YourApp />
|
|
81
|
+
</SnackbarProvider>
|
|
82
|
+
</App>
|
|
83
|
+
|
|
84
|
+
// Use in component
|
|
85
|
+
function MyComponent() {
|
|
86
|
+
const { openSnackbar } = useSnackbar();
|
|
87
|
+
|
|
88
|
+
const showMessage = () => {
|
|
89
|
+
openSnackbar({
|
|
90
|
+
text: "Operation successful!",
|
|
91
|
+
type: "success", // "success" | "error" | "warning" | "info"
|
|
92
|
+
duration: 3000
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
return <Button onClick={showMessage}>Show Toast</Button>;
|
|
97
|
+
}
|
|
98
|
+
```
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# ZaUI Components
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
```bash
|
|
5
|
+
npm install zmp-ui
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
```js
|
|
10
|
+
import { Button, Input, Modal } from "zmp-ui";
|
|
11
|
+
import "zmp-ui/zaui.css";
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Categories
|
|
15
|
+
|
|
16
|
+
### Layout
|
|
17
|
+
See [zaui-layout.md](./zaui-layout.md)
|
|
18
|
+
- `App` - Root wrapper
|
|
19
|
+
- `Page` - Page container
|
|
20
|
+
- `Header` - Custom header
|
|
21
|
+
- `BottomNavigation` - Tab bar
|
|
22
|
+
- `Tabs` - Tab panels
|
|
23
|
+
- `ZMPRouter` - Router integration
|
|
24
|
+
|
|
25
|
+
### Display
|
|
26
|
+
See [zaui-display.md](./zaui-display.md)
|
|
27
|
+
- `Avatar` - User avatar
|
|
28
|
+
- `Calendar` - Date display
|
|
29
|
+
- `Icon` - Zalo icons
|
|
30
|
+
- `ImageViewer` - Image gallery
|
|
31
|
+
- `List` - List items
|
|
32
|
+
- `Progress` - Progress bar
|
|
33
|
+
- `Spinner` - Loading indicator
|
|
34
|
+
- `Swiper` - Carousel
|
|
35
|
+
- `Text` - Typography
|
|
36
|
+
|
|
37
|
+
### Form
|
|
38
|
+
See [zaui-form.md](./zaui-form.md)
|
|
39
|
+
- `Button` - Buttons
|
|
40
|
+
- `Input` - Text input
|
|
41
|
+
- `Password` - Password input
|
|
42
|
+
- `Search` - Search input
|
|
43
|
+
- `TextArea` - Multiline input
|
|
44
|
+
- `OTP` - OTP input
|
|
45
|
+
- `Select` - Dropdown
|
|
46
|
+
- `Picker` - Scroll picker
|
|
47
|
+
- `DatePicker` - Date selection
|
|
48
|
+
- `Switch` - Toggle
|
|
49
|
+
- `Checkbox` - Checkboxes
|
|
50
|
+
- `Radio` - Radio buttons
|
|
51
|
+
- `Slider` - Range slider
|
|
52
|
+
|
|
53
|
+
### Overlay
|
|
54
|
+
See [zaui-overlay.md](./zaui-overlay.md)
|
|
55
|
+
- `Modal` - Dialog modal
|
|
56
|
+
- `Sheet` - Bottom sheet
|
|
57
|
+
- `ActionSheet` - Action menu
|
|
58
|
+
- `SnackbarProvider` - Toast notifications
|
|
59
|
+
|
|
60
|
+
## Design Tokens
|
|
61
|
+
|
|
62
|
+
### Colors
|
|
63
|
+
Primary: `#006AF5` (Zalo Blue)
|
|
64
|
+
Background: `#FFFFFF`, `#F4F5F6`
|
|
65
|
+
Text: `#141415`, `#767A7F`
|
|
66
|
+
Success: `#00C853`
|
|
67
|
+
Warning: `#FFA000`
|
|
68
|
+
Error: `#FF3B30`
|
|
69
|
+
|
|
70
|
+
### Spacing (4px base)
|
|
71
|
+
- U1: 4px, U2: 8px, U3: 12px
|
|
72
|
+
- U4: 16px, U6: 24px, U8: 32px
|
|
73
|
+
|
|
74
|
+
### Corner Radius
|
|
75
|
+
- Small: 4px
|
|
76
|
+
- Medium: 8px
|
|
77
|
+
- Large: 12px
|
|
78
|
+
- XLarge: 16px
|
|
79
|
+
|
|
80
|
+
### Typography
|
|
81
|
+
Font: System default
|
|
82
|
+
Sizes: 12px, 14px, 16px, 18px, 20px, 24px
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Structured brainstorming for projects and features. Explores multiple options before implementation.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /brainstorm - Structured Idea Exploration
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This command activates BRAINSTORM mode for structured idea exploration. Use when you need to explore options before committing to an implementation.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Behavior
|
|
18
|
+
|
|
19
|
+
When `/brainstorm` is triggered:
|
|
20
|
+
|
|
21
|
+
1. **Understand the goal**
|
|
22
|
+
- What problem are we solving?
|
|
23
|
+
- Who is the user?
|
|
24
|
+
- What constraints exist?
|
|
25
|
+
|
|
26
|
+
2. **Generate options**
|
|
27
|
+
- Provide at least 3 different approaches
|
|
28
|
+
- Each with pros and cons
|
|
29
|
+
- Consider unconventional solutions
|
|
30
|
+
|
|
31
|
+
3. **Compare and recommend**
|
|
32
|
+
- Summarize tradeoffs
|
|
33
|
+
- Give a recommendation with reasoning
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Output Format
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
## 🧠 Brainstorm: [Topic]
|
|
41
|
+
|
|
42
|
+
### Context
|
|
43
|
+
[Brief problem statement]
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### Option A: [Name]
|
|
48
|
+
[Description]
|
|
49
|
+
|
|
50
|
+
✅ **Pros:**
|
|
51
|
+
- [benefit 1]
|
|
52
|
+
- [benefit 2]
|
|
53
|
+
|
|
54
|
+
❌ **Cons:**
|
|
55
|
+
- [drawback 1]
|
|
56
|
+
|
|
57
|
+
📊 **Effort:** Low | Medium | High
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### Option B: [Name]
|
|
62
|
+
[Description]
|
|
63
|
+
|
|
64
|
+
✅ **Pros:**
|
|
65
|
+
- [benefit 1]
|
|
66
|
+
|
|
67
|
+
❌ **Cons:**
|
|
68
|
+
- [drawback 1]
|
|
69
|
+
- [drawback 2]
|
|
70
|
+
|
|
71
|
+
📊 **Effort:** Low | Medium | High
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### Option C: [Name]
|
|
76
|
+
[Description]
|
|
77
|
+
|
|
78
|
+
✅ **Pros:**
|
|
79
|
+
- [benefit 1]
|
|
80
|
+
|
|
81
|
+
❌ **Cons:**
|
|
82
|
+
- [drawback 1]
|
|
83
|
+
|
|
84
|
+
📊 **Effort:** Low | Medium | High
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 💡 Recommendation
|
|
89
|
+
|
|
90
|
+
**Option [X]** because [reasoning].
|
|
91
|
+
|
|
92
|
+
What direction would you like to explore?
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Examples
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
/brainstorm authentication system
|
|
101
|
+
/brainstorm state management for complex form
|
|
102
|
+
/brainstorm database schema for social app
|
|
103
|
+
/brainstorm caching strategy
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Key Principles
|
|
109
|
+
|
|
110
|
+
- **No code** - this is about ideas, not implementation
|
|
111
|
+
- **Visual when helpful** - use diagrams for architecture
|
|
112
|
+
- **Honest tradeoffs** - don't hide complexity
|
|
113
|
+
- **Defer to user** - present options, let them decide
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create new application command. Triggers App Builder skill and starts interactive dialogue with user.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /create - Create Application
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Task
|
|
12
|
+
|
|
13
|
+
This command starts a new application creation process.
|
|
14
|
+
|
|
15
|
+
### Steps:
|
|
16
|
+
|
|
17
|
+
1. **Request Analysis**
|
|
18
|
+
- Understand what the user wants
|
|
19
|
+
- If information is missing, use `conversation-manager` skill to ask
|
|
20
|
+
|
|
21
|
+
2. **Project Planning**
|
|
22
|
+
- Use `project-planner` agent for task breakdown
|
|
23
|
+
- Determine tech stack
|
|
24
|
+
- Plan file structure
|
|
25
|
+
- Create plan file and proceed to building
|
|
26
|
+
|
|
27
|
+
3. **Application Building (After Approval)**
|
|
28
|
+
- Orchestrate with `app-builder` skill
|
|
29
|
+
- Coordinate expert agents:
|
|
30
|
+
- `database-architect` → Schema
|
|
31
|
+
- `backend-specialist` → API
|
|
32
|
+
- `frontend-specialist` → UI
|
|
33
|
+
|
|
34
|
+
4. **Preview**
|
|
35
|
+
- Start with `auto_preview.py` when complete
|
|
36
|
+
- Present URL to user
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Usage Examples
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
/create blog site
|
|
44
|
+
/create e-commerce app with product listing and cart
|
|
45
|
+
/create todo app
|
|
46
|
+
/create Instagram clone
|
|
47
|
+
/create crm system with customer management
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Before Starting
|
|
53
|
+
|
|
54
|
+
If request is unclear, ask these questions:
|
|
55
|
+
- What type of application?
|
|
56
|
+
- What are the basic features?
|
|
57
|
+
- Who will use it?
|
|
58
|
+
|
|
59
|
+
Use defaults, add details later.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Debugging command. Activates DEBUG mode for systematic problem investigation.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /debug - Systematic Problem Investigation
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This command activates DEBUG mode for systematic investigation of issues, errors, or unexpected behavior.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Behavior
|
|
18
|
+
|
|
19
|
+
When `/debug` is triggered:
|
|
20
|
+
|
|
21
|
+
1. **Gather information**
|
|
22
|
+
- Error message
|
|
23
|
+
- Reproduction steps
|
|
24
|
+
- Expected vs actual behavior
|
|
25
|
+
- Recent changes
|
|
26
|
+
|
|
27
|
+
2. **Form hypotheses**
|
|
28
|
+
- List possible causes
|
|
29
|
+
- Order by likelihood
|
|
30
|
+
|
|
31
|
+
3. **Investigate systematically**
|
|
32
|
+
- Test each hypothesis
|
|
33
|
+
- Check logs, data flow
|
|
34
|
+
- Use elimination method
|
|
35
|
+
|
|
36
|
+
4. **Fix and prevent**
|
|
37
|
+
- Apply fix
|
|
38
|
+
- Explain root cause
|
|
39
|
+
- Add prevention measures
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Output Format
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
## 🔍 Debug: [Issue]
|
|
47
|
+
|
|
48
|
+
### 1. Symptom
|
|
49
|
+
[What's happening]
|
|
50
|
+
|
|
51
|
+
### 2. Information Gathered
|
|
52
|
+
- Error: `[error message]`
|
|
53
|
+
- File: `[filepath]`
|
|
54
|
+
- Line: [line number]
|
|
55
|
+
|
|
56
|
+
### 3. Hypotheses
|
|
57
|
+
1. ❓ [Most likely cause]
|
|
58
|
+
2. ❓ [Second possibility]
|
|
59
|
+
3. ❓ [Less likely cause]
|
|
60
|
+
|
|
61
|
+
### 4. Investigation
|
|
62
|
+
|
|
63
|
+
**Testing hypothesis 1:**
|
|
64
|
+
[What I checked] → [Result]
|
|
65
|
+
|
|
66
|
+
**Testing hypothesis 2:**
|
|
67
|
+
[What I checked] → [Result]
|
|
68
|
+
|
|
69
|
+
### 5. Root Cause
|
|
70
|
+
🎯 **[Explanation of why this happened]**
|
|
71
|
+
|
|
72
|
+
### 6. Fix
|
|
73
|
+
```[language]
|
|
74
|
+
// Before
|
|
75
|
+
[broken code]
|
|
76
|
+
|
|
77
|
+
// After
|
|
78
|
+
[fixed code]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 7. Prevention
|
|
82
|
+
🛡️ [How to prevent this in the future]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Examples
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
/debug login not working
|
|
91
|
+
/debug API returns 500
|
|
92
|
+
/debug form doesn't submit
|
|
93
|
+
/debug data not saving
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Key Principles
|
|
99
|
+
|
|
100
|
+
- **Ask before assuming** - get full error context
|
|
101
|
+
- **Test hypotheses** - don't guess randomly
|
|
102
|
+
- **Explain why** - not just what to fix
|
|
103
|
+
- **Prevent recurrence** - add tests, validation
|