桌面应用开发
课程导读
用 Trellis + Claude Code 开发一个跨平台图片压缩桌面应用
一、为什么用 Trellis
前面的项目流程大致是:切 Plan 模式 → 讲清需求 → 制定计划 → 写代码。方向没问题,但项目稍复杂时容易遇到:
| 问题 | 表现 |
|---|---|
| 规范堆在一起 | 要求都写在 CLAUDE.md 里,一多就乱,AI 不一定每次抓重点 |
| 对话不够持久 | /clear 或新开会话后,已确认的需求和进度容易丢 |
| 流程不够固定 | 何时讨论、开发、检查、提交,常需自己提醒 |
Trellis 针对这些点:
- 把项目规范拆开存放,按需读取(和 Skill 思路类似)
- 保存任务进度与会话记录,会话开始时自动把项目状态告诉 AI
- 提供标准流程:先梳理需求 → 制定计划 → 开发 → 检查 → 收尾记录
定位:Claude Code 的开发流程助手。用 brainstorm skill 代替手动切 Plan 模式。
二、开始开发
- 新建项目文件夹,用 Warp 进入项目目录
- 安装 Trellis:
bash
npm install -g @mindfoldhq/trellis@beta验证:
bash
trellis --version- 初始化 Trellis:
bash
trellis init| 步骤 | 本课选择 |
|---|---|
| 开发者名称 | 自定义,如「小由」 |
| 配置到哪些 AI 工具 | 先只保留 Claude Code |
| Spec 模板 | 默认空白模板 |
Spec 是什么
Spec 即项目规范:前端怎么写、接口怎么设计、错误怎么处理、测试怎么写等。团队有现成规范时可导入对应模板;个人项目先用空白模板即可。
- 执行
git init初始化仓库 - 启动 Claude Code
三、初始化后多出来的内容
| 路径 | 作用 |
|---|---|
AGENTS.md | 给其他 AI 编程工具(如 Codex)用;Trellis 多平台兼容产物,留着即可,不用改 |
.trellis/ | Trellis 核心目录:开发流程、项目规范、任务、开发者工作区、脚本等 |
.trellis/workflow.md | 开发流程规则:什么阶段该做什么 |
.claude/ | Claude Code 配置:Trellis 安装的 commands、skills、subagents、hooks |
这些一般 不用手动改,Claude Code 会在需要时自动读取。
四、UI 风格与需求描述
本课选用 get design.md 的 Vercel 风格。
get design.md- 在 get design.md 选好 Vercel 风格,复制页面上的安装命令
- 在项目目录执行(会下载
DESIGN.md):
bash
npx getdesign@latest add vercel- 新建
.pen文件,用 Pencil 打开
示例提示词:
text
想要开发一个软件,它的主要作用是压缩我电脑里面的图片,支持单个压缩和批量压缩,同时要兼容Windows和Mac系统。发送后,Claude Code 通常会提示 Trellis SessionStart 已注入信息——这是 Hooks 在会话开始时自动加载工作流、规范索引、任务状态等。
五、Brainstorm 阶段
Claude Code 会创建任务并进入 brainstorm,大致包括:
- 创建 PRD(产品需求文档):记录需求、范围、实现思路、完成标准
- 前期调研(技术栈、依赖等)
- 交互式问题确认细节
| 问题 | 本课选择 |
|---|---|
| 技术栈 | 一般直接采用 Claude Code 推荐方案 即可 |
| 体验定位 | 极简一键型 |
| 压缩后保存路径 | 同目录保存,文件名加后缀(不覆盖原图) |
| 支持格式 | 先处理最常用的三种 |
| 批量文件夹逻辑 | 递归所有子目录 |
MVP(Minimum Viable Product)= 最小可用版本:先把最核心、最能验证价值的功能做出来,避免范围过大。
六、确认 UI 设计稿
设计稿确认无误后,Planning 阶段结束,进入正式开发。
七、Trellis 自动沉淀的文件
brainstorm 与 design 阶段结束后,.trellis/tasks/ 下通常会有:
| 内容 | 说明 |
|---|---|
prd.md | 完整需求、关键决策、开发任务拆分 |
design/ | Pencil 设计稿、截图、设计说明 |
research/ | 桌面框架、图片压缩库等选型依据 |
implement.jsonl | 开发阶段参考的上下文清单 |
check.jsonl | 检查阶段参考的上下文清单 |
这些文件会随你的选择、修改和反馈 自动迭代,后续开发或切换会话时不易丢失关键信息。
八、正式开发
设计稿确认后进入正式开发。Trellis 按阶段推进任务,并在合适时调度内置子代理完成开发、检查和修复。
九、阶段检查
开发完成一个阶段后,可让检查子代理做质量把关,重点确认:
| 检查项 | 说明 |
|---|---|
| 规范 | 是否符合当前项目规则 |
| 功能 | 阶段目标是否完成 |
| 风险 | 是否有明显遗漏或需要修复的问题 |
十、跨会话继续
清空对话或新开会话后,可以继续任务:
text
trellis:continueTrellis 会根据任务文件和工作记录,重新识别当前项目进度。
十一、finish-work
任务结束、准备暂停或换新会话前:
text
trellis:finish-work常见选项:
| 选项 | 什么时候选 |
|---|---|
| 不归档,仅记录 journal | 任务还没结束,只是准备暂停或换新会话 |
| 现在归档 | 当前任务已经完成,后续不准备继续围绕它开发 |
简单理解
finish-work 负责交接记录;continue 负责接回任务进度。
十二、测试和打包
| 平台 | 说明 |
|---|---|
| Mac | 当前系统可直接打包和测试 |
| Windows | 需要在 Windows 系统上单独打包测试 |
重点验证:界面还原、单张压缩、文件夹批量压缩、跨平台运行。
