name: start description: “启动会话”
启动会话
初始化您的AI开发会话并开始处理任务。
操作类型
| 标记 | 含义 | 执行者 |
|---|---|---|
[AI] |
由AI执行的Bash脚本或任务调用 | 您 (AI) |
[USER] |
用户执行的斜杠命令 | 用户 |
初始化 [AI]
步骤 1: 理解开发工作流程
首先,阅读工作流程指南以理解开发过程:
cat .trellis/workflow.md
遵循workflow.md中的指令 - 它包含:
- 核心原则(先读后写、遵循标准等)
- 文件系统结构
- 开发过程
- 最佳实践
步骤 2: 获取当前上下文
python3 ./.trellis/scripts/get_context.py
这会显示:开发者身份、git状态、当前任务(如果有)、活动任务。
步骤 3: 阅读指南索引
cat .trellis/spec/frontend/index.md # 前端指南
cat .trellis/spec/backend/index.md # 后端指南
cat .trellis/spec/guides/index.md # 思考指南
步骤 4: 报告并询问
报告您学到的内容并询问:“您想处理什么?”
任务分类
当用户描述任务时,分类如下:
| 类型 | 标准 | 工作流程 |
|---|---|---|
| 问题 | 用户询问代码、架构或工作原理 | 直接回答 |
| 琐碎修复 | 拼写错误修复、评论更新、单行更改 | 直接编辑 |
| 简单任务 | 目标清晰,1-2个文件,范围明确 | 快速确认 → 实施 |
| 复杂任务 | 目标模糊,多个文件,架构决策 | 头脑风暴 → 任务工作流程 |
分类信号
琐碎/简单指标:
- 用户指定确切的文件和更改
- “修复X中的拼写错误”
- “向组件Z添加字段Y”
- 已陈述清晰的验收标准
复杂指标:
- “我想添加一个功能用于…”
- “你能帮我改进…”
- 提及多个领域或系统
- 没有清晰的实施路径
- 用户对方法不确定
决策规则
如有疑问,使用头脑风暴 + 任务工作流程。
任务工作流程确保规范被注入到代理中,从而产生更高质量的代码。 开销最小,但收益显著。
问题 / 琐碎修复
对于问题或琐碎修复,直接工作:
- 回答问题或进行修复
- 如果代码已更改,提醒用户运行
/trellis:finish-work
简单任务
对于简单、定义明确的任务:
- 快速确认:“我理解您想[目标]。准备好继续吗?”
- 如果是,跳至任务工作流程步骤 2(研究)
- 如果否,澄清并再次确认
复杂任务 - 先头脑风暴
对于复杂或模糊的任务,使用头脑风暴过程澄清需求。
查看 /trellis:brainstorm 获取完整过程。摘要:
- 确认和分类 - 陈述您的理解
- 创建任务目录 - 在
prd.md中跟踪演进的需求 - 一次一个问题 - 每次回答后更新PRD
- 提出方法 - 用于架构决策
- 确认最终需求 - 获得明确批准
- 继续进行任务工作流程 - 使用PRD中的清晰需求
关键头脑风暴原则
| 原则 | 描述 |
|---|---|
| 一次一个问题 | 从不一次性提出多个问题 |
| 立即更新PRD | 每次回答后,更新文档 |
| 偏好多项选择 | 用户更容易回答 |
| YAGNI | 挑战不必要的复杂性 |
任务工作流程(开发任务)
为什么使用此工作流程?
- 研究代理分析需要哪些规范
- 规范在jsonl文件中配置
- 实施代理通过Hook注入接收规范
- 检查代理根据规范验证
- 结果:自动遵循项目约定的代码
步骤 1: 理解任务 [AI]
如果来自头脑风暴: 跳过此步骤 - 需求已在PRD中。
如果是简单任务: 快速确认理解:
- 目标是什么?
- 什么类型的开发?(前端/后端/全栈)
- 任何特定要求或约束?
步骤 2: 研究代码库 [AI]
调用研究代理进行分析:
Task(
subagent_type: "research",
prompt: "分析此任务的代码库:
任务:<用户的任务描述>
类型:<前端/后端/全栈>
请查找:
1. .trellis/spec/中的相关规范文件
2. 要遵循的现有代码模式(找到2-3个例子)
3. 可能需要修改的文件
输出:
## 相关规范
- <路径>:<为什么相关>
## 找到的代码模式
- <模式>:<示例文件路径>
## 要修改的文件
- <路径>:<更改内容>
## 建议的任务名称
- <短slug名称>",
model: "opus"
)
步骤 3: 创建任务目录 [AI]
基于研究结果:
TASK_DIR=$(python3 ./.trellis/scripts/task.py create "<来自研究的标题>" --slug <建议的slug>)
步骤 4: 配置上下文 [AI]
初始化默认上下文:
python3 ./.trellis/scripts/task.py init-context "$TASK_DIR" <类型>
# 类型:backend | frontend | fullstack
添加研究代理找到的规范:
# 对于每个相关规范和代码模式:
python3 ./.trellis/scripts/task.py add-context "$TASK_DIR" implement "<路径>" "<原因>"
python3 ./.trellis/scripts/task.py add-context "$TASK_DIR" check "<路径>" "<原因>"
步骤 5: 编写需求 [AI]
在任务目录中创建 prd.md,内容如下:
# <任务标题>
## 目标
<我们要实现的目标>
## 需求
- <需求 1>
- <需求 2>
## 验收标准
- [ ] <标准 1>
- [ ] <标准 2>
## 技术笔记
<任何技术决策或约束>
步骤 6: 激活任务 [AI]
python3 ./.trellis/scripts/task.py start "$TASK_DIR"
这设置 .current-task,以便钩子可以注入上下文。
步骤 7: 实施 [AI]
调用实施代理(规范通过钩子自动注入):
Task(
subagent_type: "implement",
prompt: "实施prd.md中描述的任务。
遵循已注入到您上下文中的所有规范。
完成前运行代码检查和类型检查。",
model: "opus"
)
步骤 8: 检查质量 [AI]
调用检查代理(规范通过钩子自动注入):
Task(
subagent_type: "check",
prompt: "根据规范审查所有代码更改。
直接修复您发现的任何问题。
确保代码检查和类型检查通过。",
model: "opus"
)
步骤 9: 完成 [AI]
- 验证代码检查和类型检查通过
- 报告实施的内容
- 提醒用户:
- 测试更改
- 准备就绪时提交
- 运行
/trellis:record-session记录此会话
继续现有任务
如果 get_context.py 显示当前任务:
- 阅读任务的
prd.md以理解目标 - 检查
task.json的当前状态和阶段 - 询问用户:“继续处理<任务名称>吗?”
如果是,从适当的步骤恢复(通常是步骤 7 或 8)。
命令参考
用户命令 [USER]
| 命令 | 何时使用 |
|---|---|
/trellis:start |
开始会话(此命令) |
/trellis:brainstorm |
澄清模糊需求(从start调用) |
/trellis:parallel |
需要隔离工作树的复杂任务 |
/trellis:finish-work |
提交更改前 |
/trellis:record-session |
完成任务后 |
AI 脚本 [AI]
| 脚本 | 目的 |
|---|---|
python3 ./.trellis/scripts/get_context.py |
获取会话上下文 |
python3 ./.trellis/scripts/task.py create |
创建任务目录 |
python3 ./.trellis/scripts/task.py init-context |
初始化jsonl文件 |
python3 ./.trellis/scripts/task.py add-context |
添加规范到jsonl |
python3 ./.trellis/scripts/task.py start |
设置当前任务 |
python3 ./.trellis/scripts/task.py finish |
清除当前任务 |
python3 ./.trellis/scripts/task.py archive |
归档已完成的任务 |
子代理 [AI]
| 代理 | 目的 | 钩子注入 |
|---|---|---|
| research | 分析代码库 | 否(直接读取) |
| implement | 编写代码 | 是(implement.jsonl) |
| check | 审查和修复 | 是(check.jsonl) |
| debug | 修复特定问题 | 是(debug.jsonl) |
关键原则
规范被注入,而不是被记住。
任务工作流程确保代理自动接收相关规范。 这比希望AI“记住”约定更可靠。