Class: Sxn::MCP::Tools::Rules::ApplyRules

Inherits:
MCP::Tool
  • Object
show all
Defined in:
lib/sxn/mcp/tools/rules.rb

Overview

Apply rules to a worktree

Class Method Summary collapse

Class Method Details

.call(project_name:, server_context:, session_name: nil) ⇒ Object



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/tools/rules.rb', line 81

def call(project_name:, server_context:, session_name: nil)
  BaseTool.ensure_initialized!(server_context)

  BaseTool::ErrorMapping.wrap do
    rules_manager = server_context[:rules_manager]

    result = rules_manager.apply_rules(project_name, session_name)

    if result[:success]
      BaseTool.text_response(
        "Rules applied successfully to '#{project_name}'.\n" \
        "Applied: #{result[:applied_count]} rule(s)"
      )
    else
      BaseTool.text_response(
        "Some rules failed for '#{project_name}'.\n" \
        "Applied: #{result[:applied_count]} rule(s)\n" \
        "Errors:\n#{result[:errors].map { |e| "  - #{e}" }.join("\n")}"
      )
    end
  end
end