foliko 1.1.38 → 1.1.39
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/.agent/agents/network-requester.md +44 -0
- package/.agent/agents/poster-designer.md +52 -0
- package/.agent/agents/ui-designer.md +1 -1
- package/.agent/data/default.json +23 -407
- package/.agent/data/email/processed-emails.json +1 -0
- package/.agent/data/plugins-state.json +103 -200
- package/.agent/data/web/web-config.json +5 -0
- package/.agent/data/weixin/images/file_1776188148383jpg +0 -0
- package/.agent/data/weixin/images/file_1776188458326.jpg +0 -0
- package/.agent/data/weixin/images/file_1776188689423.jpg +0 -0
- package/.agent/data/weixin/images/file_1776188813604.jpg +0 -0
- package/.agent/data/weixin/images/file_1776189097450.jpg +0 -0
- package/.agent/data/weixin/videos/file_1776188318431.mp4 +0 -0
- package/.agent/mcp_config.json +4 -17
- package/.agent/memory/user/mof6gk94-kneeuh.md +9 -0
- package/.agent/package.json +8 -0
- package/.agent/plugins/marknative/README.md +134 -0
- package/.agent/plugins/marknative/fonts/SegoeUI Emoji.ttf +0 -0
- package/.agent/plugins/marknative/fonts.zip +0 -0
- package/.agent/plugins/marknative/index.js +256 -0
- package/.agent/plugins/marknative/package.json +12 -0
- package/.agent/plugins/test-plugin.py +99 -0
- package/.agent/plugins.json +11 -5
- package/.agent/python-scripts/test_sample.py +24 -0
- package/.agent/sessions/cli_default.json +2890 -18
- package/.agent/sessions/default.json +82 -0
- package/.agent/sessions/qq_c2c_D960F12877541624D7B2C836110B3D0F.json +25 -0
- package/.agent/sessions/test-clean.json +26 -0
- package/.agent/sessions/test-compress.json +1462 -0
- package/.agent/sessions/test-session.json +13 -0
- package/.agent/sessions/weixin_test.json +22 -0
- package/.agent/sessions/weixin_test_user_123.json +11 -0
- package/.agent/skills/agent-browser/SKILL.md +311 -0
- package/.agent/skills/agent-browser/TEST_PLAN.md +200 -0
- package/.agent/skills/sysinfo/SKILL.md +38 -0
- package/.agent/skills/sysinfo/system-info.sh +130 -0
- package/.agent/skills/workflow/SKILL.md +324 -0
- package/.agent/test-agent.js +35 -0
- package/.agent/weixin.json +6 -0
- package/.agent/workflows/email-digest.json +50 -0
- package/.agent/workflows/file-backup.json +21 -0
- package/.agent/workflows/get-ip-notify.json +32 -0
- package/.agent/workflows/news-aggregator.json +93 -0
- package/.agent/workflows/news-dashboard-v2.json +94 -0
- package/.agent/workflows/notification-batch.json +32 -0
- package/.claude/settings.local.json +2 -1
- package/.env.example +56 -56
- package/README.md +441 -441
- package/cli/src/utils/debounce.js +6 -3
- package/docs/qq-bot.md +976 -0
- package/package.json +2 -1
- package/plugins/qq-plugin.js +939 -0
- package/skills/find-skills/AGENTS.md +162 -162
- package/skills/find-skills/SKILL.md +133 -133
- package/temp_img.md +1 -0
- package/website_v2/styles/animations.css +7 -7
- package/.agent/.shared/ui-ux-pro-max/data/charts.csv +0 -26
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +0 -97
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +0 -101
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +0 -31
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +0 -97
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +0 -24
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +0 -45
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -51
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +0 -54
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +0 -50
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +0 -59
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +0 -58
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +0 -101
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +0 -31
- package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +0 -258
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +0 -1067
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +0 -106
- package/.agent/ARCHITECTURE.md +0 -288
- package/.agent/data/ambient/goals.json +0 -1
- package/.agent/data/puppeteer-sessions/undefined.json +0 -6
- package/.agent/data/weixin-media/2026-04-08/img_1775618677512.jpg +0 -0
- package/.agent/data/weixin-media/2026-04-08/img_1775619073340.jpg +0 -0
- package/.agent/data/weixin-media/2026-04-08/img_1775619097536.jpg +0 -0
- package/.agent/data/weixin-media/2026-04-08/img_1775619209388.jpg +0 -0
- package/.agent/memory/feedback/mnygjgox-ualjip.md +0 -11
- package/.agent/memory/feedback/mnzugpej-esdwsr.md +0 -9
- package/.agent/memory/feedback/mo2quxke-saxs56.md +0 -9
- package/.agent/memory/feedback/mo9l6nw9-sm1ye2.md +0 -13
- package/.agent/memory/feedback/mo9uxkb3-bbxz3x.md +0 -9
- package/.agent/memory/feedback/mo9wpqy0-ftsez9.md +0 -13
- package/.agent/memory/feedback/mo9x2ps4-p7huqq.md +0 -11
- package/.agent/memory/feedback/mo9x2uay-z7ndjn.md +0 -9
- package/.agent/memory/feedback/mo9x2y7d-9wecyx.md +0 -9
- package/.agent/memory/feedback/mo9x39q3-nn7myt.md +0 -9
- package/.agent/memory/feedback/mo9xfir9-4g8a8j.md +0 -9
- package/.agent/memory/feedback/mo9xfui8-ujqrc6.md +0 -9
- package/.agent/memory/feedback/mocnx1wx-qtxxlh.md +0 -9
- package/.agent/memory/project/mnqx54u5-loqtoe.md +0 -9
- package/.agent/memory/project/mnqx84cv-mx6dmd.md +0 -9
- package/.agent/memory/project/mnsacuyr-hgtk5n.md +0 -20
- package/.agent/memory/project/mnu5hy2x-bjsg7u.md +0 -9
- package/.agent/memory/project/mny28ot4-8qe9au.md +0 -9
- package/.agent/memory/project/mnztftxj-af82rh.md +0 -9
- package/.agent/memory/project/mo0y04d0-bmaefl.md +0 -9
- package/.agent/memory/project/mo2iztxb-3c7v81.md +0 -9
- package/.agent/memory/project/mo2ssa5x-tpi1p3.md +0 -9
- package/.agent/memory/reference/mnre3cww-penbo1.md +0 -9
- package/.agent/memory/reference/mns9wn48-luerua.md +0 -14
- package/.agent/memory/reference/mns9yz5c-thc2s0.md +0 -16
- package/.agent/memory/reference/mnsfy4um-910f1o.md +0 -23
- package/.agent/memory/reference/mnsg37dp-lmfj18.md +0 -32
- package/.agent/memory/reference/mnsll60q-0j911u.md +0 -36
- package/.agent/memory/reference/mnsmlb5y-nej31u.md +0 -16
- package/.agent/memory/reference/mnssle72-yrot96.md +0 -9
- package/.agent/memory/reference/mnygj8nb-bjthmc.md +0 -20
- package/.agent/memory/reference/mnzfvs4m-ufyg9a.md +0 -12
- package/.agent/memory/user/mnsfuon6-l416q1.md +0 -21
- package/.agent/memory/user/mnsg9kut-95m7rf.md +0 -20
- package/.agent/memory/user/mnu2eo1v-yy6fhe.md +0 -9
- package/.agent/memory/user/mnu2etuo-8u8jk8.md +0 -9
- package/.agent/memory/user/mnx0rk6g-gsznjj.md +0 -9
- package/.agent/memory/user/mnyf1riz-4yo5yz.md +0 -9
- package/.agent/memory/user/mnzuh4cw-zvee8w.md +0 -13
- package/.agent/memory/user/mnzvewyj-jl67cq.md +0 -9
- package/.agent/memory/user/mnzwh9xo-43ys3f.md +0 -9
- package/.agent/memory/user/mo0ycvpn-eebsxc.md +0 -9
- package/.agent/memory/user/mo2k8c8n-132r2u.md +0 -9
- package/.agent/memory/user/mo6y2dei-5cf537.md +0 -13
- package/.agent/memory/user/mo9xsdo6-8vylww.md +0 -13
- package/.agent/plugins/puppeteer-plugin/README.md +0 -147
- package/.agent/plugins/puppeteer-plugin/index.js +0 -1422
- package/.agent/plugins/puppeteer-plugin/package.json +0 -9
- package/.agent/rules/GEMINI.md +0 -273
- package/.agent/rules/allow-rule.md +0 -77
- package/.agent/rules/log-rule.md +0 -83
- package/.agent/rules/security-rule.md +0 -93
- package/.agent/scripts/auto_preview.py +0 -148
- package/.agent/scripts/checklist.py +0 -217
- package/.agent/scripts/session_manager.py +0 -120
- package/.agent/scripts/verify_all.py +0 -327
- package/.agent/skills/doc.md +0 -177
- package/.agent/skills/fk-poster/SKILL.md +0 -1129
- package/.agent/skills/fkbuilder/SKILL.md +0 -730
- package/.agent/skills/mmx-cli/SKILL.md +0 -431
- package/.agent/workflows/brainstorm.md +0 -113
- package/.agent/workflows/create.md +0 -59
- package/.agent/workflows/debug.md +0 -103
- package/.agent/workflows/deploy.md +0 -176
- package/.agent/workflows/enhance.md +0 -63
- package/.agent/workflows/orchestrate.md +0 -237
- package/.agent/workflows/plan.md +0 -89
- package/.agent/workflows/preview.md +0 -81
- package/.agent/workflows/simple-test.md +0 -42
- package/.agent/workflows/status.md +0 -86
- package/.agent/workflows/structured-orchestrate.md +0 -180
- package/.agent/workflows/test.md +0 -144
- package/.agent/workflows/ui-ux-pro-max.md +0 -296
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Display agent and project status. Progress tracking and status board.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /status - Show Status
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Task
|
|
12
|
-
|
|
13
|
-
Show current project and agent status.
|
|
14
|
-
|
|
15
|
-
### What It Shows
|
|
16
|
-
|
|
17
|
-
1. **Project Info**
|
|
18
|
-
- Project name and path
|
|
19
|
-
- Tech stack
|
|
20
|
-
- Current features
|
|
21
|
-
|
|
22
|
-
2. **Agent Status Board**
|
|
23
|
-
- Which agents are running
|
|
24
|
-
- Which tasks are completed
|
|
25
|
-
- Pending work
|
|
26
|
-
|
|
27
|
-
3. **File Statistics**
|
|
28
|
-
- Files created count
|
|
29
|
-
- Files modified count
|
|
30
|
-
|
|
31
|
-
4. **Preview Status**
|
|
32
|
-
- Is server running
|
|
33
|
-
- URL
|
|
34
|
-
- Health check
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Example Output
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
=== Project Status ===
|
|
42
|
-
|
|
43
|
-
📁 Project: my-ecommerce
|
|
44
|
-
📂 Path: C:/projects/my-ecommerce
|
|
45
|
-
🏷️ Type: nextjs-ecommerce
|
|
46
|
-
📊 Status: active
|
|
47
|
-
|
|
48
|
-
🔧 Tech Stack:
|
|
49
|
-
Framework: next.js
|
|
50
|
-
Database: postgresql
|
|
51
|
-
Auth: clerk
|
|
52
|
-
Payment: stripe
|
|
53
|
-
|
|
54
|
-
✅ Features (5):
|
|
55
|
-
• product-listing
|
|
56
|
-
• cart
|
|
57
|
-
• checkout
|
|
58
|
-
• user-auth
|
|
59
|
-
• order-history
|
|
60
|
-
|
|
61
|
-
⏳ Pending (2):
|
|
62
|
-
• admin-panel
|
|
63
|
-
• email-notifications
|
|
64
|
-
|
|
65
|
-
📄 Files: 73 created, 12 modified
|
|
66
|
-
|
|
67
|
-
=== Agent Status ===
|
|
68
|
-
|
|
69
|
-
✅ database-architect → Completed
|
|
70
|
-
✅ backend-specialist → Completed
|
|
71
|
-
🔄 frontend-specialist → Dashboard components (60%)
|
|
72
|
-
⏳ test-engineer → Waiting
|
|
73
|
-
|
|
74
|
-
=== Preview ===
|
|
75
|
-
|
|
76
|
-
🌐 URL: http://localhost:3000
|
|
77
|
-
💚 Health: OK
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Technical
|
|
83
|
-
|
|
84
|
-
Status uses these scripts:
|
|
85
|
-
- `python .agent/scripts/session_manager.py status`
|
|
86
|
-
- `python .agent/scripts/auto_preview.py status`
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: structured-orchestrate
|
|
3
|
-
description: 结构化编排工作流示例 - 演示多Agent协同工作
|
|
4
|
-
version: "1.0"
|
|
5
|
-
author: "Foliko Team"
|
|
6
|
-
steps:
|
|
7
|
-
- type: sequential
|
|
8
|
-
name: 规划阶段
|
|
9
|
-
steps:
|
|
10
|
-
- type: agent
|
|
11
|
-
name: 项目规划
|
|
12
|
-
agentName: project-planner
|
|
13
|
-
inputTemplate: |
|
|
14
|
-
请为以下任务创建详细的项目计划:
|
|
15
|
-
|
|
16
|
-
任务:{{task}}
|
|
17
|
-
|
|
18
|
-
要求:
|
|
19
|
-
1. 创建 docs/PLAN.md 文件
|
|
20
|
-
2. 包含技术栈选择
|
|
21
|
-
3. 包含实施步骤
|
|
22
|
-
4. 包含时间估算
|
|
23
|
-
outputVariable: planResult
|
|
24
|
-
|
|
25
|
-
- type: condition
|
|
26
|
-
name: 检查计划是否存在
|
|
27
|
-
condition: "ctx.variables.planResult && ctx.variables.planResult.output && ctx.variables.planResult.output.includes('PLAN.md')"
|
|
28
|
-
trueSteps:
|
|
29
|
-
- type: agent
|
|
30
|
-
name: 请求用户批准
|
|
31
|
-
agentName: product-owner
|
|
32
|
-
inputTemplate: |
|
|
33
|
-
计划已创建:docs/PLAN.md
|
|
34
|
-
|
|
35
|
-
计划摘要:
|
|
36
|
-
{{vars.planResult.output}}
|
|
37
|
-
|
|
38
|
-
请确认是否批准执行?(Y/N)
|
|
39
|
-
outputVariable: approvalResult
|
|
40
|
-
|
|
41
|
-
- type: condition
|
|
42
|
-
name: 检查用户批准
|
|
43
|
-
condition: "ctx.variables.approvalResult && ctx.variables.approvalResult.output && ctx.variables.approvalResult.output.includes('Y')"
|
|
44
|
-
trueSteps:
|
|
45
|
-
- type: parallel
|
|
46
|
-
name: 并行实施阶段
|
|
47
|
-
steps:
|
|
48
|
-
- type: agent
|
|
49
|
-
name: 前端开发
|
|
50
|
-
agentName: frontend-specialist
|
|
51
|
-
inputTemplate: |
|
|
52
|
-
基于以下计划实施前端部分:
|
|
53
|
-
|
|
54
|
-
任务:{{task}}
|
|
55
|
-
计划:{{vars.planResult.output}}
|
|
56
|
-
|
|
57
|
-
请开始前端实现。
|
|
58
|
-
outputVariable: frontendResult
|
|
59
|
-
|
|
60
|
-
- type: agent
|
|
61
|
-
name: 后端开发
|
|
62
|
-
agentName: backend-specialist
|
|
63
|
-
inputTemplate: |
|
|
64
|
-
基于以下计划实施后端部分:
|
|
65
|
-
|
|
66
|
-
任务:{{task}}
|
|
67
|
-
计划:{{vars.planResult.output}}
|
|
68
|
-
|
|
69
|
-
请开始后端实现。
|
|
70
|
-
outputVariable: backendResult
|
|
71
|
-
|
|
72
|
-
- type: agent
|
|
73
|
-
name: 数据库设计
|
|
74
|
-
agentName: database-architect
|
|
75
|
-
inputTemplate: |
|
|
76
|
-
基于以下计划设计数据库:
|
|
77
|
-
|
|
78
|
-
任务:{{task}}
|
|
79
|
-
计划:{{vars.planResult.output}}
|
|
80
|
-
|
|
81
|
-
请设计数据库 schema。
|
|
82
|
-
outputVariable: dbResult
|
|
83
|
-
|
|
84
|
-
- type: sequential
|
|
85
|
-
name: 测试和验证
|
|
86
|
-
steps:
|
|
87
|
-
- type: skill
|
|
88
|
-
name: 运行安全扫描
|
|
89
|
-
skillName: vulnerability-scanner
|
|
90
|
-
scriptName: security_scan.py
|
|
91
|
-
args: "."
|
|
92
|
-
outputVariable: securityScanResult
|
|
93
|
-
|
|
94
|
-
- type: skill
|
|
95
|
-
name: 运行代码检查
|
|
96
|
-
skillName: lint-and-validate
|
|
97
|
-
scriptName: lint_runner.py
|
|
98
|
-
args: "."
|
|
99
|
-
outputVariable: lintResult
|
|
100
|
-
|
|
101
|
-
- type: agent
|
|
102
|
-
name: 测试工程师
|
|
103
|
-
agentName: test-engineer
|
|
104
|
-
inputTemplate: |
|
|
105
|
-
请执行测试验证:
|
|
106
|
-
|
|
107
|
-
前端结果:{{vars.frontendResult ? '完成' : '未完成'}}
|
|
108
|
-
后端结果:{{vars.backendResult ? '完成' : '未完成'}}
|
|
109
|
-
数据库结果:{{vars.dbResult ? '完成' : '未完成'}}
|
|
110
|
-
|
|
111
|
-
安全扫描:{{vars.securityScanResult ? '完成' : '未完成'}}
|
|
112
|
-
代码检查:{{vars.lintResult ? '完成' : '未完成'}}
|
|
113
|
-
|
|
114
|
-
请执行全面的测试。
|
|
115
|
-
outputVariable: testResult
|
|
116
|
-
|
|
117
|
-
- type: agent
|
|
118
|
-
name: 生成最终报告
|
|
119
|
-
agentName: product-owner
|
|
120
|
-
inputTemplate: |
|
|
121
|
-
请生成最终项目报告:
|
|
122
|
-
|
|
123
|
-
任务:{{task}}
|
|
124
|
-
|
|
125
|
-
执行结果:
|
|
126
|
-
- 规划:{{vars.planResult ? '完成' : '未完成'}}
|
|
127
|
-
- 前端:{{vars.frontendResult ? '完成' : '未完成'}}
|
|
128
|
-
- 后端:{{vars.backendResult ? '完成' : '未完成'}}
|
|
129
|
-
- 数据库:{{vars.dbResult ? '完成' : '未完成'}}
|
|
130
|
-
- 安全扫描:{{vars.securityScanResult ? '完成' : '未完成'}}
|
|
131
|
-
- 代码检查:{{vars.lintResult ? '完成' : '未完成'}}
|
|
132
|
-
- 测试:{{vars.testResult ? '完成' : '未完成'}}
|
|
133
|
-
|
|
134
|
-
请提供项目总结和下一步建议。
|
|
135
|
-
outputVariable: finalReport
|
|
136
|
-
|
|
137
|
-
variables:
|
|
138
|
-
defaultTask: "开发一个简单的任务管理应用"
|
|
139
|
-
parameters:
|
|
140
|
-
- name: task
|
|
141
|
-
description: 项目任务描述
|
|
142
|
-
required: true
|
|
143
|
-
default: "开发一个简单的任务管理应用"
|
|
144
|
-
timeout: 600000
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
# 结构化编排工作流
|
|
148
|
-
|
|
149
|
-
这是一个结构化工作流示例,演示如何使用工作流引擎协调多个Agent。
|
|
150
|
-
|
|
151
|
-
## 工作流说明
|
|
152
|
-
|
|
153
|
-
此工作流模拟完整的软件开发流程:
|
|
154
|
-
1. **规划阶段**:使用 project-planner 创建项目计划
|
|
155
|
-
2. **用户批准**:请求用户确认计划
|
|
156
|
-
3. **并行实施**:前端、后端、数据库同时开发
|
|
157
|
-
4. **测试验证**:运行安全检查、代码检查、综合测试
|
|
158
|
-
5. **报告生成**:生成最终项目报告
|
|
159
|
-
|
|
160
|
-
## 使用方法
|
|
161
|
-
|
|
162
|
-
通过Agent的`executeWorkflow`方法调用:
|
|
163
|
-
|
|
164
|
-
```javascript
|
|
165
|
-
await agent.executeWorkflow('structured-orchestrate', {
|
|
166
|
-
task: '开发一个用户认证系统'
|
|
167
|
-
});
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## 技术要点
|
|
171
|
-
|
|
172
|
-
- 使用结构化JSON步骤定义
|
|
173
|
-
- 支持条件分支
|
|
174
|
-
- 支持并行执行
|
|
175
|
-
- 变量传递和模板渲染
|
|
176
|
-
- 技能调用集成
|
|
177
|
-
|
|
178
|
-
## 向后兼容
|
|
179
|
-
|
|
180
|
-
此文件同时包含结构化步骤(在frontmatter中)和传统的Markdown描述,确保与现有系统兼容。
|
package/.agent/workflows/test.md
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Test generation and test running command. Creates and executes tests for code.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /test - Test Generation and Execution
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Purpose
|
|
12
|
-
|
|
13
|
-
This command generates tests, runs existing tests, or checks test coverage.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Sub-commands
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
/test - Run all tests
|
|
21
|
-
/test [file/feature] - Generate tests for specific target
|
|
22
|
-
/test coverage - Show test coverage report
|
|
23
|
-
/test watch - Run tests in watch mode
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Behavior
|
|
29
|
-
|
|
30
|
-
### Generate Tests
|
|
31
|
-
|
|
32
|
-
When asked to test a file or feature:
|
|
33
|
-
|
|
34
|
-
1. **Analyze the code**
|
|
35
|
-
- Identify functions and methods
|
|
36
|
-
- Find edge cases
|
|
37
|
-
- Detect dependencies to mock
|
|
38
|
-
|
|
39
|
-
2. **Generate test cases**
|
|
40
|
-
- Happy path tests
|
|
41
|
-
- Error cases
|
|
42
|
-
- Edge cases
|
|
43
|
-
- Integration tests (if needed)
|
|
44
|
-
|
|
45
|
-
3. **Write tests**
|
|
46
|
-
- Use project's test framework (Jest, Vitest, etc.)
|
|
47
|
-
- Follow existing test patterns
|
|
48
|
-
- Mock external dependencies
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Output Format
|
|
53
|
-
|
|
54
|
-
### For Test Generation
|
|
55
|
-
|
|
56
|
-
```markdown
|
|
57
|
-
## 🧪 Tests: [Target]
|
|
58
|
-
|
|
59
|
-
### Test Plan
|
|
60
|
-
| Test Case | Type | Coverage |
|
|
61
|
-
|-----------|------|----------|
|
|
62
|
-
| Should create user | Unit | Happy path |
|
|
63
|
-
| Should reject invalid email | Unit | Validation |
|
|
64
|
-
| Should handle db error | Unit | Error case |
|
|
65
|
-
|
|
66
|
-
### Generated Tests
|
|
67
|
-
|
|
68
|
-
`tests/[file].test.ts`
|
|
69
|
-
|
|
70
|
-
[Code block with tests]
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
Run with: `npm test`
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### For Test Execution
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
🧪 Running tests...
|
|
81
|
-
|
|
82
|
-
✅ auth.test.ts (5 passed)
|
|
83
|
-
✅ user.test.ts (8 passed)
|
|
84
|
-
❌ order.test.ts (2 passed, 1 failed)
|
|
85
|
-
|
|
86
|
-
Failed:
|
|
87
|
-
✗ should calculate total with discount
|
|
88
|
-
Expected: 90
|
|
89
|
-
Received: 100
|
|
90
|
-
|
|
91
|
-
Total: 15 tests (14 passed, 1 failed)
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Examples
|
|
97
|
-
|
|
98
|
-
```
|
|
99
|
-
/test src/services/auth.service.ts
|
|
100
|
-
/test user registration flow
|
|
101
|
-
/test coverage
|
|
102
|
-
/test fix failed tests
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Test Patterns
|
|
108
|
-
|
|
109
|
-
### Unit Test Structure
|
|
110
|
-
|
|
111
|
-
```typescript
|
|
112
|
-
describe('AuthService', () => {
|
|
113
|
-
describe('login', () => {
|
|
114
|
-
it('should return token for valid credentials', async () => {
|
|
115
|
-
// Arrange
|
|
116
|
-
const credentials = { email: 'test@test.com', password: 'pass123' };
|
|
117
|
-
|
|
118
|
-
// Act
|
|
119
|
-
const result = await authService.login(credentials);
|
|
120
|
-
|
|
121
|
-
// Assert
|
|
122
|
-
expect(result.token).toBeDefined();
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
it('should throw for invalid password', async () => {
|
|
126
|
-
// Arrange
|
|
127
|
-
const credentials = { email: 'test@test.com', password: 'wrong' };
|
|
128
|
-
|
|
129
|
-
// Act & Assert
|
|
130
|
-
await expect(authService.login(credentials)).rejects.toThrow('Invalid credentials');
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Key Principles
|
|
139
|
-
|
|
140
|
-
- **Test behavior not implementation**
|
|
141
|
-
- **One assertion per test** (when practical)
|
|
142
|
-
- **Descriptive test names**
|
|
143
|
-
- **Arrange-Act-Assert pattern**
|
|
144
|
-
- **Mock external dependencies**
|
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Plan and implement UI
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
description: AI-powered design intelligence with 50+ styles, 95+ color palettes, and automated design system generation
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# ui-ux-pro-max
|
|
10
|
-
|
|
11
|
-
Comprehensive design guide for web and mobile applications. Contains 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 9 technology stacks. Searchable database with priority-based recommendations.
|
|
12
|
-
|
|
13
|
-
## Prerequisites
|
|
14
|
-
|
|
15
|
-
Check if Python is installed:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
python3 --version || python --version
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
If Python is not installed, install it based on user's OS:
|
|
22
|
-
|
|
23
|
-
**macOS:**
|
|
24
|
-
```bash
|
|
25
|
-
brew install python3
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Ubuntu/Debian:**
|
|
29
|
-
```bash
|
|
30
|
-
sudo apt update && sudo apt install python3
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Windows:**
|
|
34
|
-
```powershell
|
|
35
|
-
winget install Python.Python.3.12
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## How to Use This Workflow
|
|
41
|
-
|
|
42
|
-
When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow:
|
|
43
|
-
|
|
44
|
-
### Step 1: Analyze User Requirements
|
|
45
|
-
|
|
46
|
-
Extract key information from user request:
|
|
47
|
-
- **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
|
|
48
|
-
- **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
|
|
49
|
-
- **Industry**: healthcare, fintech, gaming, education, etc.
|
|
50
|
-
- **Stack**: React, Vue, Next.js, or default to `html-tailwind`
|
|
51
|
-
|
|
52
|
-
### Step 2: Generate Design System (REQUIRED)
|
|
53
|
-
|
|
54
|
-
**Always start with `--design-system`** to get comprehensive recommendations with reasoning:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
This command:
|
|
61
|
-
1. Searches 5 domains in parallel (product, style, color, landing, typography)
|
|
62
|
-
2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
|
|
63
|
-
3. Returns complete design system: pattern, style, colors, typography, effects
|
|
64
|
-
4. Includes anti-patterns to avoid
|
|
65
|
-
|
|
66
|
-
**Example:**
|
|
67
|
-
```bash
|
|
68
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Step 2b: Persist Design System (Master + Overrides Pattern)
|
|
72
|
-
|
|
73
|
-
To save the design system for hierarchical retrieval across sessions, add `--persist`:
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
This creates:
|
|
80
|
-
- `design-system/MASTER.md` — Global Source of Truth with all design rules
|
|
81
|
-
- `design-system/pages/` — Folder for page-specific overrides
|
|
82
|
-
|
|
83
|
-
**With page-specific override:**
|
|
84
|
-
```bash
|
|
85
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
This also creates:
|
|
89
|
-
- `design-system/pages/dashboard.md` — Page-specific deviations from Master
|
|
90
|
-
|
|
91
|
-
**How hierarchical retrieval works:**
|
|
92
|
-
1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
|
|
93
|
-
2. If the page file exists, its rules **override** the Master file
|
|
94
|
-
3. If not, use `design-system/MASTER.md` exclusively
|
|
95
|
-
|
|
96
|
-
### Step 3: Supplement with Detailed Searches (as needed)
|
|
97
|
-
|
|
98
|
-
After getting the design system, use domain searches to get additional details:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**When to use detailed searches:**
|
|
105
|
-
|
|
106
|
-
| Need | Domain | Example |
|
|
107
|
-
|------|--------|---------|
|
|
108
|
-
| More style options | `style` | `--domain style "glassmorphism dark"` |
|
|
109
|
-
| Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
|
|
110
|
-
| UX best practices | `ux` | `--domain ux "animation accessibility"` |
|
|
111
|
-
| Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
|
|
112
|
-
| Landing structure | `landing` | `--domain landing "hero social-proof"` |
|
|
113
|
-
|
|
114
|
-
### Step 4: Stack Guidelines (Default: html-tailwind)
|
|
115
|
-
|
|
116
|
-
Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
|
|
123
|
-
, `jetpack-compose`
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Search Reference
|
|
127
|
-
|
|
128
|
-
### Available Domains
|
|
129
|
-
|
|
130
|
-
| Domain | Use For | Example Keywords |
|
|
131
|
-
|--------|---------|------------------|
|
|
132
|
-
| `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
|
|
133
|
-
| `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
|
|
134
|
-
| `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
|
|
135
|
-
| `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
|
|
136
|
-
| `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
|
|
137
|
-
| `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
|
|
138
|
-
| `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
|
|
139
|
-
| `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |
|
|
140
|
-
| `web` | Web interface guidelines | aria, focus, keyboard, semantic, virtualize |
|
|
141
|
-
| `prompt` | AI prompts, CSS keywords | (style name) |
|
|
142
|
-
|
|
143
|
-
### Available Stacks
|
|
144
|
-
|
|
145
|
-
| Stack | Focus |
|
|
146
|
-
|-------|-------|
|
|
147
|
-
| `html-tailwind` | Tailwind utilities, responsive, a11y (DEFAULT) |
|
|
148
|
-
| `react` | State, hooks, performance, patterns |
|
|
149
|
-
| `nextjs` | SSR, routing, images, API routes |
|
|
150
|
-
| `vue` | Composition API, Pinia, Vue Router |
|
|
151
|
-
| `svelte` | Runes, stores, SvelteKit |
|
|
152
|
-
| `swiftui` | Views, State, Navigation, Animation |
|
|
153
|
-
| `react-native` | Components, Navigation, Lists |
|
|
154
|
-
| `flutter` | Widgets, State, Layout, Theming |
|
|
155
|
-
| `shadcn` | shadcn/ui components, theming, forms, patterns |
|
|
156
|
-
| `jetpack-compose` | Composables, Modifiers, State Hoisting, Recomposition |
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## Example Workflow
|
|
161
|
-
|
|
162
|
-
**User request:** "Làm landing page cho dịch vụ chăm sóc da chuyên nghiệp"
|
|
163
|
-
|
|
164
|
-
### Step 1: Analyze Requirements
|
|
165
|
-
- Product type: Beauty/Spa service
|
|
166
|
-
- Style keywords: elegant, professional, soft
|
|
167
|
-
- Industry: Beauty/Wellness
|
|
168
|
-
- Stack: html-tailwind (default)
|
|
169
|
-
|
|
170
|
-
### Step 2: Generate Design System (REQUIRED)
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
**Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
|
|
177
|
-
|
|
178
|
-
### Step 3: Supplement with Detailed Searches (as needed)
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
# Get UX guidelines for animation and accessibility
|
|
182
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "animation accessibility" --domain ux
|
|
183
|
-
|
|
184
|
-
# Get alternative typography options if needed
|
|
185
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "elegant luxury serif" --domain typography
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
### Step 4: Stack Guidelines
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
**Then:** Synthesize design system + detailed searches and implement the design.
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## Output Formats
|
|
199
|
-
|
|
200
|
-
The `--design-system` flag supports two output formats:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
# ASCII box (default) - best for terminal display
|
|
204
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
|
|
205
|
-
|
|
206
|
-
# Markdown - best for documentation
|
|
207
|
-
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Tips for Better Results
|
|
213
|
-
|
|
214
|
-
1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
|
|
215
|
-
2. **Search multiple times** - Different keywords reveal different insights
|
|
216
|
-
3. **Combine domains** - Style + Typography + Color = Complete design system
|
|
217
|
-
4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
|
|
218
|
-
5. **Use stack flag** - Get implementation-specific best practices
|
|
219
|
-
6. **Iterate** - If first search doesn't match, try different keywords
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## Common Rules for Professional UI
|
|
224
|
-
|
|
225
|
-
These are frequently overlooked issues that make UI look unprofessional:
|
|
226
|
-
|
|
227
|
-
### Icons & Visual Elements
|
|
228
|
-
|
|
229
|
-
| Rule | Do | Don't |
|
|
230
|
-
|------|----|----- |
|
|
231
|
-
| **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis like 🎨 🚀 ⚙️ as UI icons |
|
|
232
|
-
| **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
|
|
233
|
-
| **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
|
|
234
|
-
| **Consistent icon sizing** | Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |
|
|
235
|
-
|
|
236
|
-
### Interaction & Cursor
|
|
237
|
-
|
|
238
|
-
| Rule | Do | Don't |
|
|
239
|
-
|------|----|----- |
|
|
240
|
-
| **Cursor pointer** | Add `cursor-pointer` to all clickable/hoverable cards | Leave default cursor on interactive elements |
|
|
241
|
-
| **Hover feedback** | Provide visual feedback (color, shadow, border) | No indication element is interactive |
|
|
242
|
-
| **Smooth transitions** | Use `transition-colors duration-200` | Instant state changes or too slow (>500ms) |
|
|
243
|
-
|
|
244
|
-
### Light/Dark Mode Contrast
|
|
245
|
-
|
|
246
|
-
| Rule | Do | Don't |
|
|
247
|
-
|------|----|----- |
|
|
248
|
-
| **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
|
|
249
|
-
| **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
|
|
250
|
-
| **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
|
|
251
|
-
| **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |
|
|
252
|
-
|
|
253
|
-
### Layout & Spacing
|
|
254
|
-
|
|
255
|
-
| Rule | Do | Don't |
|
|
256
|
-
|------|----|----- |
|
|
257
|
-
| **Floating navbar** | Add `top-4 left-4 right-4` spacing | Stick navbar to `top-0 left-0 right-0` |
|
|
258
|
-
| **Content padding** | Account for fixed navbar height | Let content hide behind fixed elements |
|
|
259
|
-
| **Consistent max-width** | Use same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
## Pre-Delivery Checklist
|
|
264
|
-
|
|
265
|
-
Before delivering UI code, verify these items:
|
|
266
|
-
|
|
267
|
-
### Visual Quality
|
|
268
|
-
- [ ] No emojis used as icons (use SVG instead)
|
|
269
|
-
- [ ] All icons from consistent icon set (Heroicons/Lucide)
|
|
270
|
-
- [ ] Brand logos are correct (verified from Simple Icons)
|
|
271
|
-
- [ ] Hover states don't cause layout shift
|
|
272
|
-
- [ ] Use theme colors directly (bg-primary) not var() wrapper
|
|
273
|
-
|
|
274
|
-
### Interaction
|
|
275
|
-
- [ ] All clickable elements have `cursor-pointer`
|
|
276
|
-
- [ ] Hover states provide clear visual feedback
|
|
277
|
-
- [ ] Transitions are smooth (150-300ms)
|
|
278
|
-
- [ ] Focus states visible for keyboard navigation
|
|
279
|
-
|
|
280
|
-
### Light/Dark Mode
|
|
281
|
-
- [ ] Light mode text has sufficient contrast (4.5:1 minimum)
|
|
282
|
-
- [ ] Glass/transparent elements visible in light mode
|
|
283
|
-
- [ ] Borders visible in both modes
|
|
284
|
-
- [ ] Test both modes before delivery
|
|
285
|
-
|
|
286
|
-
### Layout
|
|
287
|
-
- [ ] Floating elements have proper spacing from edges
|
|
288
|
-
- [ ] No content hidden behind fixed navbars
|
|
289
|
-
- [ ] Responsive at 375px, 768px, 1024px, 1440px
|
|
290
|
-
- [ ] No horizontal scroll on mobile
|
|
291
|
-
|
|
292
|
-
### Accessibility
|
|
293
|
-
- [ ] All images have alt text
|
|
294
|
-
- [ ] Form inputs have labels
|
|
295
|
-
- [ ] Color is not the only indicator
|
|
296
|
-
- [ ] `prefers-reduced-motion` respected
|