Class: RailsAiBridge::Serializers::Providers::CursorRulesSerializer
- Inherits:
-
Object
- Object
- RailsAiBridge::Serializers::Providers::CursorRulesSerializer
- Defined in:
- lib/rails_ai_bridge/serializers/providers/cursor_rules_serializer.rb
Overview
Generates .cursor/rules/*.mdc files in the Cursor MDC format (YAML frontmatter, focused bodies).
Complements legacy .cursorrules from RulesSerializer.
Instance Attribute Summary collapse
-
#context ⇒ Hash
readonly
Introspection context passed to serializers.
Instance Method Summary collapse
-
#call(output_dir) ⇒ Hash<Symbol, Array<String>>
Writes MDC rule files under
.cursor/rules/when content changes. -
#initialize(context) ⇒ CursorRulesSerializer
constructor
A new instance of CursorRulesSerializer.
Constructor Details
#initialize(context) ⇒ CursorRulesSerializer
Returns a new instance of CursorRulesSerializer.
13 14 15 |
# File 'lib/rails_ai_bridge/serializers/providers/cursor_rules_serializer.rb', line 13 def initialize(context) @context = context end |
Instance Attribute Details
#context ⇒ Hash (readonly)
Returns Introspection context passed to serializers.
10 11 12 |
# File 'lib/rails_ai_bridge/serializers/providers/cursor_rules_serializer.rb', line 10 def context @context end |
Instance Method Details
#call(output_dir) ⇒ Hash<Symbol, Array<String>>
Writes MDC rule files under .cursor/rules/ when content changes.
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rails_ai_bridge/serializers/providers/cursor_rules_serializer.rb', line 21 def call(output_dir) files = { 'rails-engineering.mdc' => render_engineering_rule, 'rails-project.mdc' => render_project_rule, 'rails-models.mdc' => render_models_rule, 'rails-controllers.mdc' => render_controllers_rule, 'rails-mcp-tools.mdc' => render_mcp_tools_rule } RuleFileWriter.new(File.join(output_dir, '.cursor', 'rules')).call(files) end |