Skip to content

Architecture

RepoVista is a TypeScript CLI. The runtime flow is intentionally narrow: collect evidence, run provider phases, validate results, persist state, and expose reports.

Runtime flow

  1. src/cli.ts parses commands and loads settings.
  2. src/audit.ts orchestrates inventory, checks, project scan, phase execution, exports, and state updates.
  3. src/provider-runner.ts invokes the selected provider adapter.
  4. src/reports.ts, src/exporters.ts, and related modules write Markdown, structured JSON, SARIF, JSONL, and HTML.
  5. src/finding-state.ts persists finding lifecycle state.
  6. src/report-browser.ts and src/finding-menu.ts provide terminal UIs.

Key modules

ModuleResponsibility
src/options.tsCLI parsing and validation.
src/option-registry.tsShared option, default, setting, and menu registry.
src/audit-context.tsEvidence collection and context shaping.
src/phase-runner.tsPhase execution and status tracking.
src/evidence-validation.tsFinding evidence checks.
src/quality-gates.tsReport quality scoring and warnings.
src/report-repair.tsProvider repair loop for weak reports.
src/github-source.tsGitHub source cloning and metadata.
src/publish.tsGitHub issue and PR publishing.
src/github-status.tsOn-demand linked GitHub issue and PR status refresh.
src/patch-commands.tsFix, patch, rollback, and open-pr workflows.

Source of truth

The option registry is the source of truth for defaults, CLI flags, persisted settings, and settings-menu coverage.

Released under the MIT License.