bmad-method 1.0.1

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 (147) hide show
  1. package/.bmad-core/agent-teams/team-all.yml +16 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yml +26 -0
  3. package/.bmad-core/agent-teams/team-no-ui.yml +15 -0
  4. package/.bmad-core/agents/analyst.md +65 -0
  5. package/.bmad-core/agents/architect.md +66 -0
  6. package/.bmad-core/agents/bmad-master.md +107 -0
  7. package/.bmad-core/agents/bmad-orchestrator.md +81 -0
  8. package/.bmad-core/agents/dev.md +69 -0
  9. package/.bmad-core/agents/pm.md +64 -0
  10. package/.bmad-core/agents/po.md +60 -0
  11. package/.bmad-core/agents/qa.md +52 -0
  12. package/.bmad-core/agents/sm.md +60 -0
  13. package/.bmad-core/agents/ux-expert.md +66 -0
  14. package/.bmad-core/checklists/architect-checklist.md +443 -0
  15. package/.bmad-core/checklists/change-checklist.md +182 -0
  16. package/.bmad-core/checklists/pm-checklist.md +375 -0
  17. package/.bmad-core/checklists/po-master-checklist.md +441 -0
  18. package/.bmad-core/checklists/story-dod-checklist.md +101 -0
  19. package/.bmad-core/checklists/story-draft-checklist.md +156 -0
  20. package/.bmad-core/data/bmad-kb.md +36 -0
  21. package/.bmad-core/data/technical-preferences.md +3 -0
  22. package/.bmad-core/schemas/agent-team-schema.yml +153 -0
  23. package/.bmad-core/tasks/advanced-elicitation.md +92 -0
  24. package/.bmad-core/tasks/brainstorming-techniques.md +238 -0
  25. package/.bmad-core/tasks/brownfield-create-epic.md +160 -0
  26. package/.bmad-core/tasks/brownfield-create-story.md +147 -0
  27. package/.bmad-core/tasks/core-dump.md +74 -0
  28. package/.bmad-core/tasks/correct-course.md +73 -0
  29. package/.bmad-core/tasks/create-agent.md +202 -0
  30. package/.bmad-core/tasks/create-deep-research-prompt.md +301 -0
  31. package/.bmad-core/tasks/create-doc.md +74 -0
  32. package/.bmad-core/tasks/create-expansion-pack.md +425 -0
  33. package/.bmad-core/tasks/create-next-story.md +206 -0
  34. package/.bmad-core/tasks/create-team.md +229 -0
  35. package/.bmad-core/tasks/doc-migration-task.md +198 -0
  36. package/.bmad-core/tasks/execute-checklist.md +97 -0
  37. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +58 -0
  38. package/.bmad-core/tasks/index-docs.md +180 -0
  39. package/.bmad-core/tasks/shard-doc.md +173 -0
  40. package/.bmad-core/templates/agent-tmpl.md +58 -0
  41. package/.bmad-core/templates/architecture-tmpl.md +771 -0
  42. package/.bmad-core/templates/brownfield-architecture-tmpl.md +542 -0
  43. package/.bmad-core/templates/brownfield-prd-tmpl.md +240 -0
  44. package/.bmad-core/templates/competitor-analysis-tmpl.md +289 -0
  45. package/.bmad-core/templates/expansion-pack-plan-tmpl.md +91 -0
  46. package/.bmad-core/templates/front-end-architecture-tmpl.md +173 -0
  47. package/.bmad-core/templates/front-end-spec-tmpl.md +411 -0
  48. package/.bmad-core/templates/fullstack-architecture-tmpl.md +1034 -0
  49. package/.bmad-core/templates/market-research-tmpl.md +261 -0
  50. package/.bmad-core/templates/prd-tmpl.md +200 -0
  51. package/.bmad-core/templates/project-brief-tmpl.md +228 -0
  52. package/.bmad-core/templates/story-tmpl.md +61 -0
  53. package/.bmad-core/templates/web-agent-startup-instructions-template.md +39 -0
  54. package/.bmad-core/utils/agent-switcher.ide.md +112 -0
  55. package/.bmad-core/utils/template-format.md +26 -0
  56. package/.bmad-core/utils/workflow-management.md +224 -0
  57. package/.bmad-core/web-bundles/agents/analyst.txt +1679 -0
  58. package/.bmad-core/web-bundles/agents/architect.txt +3602 -0
  59. package/.bmad-core/web-bundles/agents/bmad-master.txt +9496 -0
  60. package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +1455 -0
  61. package/.bmad-core/web-bundles/agents/dev.txt +315 -0
  62. package/.bmad-core/web-bundles/agents/pm.txt +2196 -0
  63. package/.bmad-core/web-bundles/agents/po.txt +1489 -0
  64. package/.bmad-core/web-bundles/agents/qa.txt +129 -0
  65. package/.bmad-core/web-bundles/agents/sm.txt +663 -0
  66. package/.bmad-core/web-bundles/agents/ux-expert.txt +1099 -0
  67. package/.bmad-core/web-bundles/teams/team-all.txt +10315 -0
  68. package/.bmad-core/web-bundles/teams/team-fullstack.txt +9663 -0
  69. package/.bmad-core/web-bundles/teams/team-no-ui.txt +8504 -0
  70. package/.bmad-core/workflows/brownfield-fullstack.yml +116 -0
  71. package/.bmad-core/workflows/brownfield-service.yml +117 -0
  72. package/.bmad-core/workflows/brownfield-ui.yml +127 -0
  73. package/.bmad-core/workflows/greenfield-fullstack.yml +177 -0
  74. package/.bmad-core/workflows/greenfield-service.yml +143 -0
  75. package/.bmad-core/workflows/greenfield-ui.yml +172 -0
  76. package/.claude/commands/analyst.md +69 -0
  77. package/.claude/commands/architect.md +70 -0
  78. package/.claude/commands/bmad-master.md +111 -0
  79. package/.claude/commands/bmad-orchestrator.md +85 -0
  80. package/.claude/commands/dev.md +73 -0
  81. package/.claude/commands/pm.md +68 -0
  82. package/.claude/commands/po.md +64 -0
  83. package/.claude/commands/qa.md +56 -0
  84. package/.claude/commands/sm.md +64 -0
  85. package/.claude/commands/ux-expert.md +70 -0
  86. package/.cursor/rules/analyst.mdc +83 -0
  87. package/.cursor/rules/architect.mdc +84 -0
  88. package/.cursor/rules/bmad-master.mdc +125 -0
  89. package/.cursor/rules/bmad-orchestrator.mdc +99 -0
  90. package/.cursor/rules/dev.mdc +87 -0
  91. package/.cursor/rules/pm.mdc +82 -0
  92. package/.cursor/rules/po.mdc +78 -0
  93. package/.cursor/rules/qa.mdc +70 -0
  94. package/.cursor/rules/sm.mdc +78 -0
  95. package/.cursor/rules/ux-expert.mdc +84 -0
  96. package/.github/workflows/release.yml +59 -0
  97. package/.husky/pre-commit +2 -0
  98. package/.releaserc.json +17 -0
  99. package/.roo/.roomodes +95 -0
  100. package/.roo/README.md +38 -0
  101. package/.vscode/extensions.json +6 -0
  102. package/.vscode/settings.json +72 -0
  103. package/.windsurf/rules/analyst.md +77 -0
  104. package/.windsurf/rules/architect.md +78 -0
  105. package/.windsurf/rules/bmad-master.md +119 -0
  106. package/.windsurf/rules/bmad-orchestrator.md +93 -0
  107. package/.windsurf/rules/dev.md +81 -0
  108. package/.windsurf/rules/pm.md +76 -0
  109. package/.windsurf/rules/po.md +72 -0
  110. package/.windsurf/rules/qa.md +64 -0
  111. package/.windsurf/rules/sm.md +72 -0
  112. package/.windsurf/rules/ux-expert.md +78 -0
  113. package/CHANGELOG.md +22 -0
  114. package/CONTRIBUTING.md +46 -0
  115. package/LICENSE +21 -0
  116. package/README.md +283 -0
  117. package/docs/versioning-and-releases.md +85 -0
  118. package/docs/versions.md +49 -0
  119. package/expansion-packs/README.md +113 -0
  120. package/expansion-packs/infrastructure-devops/README.md +147 -0
  121. package/expansion-packs/infrastructure-devops/agents/infra-devops-platform.md +59 -0
  122. package/expansion-packs/infrastructure-devops/checklists/infrastructure-checklist.md +484 -0
  123. package/expansion-packs/infrastructure-devops/manifest.yml +38 -0
  124. package/expansion-packs/infrastructure-devops/tasks/review-infrastructure.md +160 -0
  125. package/expansion-packs/infrastructure-devops/tasks/validate-infrastructure.md +154 -0
  126. package/expansion-packs/infrastructure-devops/templates/infrastructure-architecture-tmpl.md +415 -0
  127. package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
  128. package/package.json +73 -0
  129. package/tools/bmad-npx-wrapper.js +41 -0
  130. package/tools/builders/web-builder.js +145 -0
  131. package/tools/cli.js +119 -0
  132. package/tools/installer/README.md +58 -0
  133. package/tools/installer/bin/bmad.js +179 -0
  134. package/tools/installer/config/install.config.yml +139 -0
  135. package/tools/installer/lib/config-loader.js +89 -0
  136. package/tools/installer/lib/file-manager.js +169 -0
  137. package/tools/installer/lib/ide-setup.js +419 -0
  138. package/tools/installer/lib/installer.js +534 -0
  139. package/tools/installer/package-lock.json +704 -0
  140. package/tools/installer/package.json +43 -0
  141. package/tools/installer/templates/claude-commands.md +7 -0
  142. package/tools/installer/templates/cursor-rules.md +22 -0
  143. package/tools/installer/templates/windsurf-rules.md +22 -0
  144. package/tools/lib/dependency-resolver.js +179 -0
  145. package/tools/upgraders/v3-to-v4-upgrader.js +766 -0
  146. package/tools/version-bump.js +72 -0
  147. package/tools/yaml-format.js +211 -0
@@ -0,0 +1,180 @@
1
+ # Index Documentation Task
2
+
3
+ ## Purpose
4
+
5
+ This task maintains the integrity and completeness of the `docs/index.md` file by scanning all documentation files and ensuring they are properly indexed with descriptions. It handles both root-level documents and documents within subfolders, organizing them hierarchically.
6
+
7
+ ## Task Instructions
8
+
9
+ You are now operating as a Documentation Indexer. Your goal is to ensure all documentation files are properly cataloged in the central index with proper organization for subfolders.
10
+
11
+ ### Required Steps
12
+
13
+ 1. First, locate and scan:
14
+
15
+ - The `docs/` directory and all subdirectories
16
+ - The existing `docs/index.md` file (create if absent)
17
+ - All markdown (`.md`) and text (`.txt`) files in the documentation structure
18
+ - Note the folder structure for hierarchical organization
19
+
20
+ 2. For the existing `docs/index.md`:
21
+
22
+ - Parse current entries
23
+ - Note existing file references and descriptions
24
+ - Identify any broken links or missing files
25
+ - Keep track of already-indexed content
26
+ - Preserve existing folder sections
27
+
28
+ 3. For each documentation file found:
29
+
30
+ - Extract the title (from first heading or filename)
31
+ - Generate a brief description by analyzing the content
32
+ - Create a relative markdown link to the file
33
+ - Check if it's already in the index
34
+ - Note which folder it belongs to (if in a subfolder)
35
+ - If missing or outdated, prepare an update
36
+
37
+ 4. For any missing or non-existent files found in index:
38
+
39
+ - Present a list of all entries that reference non-existent files
40
+ - For each entry:
41
+ - Show the full entry details (title, path, description)
42
+ - Ask for explicit confirmation before removal
43
+ - Provide option to update the path if file was moved
44
+ - Log the decision (remove/update/keep) for final report
45
+
46
+ 5. Update `docs/index.md`:
47
+ - Maintain existing structure and organization
48
+ - Create level 2 sections (`##`) for each subfolder
49
+ - List root-level documents first
50
+ - Add missing entries with descriptions
51
+ - Update outdated entries
52
+ - Remove only entries that were confirmed for removal
53
+ - Ensure consistent formatting throughout
54
+
55
+ ### Index Structure Format
56
+
57
+ The index should be organized as follows:
58
+
59
+ ````markdown
60
+ # Documentation Index
61
+
62
+ ## Root Documents
63
+
64
+ ### [Document Title](./document.md)
65
+
66
+ Brief description of the document's purpose and contents.
67
+
68
+ ### [Another Document](./another.md)
69
+
70
+ Description here.
71
+
72
+ ## Folder Name
73
+
74
+ Documents within the `folder-name/` directory:
75
+
76
+ ### [Document in Folder](./folder-name/document.md)
77
+
78
+ Description of this document.
79
+
80
+ ### [Another in Folder](./folder-name/another.md)
81
+
82
+ Description here.
83
+
84
+ ## Another Folder
85
+
86
+ Documents within the `another-folder/` directory:
87
+
88
+ ### [Nested Document](./another-folder/document.md)
89
+
90
+ Description of nested document.
91
+
92
+ ````text
93
+
94
+ ### Index Entry Format
95
+
96
+ Each entry should follow this format:
97
+
98
+ ```markdown
99
+ ### [Document Title](relative/path/to/file.md)
100
+
101
+ Brief description of the document's purpose and contents.
102
+ ````
103
+ ````
104
+
105
+ ### Rules of Operation
106
+
107
+ 1. NEVER modify the content of indexed files
108
+ 2. Preserve existing descriptions in index.md when they are adequate
109
+ 3. Maintain any existing categorization or grouping in the index
110
+ 4. Use relative paths for all links (starting with `./`)
111
+ 5. Ensure descriptions are concise but informative
112
+ 6. NEVER remove entries without explicit confirmation
113
+ 7. Report any broken links or inconsistencies found
114
+ 8. Allow path updates for moved files before considering removal
115
+ 9. Create folder sections using level 2 headings (`##`)
116
+ 10. Sort folders alphabetically, with root documents listed first
117
+ 11. Within each section, sort documents alphabetically by title
118
+
119
+ ### Process Output
120
+
121
+ The task will provide:
122
+
123
+ 1. A summary of changes made to index.md
124
+ 2. List of newly indexed files (organized by folder)
125
+ 3. List of updated entries
126
+ 4. List of entries presented for removal and their status:
127
+ - Confirmed removals
128
+ - Updated paths
129
+ - Kept despite missing file
130
+ 5. Any new folders discovered
131
+ 6. Any other issues or inconsistencies found
132
+
133
+ ### Handling Missing Files
134
+
135
+ For each file referenced in the index but not found in the filesystem:
136
+
137
+ 1. Present the entry:
138
+
139
+ ```markdown
140
+ Missing file detected:
141
+ Title: [Document Title]
142
+ Path: relative/path/to/file.md
143
+ Description: Existing description
144
+ Section: [Root Documents | Folder Name]
145
+
146
+ Options:
147
+
148
+ 1. Remove this entry
149
+ 2. Update the file path
150
+ 3. Keep entry (mark as temporarily unavailable)
151
+
152
+ Please choose an option (1/2/3):
153
+ ```
154
+
155
+ 2. Wait for user confirmation before taking any action
156
+ 3. Log the decision for the final report
157
+
158
+ ### Special Cases
159
+
160
+ 1. **Sharded Documents**: If a folder contains an `index.md` file, treat it as a sharded document:
161
+
162
+ - Use the folder's `index.md` title as the section title
163
+ - List the folder's documents as subsections
164
+ - Note in the description that this is a multi-part document
165
+
166
+ 2. **README files**: Convert `README.md` to more descriptive titles based on content
167
+
168
+ 3. **Nested Subfolders**: For deeply nested folders, maintain the hierarchy but limit to 2 levels in the main index. Deeper structures should have their own index files.
169
+
170
+ ## Required Input
171
+
172
+ Please provide:
173
+
174
+ 1. Location of the `docs/` directory (default: `./docs`)
175
+ 2. Confirmation of write access to `docs/index.md`
176
+ 3. Any specific categorization preferences
177
+ 4. Any files or directories to exclude from indexing (e.g., `.git`, `node_modules`)
178
+ 5. Whether to include hidden files/folders (starting with `.`)
179
+
180
+ Would you like to proceed with documentation indexing? Please provide the required input above.
@@ -0,0 +1,173 @@
1
+ # Document Sharding Task
2
+
3
+ ## Purpose
4
+
5
+ - Split a large document into multiple smaller documents based on level 2 sections
6
+ - Create a folder structure to organize the sharded documents
7
+ - Maintain all content integrity including code blocks, diagrams, and markdown formatting
8
+
9
+ ## Recommended Method: @kayvan/markdown-tree-parser
10
+
11
+ [[LLM: First, suggest the user install and use the @kayvan/markdown-tree-parser tool if the md-tree command is unavailable so we can have the best performance and reliable document sharding. Let the user know this will save cost of having the LLM to the expensive sharding operation. Give instructions for MPV NPX and PNPM global installs.]]
12
+
13
+ ### Installation and Usage
14
+
15
+ 1. **Install globally**:
16
+
17
+ ```bash
18
+ npm install -g @kayvan/markdown-tree-parser
19
+ ```
20
+
21
+ 2. **Use the explode command**:
22
+
23
+ ```bash
24
+ # For PRD
25
+ md-tree explode docs/prd.md docs/prd
26
+
27
+ # For Architecture
28
+ md-tree explode docs/architecture.md docs/architecture
29
+
30
+ # For any document
31
+ md-tree explode [source-document] [destination-folder]
32
+ ```
33
+
34
+ 3. **What it does**:
35
+ - Automatically splits the document by level 2 sections
36
+ - Creates properly named files
37
+ - Adjusts heading levels appropriately
38
+ - Handles all edge cases with code blocks and special markdown
39
+
40
+ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manual process below.
41
+
42
+ ---
43
+
44
+ ## Manual Method (if @kayvan/markdown-tree-parser is not available)
45
+
46
+ [[LLM: Only proceed with the manual instructions below if the user cannot or does not want to use @kayvan/markdown-tree-parser.]]
47
+
48
+ ### Task Instructions
49
+
50
+ ### 1. Identify Document and Target Location
51
+
52
+ - Determine which document to shard (user-provided path)
53
+ - Create a new folder under `docs/` with the same name as the document (without extension)
54
+ - Example: `docs/prd.md` → create folder `docs/prd/`
55
+
56
+ ### 2. Parse and Extract Sections
57
+
58
+ [[LLM: When sharding the document:
59
+
60
+ 1. Read the entire document content
61
+ 2. Identify all level 2 sections (## headings)
62
+ 3. For each level 2 section:
63
+ - Extract the section heading and ALL content until the next level 2 section
64
+ - Include all subsections, code blocks, diagrams, lists, tables, etc.
65
+ - Be extremely careful with:
66
+ - Fenced code blocks (```) - ensure you capture the full block including closing backticks
67
+ - Mermaid diagrams - preserve the complete diagram syntax
68
+ - Nested markdown elements
69
+ - Multi-line content that might contain ## inside code blocks
70
+
71
+ CRITICAL: Use proper parsing that understands markdown context. A ## inside a code block is NOT a section header.]]
72
+
73
+ ### 3. Create Individual Files
74
+
75
+ For each extracted section:
76
+
77
+ 1. **Generate filename**: Convert the section heading to lowercase-dash-case
78
+
79
+ - Remove special characters
80
+ - Replace spaces with dashes
81
+ - Example: "## Tech Stack" → `tech-stack.md`
82
+
83
+ 2. **Adjust heading levels**:
84
+
85
+ - The level 2 heading becomes level 1 (# instead of ##)
86
+ - All subsection levels decrease by 1:
87
+
88
+ ```txt
89
+ - ### → ##
90
+ - #### → ###
91
+ - ##### → ####
92
+ - etc.
93
+ ```
94
+
95
+ 3. **Write content**: Save the adjusted content to the new file
96
+
97
+ ### 4. Create Index File
98
+
99
+ Create an `index.md` file in the sharded folder that:
100
+
101
+ 1. Contains the original level 1 heading and any content before the first level 2 section
102
+ 2. Lists all the sharded files with links:
103
+
104
+ ```markdown
105
+ # Original Document Title
106
+
107
+ [Original introduction content if any]
108
+
109
+ ## Sections
110
+
111
+ - [Section Name 1](./section-name-1.md)
112
+ - [Section Name 2](./section-name-2.md)
113
+ - [Section Name 3](./section-name-3.md)
114
+ ...
115
+ ```
116
+
117
+ ### 5. Preserve Special Content
118
+
119
+ [[LLM: Pay special attention to preserving:
120
+
121
+ 1. **Code blocks**: Must capture complete blocks including:
122
+
123
+ ```language
124
+ content
125
+ ```
126
+
127
+ 2. **Mermaid diagrams**: Preserve complete syntax:
128
+
129
+ ```mermaid
130
+ graph TD
131
+ ...
132
+ ```
133
+
134
+ 3. **Tables**: Maintain proper markdown table formatting
135
+
136
+ 4. **Lists**: Preserve indentation and nesting
137
+
138
+ 5. **Inline code**: Preserve backticks
139
+
140
+ 6. **Links and references**: Keep all markdown links intact
141
+
142
+ 7. **Template markup**: If documents contain {{placeholders}} or [[LLM instructions]], preserve exactly]]
143
+
144
+ ### 6. Validation
145
+
146
+ After sharding:
147
+
148
+ 1. Verify all sections were extracted
149
+ 2. Check that no content was lost
150
+ 3. Ensure heading levels were properly adjusted
151
+ 4. Confirm all files were created successfully
152
+
153
+ ### 7. Report Results
154
+
155
+ Provide a summary:
156
+
157
+ ```text
158
+ Document sharded successfully:
159
+ - Source: [original document path]
160
+ - Destination: docs/[folder-name]/
161
+ - Files created: [count]
162
+ - Sections:
163
+ - section-name-1.md: "Section Title 1"
164
+ - section-name-2.md: "Section Title 2"
165
+ ...
166
+ ```
167
+
168
+ ## Important Notes
169
+
170
+ - Never modify the actual content, only adjust heading levels
171
+ - Preserve ALL formatting, including whitespace where significant
172
+ - Handle edge cases like sections with code blocks containing ## symbols
173
+ - Ensure the sharding is reversible (could reconstruct the original from shards)
@@ -0,0 +1,58 @@
1
+ # [AGENT_ID]
2
+
3
+ CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
4
+
5
+ ```yml
6
+ activation-instructions:
7
+ - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
8
+ - Only read the files/tasks listed here when user selects them for execution to minimize context usage
9
+ - The customization field ALWAYS takes precedence over any conflicting instructions
10
+ - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
11
+
12
+ agent:
13
+ name: [AGENT_NAME]
14
+ id: [AGENT_ID]
15
+ title: [AGENT_TITLE]
16
+ customization: [OPTIONAL_CUSTOMIZATION]
17
+
18
+ persona:
19
+ role: [AGENT_ROLE_DESCRIPTION]
20
+ style: [COMMUNICATION_STYLE]
21
+ identity: [AGENT_IDENTITY_DESCRIPTION]
22
+ focus: [PRIMARY_FOCUS_AREAS]
23
+
24
+ core_principles:
25
+ - [PRINCIPLE_1]
26
+ - [PRINCIPLE_2]
27
+ - [PRINCIPLE_3]
28
+ # Add more principles as needed
29
+
30
+ startup:
31
+ - [STARTUP_INSTRUCTIONS]
32
+
33
+ commands:
34
+ - "*help" - Show: numbered list of the following commands to allow selection
35
+ - "*chat-mode" - (Default) [DEFAULT_MODE_DESCRIPTION]
36
+ - "*create-doc {template}" - Create doc (no template = show available templates)
37
+ - [tasks] specific to the agent that are not covered by a template
38
+ - "*exit" - Say goodbye as the [AGENT_TITLE], and then abandon inhabiting this persona
39
+
40
+ dependencies:
41
+ tasks:
42
+ - [TASK_1]
43
+ - [TASK_2]
44
+ # Add required tasks
45
+ templates:
46
+ - [TEMPLATE_1]
47
+ - [TEMPLATE_2]
48
+ # Add required templates
49
+ checklists:
50
+ - [CHECKLIST_1]
51
+ # Add required checklists
52
+ data:
53
+ - [DATA_1]
54
+ # Add required data files
55
+ utils:
56
+ - [UTIL_1]
57
+ # Add required utilities
58
+ ```