Class: RailsAiBridge::Serializers::Providers::WindsurfSerializer
- Inherits:
-
BaseProviderSerializer
- Object
- BaseProviderSerializer
- RailsAiBridge::Serializers::Providers::WindsurfSerializer
- Defined in:
- lib/rails_ai_bridge/serializers/providers/windsurf_serializer.rb
Overview
Generates .windsurfrules within Windsurf's hard 6,000 character limit.
Always produces compact output regardless of +context_mode+.
Constant Summary collapse
- MAX_CHARS =
Maximum body length before truncation (buffer under Windsurf's 6K cap).
5_800
Constants inherited from BaseProviderSerializer
BaseProviderSerializer::MAX_CONFIG_FILES, BaseProviderSerializer::MAX_KEY_MODELS, BaseProviderSerializer::MAX_PATTERNS
Instance Attribute Summary
Attributes inherited from BaseProviderSerializer
Instance Method Summary collapse
-
#call ⇒ String
Windsurf rules file body, capped at +MAX_CHARS+ when over the limit.
-
#initialize(context, config: RailsAiBridge.configuration) ⇒ WindsurfSerializer
constructor
A new instance of WindsurfSerializer.
Methods inherited from BaseProviderSerializer
#render_architecture, #render_commands, #render_compact, #render_footer, #render_header, #render_key_config_files, #render_key_considerations, #render_key_models, #render_notable_gems, #render_stack_overview
Constructor Details
#initialize(context, config: RailsAiBridge.configuration) ⇒ WindsurfSerializer
Returns a new instance of WindsurfSerializer.
14 15 16 |
# File 'lib/rails_ai_bridge/serializers/providers/windsurf_serializer.rb', line 14 def initialize(context, config: RailsAiBridge.configuration) super end |
Instance Method Details
#call ⇒ String
Returns Windsurf rules file body, capped at +MAX_CHARS+ when over the limit.
19 20 21 22 23 24 25 26 27 |
# File 'lib/rails_ai_bridge/serializers/providers/windsurf_serializer.rb', line 19 def call content = render # HARD enforce character limit — Windsurf silently truncates if content.length > MAX_CHARS content = content[0...MAX_CHARS] content += "\n\n# Use MCP tools for full details." end content end |