Class: RosettAi::Compiler::Backends::ClaudeBackend

Inherits:
RosettAi::Compiler::Backend show all
Defined in:
lib/rosett_ai/compiler/backends/claude_backend.rb

Overview

Compiler backend for Claude Code rule files.

Renders behaviour configuration into Markdown files for Claude Code's ~/.claude/rules/ directory. Output includes priority annotations, source metadata, and the rosett-ai-claude-managed marker for idempotent updates.

Constant Summary collapse

MARKER_PREFIX =
'<!-- rosett-ai-claude-managed'

Constants inherited from RosettAi::Compiler::Backend

RosettAi::Compiler::Backend::BUILTIN_BACKENDS

Instance Attribute Summary

Attributes inherited from RosettAi::Compiler::Backend

#profile

Instance Method Summary collapse

Methods inherited from RosettAi::Compiler::Backend

#file_extension, for, #initialize, #managed_file?

Constructor Details

This class inherits a constructor from RosettAi::Compiler::Backend

Instance Method Details

#generated_markerString

Returns marker prefix for managed file detection.

Returns:

  • (String)

    marker prefix for managed file detection



33
34
35
# File 'lib/rosett_ai/compiler/backends/claude_backend.rb', line 33

def generated_marker
  MARKER_PREFIX
end

#render(data) ⇒ String

Renders behaviour data into Claude Code rule format.

Parameters:

  • data (Hash)

    parsed YAML behaviour data

Returns:

  • (String)

    rendered Markdown content



22
23
24
25
26
27
28
29
30
# File 'lib/rosett_ai/compiler/backends/claude_backend.rb', line 22

def render(data)
  sections = [
    build_header(data),
    build_description(data),
    build_rules(data),
    ['']
  ]
  sections.flatten.join("\n")
end