Class: RosettAi::Thor::Tasks::Retrofit

Inherits:
Thor
  • Object
show all
Defined in:
lib/rosett_ai/thor/tasks/retrofit.rb

Overview

CLI task for rai retrofit — reverse compilation from native configs.

Imports existing AI tool configuration files into rosett-ai-managed YAML source files, enabling reproducible config management.

Author:

  • hugo

  • claude

Instance Method Summary collapse

Instance Method Details

#convertObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/rosett_ai/thor/tasks/retrofit.rb', line 41

def convert
  output_dir = resolve_output_dir
  engine = RosettAi::Retrofit::Engine.new(
    output_dir: output_dir,
    engines: options[:engine],
    force: options[:force]
  )

  results = options[:simulate] ? engine.simulate : engine.retrofit
  render_results(results, simulate: options[:simulate])

  exit 3 if results[:errors].any? { |err| err.include?('parse') }
  exit 5 if results[:errors].any? { |err| err.include?('adapter') }
end

#enginesObject



57
58
59
60
61
62
63
64
65
66
# File 'lib/rosett_ai/thor/tasks/retrofit.rb', line 57

def engines
  available = RosettAi::Retrofit::Engine.available_engines
  if available.empty?
    warn ::I18n.t('rosett_ai.retrofit.no_engines')
    return
  end

  puts ::I18n.t('rosett_ai.retrofit.engines_title')
  available.each { |name| puts "  - #{name}" }
end