BMAD-METHOD/bmad/workflows/merge-upstream
Sallvainian 4cfa0f8c6f Add merge-upstream workflow and documentation
- Created merge-upstream workflow configuration
- Added workflow instructions and validation checklist
- Added installer modification reference documentation
- Updated workflow manifest
2025-10-19 02:15:13 -04:00
..
README.md Add merge-upstream workflow and documentation 2025-10-19 02:15:13 -04:00
checklist.md Add merge-upstream workflow and documentation 2025-10-19 02:15:13 -04:00
instructions.md Add merge-upstream workflow and documentation 2025-10-19 02:15:13 -04:00
workflow.yaml Add merge-upstream workflow and documentation 2025-10-19 02:15:13 -04:00

README.md

Merge Upstream Workflow

Version: 1.0.0 Author: BMad Type: Action Workflow (no document output)

Purpose

Safely merge upstream repository changes while preserving critical fork modifications with automated verification and memory updates. This workflow provides a systematic, repeatable process for syncing with upstream repositories without losing custom code modifications.

Use Cases

  • Syncing your BMAD-METHOD fork with upstream bmad-code-org/BMAD-METHOD
  • Preserving critical modifications during upstream pulls
  • Maintaining cross-session memory of merge operations
  • Ensuring custom modules remain functional after upstream integration

How to Invoke

workflow merge-upstream

Or tell your BMAD agent:

Run the merge-upstream workflow

Expected Inputs

User Prompts During Execution:

  • Upstream remote name (default: upstream)
  • Target branch name (default: v6-alpha)
  • Confirmation before executing merge
  • Conflict resolution if merge conflicts occur

Files Referenced:

  • claudedocs/installer-modification-reference.md - Critical modification documentation
  • tools/cli/installers/lib/core/installer.js - File containing critical modification

Git State Required:

  • Clean working tree (no uncommitted changes)
  • Upstream remote configured and accessible
  • Current branch matches intended target branch

Generated Outputs

Git Artifacts:

  • Backup branch: backup-before-pull-YYYYMMDD-HHMMSS
  • Merge commit with proper history preservation
  • Updated reference documentation in claudedocs/

Memory Updates:

  • Serena MCP: Updated CRITICAL-installer-fork-modification memory with merge details
  • Graphiti MCP: New episode in BMAD-METHOD group with merge context

Verification Reports:

  • Modification preservation status (preserved/manually restored)
  • Module detection confirmation (all install-menu-config.yaml present)
  • Merge statistics (files changed, commits integrated)

Workflow Steps

  1. Pre-merge verification - Verify clean git state and load reference docs
  2. Create backup branch - Safety checkpoint with timestamp
  3. Document modification - Update reference file in claudedocs/
  4. Verify before merge - Confirm critical code exists pre-merge
  5. Fetch upstream - Pull latest changes without merging
  6. Execute merge - Merge with conflict handling guidance
  7. Verify preservation - Confirm modification survived merge
  8. Update memories - Save to Serena + Graphiti MCP
  9. Report completion - Summary with next steps

Special Requirements

Required Tools:

  • Git - Version control for merge operations
  • Serena MCP - Project memory management (must be active)
  • Graphiti MCP - Knowledge graph memory (must be active)

Critical File Protection: The workflow specifically protects:

  • File: tools/cli/installers/lib/core/installer.js
  • Lines: 913-916
  • Code: Skip block for workflow instructions.md preservation

Safety Features

  • Backup Branch: Automatic timestamped backup before merge
  • Pre-merge Verification: Confirms critical modifications exist before starting
  • Post-merge Verification: Validates modifications survived merge
  • Recovery Guidance: Step-by-step restoration if modifications lost
  • Memory Persistence: Cross-session documentation for future reference

Recovery Procedure

If merge fails or modifications are lost:

  1. Rollback: git reset --hard backup-before-pull-YYYYMMDD-HHMMSS
  2. Restore: Follow recovery instructions in claudedocs/installer-modification-reference.md
  3. Verify: Run grep verification: grep -A 2 "Skip workflow instructions" tools/cli/installers/lib/core/installer.js
  4. Retry: Execute workflow again after restoration

Validation Checklist

After workflow completion, verify using checklist.md:

  • 43 specific validation criteria across 7 categories
  • Pre-merge setup, safety measures, merge execution
  • Modification preservation, memory updates, completeness
  • Module-specific validation for all 4 BMAD modules

Next Steps After Workflow

Optional:

  • Push to your fork: git push origin v6-alpha
  • Submit PR to upstream to eliminate future maintenance burden

For Future Syncs:

  • Run this workflow again when upstream has new changes
  • Reference updated memories for historical context
  • Use backup branches for safe rollback if needed

Troubleshooting

"Working tree not clean" error

  • Commit or stash uncommitted changes before running workflow
  • Ensure no untracked files that should be tracked

"Upstream remote not found"

  • Add upstream: git remote add upstream https://github.com/bmad-code-org/BMAD-METHOD
  • Verify: git remote -v

"Modification not found after merge"

  • Workflow will guide through manual restoration
  • Reference file has exact code and insertion point
  • Verification command confirms successful restoration

"MCP servers not responding"

  • Ensure Serena and Graphiti MCP servers are active
  • Check MCP configuration in .mcp.json
  • Memory updates are critical for cross-session persistence

Files in This Workflow

bmad/workflows/merge-upstream/
├── README.md           # This file
├── workflow.yaml       # Configuration and metadata
├── instructions.md     # Step-by-step execution guide
└── checklist.md        # Post-execution validation

Version History

v1.0.0 (2025-10-18)

  • Initial workflow creation
  • Based on successful manual merge execution
  • Includes Serena + Graphiti memory integration
  • Comprehensive validation checklist (43 criteria)

Maintained by: BMad Last Updated: 2025-10-18 Status: Production Ready