Skip to main content

Trellis 解决什么问题

AI 编程助手很聪明,但它不了解你的项目。每次新会话都是空白开始。Claude 不知道你用 snake_case 命名数据库字段,Cursor 不知道你的错误处理模式。你得反复解释同样的事情。 Trellis 的解决方案:把规范写一次,自动注入到每个会话。AI 在写代码之前就拿到了你的上下文。

三个系统,一套工作流

Specs(规范)

你的编码规范,用 markdown 写。存在 .trellis/spec/
.trellis/spec/
├── frontend/
│   └── index.md      # React 模式、组件结构
├── backend/
│   └── index.md      # API 约定、错误处理
└── guides/
    └── index.md      # 通用思维指南
开始编程会话时,相关的 specs 会自动注入到 AI 的上下文里。AI 在动手之前先读规范。

Tasks(任务)

带上下文的工作项。存在 .trellis/tasks/
.trellis/tasks/01-31-user-auth-taosu/
├── task.json         # 元数据、状态、分支
├── prd.md            # 你要做什么
├── implement.jsonl   # implement agent 该读哪些文件
└── check.jsonl       # check agent 该审查哪些文件
每个任务可以指定哪些文件和规范是相关的。implement agent 只看它需要的东西。

Workspace(工作区)

每个开发者的会话历史。存在 .trellis/workspace/
.trellis/workspace/
├── index.md          # 概览
└── taosu/
    ├── index.md      # 个人索引
    └── journal-1.md  # 每个会话发生了什么
这让你能接着上次的进度继续。开新会话时,AI 知道你昨天做了什么。

它们怎么连接

┌─────────────────────────────────────────────────────────┐
│                     你开始一个任务                       │
└─────────────────────────────┬───────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│  Hooks 注入:                                            │
│  - 相关 specs(从 .trellis/spec/)                      │
│  - 任务上下文(从 .trellis/tasks/{task}/)              │
│  - 会话历史(从 .trellis/workspace/)                   │
└─────────────────────────────┬───────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│  AI 按照你的规范写代码                                   │
└─────────────────────────────┬───────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│  会话结束 → 日志更新 → 下次接着来                        │
└─────────────────────────────────────────────────────────┘

跟别的方案有什么不同

其他工具试图让 AI “记住” 东西。Trellis 不靠记忆。每次都是新鲜注入上下文。AI 不可能忘记你告诉它的东西,因为你每次都在告诉它。 这也意味着 specs 是版本控制的。规范变了,更新文件就行。所有人自动拿到新规则。

接下来