Documentation Index
Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
Use this file to discover all available pages before exploring further.
快速开始
安装
系统要求:Mac、Linux、Windows 全部支持。需要 Node.js 18+ 和 Python 3.9+。
trellis init 会自动检测已安装的平台,也可以用 flag 显式指定。每一个平台都需要最少 init 一次。随意组合:
your-name 会成为你的开发者身份,在 .trellis/workspace/your-name/ 创建个人工作区。
支持的 flag:--claude、--cursor、--opencode、--codex、--kiro、--gemini、--qoder、--codebuddy、--copilot、--droid、--pi、--antigravity、--windsurf、--kilo。
除了这 14 个已配置平台,任何读取 .agents/skills/ 规范的 AI 编码 agent(Amp、Cline、Deep Agents、Firebender、Kimi Code CLI、Warp 等)也能直接消费 Trellis:Codex 的 skill 就写在这个目录下,这些文件能被该生态的其他 agent 直接读取。
平台配置
trellis init 为每个平台写入各自的配置目录。.trellis/ 下的核心概念跨平台一致,差异在于 command、skill、sub-agent、hook 的交付方式。
| 平台 | 配置目录 |
|---|---|
| Claude Code | .claude/commands/trellis/、agents/、skills/、hooks/ |
| Cursor | .cursor/commands/、agents/、skills/、hooks/ |
| OpenCode | .opencode/commands/trellis/、agents/、skills/、plugins/ |
| Codex | .codex/agents/、skills/、hooks/ + 仓库根 AGENTS.md |
| Kiro | .kiro/agents/、skills/、hooks/ |
| Gemini CLI | .gemini/commands/trellis/、agents/、skills/、hooks/ |
| Qoder | .qoder/commands/、agents/、skills/、hooks/ |
| CodeBuddy | .codebuddy/commands/trellis/、agents/、skills/、hooks/ |
| Copilot | .github/copilot/、prompts/、agents/、skills/、hooks/ |
| Droid | .factory/commands/trellis/、droids/、skills/、hooks/ |
| Pi Agent | .pi/prompts/、skills/、agents/、extensions/trellis/、settings.json |
| Kilo | .kilocode/workflows/、skills/ |
| Antigravity | .agent/workflows/、skills/ |
| Windsurf | .windsurf/workflows/、skills/ |
.agents/skills/ 是一份跨平台共享层(agentskills.io 规范),trellis init 会把所有 skill 都写一份到这里,供 Amp、Cline、Deep Agents、Firebender、Kimi Code CLI、Warp 等遵循 .agents/skills/ 规范的 agent 直接读取。
init 场景对照
trellis init 根据 .trellis/ 与 .trellis/.developer 的存在状态自动分派。按你的情境挑对应的命令:
| 场景 | 命令 | 产物 |
|---|---|---|
| 首次 init 项目 | trellis init -u your-name --claude | 创建 .trellis/ 骨架 + bootstrap task 00-bootstrap-guidelines,引导填项目 spec |
| 往已有项目加新平台 | trellis init --cursor(或不带参数走交互式,会列出未配置平台) | 在现有 .trellis/ 上铺新平台配置目录;不产生 task |
| 新开发者加入已有项目 | trellis init -u their-name | 生成 joiner 引导 task 00-join-<slug>,引导读 workflow + spec;准备开始时在当前 AI 会话里 start 它 |
| 同一开发者换机器 | 同上 | 同样生成一份 joiner task(因为 .developer 不进 git),嫌多可直接 task.py archive |
| 同一人同机器 re-init | trellis init -u your-name | no-op —— .trellis/ 与 .developer 都在,啥都不做 |
--force / --skip-existing 只影响 有冲突的文件怎么处理(强制覆盖 / 跳过),不改变 init 的分派逻辑本身。
判据信号:
.trellis/.developer 是 gitignored 的 per-checkout 身份文件(天然不进 git),所以新克隆的 checkout 永远没有它 —— 这是判断”新开发者”的干净信号。.trellis/workspace/<name>/ 进 git,不能作为判据。基本流程
描述你要做什么即可,AI 会按workflow.md 走 Plan → Execute → Finish。如果你觉得当前流程走完了,就运行 /trellis:continue。
Agent-capable 平台(Claude Code、OpenCode、Cursor、Gemini、Qoder、CodeBuddy、Copilot、Droid、Pi
Agent,以及开了
features.hooks 的 Codex —— 旧版用 codex_hooks)每次开会话都会通过 SessionStart
hook 或 extension 自动加载 workflow 和上下文,这些平台本身不发 /trellis:start 这个 slash
命令;想重新加载就新开一个会话。只有 Kilo / Antigravity / Windsurf 这类 agent-less 平台会发
/trellis:start(或 /start.md)作为显式入口。目录结构
下面是用 Claude Code 跑完trellis init 后的目录。其他平台会写到各自的子目录,但 .trellis/ 核心一致。
你的第一个任务
启动会话
- General
- Codex
- Kiro
- Kilo / Antigravity / Windsurf
打开终端,SessionStart hook 自动触发,Trellis 上下文已经在 AI 的上下文里了:
workflow.md的 TOC + Phase 1/2/3 step 详情- 身份、git 状态、活跃任务列表
- spec 索引
workflow.md + get_context.py,然后把 “想干什么?” 甩给你。这类平台上 /trellis:start 不是 slash 命令(start 已经被 hook 吃掉,别去找)。AI 建任务并开发
你说:“新增用户登录功能”。AI 按workflow.md 的三阶段走:
/trellis:continue,AI 根据当前 task 的 status 和每轮注入的 workflow-state breadcrumb,按 workflow.md 判断下一步该做什么(before-dev / check / update-spec 等)继续推进。
结束会话
finish-work 调 add_session.py 追加一条 journal,更新个人索引。任务真正完成(代码已合入、验收条件满足)时,通过 task.py archive 归档。
跨会话记忆
下次打开会话,SessionStart hook(或平台 prelude)会读你的 workspace journal 和活跃任务列表,AI 能回忆起上次做了什么:.trellis/workspace/{name}/journal-N.md;每次 /trellis:finish-work 都会追加一条。Trellis 内部会按 AI 会话/窗口记录各自的当前 task,下次进同一个会话能直接接上;task.py finish 会清掉这个指针。
远程 Spec 模板
不用从零写 spec,在 init 时拉取预置的 spec 模板:官方 Marketplace
自定义 Registry(--registry)
从你自己的 GitHub / GitLab / Bitbucket 仓库拉取 spec:
provider:user/repo[/subdir][#ref]
| Provider | 前缀 |
|---|---|
| GitHub | gh: 或 github: |
| GitLab | gitlab: |
| Bitbucket | bitbucket: |
main。
已有 spec 的处理
.trellis/spec/ 已存在时,用 strategy flag:
| Flag | 行为 |
|---|---|
--overwrite | 删除现有 spec 目录再下载 |
--append | 只拷贝不存在的文件 |
| (都不传) | 交互式询问怎么处理 |
构建自定义 Marketplace
在仓库根目录创建index.json:
path 相对仓库根目录。目前只支持 type: "spec"。
私有仓库
私有仓库要设置GIGET_AUTH 环境变量,值是 personal access token: