ma-agents 2.16.3 → 2.17.0

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.
@@ -14,20 +14,23 @@ persona:
14
14
 
15
15
  menu:
16
16
  - trigger: bmad-mil-generate-srs
17
- workflow: "bmm/workflows/mil498/bmad-mil-generate-srs.md"
17
+ workflow: "bmm/workflows/mil498/srs/workflow.yaml"
18
18
  description: "Generate SRS (Software Requirements Specification)"
19
19
  - trigger: bmad-mil-generate-sdd
20
- workflow: "bmm/workflows/mil498/bmad-mil-generate-sdd.md"
20
+ workflow: "bmm/workflows/mil498/sdd/workflow.yaml"
21
21
  description: "Generate SDD (Software Design Description)"
22
22
  - trigger: bmad-mil-generate-sdp
23
- workflow: "bmm/workflows/mil498/bmad-mil-generate-sdp.md"
23
+ workflow: "bmm/workflows/mil498/sdp/workflow.yaml"
24
24
  description: "Generate SDP (Software Development Plan)"
25
25
  - trigger: bmad-mil-generate-ocd
26
- workflow: "bmm/workflows/mil498/bmad-mil-generate-ocd.md"
26
+ workflow: "bmm/workflows/mil498/ocd/workflow.yaml"
27
27
  description: "Generate OCD (Operational Concept Description)"
28
28
  - trigger: bmad-mil-generate-sss
29
- workflow: "bmm/workflows/mil498/bmad-mil-generate-sss.md"
29
+ workflow: "bmm/workflows/mil498/sss/workflow.yaml"
30
30
  description: "Generate SSS (System/Subsystem Specification)"
31
31
  - trigger: bmad-mil-generate-std
32
- workflow: "bmm/workflows/mil498/bmad-mil-generate-std.md"
32
+ workflow: "bmm/workflows/mil498/std/workflow.yaml"
33
33
  description: "Generate STD (Software Test Description)"
34
+ - trigger: bmad-mil-generate-ssdd
35
+ workflow: "bmm/workflows/mil498/ssdd/workflow.yaml"
36
+ description: "Generate SSDD (System/Subsystem Design Description)"
@@ -62,12 +62,13 @@ You must fully embody this agent's persona and follow all activation instruction
62
62
  <menu>
63
63
  <item cmd="MH">[MH] Redisplay Menu Help</item>
64
64
  <item cmd="CH">[CH] Chat with Joseph about MIL-STD-498</item>
65
- <item cmd="GS" workflow="{project-root}/_bmad/bmm/workflows/mil498/bmad-mil-generate-srs.md">[GS] Generate SRS: Software Requirements Specification</item>
66
- <item cmd="GD" workflow="{project-root}/_bmad/bmm/workflows/mil498/bmad-mil-generate-sdd.md">[GD] Generate SDD: Software Design Description</item>
67
- <item cmd="GP" workflow="{project-root}/_bmad/bmm/workflows/mil498/bmad-mil-generate-sdp.md">[GP] Generate SDP: Software Development Plan</item>
68
- <item cmd="GO" workflow="{project-root}/_bmad/bmm/workflows/mil498/bmad-mil-generate-ocd.md">[GO] Generate OCD: Operational Concept Description</item>
69
- <item cmd="SS" workflow="{project-root}/_bmad/bmm/workflows/mil498/bmad-mil-generate-sss.md">[SS] Generate SSS: System/Subsystem Specification</item>
70
- <item cmd="GT" workflow="{project-root}/_bmad/bmm/workflows/mil498/bmad-mil-generate-std.md">[GT] Generate STD: Software Test Description</item>
65
+ <item cmd="GS" workflow="{project-root}/_bmad/bmm/workflows/mil498/srs/workflow.yaml">[GS] Generate SRS: Software Requirements Specification</item>
66
+ <item cmd="GD" workflow="{project-root}/_bmad/bmm/workflows/mil498/sdd/workflow.yaml">[GD] Generate SDD: Software Design Description</item>
67
+ <item cmd="GP" workflow="{project-root}/_bmad/bmm/workflows/mil498/sdp/workflow.yaml">[GP] Generate SDP: Software Development Plan</item>
68
+ <item cmd="GO" workflow="{project-root}/_bmad/bmm/workflows/mil498/ocd/workflow.yaml">[GO] Generate OCD: Operational Concept Description</item>
69
+ <item cmd="SS" workflow="{project-root}/_bmad/bmm/workflows/mil498/sss/workflow.yaml">[SS] Generate SSS: System/Subsystem Specification</item>
70
+ <item cmd="GT" workflow="{project-root}/_bmad/bmm/workflows/mil498/std/workflow.yaml">[GT] Generate STD: Software Test Description</item>
71
+ <item cmd="SD" workflow="{project-root}/_bmad/bmm/workflows/mil498/ssdd/workflow.yaml">[SD] Generate SSDD: System/Subsystem Design Description</item>
71
72
  <item cmd="DA">[DA] Dismiss Agent</item>
72
73
  </menu>
73
74
  </agent>
@@ -0,0 +1,99 @@
1
+ # Generate Operational Concept Description (OCD)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81430
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant OCD document by describing the system from the user's and stakeholder's perspective, extracting operational concepts from existing project artifacts into the MIL-STD-498 OCD template structure.
8
+
9
+ ## Step 1 — Discover Project Artifacts
10
+
11
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
12
+
13
+ | Priority | Artifact | Search Pattern |
14
+ |----------|----------|----------------|
15
+ | Required | PRD | `**/prd.md`, `**/prd-*.md` |
16
+ | Recommended | Architecture | `**/architecture.md`, `**/architecture-*.md` |
17
+ | Recommended | UX Designs | `**/ux-design*.md`, `**/ux-*.md` |
18
+ | Optional | Product Brief | `**/product-brief*.md` |
19
+ | Optional | Epics & Stories | `**/epics*.md`, `**/stories/*.md` |
20
+
21
+ If the **PRD** is missing, warn the user and ask whether to proceed with available data or stop.
22
+
23
+ ## Step 2 — Load Template
24
+
25
+ Read the OCD template from:
26
+ `{template}`
27
+
28
+ This defines the required DID sections and content expectations for each paragraph.
29
+
30
+ ## Step 3 — Generate Document
31
+
32
+ Write the document in {document_output_language}, populating each template section. The OCD should be written in language accessible to users and stakeholders, minimizing technical jargon.
33
+
34
+ ### Section 1: Scope
35
+ - **1.1 Identification**: Extract system name, version, identifiers from PRD
36
+ - **1.2 System overview**: Summarize the system purpose from the user's perspective
37
+ - **1.3 Document overview**: Describe this OCD document's purpose and contents
38
+
39
+ ### Section 2: Referenced documents
40
+ - List all project artifacts used as input sources
41
+
42
+ ### Section 3: Current system or situation
43
+ - **3.1 Background, objectives, and scope**: Describe the problem domain and business objectives from the PRD
44
+ - **3.2 Operational policies and constraints**: Current business rules and constraints
45
+ - **3.3 Description of current system or situation**: How things work today — existing workflows, pain points, limitations. Include:
46
+ - Operational environment
47
+ - Major components and interconnections
48
+ - Interfaces to external systems
49
+ - User roles and their current interactions
50
+ - **3.4 Users or involved personnel**: Identify all user types and stakeholders from PRD/UX
51
+ - **3.5 Support concept**: Current support and maintenance approach (if applicable)
52
+
53
+ ### Section 4: Justification for and nature of changes
54
+ - **4.1 Justification for changes**: Why the new system is needed — business drivers from PRD
55
+ - **4.2 Description of needed changes**: What must change to meet objectives
56
+ - **4.3 Priorities among the changes**: Rank changes by business importance
57
+
58
+ ### Section 5: Concept for the proposed system
59
+ - **5.1 Background, objectives, and scope**: Vision for the new system from Product Brief/PRD
60
+ - **5.2 Operational policies and constraints**: New policies and constraints
61
+ - **5.3 Description of the proposed system**: How the new system will work. For each operational scenario:
62
+ - User roles involved
63
+ - Step-by-step workflow
64
+ - System behavior and responses
65
+ - Extract scenarios from UX Designs and Stories
66
+ - **5.4 Users or involved personnel**: How user roles change with the new system
67
+ - **5.5 Support concept**: Planned support and maintenance approach
68
+
69
+ ### Section 6: Operational scenarios
70
+ - Document key end-to-end scenarios from UX Designs and Epics
71
+ - Each scenario should describe: trigger, actors, sequence of actions, expected outcomes
72
+ - Include both normal operation and exception/error scenarios
73
+
74
+ ### Section 7: Notes
75
+ - Glossary, acronyms, and background information
76
+
77
+ ## Step 4 — Validate
78
+
79
+ Before presenting to the user, verify:
80
+ - All template sections are populated or marked "Not applicable" with justification
81
+ - Document is written from the user/stakeholder perspective, not the developer perspective
82
+ - Operational scenarios are complete and realistic
83
+ - Document is written in {document_output_language}
84
+
85
+ ## Step 5 — Review
86
+
87
+ Present the complete document to {user_name} for review.
88
+ Highlight any sections where information was inferred or assumptions were made.
89
+ Offer to refine any section based on feedback.
90
+
91
+ ## Step 6 — Save
92
+
93
+ Write the final document to:
94
+ `{output_folder}/planning-artifacts/OCD.md`
95
+
96
+ Confirm the file was saved and display a summary of:
97
+ - Number of user roles identified
98
+ - Number of operational scenarios documented
99
+ - Any sections marked "Not applicable"
@@ -0,0 +1,15 @@
1
+ name: "bmad-mil-generate-ocd"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 Operational Concept Description (OCD). Use when the user says 'generate OCD' or 'generate operational concept description'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/ocd"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ template: "{project-root}/_bmad/bmm/templates/mil498/OCD.md"
@@ -0,0 +1,104 @@
1
+ # Generate Software Design Description (SDD)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81435
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant SDD document by mapping the system's software design and architecture to the MIL-STD-498 Software Design Description template structure. This document describes the design of a CSCI (Computer Software Configuration Item).
8
+
9
+ **Note**: This workflow uses the SSDD template structure adapted for CSCI-level design, as both SDD and SSDD follow the same DID pattern but at different abstraction levels.
10
+
11
+ ## Step 1 — Discover Project Artifacts
12
+
13
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
14
+
15
+ | Priority | Artifact | Search Pattern |
16
+ |----------|----------|----------------|
17
+ | Required | Architecture | `**/architecture.md`, `**/architecture-*.md` |
18
+ | Required | PRD | `**/prd.md`, `**/prd-*.md` |
19
+ | Recommended | Epics & Stories | `**/epics*.md`, `**/epic-*.md`, `**/stories/*.md` |
20
+ | Recommended | SRS | `**/SRS.md` |
21
+ | Optional | UX Designs | `**/ux-design*.md`, `**/ux-*.md` |
22
+ | Optional | Product Brief | `**/product-brief*.md` |
23
+
24
+ If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
25
+
26
+ ## Step 2 — Load Template
27
+
28
+ Read the design document template from:
29
+ `{template}`
30
+
31
+ This defines the required DID sections. Adapt the system-level language to CSCI-level software design.
32
+
33
+ ## Step 3 — Generate Document
34
+
35
+ Write the document in {document_output_language}, populating each template section:
36
+
37
+ ### Section 1: Scope
38
+ - **1.1 Identification**: Identify the CSCI by name, version, and project-unique identifier
39
+ - **1.2 System overview**: Summarize the system and this CSCI's role within it
40
+ - **1.3 Document overview**: Describe this SDD document's purpose and contents
41
+
42
+ ### Section 2: Referenced documents
43
+ - List all project artifacts and external references used
44
+
45
+ ### Section 3: CSCI-wide design decisions
46
+
47
+ Describe design decisions that apply across the entire CSCI:
48
+ - **Architectural patterns**: Extract from Architecture document (e.g., MVC, microservices, event-driven)
49
+ - **Technology stack**: Languages, frameworks, libraries, and their versions
50
+ - **Behavioral design**: How the CSCI behaves from the user's perspective
51
+ - **Database/data design**: How data stores appear to users and external systems
52
+ - **Safety, security, privacy**: Approaches to meeting these requirements
53
+ - **Other decisions**: Flexibility, availability, maintainability approaches
54
+
55
+ Each decision should reference the requirement(s) it satisfies.
56
+
57
+ ### Section 4: CSCI architectural design
58
+
59
+ - **4.1 CSCI components**: Identify all software components (modules, packages, services). Assign project-unique identifiers. Show static relationships (component diagrams). State each component's purpose and allocated requirements
60
+ - **4.2 Concept of execution**: Describe dynamic behavior — data flow, control flow, state transitions, timing, concurrency, error handling. Use diagrams where helpful
61
+ - **4.3 Interface design**: Document interfaces between components and with external entities. For each interface provide:
62
+ - Data elements with types, sizes, formats, units, ranges
63
+ - Communication methods and protocols
64
+ - Error handling and recovery
65
+
66
+ ### Section 5: CSCI detailed design
67
+
68
+ For each component identified in Section 4.1, describe:
69
+ - Internal structure and sub-components
70
+ - Algorithms and processing logic (map from Stories/Epics)
71
+ - Internal data structures and data flows
72
+ - Constraints and limitations
73
+
74
+ ### Section 6: Requirements traceability
75
+ - **6.a**: Map each CSCI component to the requirements it addresses (from SRS or PRD)
76
+ - **6.b**: Map each requirement to the components that implement it
77
+
78
+ ### Section 7: Notes
79
+ - Glossary of design terms, acronyms, and abbreviations
80
+
81
+ ## Step 4 — Validate
82
+
83
+ Before presenting to the user, verify:
84
+ - All template sections are populated or marked "Not applicable" with justification
85
+ - Components have unique identifiers
86
+ - Design decisions reference their driving requirements
87
+ - Interfaces are described consistently from both sides
88
+ - Document is written in {document_output_language}
89
+
90
+ ## Step 5 — Review
91
+
92
+ Present the complete document to {user_name} for review.
93
+ Highlight any design decisions where assumptions were made.
94
+ Offer to refine any section based on feedback.
95
+
96
+ ## Step 6 — Save
97
+
98
+ Write the final document to:
99
+ `{output_folder}/planning-artifacts/SDD.md`
100
+
101
+ Confirm the file was saved and display a summary of:
102
+ - Number of components identified
103
+ - Number of interfaces documented
104
+ - Any sections marked "Not applicable"
@@ -0,0 +1,16 @@
1
+ name: "bmad-mil-generate-sdd"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 Software Design Description (SDD). Use when the user says 'generate SDD' or 'generate software design description'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/sdd"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ # SDD uses SSDD template structure adapted for CSCI-level design
16
+ template: "{project-root}/_bmad/bmm/templates/mil498/SSDD.md"
@@ -0,0 +1,98 @@
1
+ # Generate Software Development Plan (SDP)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81427
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant SDP document by extracting project planning, methodology, and management information from existing project artifacts into the MIL-STD-498 SDP template structure.
8
+
9
+ ## Step 1 — Discover Project Artifacts
10
+
11
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
12
+
13
+ | Priority | Artifact | Search Pattern |
14
+ |----------|----------|----------------|
15
+ | Required | Product Brief | `**/product-brief*.md` |
16
+ | Required | PRD | `**/prd.md`, `**/prd-*.md` |
17
+ | Recommended | Architecture | `**/architecture.md`, `**/architecture-*.md` |
18
+ | Recommended | Project Context | `**/project-context.md` |
19
+ | Optional | Sprint Status | `**/sprint-status*.yaml`, `**/sprint-status*.md` |
20
+ | Optional | Epics | `**/epics*.md` |
21
+
22
+ If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
23
+
24
+ ## Step 2 — Load Template
25
+
26
+ Read the SDP template from:
27
+ `{template}`
28
+
29
+ This defines the required DID sections and content expectations for each paragraph.
30
+
31
+ ## Step 3 — Generate Document
32
+
33
+ Write the document in {document_output_language}, populating each template section:
34
+
35
+ ### Section 1: Scope
36
+ - **1.1 Identification**: Extract project name, version, identifiers from PRD
37
+ - **1.2 System overview**: Summarize from Product Brief and PRD
38
+ - **1.3 Document overview**: Describe this SDP document's purpose
39
+ - **1.4 Relationship to other plans**: Reference any related project plans
40
+
41
+ ### Section 2: Referenced documents
42
+ - List all project artifacts and standards used
43
+
44
+ ### Section 3: Overview of required work
45
+ - **Requirements and constraints**: From PRD scope and constraints
46
+ - **Documentation requirements**: What MIL-STD-498 documents are planned
47
+ - **Life cycle position**: Current project phase
48
+ - **Acquisition strategy**: From Product Brief
49
+ - **Schedule and resource constraints**: From PRD or Sprint Status
50
+ - **Other constraints**: Security, methods, standards, interdependencies
51
+
52
+ ### Section 4: Plans for general software development activities
53
+ - **4.1 Software development process**: Describe the BMAD-METHOD lifecycle and how it maps to MIL-STD-498 activities
54
+ - **4.2 General plans for software development**: High-level approach to requirements analysis, design, implementation, testing
55
+ - Map the BMAD workflow (Product Brief → PRD → Architecture → Epics → Stories → Implementation) to MIL-STD-498 activities
56
+
57
+ ### Section 5: Plans for performing detailed software development activities
58
+ - **Requirements analysis**: How requirements are gathered and validated (BMAD PRD creation)
59
+ - **Software design**: How architecture and detailed design are produced
60
+ - **Coding and testing**: Implementation approach, testing strategy
61
+ - **Integration**: How components are integrated
62
+ - **Qualification testing**: Test planning and execution approach
63
+
64
+ ### Section 6: Schedules and activity network
65
+ - Map Epics/Sprint plans to a development schedule if available
66
+ - Identify milestones and deliverables
67
+
68
+ ### Section 7: Project organization and resources
69
+ - Development team structure from Product Brief
70
+ - Tools, environments, and infrastructure from Architecture/Project Context
71
+
72
+ ### Additional sections (as defined in template)
73
+ - Populate all remaining template sections based on available project information
74
+ - Mark sections "Not applicable" with justification where information is unavailable
75
+
76
+ ## Step 4 — Validate
77
+
78
+ Before presenting to the user, verify:
79
+ - All template sections are populated or marked "Not applicable" with justification
80
+ - Development process description accurately reflects the actual methodology
81
+ - Schedule information is consistent with available Sprint/Epic data
82
+ - Document is written in {document_output_language}
83
+
84
+ ## Step 5 — Review
85
+
86
+ Present the complete document to {user_name} for review.
87
+ Highlight any sections where information was inferred or assumptions were made.
88
+ Offer to refine any section based on feedback.
89
+
90
+ ## Step 6 — Save
91
+
92
+ Write the final document to:
93
+ `{output_folder}/planning-artifacts/SDP.md`
94
+
95
+ Confirm the file was saved and display a summary of:
96
+ - Development phases identified
97
+ - Key milestones documented
98
+ - Any sections marked "Not applicable"
@@ -0,0 +1,15 @@
1
+ name: "bmad-mil-generate-sdp"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 Software Development Plan (SDP). Use when the user says 'generate SDP' or 'generate software development plan'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/sdp"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ template: "{project-root}/_bmad/bmm/templates/mil498/SDP.md"
@@ -0,0 +1,103 @@
1
+ # Generate Software Requirements Specification (SRS)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81433
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant SRS document by extracting and organizing software requirements from existing project artifacts into the MIL-STD-498 SRS template structure.
8
+
9
+ ## Step 1 — Discover Project Artifacts
10
+
11
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
12
+
13
+ | Priority | Artifact | Search Pattern |
14
+ |----------|----------|----------------|
15
+ | Required | PRD | `**/prd.md`, `**/prd-*.md` |
16
+ | Required | Architecture | `**/architecture.md`, `**/architecture-*.md` |
17
+ | Recommended | UX Designs | `**/ux-design*.md`, `**/ux-*.md` |
18
+ | Recommended | Epics | `**/epics*.md`, `**/epic-*.md` |
19
+ | Optional | Product Brief | `**/product-brief*.md` |
20
+ | Optional | Existing SRS | `**/SRS.md` |
21
+
22
+ If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
23
+
24
+ If an existing SRS is found, ask the user whether to update it or generate from scratch.
25
+
26
+ ## Step 2 — Load Template
27
+
28
+ Read the SRS template from:
29
+ `{template}`
30
+
31
+ This defines the required DID sections and content expectations for each paragraph.
32
+
33
+ ## Step 3 — Generate Document
34
+
35
+ Write the document in {document_output_language}, populating each template section:
36
+
37
+ ### Section 1: Scope
38
+ - **1.1 Identification**: Extract software name, version, CSCI identifiers from the PRD and Architecture
39
+ - **1.2 System overview**: Summarize purpose, nature, development history from PRD
40
+ - **1.3 Document overview**: Describe this SRS document's purpose and contents
41
+
42
+ ### Section 2: Referenced documents
43
+ - List all project artifacts used as input sources, with their titles and versions
44
+
45
+ ### Section 3: Requirements
46
+
47
+ - **3.1 Required states and modes**: Identify operational modes from Architecture (e.g., normal, degraded, maintenance, training). If none, state "The CSCI does not have distinct operational states or modes"
48
+ - **3.2 CSCI capability requirements**: Map each Epic/feature from the PRD to a numbered capability requirement (3.2.1, 3.2.2, etc.). Each requirement must have:
49
+ - A unique project identifier (e.g., SRS-CAP-001)
50
+ - Clear, testable acceptance criteria
51
+ - Parameters: response times, throughput, accuracy, capacity as applicable
52
+ - Error handling and boundary conditions
53
+ - **3.3 CSCI external interface requirements**: Map external interfaces from the Architecture document. Include user interfaces, hardware interfaces, software interfaces, and communication interfaces
54
+ - **3.4 CSCI internal interface requirements**: Document internal component interfaces from Architecture
55
+ - **3.5 CSCI internal data requirements**: Identify persistent data stores, databases, and data models
56
+ - **3.6 Adaptation requirements**: Document any site-specific or installation-specific requirements
57
+ - **3.7 Safety requirements**: Extract from PRD/Architecture if applicable
58
+ - **3.8 Security and privacy requirements**: Extract from PRD/Architecture
59
+ - **3.9 CSCI environment requirements**: Document runtime environment constraints
60
+ - **3.10 Computer resource requirements**: Extract hardware/software constraints from Architecture
61
+ - **3.11 Software quality factors**: Document quality attributes (reliability, maintainability, portability, etc.)
62
+ - **3.12 Design and implementation constraints**: Technology stack constraints from Architecture
63
+ - **3.13 Personnel-related requirements**: Any user skill or training requirements
64
+ - **3.14 Training-related requirements**: If applicable
65
+ - **3.15 Logistics-related requirements**: If applicable
66
+ - **3.16 Other requirements**: Any requirements not covered above
67
+ - **3.17 Packaging requirements**: Deployment and distribution requirements
68
+ - **3.18 Precedence and criticality of requirements**: Rank requirements by priority
69
+
70
+ ### Section 4: Qualification provisions
71
+ - For each requirement in Section 3, specify the qualification method: Demonstration, Test, Analysis, or Inspection
72
+
73
+ ### Section 5: Requirements traceability
74
+ - **5.a**: Map each SRS requirement to its parent system requirement
75
+ - **5.b**: Map each system requirement to the SRS requirements that address it
76
+
77
+ ### Section 6: Notes
78
+ - Glossary of terms, acronyms, and abbreviations used in this document
79
+
80
+ ## Step 4 — Validate
81
+
82
+ Before presenting to the user, verify:
83
+ - All template sections are populated or marked "Not applicable" with justification
84
+ - Every requirement has a unique identifier (SRS-xxx-nnn format)
85
+ - Every requirement is testable and traceable
86
+ - Cross-references between sections are consistent
87
+ - Document is written in {document_output_language}
88
+
89
+ ## Step 5 — Review
90
+
91
+ Present the complete document to {user_name} for review.
92
+ Highlight any sections where information was inferred or assumptions were made.
93
+ Offer to refine any section based on feedback.
94
+
95
+ ## Step 6 — Save
96
+
97
+ Write the final document to:
98
+ `{output_folder}/planning-artifacts/SRS.md`
99
+
100
+ Confirm the file was saved and display a summary of:
101
+ - Total number of requirements identified
102
+ - Number of capabilities documented
103
+ - Any sections marked "Not applicable"
@@ -0,0 +1,15 @@
1
+ name: "bmad-mil-generate-srs"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 Software Requirements Specification (SRS). Use when the user says 'generate SRS' or 'generate software requirements specification'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/srs"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ template: "{project-root}/_bmad/bmm/templates/mil498/SRS.md"
@@ -0,0 +1,118 @@
1
+ # Generate System/Subsystem Design Description (SSDD)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81432
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant SSDD document by extracting and organizing system architectural design decisions from existing project artifacts into the MIL-STD-498 SSDD template structure. The SSDD describes the system-level design — how the system is organized into components (HWCIs, CSCIs, and manual operations) and how they interact.
8
+
9
+ ## Step 1 — Discover Project Artifacts
10
+
11
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
12
+
13
+ | Priority | Artifact | Search Pattern |
14
+ |----------|----------|----------------|
15
+ | Required | PRD | `**/prd.md`, `**/prd-*.md` |
16
+ | Required | Architecture | `**/architecture.md`, `**/architecture-*.md` |
17
+ | Recommended | Product Brief | `**/product-brief*.md` |
18
+ | Recommended | SSS | `**/SSS.md` |
19
+ | Optional | UX Designs | `**/ux-design*.md`, `**/ux-*.md` |
20
+ | Optional | Epics | `**/epics*.md`, `**/epic-*.md` |
21
+ | Optional | Any client documentation | Ask {user_name} if there are additional documents to consider |
22
+
23
+ If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
24
+
25
+ ## Step 2 — Load Template
26
+
27
+ Read the SSDD template from:
28
+ `{template}`
29
+
30
+ This defines the required DID sections and content expectations for each paragraph.
31
+
32
+ ## Step 3 — Generate Document
33
+
34
+ Write the document in {document_output_language}, populating each template section:
35
+
36
+ ### Section 1: Scope
37
+ - **1.1 Identification**: Extract system name, version, and project-unique identifiers from PRD/Product Brief
38
+ - **1.2 System overview**: Summarize system purpose, history, stakeholders, and operating sites from Product Brief and PRD
39
+ - **1.3 Document overview**: Describe this SSDD document's purpose, contents, and any security/privacy considerations
40
+
41
+ ### Section 2: Referenced documents
42
+ - List all project artifacts, standards, and external references used as inputs
43
+
44
+ ### Section 3: System-wide design decisions
45
+
46
+ Document design decisions that apply across the entire system. For each decision, reference the requirement(s) it satisfies:
47
+
48
+ - **a. Input/output design**: System inputs, outputs, and user/external interfaces. Describe what the system accepts and produces from the Architecture document
49
+ - **b. Behavioral design**: System behavior in response to inputs and conditions — actions, response times, performance characteristics, algorithms, handling of invalid inputs. Extract from PRD and Architecture
50
+ - **c. Database/data design**: How databases and data files appear to users. Data models and storage approaches from Architecture
51
+ - **d. Safety, security, privacy**: Selected approaches to meeting these requirements from PRD
52
+ - **e. Hardware design choices**: Physical characteristics if applicable (for hardware-software systems)
53
+ - **f. Other system-wide decisions**: Flexibility, availability, maintainability approaches. Technology stack selections and their rationale from Architecture
54
+
55
+ ### Section 4: System architectural design
56
+
57
+ - **4.1 System components**:
58
+ - Identify all system components (CSCIs, HWCIs, manual operations) from the Architecture document
59
+ - Assign project-unique identifiers to each component
60
+ - Show static relationships using component/block diagrams
61
+ - State each component's purpose and the system requirements allocated to it
62
+ - Identify each component's development status (new, reuse, reengineer)
63
+ - For computer systems: describe hardware resources (processors, memory, I/O, storage, networking) with specifications
64
+
65
+ - **4.2 Concept of execution**:
66
+ - Describe dynamic relationships between components from Architecture
67
+ - Include: execution flow, data flow, state transitions, timing/sequencing, priorities, interrupt handling, concurrency, dynamic allocation
68
+ - Use sequence diagrams or flow diagrams where helpful
69
+
70
+ - **4.3 Interface design**:
71
+ - **4.3.1 Interface identification and diagrams**: List all interfaces with unique identifiers, identify fixed vs. developing interfaces, provide interface diagrams
72
+ - **4.3.x (per interface)**: For each interface, document:
73
+ - Interfacing entities and their characteristics
74
+ - Data elements: names, types, sizes, formats, units, ranges, accuracy, constraints
75
+ - Data assemblies: records, messages, files, displays with structure and relationships
76
+ - Communication methods: links, message formats, flow control, data rates, routing
77
+ - Protocols: layers, packeting, error control, synchronization
78
+ - Physical compatibility considerations
79
+
80
+ ### Section 5: Requirements traceability
81
+ - **5.a**: Map each system component to the system requirements it satisfies
82
+ - **5.b**: Map each system requirement to the components that address it
83
+
84
+ ### Section 6: Notes
85
+ - Glossary of terms, acronyms, and abbreviations
86
+ - Background information to aid understanding
87
+
88
+ ## Step 4 — Validate
89
+
90
+ Before presenting to the user, verify:
91
+ - All template sections are populated or marked "Not applicable" with justification
92
+ - Every component has a unique identifier
93
+ - System-wide design decisions reference their driving requirements
94
+ - Interface descriptions are complete and consistent from both sides
95
+ - Requirements traceability covers all system requirements
96
+ - Document is written in {document_output_language}
97
+
98
+ ## Step 5 — Review
99
+
100
+ Present the complete document to {user_name} for review.
101
+ Highlight any sections where information was inferred or assumptions were made.
102
+ Specifically ask about:
103
+ - Are all system components identified?
104
+ - Are the interface descriptions accurate?
105
+ - Are there additional design decisions not captured in the Architecture?
106
+
107
+ Offer to refine any section based on feedback.
108
+
109
+ ## Step 6 — Save
110
+
111
+ Write the final document to:
112
+ `{output_folder}/planning-artifacts/SSDD.md`
113
+
114
+ Confirm the file was saved and display a summary of:
115
+ - Number of system components identified
116
+ - Number of interfaces documented
117
+ - Number of system-wide design decisions captured
118
+ - Any sections marked "Not applicable"
@@ -0,0 +1,15 @@
1
+ name: "bmad-mil-generate-ssdd"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 System/Subsystem Design Description (SSDD). Use when the user says 'generate SSDD' or 'generate system design description'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/ssdd"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ template: "{project-root}/_bmad/bmm/templates/mil498/SSDD.md"
@@ -0,0 +1,96 @@
1
+ # Generate System/Subsystem Specification (SSS)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81431
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant SSS document by extracting and organizing system-level requirements from existing project artifacts into the MIL-STD-498 SSS template structure. The SSS specifies requirements at the system or subsystem level, not at the software (CSCI) level.
8
+
9
+ ## Step 1 — Discover Project Artifacts
10
+
11
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
12
+
13
+ | Priority | Artifact | Search Pattern |
14
+ |----------|----------|----------------|
15
+ | Required | Product Brief | `**/product-brief*.md` |
16
+ | Required | PRD | `**/prd.md`, `**/prd-*.md` |
17
+ | Recommended | Architecture | `**/architecture.md`, `**/architecture-*.md` |
18
+ | Optional | OCD | `**/OCD.md` |
19
+ | Optional | UX Designs | `**/ux-design*.md` |
20
+
21
+ If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
22
+
23
+ ## Step 2 — Load Template
24
+
25
+ Read the SSS template from:
26
+ `{template}`
27
+
28
+ This defines the required DID sections and content expectations for each paragraph.
29
+
30
+ ## Step 3 — Generate Document
31
+
32
+ Write the document in {document_output_language}, populating each template section. Keep requirements at the **system/subsystem level** — avoid low-level software implementation details.
33
+
34
+ ### Section 1: Scope
35
+ - **1.1 Identification**: Extract system name, version, identifiers from PRD/Product Brief
36
+ - **1.2 System overview**: Summarize system purpose, nature, and stakeholders
37
+ - **1.3 Document overview**: Describe this SSS document's purpose and contents
38
+
39
+ ### Section 2: Referenced documents
40
+ - List all project artifacts and external standards used
41
+
42
+ ### Section 3: Requirements
43
+
44
+ - **3.1 Required states and modes**: Identify system-level operational states from Architecture/PRD (e.g., operational, maintenance, degraded, emergency). If none, state so explicitly
45
+ - **3.2 System capability requirements**: Map high-level PRD features and Product Brief goals to system capabilities. Each capability requirement (3.2.1, 3.2.2, etc.) must have:
46
+ - A unique identifier (SSS-CAP-001 format)
47
+ - Clear, testable statement
48
+ - Performance parameters where applicable
49
+ - Behavior under error conditions
50
+ - **3.3 System external interface requirements**: Map top-level external interfaces from Architecture — other systems, hardware, users, networks
51
+ - **3.4 System internal interface requirements**: Map interfaces between major subsystems or components
52
+ - **3.5 System internal data requirements**: System-level data stores, data flows between subsystems
53
+ - **3.6 Adaptation requirements**: Installation and site-specific configuration needs
54
+ - **3.7 Safety requirements**: System-level safety requirements
55
+ - **3.8 Security and privacy requirements**: System-level security requirements from PRD
56
+ - **3.9 System environment requirements**: Physical, regulatory, and operational environment constraints
57
+ - **3.10 Computer resource requirements**: System-level hardware and infrastructure requirements
58
+ - **3.11 System quality factors**: Reliability, availability, maintainability, portability requirements
59
+ - **3.12 Design and implementation constraints**: Technology and methodology constraints
60
+ - **3.13-3.18**: Additional requirement categories as defined in the template
61
+
62
+ ### Section 4: Qualification provisions
63
+ - For each requirement in Section 3, specify the qualification method: Demonstration, Test, Analysis, or Inspection
64
+
65
+ ### Section 5: Requirements traceability
66
+ - **5.a**: For subsystem specs, map each requirement to parent system requirements
67
+ - **5.b**: Map parent requirements to subsystem requirements that address them
68
+
69
+ ### Section 6: Notes
70
+ - Glossary of terms, acronyms, and abbreviations
71
+
72
+ ## Step 4 — Validate
73
+
74
+ Before presenting to the user, verify:
75
+ - All template sections are populated or marked "Not applicable" with justification
76
+ - Requirements are at the system level (not CSCI/software level)
77
+ - Every requirement has a unique identifier and is testable
78
+ - Qualification methods are specified for all requirements
79
+ - Document is written in {document_output_language}
80
+
81
+ ## Step 5 — Review
82
+
83
+ Present the complete document to {user_name} for review.
84
+ Highlight any sections where information was inferred or assumptions were made.
85
+ Offer to refine any section based on feedback.
86
+
87
+ ## Step 6 — Save
88
+
89
+ Write the final document to:
90
+ `{output_folder}/planning-artifacts/SSS.md`
91
+
92
+ Confirm the file was saved and display a summary of:
93
+ - Total system requirements identified
94
+ - Number of capabilities documented
95
+ - Qualification methods assigned
96
+ - Any sections marked "Not applicable"
@@ -0,0 +1,15 @@
1
+ name: "bmad-mil-generate-sss"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 System/Subsystem Specification (SSS). Use when the user says 'generate SSS' or 'generate system specification'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/sss"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ template: "{project-root}/_bmad/bmm/templates/mil498/SSS.md"
@@ -0,0 +1,97 @@
1
+ # Generate Software Test Description (STD)
2
+
3
+ > MIL-STD-498 Data Item Description: DI-IPSC-81439
4
+
5
+ ## Objective
6
+
7
+ Generate a compliant STD document by mapping test cases and procedures from project artifacts to the MIL-STD-498 STD template structure. The STD defines the test preparations, test cases, and test procedures for software qualification testing.
8
+
9
+ ## Step 1 — Discover Project Artifacts
10
+
11
+ Search the project for the following artifacts. Communicate in {communication_language}. Inform {user_name} which artifacts were found and which are missing.
12
+
13
+ | Priority | Artifact | Search Pattern |
14
+ |----------|----------|----------------|
15
+ | Required | Epics & Stories | `**/epics*.md`, `**/epic-*.md`, `**/stories/*.md` |
16
+ | Required | Architecture | `**/architecture.md`, `**/architecture-*.md` |
17
+ | Recommended | SRS | `**/SRS.md` |
18
+ | Recommended | PRD | `**/prd.md`, `**/prd-*.md` |
19
+ | Optional | Existing test files | `**/test/**`, `**/tests/**`, `**/__tests__/**`, `**/*.test.*`, `**/*.spec.*` |
20
+
21
+ If **required** artifacts are missing, warn the user and ask whether to proceed with available data or stop.
22
+
23
+ ## Step 2 — Load Template
24
+
25
+ Read the STD template from:
26
+ `{template}`
27
+
28
+ This defines the required DID sections and content expectations for each paragraph.
29
+
30
+ ## Step 3 — Generate Document
31
+
32
+ Write the document in {document_output_language}, populating each template section:
33
+
34
+ ### Section 1: Scope
35
+ - **1.1 Identification**: Extract system and software identifiers from PRD/Architecture
36
+ - **1.2 System overview**: Summarize the system and the CSCI(s) being tested
37
+ - **1.3 Document overview**: Describe this STD document's purpose and contents
38
+
39
+ ### Section 2: Referenced documents
40
+ - List all project artifacts, test standards, and other references used
41
+
42
+ ### Section 3: Test preparations
43
+
44
+ For each test identified, provide (organized as 3.x subsections):
45
+
46
+ - **3.x.1 Hardware preparation**: Test environment hardware requirements from Architecture — servers, devices, network configuration. Include setup procedures
47
+ - **3.x.2 Software preparation**: Test environment software requirements — OS, databases, dependencies, test frameworks. Include installation and configuration steps
48
+ - **3.x.3 Other pre-test preparations**: Test data setup, user accounts, external service mocks, environment variables. Include any prerequisites that must be satisfied
49
+
50
+ ### Section 4: Test descriptions
51
+
52
+ For each test case (organized as 4.x subsections), derive from Story acceptance criteria and SRS requirements:
53
+
54
+ - **4.x.1 Test identifier**: Unique identifier (STD-TEST-001 format)
55
+ - **4.x.2 Test objective**: What requirement(s) this test verifies. Reference SRS requirement IDs if available
56
+ - **4.x.3 Input data**: Specific test inputs, preconditions, and initial state
57
+ - **4.x.4 Expected results**: Precise expected outputs, state changes, and behaviors
58
+ - **4.x.5 Criteria for evaluating results**: Pass/fail criteria
59
+ - **4.x.6 Test procedure**: Step-by-step procedure to execute the test
60
+ - **4.x.7 Assumptions and constraints**: Any assumptions about the test environment
61
+
62
+ Group test cases by capability/feature (mapping to Epics) for clarity.
63
+
64
+ ### Section 5: Requirements traceability
65
+ - Map each test case to the SRS requirement(s) it verifies
66
+ - Ensure every SRS requirement has at least one associated test case
67
+ - Identify any requirements that cannot be tested and explain why
68
+
69
+ ### Section 6: Notes
70
+ - Glossary of test terminology and abbreviations
71
+ - References to test automation frameworks or tools used
72
+
73
+ ## Step 4 — Validate
74
+
75
+ Before presenting to the user, verify:
76
+ - All template sections are populated or marked "Not applicable" with justification
77
+ - Every test case has a unique identifier and clear pass/fail criteria
78
+ - Requirements traceability is complete (all requirements covered)
79
+ - Test procedures are detailed enough to be repeatable
80
+ - Document is written in {document_output_language}
81
+
82
+ ## Step 5 — Review
83
+
84
+ Present the complete document to {user_name} for review.
85
+ Highlight any requirements without test coverage.
86
+ Offer to refine any section based on feedback.
87
+
88
+ ## Step 6 — Save
89
+
90
+ Write the final document to:
91
+ `{output_folder}/planning-artifacts/STD.md`
92
+
93
+ Confirm the file was saved and display a summary of:
94
+ - Total number of test cases defined
95
+ - Requirements coverage percentage
96
+ - Any untestable requirements identified
97
+ - Any sections marked "Not applicable"
@@ -0,0 +1,15 @@
1
+ name: "bmad-mil-generate-std"
2
+ version: "1.0.0"
3
+ description: "Generate a MIL-STD-498 Software Test Description (STD). Use when the user says 'generate STD' or 'generate software test description'"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ user_name: "{config_source}:user_name"
7
+ communication_language: "{config_source}:communication_language"
8
+ document_output_language: "{config_source}:document_output_language"
9
+ output_folder: "{config_source}:output_folder"
10
+ date: system-generated
11
+
12
+ installed_path: "{project-root}/_bmad/bmm/workflows/mil498/std"
13
+ instructions: "{installed_path}/instructions.md"
14
+
15
+ template: "{project-root}/_bmad/bmm/templates/mil498/STD.md"
package/lib/bmad.js CHANGED
@@ -149,65 +149,71 @@ async function registerMilWorkflows(projectRoot) {
149
149
  const milEntries = [
150
150
  {
151
151
  name: 'Generate SRS', code: 'GS',
152
- file: '_bmad/bmm/workflows/mil498/bmad-mil-generate-srs.md',
152
+ file: '_bmad/bmm/workflows/mil498/srs/workflow.yaml',
153
153
  command: 'bmad-mil-generate-srs',
154
154
  description: 'Generate a MIL-STD-498 Software Requirements Specification from BMAD project artifacts'
155
155
  },
156
156
  {
157
157
  name: 'Generate SDD', code: 'GD',
158
- file: '_bmad/bmm/workflows/mil498/bmad-mil-generate-sdd.md',
158
+ file: '_bmad/bmm/workflows/mil498/sdd/workflow.yaml',
159
159
  command: 'bmad-mil-generate-sdd',
160
160
  description: 'Generate a MIL-STD-498 Software Design Description from architecture and design docs'
161
161
  },
162
162
  {
163
163
  name: 'Generate SDP', code: 'GP',
164
- file: '_bmad/bmm/workflows/mil498/bmad-mil-generate-sdp.md',
164
+ file: '_bmad/bmm/workflows/mil498/sdp/workflow.yaml',
165
165
  command: 'bmad-mil-generate-sdp',
166
166
  description: 'Generate a MIL-STD-498 Software Development Plan from project planning artifacts'
167
167
  },
168
168
  {
169
169
  name: 'Generate OCD', code: 'GO',
170
- file: '_bmad/bmm/workflows/mil498/bmad-mil-generate-ocd.md',
170
+ file: '_bmad/bmm/workflows/mil498/ocd/workflow.yaml',
171
171
  command: 'bmad-mil-generate-ocd',
172
172
  description: 'Generate a MIL-STD-498 Operational Concept Description from PRD and architecture'
173
173
  },
174
174
  {
175
175
  name: 'Generate SSS', code: 'SS',
176
- file: '_bmad/bmm/workflows/mil498/bmad-mil-generate-sss.md',
176
+ file: '_bmad/bmm/workflows/mil498/sss/workflow.yaml',
177
177
  command: 'bmad-mil-generate-sss',
178
178
  description: 'Generate a MIL-STD-498 System/Subsystem Specification from project requirements'
179
179
  },
180
180
  {
181
181
  name: 'Generate STD', code: 'GT',
182
- file: '_bmad/bmm/workflows/mil498/bmad-mil-generate-std.md',
182
+ file: '_bmad/bmm/workflows/mil498/std/workflow.yaml',
183
183
  command: 'bmad-mil-generate-std',
184
184
  description: 'Generate a MIL-STD-498 Software Test Description from epics stories and architecture'
185
+ },
186
+ {
187
+ name: 'Generate SSDD', code: 'SD',
188
+ file: '_bmad/bmm/workflows/mil498/ssdd/workflow.yaml',
189
+ command: 'bmad-mil-generate-ssdd',
190
+ description: 'Generate a MIL-STD-498 System/Subsystem Design Description from architecture and PRD'
185
191
  }
186
192
  ];
187
193
 
188
- // Append to module-help.csv
194
+ // Append or update entries in module-help.csv
189
195
  const moduleHelpPath = path.join(projectRoot, BMAD_DIR, 'bmm', 'module-help.csv');
190
196
  if (fs.existsSync(moduleHelpPath)) {
191
197
  let content = await fs.readFile(moduleHelpPath, 'utf-8');
192
198
  for (const entry of milEntries) {
193
- if (!content.includes(entry.command)) {
194
- const row = `bmm,anytime,${entry.name},${entry.code},,${entry.file},${entry.command},false,mil498,Create Mode,${entry.description},planning_artifacts,document,`;
195
- content = content.trimEnd() + '\n' + row + '\n';
196
- }
199
+ const row = `bmm,anytime,${entry.name},${entry.code},,${entry.file},${entry.command},false,mil498,Create Mode,${entry.description},planning_artifacts,document,`;
200
+ // Remove any existing line for this command, then append the current one
201
+ const lines = content.split('\n').filter(line => !line.includes(entry.command));
202
+ content = lines.join('\n').trimEnd() + '\n' + row + '\n';
197
203
  }
198
204
  await fs.writeFile(moduleHelpPath, content, 'utf-8');
199
205
  console.log(chalk.cyan(` + Registered MIL-STD-498 workflows in module-help.csv`));
200
206
  }
201
207
 
202
- // Append to bmad-help.csv
208
+ // Append or update entries in bmad-help.csv
203
209
  const bmadHelpPath = path.join(projectRoot, BMAD_DIR, '_config', 'bmad-help.csv');
204
210
  if (fs.existsSync(bmadHelpPath)) {
205
211
  let content = await fs.readFile(bmadHelpPath, 'utf-8');
206
212
  for (const entry of milEntries) {
207
- if (!content.includes(entry.command)) {
208
- const row = `bmm,anytime,${entry.name},${entry.code},,${entry.file},${entry.command},false,mil498,bmad:MIL-STD-498 compliance:agent:mil498,Joseph,📜 MIL-STD-498 Expert,Create Mode,${entry.description},planning_artifacts,document`;
209
- content = content.trimEnd() + '\n' + row + '\n';
210
- }
213
+ const row = `bmm,anytime,${entry.name},${entry.code},,${entry.file},${entry.command},false,mil498,bmad:MIL-STD-498 compliance:agent:mil498,Joseph,📜 MIL-STD-498 Expert,Create Mode,${entry.description},planning_artifacts,document`;
214
+ // Remove any existing line for this command, then append the current one
215
+ const lines = content.split('\n').filter(line => !line.includes(entry.command));
216
+ content = lines.join('\n').trimEnd() + '\n' + row + '\n';
211
217
  }
212
218
  await fs.writeFile(bmadHelpPath, content, 'utf-8');
213
219
  console.log(chalk.cyan(` + Registered MIL-STD-498 workflows in bmad-help.csv`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ma-agents",
3
- "version": "2.16.3",
3
+ "version": "2.17.0",
4
4
  "description": "NPX tool to install skills for AI coding agents (Claude Code, Gemini, Copilot, Kilocode, Cline, Cursor)",
5
5
  "main": "index.js",
6
6
  "bin": {