把你的想法,编织成可运行的代码。
Textum 是一个结构化的 AI 辅助开发工作流。它不会让 AI 变聪明,但能通过流程和校验,减少一些本可避免的错误。
⚠️ 注意:旧的 commands 版本已废弃,不再支持。当前仅支持 skills 版本。
不是因为它完美,而是因为:
- 📋 有结构 — 比"直接丢需求给 AI"多了流程和校验,减少跑偏概率
- 🔄 可回溯 — 每步有产物,出问题知道从哪里改,不用从头来
- 📦 降噪设计 — 专门针对 LLM 上下文限制做了优化
它做不到保证代码能跑、替代人工审查、适合所有项目。但如果你愿意花点时间走完流程,大概率比"一句话丢给 AI"的结果要好。
你只需要用自己的话描述想法,Textum 会帮你:
- 📝 把模糊的想法变成清晰的需求文档(PRD)
- 🏗️ 确定技术方案,生成全局上下文(Scaffold)
- 🧩 自动拆分成一个个可执行的小任务(Story)
- 💻 一步步把每个任务变成真正能跑的代码
整个过程有多个校验点,确保不会跑偏。
👉 详细流程说明
前置条件:
- 已安装
uv - Python >= 3.11
初始化(在项目根目录执行一次):
| 环境 | 命令 |
|---|---|
| Codex | uv sync --project .codex/skills/textum/scripts |
| Claude Code | uv sync --project .claude/skills/textum/scripts(🚧 待实现) |
这会创建隔离的虚拟环境,不污染你的业务项目。
Textum 通过 textum skill 路由触发,4 个阶段依次进行:
| 阶段 | 做什么 | 产出 |
|---|---|---|
| 🎯 PRD | 需求澄清 → 门禁 → 渲染 → 切片 | docs/PRD.md |
| 🏗️ Scaffold | 技术决策 → 门禁 → 渲染 | docs/GLOBAL-CONTEXT.md |
| 🧩 Split | Story 拆分 → 双重门禁 → 依赖图 | docs/stories/*.json |
| 💻 Story | 单 Story 门禁 → 执行包 → 实现 | 代码! |
🧪 试验性功能:
Story 批量执行支持批量执行多个 Story(如1/2/3),按顺序执行、不回滚。此功能仍在试验阶段,请自行评估风险后使用。
建议:每个阶段开新窗口,减少上下文污染。
你的项目/
├── .codex/skills/textum/ # 🧰 Codex Skill 源码
├── .claude/skills/textum/ # 🧰 Claude Code Skill 源码(🚧 待实现)
└── docs/ # 📄 生成的文档
├── prd-pack.json # PRD 真源
├── PRD.md # PRD 视图(生成;不手改)
├── scaffold-pack.json # Scaffold 真源
├── GLOBAL-CONTEXT.md # 全局上下文(生成;不手改)
├── split-plan-pack.json # Split 规划真源
├── stories/ # Story 真源
└── story-exec/ # Story 执行包(低噪切片)
想象一下:你写了一份 10 页的需求文档,让 AI 帮你写代码。结果呢?
写到第 5 个功能的时候,AI 已经忘了第 1 个功能里定义的字段叫什么了。😅
这不是 AI 笨,是它的"记忆"有限——信息越多,越容易丢失重点。
所以 Textum 的核心思路就是:少即是多。
- 🪟 分阶段处理 — 每个阶段只关注一件事,做完再进入下一阶段
- 🔗 用编号代替描述 — 不说"那个用户登录的接口",而是说"API-001"
- 📦 按需提供信息 — 写代码时只给当前任务需要的上下文,不让 AI 被无关信息淹没
| 规模 | 功能数 | 实际情况 | 举个例子 |
|---|---|---|---|
| 🌱 小型 | 10-15 | ✅ 可靠完成 | 记账本、待办清单、个人笔记 |
| 🌿 中型 | 15-25 | ✅ 可靠完成 | 简单博客、问卷系统 |
| 🌳 较大 | 25-35 | 多角色后台、预约平台 |
更大的项目?建议拆成几个独立子项目。
模拟测试报告(基于旧 commands 版本,采用 Claude Opus 4.5,仅供参考):
"The Machine 真正强大的地方从来不是某个单点判断,而是它把零散的人、事件和时间编织成了一张网。"
— 致敬 Person of Interest
单独看,每一条信息都没有意义;被织在一起之后,因果才开始显现。
Textum 在拉丁语里意味着"被编织成整体的结构"。这个项目扮演的正是这样的角色:它不创造智能,只负责把需求、上下文和故事线编织在一起。
当织网完成,行动的路径就已经存在了。