Optimized the root .gitignore to exclude virtual environments, node modules, and temp folders to ensure clean and lightweight version tracking. Co-authored-by: Cursor <cursoragent@cursor.com>
5.6 KiB
5.6 KiB
name, description, allowed-tools
| name | description | allowed-tools | ||||||
|---|---|---|---|---|---|---|---|---|
| stitch-main-workflow | 本项目 Stitch 主技能/总编排:先完成 spec.md,再完成并确认 Stitch 设计,最后才允许生成 index.tsx;若 Stitch MCP 不可用则立即停止。 |
|
Stitch 主流程(总编排)
本技能用于把 design-md / stitch-loop / react-components 组织为统一流程,强制执行:
- 先完成
spec.md - 再完成并确认 Stitch 设计
- 最后才允许创建或修改
index.tsx
目标与硬门槛(必须满足)
- 硬门槛 1:未完成 Stitch 设计确认前,不允许创建或修改
src/prototypes/<name>/index.tsx或src/components/<name>/index.tsx。 - 硬门槛 2:如果 Stitch MCP 不可用或调用失败,必须直接反馈并停止,不进入代码生成阶段。
环境自检(阻塞,失败即停)
开始主流程前,必须先做一次 Stitch MCP 探针调用,再决定是否继续:
- 可用探针示例:
list_projects或create_project - 探针成功:继续执行主流程
- 探针失败:输出以下固定反馈并停止
⚠️ 当前环境未启用 Stitch MCP(无法调用 Stitch 工具),因此无法在 index.tsx 前完成 Stitch 设计。请启用 Stitch MCP 后重试。
主流程(顺序固定)
1) 准备目标路径
- 目标目录只能是:
src/prototypes/<name>/src/components/<name>/
<name>只能使用小写字母、数字、连字符(kebab-case)
2) 先完成 spec.md(作为 Stitch prompt 合同)
- 按
src/docs/templates/spec-template.md产出spec.md(本技能不重复展开模板细节) spec.md至少包含:- 目标
- 模块 IA(树形结构)
- 关键文案语气
- 数据字段
- 响应式要点
3) 使用 Stitch 完成“设计”并确认
根目录
DESIGN.md自动同步:当用户在管理后台“设为默认主题”时,该主题的DESIGN.md会被自动同步到项目根目录(/DESIGN.md)。如果根目录存在此文件且用户没有特殊指定,应默认将其内容提交给 Stitch 作为设计规范进行生成。
- (可选)如需风格统一,先用
design-md从既有 Stitch screen 生成DESIGN.md;或直接使用根目录已同步的DESIGN.md - 使用
generate_screen_from_text,prompt 以spec.md为基础;若有DESIGN.md(优先检查根目录),把设计系统相关内容并入 prompt - 使用
get_screen获取最终候选 screen 的screenshot与htmlCode - 如果结果不符合
spec.md,使用edit_screens迭代,直到满足 - 设计确认最小产物:
screenshothtml
本地保存建议放在 temp/ 或 .drafts/(两者都被 .gitignore 忽略)。
3.5) 交互与响应式提醒(按用户需求为准,不以 Stitch 产物为准)
Stitch 产物偏静态(HTML/CSS),经常会出现“截图对齐了,但交互/响应式并不等同于需求”的情况。这里不把检查做成硬门槛,但你必须遵守一个原则:
- 交互与响应式的验收基准永远来自用户需求 /
spec.md,不要把 Stitch 输出当成“需求本身”或“默认标准”。
按需做快速核对(仅在 spec.md 明确要求时):
- 响应式:如果
spec.md要求断点/多端适配,就检查对应设备下是否塌陷、溢出、信息层级是否仍成立。 - 交互状态:如果
spec.md要求交互/可访问性,就核对 hover/focus/disabled 等状态与键盘可达性是否满足。 - 动态交互:如果需求包含弹窗、抽屉、复杂表单校验、异步加载等 Stitch 难以表达的动态行为,应在
spec.md明确标注为“代码阶段补齐”,避免误判“设计已完成”。
可选:若当前环境提供 Chrome MCP,可用它辅助做“缩放/断点切换 + 截图”验证,作为发现问题的手段即可。
4) 回写 spec.md(与 Stitch 最终设计对齐)
在 spec.md 中补齐以下字段:
- Stitch
projectId - Stitch
screenId - 截图本地保存路径
- HTML 本地保存路径
- 最终模块结构确认点
5) 最后生成 index.tsx(从 Stitch 设计落地)
本主流程只负责编排与 gate,具体转换实现参考:
skills/third-party/stitch-skills/react-components/SKILL.md
本项目最小必须约束(仅保留以下):
index.tsx顶部必须包含@name中文注释块(参考rules/development-guide.md)- 组件或页面必须
export default(参考vite-plugins/axhubComponentEnforcer.ts) - 使用 Tailwind 时,
style.css顶部必须包含@import "tailwindcss";
6) 验收(必须跑完)
按目标类型执行验收脚本,结果必须为 READY:
node scripts/check-app-ready.mjs /prototypes/<name>
node scripts/check-app-ready.mjs /components/<name>
技能路由指南(触发条件 -> 使用技能 -> 产出)
| 触发条件 | 使用技能 | 产出 |
|---|---|---|
| 已有 Stitch 设计,或多页需要统一风格 | design-md |
DESIGN.md,供后续 prompt 复用 |
| 需要多页迭代、baton 编排建站 | stitch-loop |
循环生成多页 screen 与任务接力 |
| 需要把 Stitch HTML/设计落地成 React 代码 | react-components |
组件/页面代码,并对齐 @name、默认导出、Tailwind 引入约束 |
说明与非目标
- 本技能不重复展开“必读规范”的详细说明,只做最小引用(默认已完成基础规范阅读)。
- 本技能不要求额外平台接口适配约束;只要求本项目最小代码约束与验收通过。