用途:面向已有代码的项目(棕地场景),在规划前先获取技术栈、结构与约定的真实情况,避免凭猜测规划。它执行系统化的只读扫描,输出权威的当前状态文档,供后续 BMAD 规划技能加载。
主要能力:三种意图。Create(初次扫描)分六轮:1) 仓库骨架,用 Glob 查看目录树、monorepo 标志、顶层配置文件与文档根;2) 技术栈与工具链,读取 package.json、pyproject.toml、go.mod、Cargo.toml、pom.xml、Gemfile、composer.json、csproj、Dockerfile、CI 配置、IaC 等,记录语言、框架、依赖、构建与包管理器、测试框架(仅记录不运行);3) 入口与关键流程,Grep 入口、路由、中间件链;4) 模块与领域结构;5) 约定与模式,包括命名、错误处理、日志、配置/密钥、测试文件位置;6) 集成点,包括外部 HTTP API、数据库与 ORM、消息队列、对象存储、第三方服务(仅名称)。Update 仅重扫变更区域并追加带日期的更新说明;Validate 做完整性检查并报告通过/失败清单。
使用方式:扫描只允许使用 Read、Glob、Grep、Write(仅写输出文档)、TodoWrite。输出为 bmad-output/project-documentation.md(或用户配置的目录)。若存在 bmad-output/project-context.md 则加载并合并已有约束。若意图不明确需询问,不得静默重新生成已有文档。文档以模板填充,未检测到的部分保留 <!-- not detected --> 注释,准确性优先于完整性。
适用场景:已有代码库的棕地规划前置、为 PRD/架构/技术规格提供事实基线。限制:除输出文档外完全只读,不修改源文件,不运行测试、构建、lint 或覆盖率工具,不生成应用代码、迁移文件或测试夹具,不实现功能或评审 diff;发现问题只能记为规划笔记。完成后建议下一步衔接 bmad-init 等技能。方法论归属 BMAD Code Organization。