module Backlog # Filesystem-only detection helpers for the `inspect` subcommand: does the # repo already have in-repo issue files. Deliberately narrow — network # checks (Planka, tea, gh) stay in bin/os-backlog where the rest of the # CLI's IO lives; this class exists so that piece is unit-testable without # touching the network or shelling out. class Inspector CANDIDATE_DIRS = ["docs/issues"].freeze CANDIDATE_FILES = ["ISSUES.md"].freeze # @param repo_path [String] absolute path to the repo # @return [Array] repo-relative paths of in-repo issue tracking # found (empty if none) def self.issue_files(repo_path) found = [] CANDIDATE_DIRS.each do |rel| found << rel if Dir.exist?(File.join(repo_path, rel)) end CANDIDATE_FILES.each do |rel| found << rel if File.exist?(File.join(repo_path, rel)) end found end end end