#!/usr/bin/env ruby
# frozen_string_literal: true

# SPDX-License-Identifier: GPL-3.0-only
# Copyright (C) 2026 Hugo Antonio Sepulveda Manriquez / NeatNerds

# varuna migrate sessions-yml-readers
# Scan for deprecated symlink references across codebase.
# Exit codes: 0=no refs, 1=I/O error, 2=timeout, 4=refs found.

require 'optparse'
require 'pathname'
require_relative '../lib/varuna/migration/sessions_yml_scanner'

options = { root: Pathname.new(__dir__).parent, format: :human }

OptionParser.new do |opts|
  opts.banner = 'Usage: varuna-migrate-sessions-yml-readers [options]'
  opts.on('--root PATH', 'Root directory to scan (default: repo root)') do |path|
    options[:root] = path
  end
  opts.on('--format=FORMAT', 'Output format: human (default) or json') do |fmt|
    options[:format] = fmt.to_sym
  end
  opts.on('-h', '--help', 'Show help') do
    puts opts
    exit 0
  end
end.parse!

scanner = Varuna::Migration::SessionsYmlScanner.new(root: options[:root], format: options[:format])
result = scanner.scan
$stdout.print(scanner.render(result))
exit result[:exit_code]
