31 lines
997 B
Ruby
Executable File
31 lines
997 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# Deterministic ADR retrieval (layers 1-3). AI judgment belongs in the `find`
|
|
# skill, applied only to this command's output.
|
|
#
|
|
# Usage: adr-find [--root DIR] [--paths a,b] [--components x,y] [--all-statuses]
|
|
# -> JSON {"candidates": [{id, title, status, date, file, matched_on}]}
|
|
|
|
require "json"
|
|
require_relative "../lib/adr"
|
|
|
|
root = Dir.pwd
|
|
paths = []
|
|
components = []
|
|
all_statuses = false
|
|
ARGV.each_with_index do |arg, i|
|
|
case arg
|
|
when "--root" then root = ARGV[i + 1]
|
|
when "--paths" then paths = ARGV[i + 1].to_s.split(",")
|
|
when "--components" then components = ARGV[i + 1].to_s.split(",")
|
|
when "--all-statuses" then all_statuses = true
|
|
end
|
|
end
|
|
|
|
repo = Adr::Repository.new(root: root)
|
|
finder = Adr::Finder.new(
|
|
repository: repo,
|
|
graph_path: File.join(root, "graphify-out", "graph.json")
|
|
)
|
|
candidates = finder.find(paths: paths, components: components, all_statuses: all_statuses)
|
|
puts JSON.pretty_generate("candidates" => candidates)
|