Class: RailsAiBridge::Serializers::Providers::ClaudeRulesSerializer
- Inherits:
-
Object
- Object
- RailsAiBridge::Serializers::Providers::ClaudeRulesSerializer
- Defined in:
- lib/rails_ai_bridge/serializers/providers/claude_rules_serializer.rb
Overview
Generates .claude/rules/ markdown files for Claude Code auto-discovery.
Quick-reference lists keep ClaudeSerializer output smaller.
Constant Summary collapse
- SEMANTIC_TIER_LIST_CAP =
Max model names listed per semantic tier in
rails-context.mdwhen Configuration#context_mode is:compact. 20
Instance Attribute Summary collapse
-
#context ⇒ Hash
readonly
Introspection context passed to serializers.
Instance Method Summary collapse
-
#call(output_dir) ⇒ Hash{Symbol => Array<String>}
Writes Claude rules Markdown files into the given output directory, creating or updating files under
.claude/rules; only files whose generated content changed are written. -
#initialize(context) ⇒ ClaudeRulesSerializer
constructor
A new instance of ClaudeRulesSerializer.
Constructor Details
#initialize(context) ⇒ ClaudeRulesSerializer
Returns a new instance of ClaudeRulesSerializer.
16 17 18 |
# File 'lib/rails_ai_bridge/serializers/providers/claude_rules_serializer.rb', line 16 def initialize(context) @context = context end |
Instance Attribute Details
#context ⇒ Hash (readonly)
Returns Introspection context passed to serializers.
13 14 15 |
# File 'lib/rails_ai_bridge/serializers/providers/claude_rules_serializer.rb', line 13 def context @context end |
Instance Method Details
#call(output_dir) ⇒ Hash{Symbol => Array<String>}
Writes Claude rules Markdown files into the given output directory, creating or
updating files under .claude/rules; only files whose generated content changed
are written.
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rails_ai_bridge/serializers/providers/claude_rules_serializer.rb', line 27 def call(output_dir) files = { 'rails-context.md' => render_context_reference, 'rails-schema.md' => render_schema_reference, 'rails-models.md' => render_models_reference, 'rails-mcp-tools.md' => render_mcp_tools_reference } RuleFileWriter.new(File.join(output_dir, '.claude', 'rules')).call(files) end |