@rdmind/rdmind 0.0.9-alpha.1 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/.knowledge/.ext/.bmad-core/agent-teams/team-all.yaml +15 -0
  2. package/.knowledge/.ext/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
  3. package/.knowledge/.ext/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  4. package/.knowledge/.ext/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
  5. package/.knowledge/.ext/.bmad-core/agents/analyst.md +84 -0
  6. package/.knowledge/.ext/.bmad-core/agents/architect.md +85 -0
  7. package/.knowledge/.ext/.bmad-core/agents/bmad-master.md +110 -0
  8. package/.knowledge/.ext/.bmad-core/agents/bmad-orchestrator.md +147 -0
  9. package/.knowledge/.ext/.bmad-core/agents/dev.md +81 -0
  10. package/.knowledge/.ext/.bmad-core/agents/pm.md +84 -0
  11. package/.knowledge/.ext/.bmad-core/agents/po.md +79 -0
  12. package/.knowledge/.ext/.bmad-core/agents/qa.md +90 -0
  13. package/.knowledge/.ext/.bmad-core/agents/ra.md +74 -0
  14. package/.knowledge/.ext/.bmad-core/agents/sm.md +65 -0
  15. package/.knowledge/.ext/.bmad-core/agents/ux-expert.md +69 -0
  16. package/.knowledge/.ext/.bmad-core/checklists/architect-checklist.md +440 -0
  17. package/.knowledge/.ext/.bmad-core/checklists/change-checklist.md +184 -0
  18. package/.knowledge/.ext/.bmad-core/checklists/pm-checklist.md +372 -0
  19. package/.knowledge/.ext/.bmad-core/checklists/po-master-checklist.md +434 -0
  20. package/.knowledge/.ext/.bmad-core/checklists/story-dod-checklist.md +96 -0
  21. package/.knowledge/.ext/.bmad-core/checklists/story-draft-checklist.md +155 -0
  22. package/.knowledge/.ext/.bmad-core/checklists/trd-checklist.md +226 -0
  23. package/.knowledge/.ext/.bmad-core/core-config.yaml +22 -0
  24. package/.knowledge/.ext/.bmad-core/data/bmad-kb.md +809 -0
  25. package/.knowledge/.ext/.bmad-core/data/brainstorming-techniques.md +38 -0
  26. package/.knowledge/.ext/.bmad-core/data/elicitation-methods.md +156 -0
  27. package/.knowledge/.ext/.bmad-core/data/technical-preferences.md +5 -0
  28. package/.knowledge/.ext/.bmad-core/data/test-levels-framework.md +148 -0
  29. package/.knowledge/.ext/.bmad-core/data/test-priorities-matrix.md +174 -0
  30. package/.knowledge/.ext/.bmad-core/enhanced-ide-development-workflow.md +248 -0
  31. package/.knowledge/.ext/.bmad-core/install-manifest.yaml +512 -0
  32. package/.knowledge/.ext/.bmad-core/tasks/advanced-elicitation.md +119 -0
  33. package/.knowledge/.ext/.bmad-core/tasks/analyze-prd.md +123 -0
  34. package/.knowledge/.ext/.bmad-core/tasks/apply-qa-fixes.md +150 -0
  35. package/.knowledge/.ext/.bmad-core/tasks/brownfield-create-epic.md +162 -0
  36. package/.knowledge/.ext/.bmad-core/tasks/brownfield-create-story.md +149 -0
  37. package/.knowledge/.ext/.bmad-core/tasks/correct-course.md +72 -0
  38. package/.knowledge/.ext/.bmad-core/tasks/create-brownfield-story.md +314 -0
  39. package/.knowledge/.ext/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
  40. package/.knowledge/.ext/.bmad-core/tasks/create-doc.md +103 -0
  41. package/.knowledge/.ext/.bmad-core/tasks/create-next-story.md +114 -0
  42. package/.knowledge/.ext/.bmad-core/tasks/document-project.md +345 -0
  43. package/.knowledge/.ext/.bmad-core/tasks/execute-checklist.md +88 -0
  44. package/.knowledge/.ext/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  45. package/.knowledge/.ext/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  46. package/.knowledge/.ext/.bmad-core/tasks/index-docs.md +175 -0
  47. package/.knowledge/.ext/.bmad-core/tasks/kb-mode-interaction.md +77 -0
  48. package/.knowledge/.ext/.bmad-core/tasks/nfr-assess.md +345 -0
  49. package/.knowledge/.ext/.bmad-core/tasks/qa-gate.md +163 -0
  50. package/.knowledge/.ext/.bmad-core/tasks/review-story.md +316 -0
  51. package/.knowledge/.ext/.bmad-core/tasks/risk-profile.md +355 -0
  52. package/.knowledge/.ext/.bmad-core/tasks/shard-doc.md +187 -0
  53. package/.knowledge/.ext/.bmad-core/tasks/test-design.md +176 -0
  54. package/.knowledge/.ext/.bmad-core/tasks/trace-requirements.md +266 -0
  55. package/.knowledge/.ext/.bmad-core/tasks/validate-next-story.md +136 -0
  56. package/.knowledge/.ext/.bmad-core/tasks/validate-trd.md +158 -0
  57. package/.knowledge/.ext/.bmad-core/templates/architecture-tmpl.yaml +651 -0
  58. package/.knowledge/.ext/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  59. package/.knowledge/.ext/.bmad-core/templates/brownfield-architecture-tmpl.yaml +478 -0
  60. package/.knowledge/.ext/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  61. package/.knowledge/.ext/.bmad-core/templates/competitor-analysis-tmpl.yaml +349 -0
  62. package/.knowledge/.ext/.bmad-core/templates/front-end-architecture-tmpl.yaml +273 -0
  63. package/.knowledge/.ext/.bmad-core/templates/front-end-spec-tmpl.yaml +360 -0
  64. package/.knowledge/.ext/.bmad-core/templates/fullstack-architecture-tmpl.yaml +947 -0
  65. package/.knowledge/.ext/.bmad-core/templates/market-research-tmpl.yaml +253 -0
  66. package/.knowledge/.ext/.bmad-core/templates/prd-tmpl.yaml +203 -0
  67. package/.knowledge/.ext/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
  68. package/.knowledge/.ext/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  69. package/.knowledge/.ext/.bmad-core/templates/story-tmpl.yaml +138 -0
  70. package/.knowledge/.ext/.bmad-core/templates/trd-tmpl.yaml +198 -0
  71. package/.knowledge/.ext/.bmad-core/user-guide.md +530 -0
  72. package/.knowledge/.ext/.bmad-core/utils/bmad-doc-template.md +327 -0
  73. package/.knowledge/.ext/.bmad-core/utils/workflow-management.md +71 -0
  74. package/.knowledge/.ext/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  75. package/.knowledge/.ext/.bmad-core/workflows/brownfield-service.yaml +188 -0
  76. package/.knowledge/.ext/.bmad-core/workflows/brownfield-ui.yaml +198 -0
  77. package/.knowledge/.ext/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  78. package/.knowledge/.ext/.bmad-core/workflows/greenfield-service.yaml +207 -0
  79. package/.knowledge/.ext/.bmad-core/workflows/greenfield-ui.yaml +236 -0
  80. package/.knowledge/.ext/.bmad-core/working-in-the-brownfield.md +606 -0
  81. package/.knowledge/.ext/coding/ddd-architecture.md +223 -0
  82. package/.knowledge/.ext/coding/java-standards.md +308 -0
  83. package/.knowledge/.ext/coding/mybatis-standards.md +407 -0
  84. package/.knowledge/.ext/coding/sql-standards.md +263 -0
  85. package/.knowledge/.ext/coding/thrift-service.md +292 -0
  86. package/.knowledge/BMAD.md +255 -0
  87. package/.knowledge/coding.md +135 -0
  88. package/dist/package.json +4 -3
  89. package/dist/src/config/extension.js.map +1 -1
  90. package/dist/src/generated/git-commit.d.ts +2 -2
  91. package/dist/src/generated/git-commit.js +2 -2
  92. package/dist/src/generated/git-commit.js.map +1 -1
  93. package/dist/src/services/McpPromptLoader.js +1 -1
  94. package/dist/src/services/McpPromptLoader.js.map +1 -1
  95. package/dist/src/services/prompt-processors/atFileProcessor.js +1 -1
  96. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -1
  97. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  98. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  99. package/dist/src/ui/components/Tips.js +1 -1
  100. package/dist/src/ui/components/Tips.js.map +1 -1
  101. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  102. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  103. package/dist/src/ui/components/subagents/create/CreationSummary.js.map +1 -1
  104. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  105. package/dist/src/ui/hooks/usePhraseCycler.js +2 -2
  106. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  107. package/dist/src/utils/installationInfo.test.js.map +1 -1
  108. package/dist/tsconfig.tsbuildinfo +1 -1
  109. package/package.json +4 -3
@@ -0,0 +1,114 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # 创建下一个 Story 任务
4
+
5
+ ## 目的
6
+
7
+ 根据项目进度和 epic 定义,识别下一个逻辑 story,然后用 `Story Template` 准备一个全面、自包含且可执行的 story 文件。这个任务确保 story 包含所有必要的技术上下文、需求和 acceptance criteria,让 Developer Agent 能够高效实现,不用额外研究或自己找上下文。
8
+
9
+ ## 顺序任务执行(当前任务完成前别继续)
10
+
11
+ ### 0. 加载核心配置并检查工作流
12
+
13
+ - 从项目根目录加载 `.bmad-core/core-config.yaml`
14
+ - 如果文件不存在,停下来告诉用户:"core-config.yaml 没找到。这个文件是创建 story 必需的。你可以:1) 从 GITHUB bmad-core/core-config.yaml 复制并配置给你的项目 或者 2) 对你的项目运行 BMad 安装器来自动升级并添加文件。请先添加并配置 core-config.yaml 再继续。"
15
+ - 提取关键配置:`devStoryLocation`、`prd.*`、`architecture.*`、`workflow.*`
16
+
17
+ ### 1. 识别下一个要准备的 Story
18
+
19
+ #### 1.1 定位 Epic 文件并检查现有 Stories
20
+
21
+ - 根据配置中的 `prdSharded`,定位 epic 文件(分片位置/模式或单体 PRD 部分)
22
+ - 如果 `devStoryLocation` 有 story 文件,加载最高的 `{epicNum}.{storyNum}.story.md` 文件
23
+ - **如果最高 story 存在:**
24
+ - 验证状态是 'Done'。如果不是,提醒用户:"警告:发现未完成的 story!文件:{lastEpicNum}.{lastStoryNum}.story.md 状态:[当前状态] 你应该先修复这个 story,但你想接受风险并覆盖创建下一个 draft story 吗?"
25
+ - 如果继续,选择当前 epic 中的下一个顺序 story
26
+ - 如果 epic 完成,提示用户:"Epic {epicNum} 完成:Epic {epicNum} 中的所有 stories 都已完成。你想:1) 开始 Epic {epicNum + 1} 的 story 1 2) 选择特定 story 来搞 3) 取消 story 创建"
27
+ - **关键**:永远别自动跳到另一个 epic。用户必须明确指示要创建哪个 story。
28
+ - **如果没有 story 文件存在:** 下一个 story 总是 1.1(第一个 epic 的第一个 story)
29
+ - 向用户宣布识别的 story:"识别到下一个要准备的 story:{epicNum}.{storyNum} - {Story Title}"
30
+
31
+ ### 2. 收集 Story 需求和前一个 Story 上下文
32
+
33
+ - 从识别的 epic 文件中提取 story 需求
34
+ - 如果前一个 story 存在,检查 Dev Agent Record 部分:
35
+ - Completion Notes 和 Debug Log References
36
+ - Implementation deviations 和技术决策
37
+ - 遇到的挑战和 lessons learned
38
+ - 提取为当前 story 准备提供信息的相关见解
39
+
40
+ ### 3. 收集架构上下文
41
+
42
+ #### 3.1 确定架构阅读策略
43
+
44
+ - **如果 `architectureVersion: >= v4` 且 `architectureSharded: true`**:读取 `{architectureShardedLocation}/index.md` 然后按下面的 structured reading order
45
+ - **否则**:用 monolithic `architectureFile` 获取类似部分
46
+
47
+ #### 3.2 根据 Story 类型读取架构文档
48
+
49
+ **For ALL Stories:** tech-stack.md、unified-project-structure.md、coding-standards.md、testing-strategy.md
50
+
51
+ **For Backend/API Stories,额外:** data-models.md、database-schema.md、backend-architecture.md、rest-api-spec.md、external-apis.md
52
+
53
+ **For Frontend/UI Stories,额外:** frontend-architecture.md、components.md、core-workflows.md、data-models.md
54
+
55
+ **For Full-Stack Stories:** 读取上面 Backend 和 Frontend 两个部分
56
+
57
+ #### 3.3 提取 Story 特定技术细节
58
+
59
+ 只提取与实现当前 story 直接相关的信息。别发明源文档中没有的新库、模式或标准。
60
+
61
+ Extract:
62
+
63
+ - Story 将使用的特定 data models、schemas 或 structures
64
+ - Story 必须实现或消费的 API endpoints
65
+ - Story 中 UI 元素的 component specifications
66
+ - 新代码的 file paths 和 naming conventions
67
+ - Story 功能特定的 testing requirements
68
+ - 影响 Story 的 security 或 performance considerations
69
+
70
+ ALWAYS cite source documents:`[Source: architecture/{filename}.md#{section}]`
71
+
72
+ ### 4. 验证项目结构对齐
73
+
74
+ - 把 story 需求与 `docs/architecture/unified-project-structure.md` 中的 Project Structure Guide 交叉引用
75
+ - 确保 file paths、component locations 或 module names 与定义的结构对齐
76
+ - 在 story draft 的"Project Structure Notes"部分记录任何结构冲突
77
+
78
+ ### 5. 用完整上下文填充 Story 模板
79
+
80
+ - 用 Story 模板创建新的 story 文件:`{devStoryLocation}/{epicNum}.{storyNum}.story.md`
81
+ - 填写基本 story 信息:Title、Status (Draft)、Story statement、来自 Epic 的 Acceptance Criteria
82
+ - **`Dev Notes` 部分(关键):**
83
+ - 关键:这个部分必须只包含从架构文档中提取的信息。永远别发明或假设技术细节。
84
+ - 包含步骤 2-3 中所有相关技术细节,按类别组织:
85
+ - **Previous Story Insights**:从前一个 story 中学到的关键经验
86
+ - **Data Models**:特定 schemas、validation rules、relationships [带源引用]
87
+ - **API Specifications**:endpoint details、request/response formats、auth requirements [带源引用]
88
+ - **Component Specifications**:UI component details、props、state management [带源引用]
89
+ - **File Locations**:基于项目结构应该创建新代码的确切路径
90
+ - **Testing Requirements**:来自 testing-strategy.md 的特定测试用例或策略
91
+ - **Technical Constraints**:version requirements、performance considerations、security rules
92
+ - 每个技术细节都必须包含其源引用:`[Source: architecture/{filename}.md#{section}]`
93
+ - 如果在架构文档中找不到某个类别的信息,明确说明:"在架构文档中没找到具体指导"
94
+ - **`Tasks / Subtasks` 部分:**
95
+ - 仅基于以下内容生成详细、顺序的技术任务列表:Epic Requirements、Story AC、Reviewed Architecture Information
96
+ - 每个任务必须引用相关架构文档
97
+ - 根据 Testing Strategy 将 unit testing 作为明确的子任务包含
98
+ - 在适用时链接任务到 AC(例如,`Task 1 (AC: 1, 3)`)
99
+ - 添加在步骤 4 中发现的项目结构对齐或差异的笔记
100
+
101
+ ### 6. Story Draft 完成和审查
102
+
103
+ - 审查所有部分的完整性和准确性
104
+ - 验证所有技术细节都包含源引用
105
+ - 确保任务与 epic requirements 和 architecture constraints 都对齐
106
+ - 更新状态为"Draft"并保存 story 文件
107
+ - 执行 `.bmad-core/tasks/execute-checklist` `.bmad-core/checklists/story-draft-checklist`
108
+ - 向用户提供摘要,包括:
109
+ - 创建的 Story:`{devStoryLocation}/{epicNum}.{storyNum}.story.md`
110
+ - 状态:Draft
111
+ - 从架构文档中包含的关键 technical components
112
+ - Epic 和架构之间注意到的任何 deviations 或 conflicts
113
+ - Checklist Results
114
+ - 下一步:对于复杂 stories,建议用户仔细审查 story draft,也可以选择让 PO 运行任务 `.bmad-core/tasks/validate-next-story`
@@ -0,0 +1,345 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # 为现有项目生成文档
4
+
5
+ ## 目的
6
+
7
+ 为现有项目生成全面的文档,专门为AI开发代理优化。这个任务创建结构化的参考资料,让AI代理能够理解项目context、约定和模式,从而有效地为任何代码库做出贡献。
8
+
9
+ ## 任务说明
10
+
11
+ ### 1. 初始项目分析
12
+
13
+ **关键:** 首先检查context中是否存在PRD或需求文档。如果有,用它来专注于相关领域的文档工作。
14
+
15
+ **如果有PRD**:
16
+
17
+ - 看看PRD了解计划中的enhancement/功能
18
+ - 识别哪些模块、服务或领域会受到影响
19
+ - 只专注于这些相关领域的文档
20
+ - 跳过代码库中不相关的部分,保持文档精简
21
+
22
+ **如果没有PRD**:
23
+ 询问用户:
24
+
25
+ "我注意到你没有提供PRD或需求文档。为了创建更有针对性和有用的文档,我建议以下选项之一:
26
+
27
+ 1. **先创建PRD** - 你想让我在文档化之前帮你创建一个brownfield PRD吗?这有助于专注于相关领域的文档。
28
+
29
+ 2. **提供现有需求** - 你有需求文档、epic或功能描述可以分享吗?
30
+
31
+ 3. **描述重点** - 你能简单描述一下你计划做什么enhancement或功能吗?比如:
32
+ - '给用户服务添加支付处理'
33
+ - '重构认证模块'
34
+ - '集成新的第三方API'
35
+
36
+ 4. **全部文档化** - 或者我应该对整个代码库进行全面的文档化?(注意:对于大型项目可能会产生过多的文档)
37
+
38
+ 请告诉我你的偏好,或者如果你愿意,我可以进行完整的文档化。"
39
+
40
+ 根据他们的回复:
41
+
42
+ - 如果他们选择选项1-3:用那个context来专注于文档
43
+ - 如果他们选择选项4或拒绝:继续下面的全面分析
44
+
45
+ 开始对现有项目进行分析。使用可用工具来:
46
+
47
+ 1. **项目结构发现**:检查根目录结构,识别主要文件夹,了解整体组织
48
+ 2. **技术栈识别**:找找package.json、requirements.txt、Cargo.toml、pom.xml等来识别语言、框架和依赖
49
+ 3. **构建系统分析**:找到构建脚本、CI/CD配置和开发命令
50
+ 4. **现有文档审查**:检查README文件、docs文件夹和任何现有文档
51
+ 5. **代码模式分析**:采样关键文件来理解编码模式、命名约定和架构方法
52
+
53
+ 问问用户这些引导问题来更好地理解他们的需求:
54
+
55
+ - 这个项目的主要目的是什么?
56
+ - 代码库中是否有特别复杂或对代理理解很重要的特定领域?
57
+ - 你期望AI代理在这个项目上执行什么类型的任务?(比如,bug修复、功能添加、重构、测试)
58
+ - 你有任何偏好的现有文档标准或格式吗?
59
+ - 文档应该针对什么级别的技术细节?(初级开发者、高级开发者、混合团队)
60
+ - 你计划有什么特定的功能或enhancement吗?(这有助于专注于文档)
61
+
62
+ ### 2. 深度代码库分析
63
+
64
+ 关键:在生成文档之前,对现有代码库进行广泛分析:
65
+
66
+ 1. **探索关键领域**:
67
+ - 入口点(主文件、index文件、应用初始化器)
68
+ - 配置文件和环境设置
69
+ - 包依赖和版本
70
+ - 构建和部署配置
71
+ - 测试套件和覆盖率
72
+
73
+ 2. **询问澄清问题**:
74
+ - "我看到你在用[技术X]。有什么自定义模式或约定我应该文档化吗?"
75
+ - "这个系统中最关键/复杂的部分是什么,开发者经常遇到困难?"
76
+ - "有什么未文档化的'部落知识'领域我应该捕获吗?"
77
+ - "我应该文档化什么技术债务或已知问题?"
78
+ - "代码库的哪些部分变化最频繁?"
79
+
80
+ 3. **映射现实**:
81
+ - 识别实际使用的模式(不是理论最佳实践)
82
+ - 找到关键业务逻辑在哪
83
+ - 定位集成点和外部依赖
84
+ - 文档化变通方案和技术债务
85
+ - 注意与标准模式不同的领域
86
+
87
+ **如果提供了PRD**:还要分析enhancement需要什么改变
88
+
89
+ ### 3. 核心文档生成
90
+
91
+ [[LLM: 生成一个全面的BROWNFIELD架构文档,反映代码库的实际状态。
92
+
93
+ **关键**:这不是一个理想化的架构文档。文档化实际存在的内容,包括:
94
+
95
+ - 技术债务和变通方案
96
+ - 不同部分之间的不一致模式
97
+ - 无法更改的遗留代码
98
+ - 集成约束
99
+ - 性能瓶颈
100
+
101
+ **文档结构**:
102
+
103
+ # [项目名称] Brownfield架构文档
104
+
105
+ ## 介绍
106
+
107
+ 这个文档捕获了[项目名称]代码库的当前状态,包括技术债务、变通方案和现实世界的模式。它作为AI代理进行enhancement工作的参考。
108
+
109
+ ### 文档范围
110
+
111
+ [如果提供了PRD:"专注于相关领域:{enhancement描述}"]
112
+ [如果没有PRD:"整个系统的全面文档"]
113
+
114
+ ### 变更日志
115
+
116
+ | 日期 | 版本 | 描述 | 作者 |
117
+ | ------ | ---- | ------------------ | -------- |
118
+ | [日期] | 1.0 | 初始brownfield分析 | [分析师] |
119
+
120
+ ## 快速参考 - 关键文件和入口点
121
+
122
+ ### 理解系统的关键文件
123
+
124
+ - **主入口**:`src/index.js`(或实际入口点)
125
+ - **配置**:`config/app.config.js`、`.env.example`
126
+ - **核心业务逻辑**:`src/services/`、`src/domain/`
127
+ - **API定义**:`src/routes/`或链接到OpenAPI规范
128
+ - **数据库模型**:`src/models/`或链接到模式文件
129
+ - **关键算法**:[列出有复杂逻辑的特定文件]
130
+
131
+ ### 如果提供了PRD - enhancement影响领域
132
+
133
+ [突出显示哪些文件/模块会受到计划enhancement的影响]
134
+
135
+ ## 高级架构
136
+
137
+ ### 技术总结
138
+
139
+ ### 实际技术栈(来自package.json/requirements.txt)
140
+
141
+ | 类别 | 技术 | 版本 | 备注 |
142
+ | ------ | ---------- | ------ | ---------------- |
143
+ | 运行时 | Node.js | 16.x | [任何约束] |
144
+ | 框架 | Express | 4.18.2 | [自定义中间件?] |
145
+ | 数据库 | PostgreSQL | 13 | [连接池设置] |
146
+
147
+ 等等...
148
+
149
+ ### 仓库结构现实检查
150
+
151
+ - 类型:[Monorepo/Polyrepo/Hybrid]
152
+ - 包管理器:[npm/yarn/pnpm]
153
+ - 值得注意:[任何不寻常的结构决策]
154
+
155
+ ## 源码树和模块组织
156
+
157
+ ### 项目结构(实际)
158
+
159
+ ```text
160
+ project-root/
161
+ ├── src/
162
+ │ ├── controllers/ # HTTP请求处理器
163
+ │ ├── services/ # 业务逻辑(注意:用户和支付服务之间的模式不一致)
164
+ │ ├── models/ # 数据库模型(Sequelize)
165
+ │ ├── utils/ # 混合包 - 需要重构
166
+ │ └── legacy/ # 不要修改 - 旧支付系统仍在使用
167
+ ├── tests/ # Jest测试(60%覆盖率)
168
+ ├── scripts/ # 构建和部署脚本
169
+ └── config/ # 环境配置
170
+ ```
171
+
172
+ ### 关键模块及其用途
173
+
174
+ - **用户管理**:`src/services/userService.js` - 处理所有用户操作
175
+ - **认证**:`src/middleware/auth.js` - 基于JWT,自定义实现
176
+ - **支付处理**:`src/legacy/payment.js` - 关键:不要重构,紧密耦合
177
+ - **[列出其他关键模块及其实际文件]**
178
+
179
+ ## 数据模型和API
180
+
181
+ ### 数据模型
182
+
183
+ 不要重复,引用实际模型文件:
184
+
185
+ - **用户模型**:参见`src/models/User.js`
186
+ - **订单模型**:参见`src/models/Order.js`
187
+ - **相关类型**:TypeScript定义在`src/types/`
188
+
189
+ ### API规范
190
+
191
+ - **OpenAPI规范**:`docs/api/openapi.yaml`(如果存在)
192
+ - **Postman集合**:`docs/api/postman-collection.json`
193
+ - **手动端点**:[列出发现的任何未文档化端点]
194
+
195
+ ## 技术债务和已知问题
196
+
197
+ ### 关键技术债务
198
+
199
+ 1. **支付服务**:`src/legacy/payment.js`中的遗留代码 - 紧密耦合,没有测试
200
+ 2. **用户服务**:与其他服务不同的模式,用回调而不是promises
201
+ 3. **数据库迁移**:手动跟踪,没有适当的迁移工具
202
+ 4. **[其他重大债务]**
203
+
204
+ ### 变通方案和陷阱
205
+
206
+ - **环境变量**:即使对于staging也必须设置`NODE_ENV=production`(历史原因)
207
+ - **数据库连接**:连接池硬编码为10,改了会破坏支付服务
208
+ - **[开发者需要知道的其他变通方案]**
209
+
210
+ ## 集成点和外部依赖
211
+
212
+ ### 外部服务
213
+
214
+ | 服务 | 用途 | 集成类型 | 关键文件 |
215
+ | -------- | ---- | -------- | ------------------------------ |
216
+ | Stripe | 支付 | REST API | `src/integrations/stripe/` |
217
+ | SendGrid | 邮件 | SDK | `src/services/emailService.js` |
218
+
219
+ 等等...
220
+
221
+ ### 内部集成点
222
+
223
+ - **前端通信**:端口3000上的REST API,期望特定头部
224
+ - **后台作业**:Redis队列,参见`src/workers/`
225
+ - **[其他集成]**
226
+
227
+ ## 开发和部署
228
+
229
+ ### 本地开发设置
230
+
231
+ 1. 实际有效的步骤(不是理想步骤)
232
+ 2. 设置的已知问题
233
+ 3. 必需的环境变量(参见`.env.example`)
234
+
235
+ ### 构建和部署过程
236
+
237
+ - **构建命令**:`npm run build`(webpack配置在`webpack.config.js`)
238
+ - **部署**:通过`scripts/deploy.sh`手动部署
239
+ - **环境**:Dev、Staging、Prod(参见`config/environments/`)
240
+
241
+ ## 测试现实
242
+
243
+ ### 当前测试覆盖率
244
+
245
+ - 单元测试:60%覆盖率(Jest)
246
+ - 集成测试:最少,在`tests/integration/`
247
+ - E2E测试:无
248
+ - 手动测试:主要QA方法
249
+
250
+ ### 运行测试
251
+
252
+ ```bash
253
+ npm test # 运行单元测试
254
+ npm run test:integration # 运行集成测试(需要本地DB)
255
+ ```
256
+
257
+ ## 如果提供了enhancement PRD - 影响分析
258
+
259
+ ### 需要修改的文件
260
+
261
+ 基于enhancement需求,这些文件会受到影响:
262
+
263
+ - `src/services/userService.js` - 添加新用户字段
264
+ - `src/models/User.js` - 更新模式
265
+ - `src/routes/userRoutes.js` - 新端点
266
+ - [等等...]
267
+
268
+ ### 需要的新文件/模块
269
+
270
+ - `src/services/newFeatureService.js` - 新业务逻辑
271
+ - `src/models/NewFeature.js` - 新数据模型
272
+ - [等等...]
273
+
274
+ ### 集成考虑
275
+
276
+ - 需要与现有认证中间件集成
277
+ - 必须遵循`src/utils/responseFormatter.js`中的现有响应格式
278
+ - [其他集成点]
279
+
280
+ ## 附录 - 有用的命令和脚本
281
+
282
+ ### 常用命令
283
+
284
+ ```bash
285
+ npm run dev # 启动开发服务器
286
+ npm run build # 生产构建
287
+ npm run migrate # 运行数据库迁移
288
+ npm run seed # 种子测试数据
289
+ ```
290
+
291
+ ### 调试和故障排除
292
+
293
+ - **日志**:检查`logs/app.log`获取应用日志
294
+ - **调试模式**:设置`DEBUG=app:*`进行详细日志记录
295
+ - **常见问题**:参见`docs/troubleshooting.md`]]
296
+
297
+ ### 4. 文档交付
298
+
299
+ 1. **在Web UI中(Gemini、ChatGPT、Claude)**:
300
+ - 在一个响应中呈现整个文档(如果太长可以分多个)
301
+ - 告诉用户复制并保存为`docs/brownfield-architecture.md`或`docs/project-architecture.md`
302
+ - 提到如果需要可以在IDE中稍后分片
303
+
304
+ 2. **在IDE环境中**:
305
+ - 创建文档为`docs/brownfield-architecture.md`
306
+ - 告知用户这个单一文档包含所有架构信息
307
+ - 如果需要可以使用PO代理稍后分片
308
+
309
+ 文档应该足够全面,让未来的代理能够理解:
310
+
311
+ - 系统的实际状态(不是理想化的)
312
+ - 在哪里找到关键文件和逻辑
313
+ - 存在什么技术债务
314
+ - 必须尊重什么约束
315
+ - 如果提供了PRD:enhancement需要什么改变]]
316
+
317
+ ### 5. 质量保证
318
+
319
+ 关键:在最终确定文档之前:
320
+
321
+ 1. **准确性检查**:验证所有技术细节与实际代码库匹配
322
+ 2. **完整性审查**:确保所有主要系统组件都已文档化
323
+ 3. **重点验证**:如果用户提供了范围,验证相关领域得到强调
324
+ 4. **清晰度评估**:检查解释对AI代理是否清晰
325
+ 5. **导航**:确保文档有清晰的部分结构便于参考
326
+
327
+ 在主要部分之后应用高级引导任务,根据用户反馈进行完善。
328
+
329
+ ## 成功标准
330
+
331
+ - 创建了单一全面的brownfield架构文档
332
+ - 文档反映现实,包括技术债务和变通方案
333
+ - 关键文件和模块引用实际路径
334
+ - 模型/API引用源文件而不是重复内容
335
+ - 如果提供了PRD:清晰的影响分析显示需要什么改变
336
+ - 文档使AI代理能够导航和理解实际代码库
337
+ - 技术约束和"陷阱"得到清晰文档化
338
+
339
+ ## 注意事项
340
+
341
+ - 这个任务创建一个文档来捕获系统的真实状态
342
+ - 尽可能引用实际文件而不是重复内容
343
+ - 诚实地文档化技术债务、变通方案和约束
344
+ - 对于有PRD的brownfield项目:提供清晰的enhancement影响分析
345
+ - 目标是为做实际工作的AI代理提供实用的文档
@@ -0,0 +1,88 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # Checklist 验证任务
4
+
5
+ 这个任务教你怎么用 checklist 来验证文档。代理必须按这个来,确保文档验证得全面又系统。
6
+
7
+ ## 可用的 Checklist
8
+
9
+ 如果用户问或者没指定具体 checklist,就把代理角色能用的 checklist 列出来。如果任务不是用特定代理跑的,告诉用户去 .bmad-core/checklists 文件夹里挑个合适的来用。
10
+
11
+ ## 操作步骤
12
+
13
+ 1. **先看看情况**
14
+ - 如果用户或任务给了 checklist 名称:
15
+ - 试试模糊匹配(比如 "architecture checklist" -> "architect-checklist")
16
+ - 找到多个匹配就让用户说清楚
17
+ - 从 .bmad-core/checklists/ 加载合适的 checklist
18
+ - 如果没指定 checklist:
19
+ - 问用户想用哪个 checklist
20
+ - 把 checklists 文件夹里的文件选项展示出来
21
+ - 确认他们想怎么搞 checklist:
22
+ - 一节一节来(交互模式 - 很费时间)
23
+ - 一次性搞定(YOLO 模式 - 推荐用这个,最后会有各节的总结可以讨论)
24
+
25
+ 2. **收集文档和工件**
26
+ - 每个 checklist 都会在开头说需要什么文档/工件
27
+ - 按 checklist 的具体指导来收集,一般文件在 docs 文件夹里能找到,找不到或不确定就停下来问用户。
28
+
29
+ 3. **处理 Checklist**
30
+
31
+ 如果是交互模式:
32
+ - 一个一个处理 checklist 的每个部分
33
+ - 对每个部分:
34
+ - 按 checklist 里嵌入的该部分指导来审查所有项目
35
+ - 根据相关文档或工件检查每个项目
36
+ - 展示该部分的发现总结,标出警告、错误和不适用项目(为什么不适用)
37
+ - 继续下一部分前要用户确认,或者有重大问题就停下来处理
38
+
39
+ 如果是 YOLO 模式:
40
+ - 一次性处理所有部分
41
+ - 搞个所有发现的综合报告
42
+ - 给用户看完整分析
43
+
44
+ 4. **验证方法**
45
+
46
+ 对每个 checklist 项目:
47
+ - 读一下理解要求
48
+ - 在文档里找满足要求的证据
49
+ - 考虑明确说的和隐含覆盖的
50
+ - 除此之外,按所有 checklist llm 指导来
51
+ - 标记项目为:
52
+ - ✅ 通过:要求明确满足了
53
+ - ❌ 失败:要求没满足或覆盖不够
54
+ - ⚠️ 部分:有些方面覆盖了但需要改进
55
+ - N/A:不适用于这个情况
56
+
57
+ 5. **部分分析**
58
+
59
+ 对每个部分:
60
+ - 一步步想算通过率
61
+ - 找出失败项目里的共同问题
62
+ - 给具体的改进建议
63
+ - 交互模式下,和用户讨论发现
64
+ - 记录用户的决策或解释
65
+
66
+ 6. **最终报告**
67
+
68
+ 准备包含这些内容的总结:
69
+ - 整体 checklist 完成情况
70
+ - 各部分的通过率
71
+ - 失败项目列表和上下文
72
+ - 具体的改进建议
73
+ - 任何标记为 N/A 的部分或项目和理由
74
+
75
+ ## Checklist 执行方法
76
+
77
+ 每个 checklist 现在都包含嵌入的 LLM 提示和指导,会:
78
+
79
+ 1. **指导深入思考** - 提示确保对每个部分深度分析
80
+ 2. **请求特定工件** - 关于需要什么文档/访问的明确指导
81
+ 3. **提供上下文指导** - 针对特定部分的提示,验证效果更好
82
+ 4. **生成综合报告** - 带详细发现的最终总结
83
+
84
+ LLM 会:
85
+
86
+ - 执行完整的 checklist 验证
87
+ - 展示带通过/失败率和关键发现的最终报告
88
+ - 提供任何部分的详细分析,特别是有警告或失败的部分
@@ -0,0 +1,138 @@
1
+ ## <!-- Powered by BMAD™ Core -->
2
+
3
+ docOutputLocation: docs/brainstorming-session-results.md
4
+ template: '.bmad-core/templates/brainstorming-output-tmpl.yaml'
5
+
6
+ ---
7
+
8
+ # Facilitate Brainstorming Session Task
9
+
10
+ Facilitate interactive brainstorming sessions with users. Be creative and adaptive in applying techniques.
11
+
12
+ ## Process
13
+
14
+ ### Step 1: Session Setup
15
+
16
+ Ask 4 context questions (don't preview what happens next):
17
+
18
+ 1. What are we brainstorming about?
19
+ 2. Any constraints or parameters?
20
+ 3. Goal: broad exploration or focused ideation?
21
+ 4. Do you want a structured document output to reference later? (Default Yes)
22
+
23
+ ### Step 2: Present Approach Options
24
+
25
+ After getting answers to Step 1, present 4 approach options (numbered):
26
+
27
+ 1. User selects specific techniques
28
+ 2. Analyst recommends techniques based on context
29
+ 3. Random technique selection for creative variety
30
+ 4. Progressive technique flow (start broad, narrow down)
31
+
32
+ ### Step 3: Execute Techniques Interactively
33
+
34
+ **KEY PRINCIPLES:**
35
+
36
+ - **FACILITATOR ROLE**: Guide user to generate their own ideas through questions, prompts, and examples
37
+ - **CONTINUOUS ENGAGEMENT**: Keep user engaged with chosen technique until they want to switch or are satisfied
38
+ - **CAPTURE OUTPUT**: If (default) document output requested, capture all ideas generated in each technique section to the document from the beginning.
39
+
40
+ **Technique Selection:**
41
+ If user selects Option 1, present numbered list of techniques from the brainstorming-techniques data file. User can select by number..
42
+
43
+ **Technique Execution:**
44
+
45
+ 1. Apply selected technique according to data file description
46
+ 2. Keep engaging with technique until user indicates they want to:
47
+ - Choose a different technique
48
+ - Apply current ideas to a new technique
49
+ - Move to convergent phase
50
+ - End session
51
+
52
+ **Output Capture (if requested):**
53
+ For each technique used, capture:
54
+
55
+ - Technique name and duration
56
+ - Key ideas generated by user
57
+ - Insights and patterns identified
58
+ - User's reflections on the process
59
+
60
+ ### Step 4: Session Flow
61
+
62
+ 1. **Warm-up** (5-10 min) - Build creative confidence
63
+ 2. **Divergent** (20-30 min) - Generate quantity over quality
64
+ 3. **Convergent** (15-20 min) - Group and categorize ideas
65
+ 4. **Synthesis** (10-15 min) - Refine and develop concepts
66
+
67
+ ### Step 5: Document Output (if requested)
68
+
69
+ Generate structured document with these sections:
70
+
71
+ **Executive Summary**
72
+
73
+ - Session topic and goals
74
+ - Techniques used and duration
75
+ - Total ideas generated
76
+ - Key themes and patterns identified
77
+
78
+ **Technique Sections** (for each technique used)
79
+
80
+ - Technique name and description
81
+ - Ideas generated (user's own words)
82
+ - Insights discovered
83
+ - Notable connections or patterns
84
+
85
+ **Idea Categorization**
86
+
87
+ - **Immediate Opportunities** - Ready to implement now
88
+ - **Future Innovations** - Requires development/research
89
+ - **Moonshots** - Ambitious, transformative concepts
90
+ - **Insights & Learnings** - Key realizations from session
91
+
92
+ **Action Planning**
93
+
94
+ - Top 3 priority ideas with rationale
95
+ - Next steps for each priority
96
+ - Resources/research needed
97
+ - Timeline considerations
98
+
99
+ **Reflection & Follow-up**
100
+
101
+ - What worked well in this session
102
+ - Areas for further exploration
103
+ - Recommended follow-up techniques
104
+ - Questions that emerged for future sessions
105
+
106
+ ## Key Principles
107
+
108
+ - **YOU ARE A FACILITATOR**: Guide the user to brainstorm, don't brainstorm for them (unless they request it persistently)
109
+ - **INTERACTIVE DIALOGUE**: Ask questions, wait for responses, build on their ideas
110
+ - **ONE TECHNIQUE AT A TIME**: Don't mix multiple techniques in one response
111
+ - **CONTINUOUS ENGAGEMENT**: Stay with one technique until user wants to switch
112
+ - **DRAW IDEAS OUT**: Use prompts and examples to help them generate their own ideas
113
+ - **REAL-TIME ADAPTATION**: Monitor engagement and adjust approach as needed
114
+ - Maintain energy and momentum
115
+ - Defer judgment during generation
116
+ - Quantity leads to quality (aim for 100 ideas in 60 minutes)
117
+ - Build on ideas collaboratively
118
+ - Document everything in output document
119
+
120
+ ## Advanced Engagement Strategies
121
+
122
+ **Energy Management**
123
+
124
+ - Check engagement levels: "How are you feeling about this direction?"
125
+ - Offer breaks or technique switches if energy flags
126
+ - Use encouraging language and celebrate idea generation
127
+
128
+ **Depth vs. Breadth**
129
+
130
+ - Ask follow-up questions to deepen ideas: "Tell me more about that..."
131
+ - Use "Yes, and..." to build on their ideas
132
+ - Help them make connections: "How does this relate to your earlier idea about...?"
133
+
134
+ **Transition Management**
135
+
136
+ - Always ask before switching techniques: "Ready to try a different approach?"
137
+ - Offer options: "Should we explore this idea deeper or generate more alternatives?"
138
+ - Respect their process and timing