UStackUStack
Blueprint icon

Blueprint

Blueprint 是面向代码智能体的规划助手:先通过问答澄清再输出可执行的 Markdown 计划,支持 Claude Code、Codex CLI、Gemini CLI。

Blueprint

Blueprint 是什么?

Blueprint 是代码智能体的规划助手。它帮助智能体在编写代码前提出正确的问题,然后生成智能体可一次性执行的 Markdown 计划。

该工具设计为与智能体无关,使用问答驱动规划:它探索代码库并提出多选问题,这些问题易于回答。输出旨在揭示您可能未考虑的问题和决策,以可重用规范/计划的形式结构化呈现。

主要特性

  • 代码前问答规划:Blueprint 适度放慢执行速度以澄清需求,然后生成结构化计划。
  • 代码库探索:它读取您的工作区/代码库,并利用该上下文驱动问题提出。
  • 多选问题:问题格式化便于快速回答,同时覆盖重要歧义。
  • Markdown 计划输出:结果为可直接交给代码智能体的 Markdown 文件。
  • 与智能体无关的技能(兼容 skills.sh):Blueprint 以兼容多种代码智能体框架的技能形式打包。
  • 内置模板含开放问题区:包含默认规划模板,定义概述、预期行为、实现阶段、测试策略和开放问题等部分。

如何使用 Blueprint

  1. 安装技能:使用仓库中显示的 npx 命令:npx skills add imbue-ai/blueprint
  2. 启动规划会话:在代码智能体中调用技能并提供简短任务描述(例如 /blueprint Add a caching layer to reduce API calls)。
  3. 选择模板:提示时挑选模板。Blueprint 会探索代码库并开始提问。
  4. 回答问题:直到 Blueprint 确定覆盖足够内容。
  5. 生成计划:使用 /blueprint-generate。计划写入路径 blueprint/<slug>/plan-<slug>.md
  6. 如需在聊天中优化:询问开放问题(例如 “what are the open questions?”),然后将计划交给代码智能体。

使用场景

  • 绿地项目 / 新功能:规划大型新功能,确保需求、预期行为和测试策略在实现前明确覆盖。
  • 需协调的增量变更:变更足够大需仔细规范(而非快速编辑)时,Blueprint 可帮助结构化决策和阶段。
  • 研究与实验:针对新模型、系统或子系统,Blueprint 的问答流程可将假设和未知点捕获为含开放问题的计划。
  • 处理陌生代码库:Blueprint 可探索工作区并基于发现提出澄清问题,降低遗漏关键约束的风险。
  • 减少智能体工作流执行错误:若智能体否则“急于编码”,Blueprint 提供规划阶段后可执行的明确计划文件。

常见问题

  • 支持哪些代码智能体框架? 仓库声明兼容 Claude Code、Codex CLI、Gemini CLI、Pi agent 等框架及其他兼容框架。

  • 生成的计划保存到哪里? 运行 /blueprint-generate 后,计划写入 blueprint/<slug>/plan-<slug>.md

  • Blueprint 包含哪些模板? 默认内置两个模板:Default(包含概述、预期行为、实现计划/阶段、测试策略和开放问题等部分)和 Concise(包含概述、预期行为和变更等部分)。

  • 可以自定义计划结构吗? 可以。仓库说明提示时可内联描述自定义模板,还可通过 templates.json 持久添加/编辑模板,使两个 Blueprint 技能保持同步。

  • Blueprint 仅限前端工作吗? README 指导建议它不太适合大多数决策为视觉的前端,更适用于绿地项目、大型新功能以及研究或子系统规划。

替代方案

  • 规范或文档生成器(手动审查风格):代理自行决策后生成长规范的工具,与 Blueprint 不同,它颠倒了工作流程——Blueprint 先通过问答征求您的输入。
  • 代码智能体工具中的代理“规划模式”工作流:某些代理平台包含自己的规划模式;Blueprint 专为规划助手定位,生成代理可执行的 Markdown 计划,并提出简短、聚焦需求的问题。
  • 通用代码库审查助手:替代方案可能汇总或分析仓库,但 Blueprint 的独特输出是有结构 Markdown 计划,包含定义的部分和用于执行的开放问题。
  • 使用规划扩展的 VS Code 侧边栏工作流:如果您偏好编辑器集成工具,Blueprint 也可作为 VS Code 扩展 使用,支持 VS Code、Cursor 和 Windsurf,这可能不同于纯聊天驱动的代理设置。