INIT
拿到这么一个全新的项目,最重要的就是让AI 理解项目规则和项目整体架构
codebuddy 提供了 /init 指令, 执行的过程实际上就是在理解项目整体逻辑, 同时生成对应的MD内容,
SKILL
为什么我要把 Skill 放在这么靠前的位置, 我们面临的第一件事情就是 如何把设计稿作为结构化的内容发给AI, 如果直接用多模态模型, AI理解偏差确实比较大, 所以结构化的UI内容输出就显得极为重要了, 当然除了输入以外, 输出的内容也要严格限制, SKill 几乎是自然产生的动作
结构化设计稿Skill设计 我们拿到了大量的PxCook 对应的设计稿, pxcp 这样的格式在 github上没有搜到有效的信息, 尝试用文本工具打开, 发现里面除了二进制数据以外, 中间还嵌入了符合 Sketch规则的 JSON 字符串, 这样的话,就可以直接用AI 给我们设计一个 小型Skill 来完成 输入的控制 进一步, 我们完全可以把Skill的核心逻辑提取出来做成一个单元测试也好做成一个服务也好, 直接批量把所有pxcp转成json文件放到工程目录下,这样可以节省大量的AI Skill调用.
图层推断规则 结构化输入设计稿必然包含各个图层信息, 需要设定图层推断规则
- 文本 + 背景色形状 = 按钮标签- 多个并列的圆角矩形 + 图标 + 文字 = 功能卡片 → CmLv_Create7InchMenuCard - 短文本 + 左边大数字 + 单位 → 输注参数控件 → CmLv_CreateInfusionParamWidget - 滑块轨道形状 + 圆形手柄 = lv_slider - 开关形状 = lv_switch - 重复的列表项 → 建议使用 lv_obj + 循环创建,而不是硬编码所有项 如果无法确定控件类型,代码中以注释说明推断依据,并优先采用可配置的自定义控件而非裸 LVGL 对象。UI转码流程定义 skill的核心设计仍然是给AI完成的, 从步骤开始到结束, 作为开发人员, 只需要判断输入输出的规范, 比如说我要生成各个页面,我希望每个页面都是独立的 窗口创建/宏定义等等, 单页面文件存放位置等等
规则 实际上,