Class: Sxn::MCP::Prompts::MultiRepoSetup

Inherits:
MCP::Prompt
  • Object
show all
Defined in:
lib/sxn/mcp/prompts/workflow_prompts.rb

Overview

Multi-repo setup workflow

Class Method Summary collapse

Class Method Details

.template(args = {}, _server_context: nil) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/sxn/mcp/prompts/workflow_prompts.rb', line 75

def template(args = {}, _server_context: nil)
  # Handle both string and symbol keys
  feature_name = args["feature_name"] || args[:feature_name]
  repos = args["repos"] || args[:repos]
  repo_list = repos ? repos.split(",").map(&:strip) : []

  <<~PROMPT
    # Multi-Repository Development Setup

    Set up a coordinated development environment for: **#{feature_name}**

    ## Repositories to Include
    #{repo_list.empty? ? "- (Will use sxn_projects_list to find available projects)" : repo_list.map { |r| "- #{r}" }.join("\n")}

    ## Setup Process

    1. **Check registered projects** with sxn_projects_list
    2. **Create the session** with sxn_sessions_create
       - Name: #{feature_name.downcase.gsub(/\s+/, "-")}
    3. **Add worktrees** for each repository with sxn_worktrees_add
    4. **Apply rules** with sxn_rules_apply for each project
    5. **Navigate** using sxn_sessions_swap

    ## Best Practices
    - Use the same branch name across all repos
    - Apply rules to copy environment files
  PROMPT
end