class RubyNative::Generators::InstallGenerator

def add_allowed_host

def add_allowed_host
  host_line = '  config.hosts << ".trycloudflare.com"'
  dev_config = "config/environments/development.rb"
  return unless File.exist?(File.join(destination_root, dev_config))
  return if File.read(File.join(destination_root, dev_config)).include?("trycloudflare")
  environment(host_line, env: "development")
  say "  Added .trycloudflare.com to allowed hosts in development.rb", :green
end

def add_gitignore

def add_gitignore
  gitignore = File.join(destination_root, ".gitignore")
  return unless File.exist?(gitignore)
  return if File.read(gitignore).include?(".ruby_native")
  append_to_file ".gitignore", "\n# Ruby Native\n.ruby_native/\n"
  say "  Added .ruby_native/ to .gitignore", :green
end

def copy_claude_instructions

def copy_claude_instructions
  return unless File.directory?(File.join(destination_root, ".claude"))
  copy_file "CLAUDE.md", ".claude/ruby_native.md"
end

def copy_config

def copy_config
  template "ruby_native.yml", "config/ruby_native.yml"
end

def print_next_steps

def print_next_steps
  say ""
  say "Ruby Native installed! Next steps:", :green
  say ""
  say "  1. Edit config/ruby_native.yml with your app name, colors, and tabs"
  say "  2. Add to your layout <head>:"
  say "       <%= stylesheet_link_tag :ruby_native %>"
  say "  3. Add to your layout <body>:"
  say "       <%= native_tabs_tag %>"
  say "  4. Preview on your device:"
  say "       bundle exec ruby_native preview"
  say ""
  if File.directory?(File.join(destination_root, ".claude"))
    say "  Tip: .claude/ruby_native.md was added with setup instructions."
    say "  Open Claude Code and ask \"what do I need to do next?\" for guided help."
    say ""
  end
end