oss-signal

JSON Output Contract

oss-signal --format json writes a machine-readable report for automation, dashboards, release gates, and repository inventory scripts.

Single Repository Report

Generate a report:

oss-signal owner/repo --format json --output oss-signal-report.json

The single-repository JSON schema is published at:

Current example fixture:

Important fields:

Field Type Notes
tool string Always oss-signal.
version string CLI version that generated the report.
root string Local path or GitHub repository URL.
source object local or github source metadata.
generatedAt string ISO timestamp for the report.
score integer Maintainer-readiness score from 0 to 100.
grade string A, B, C, D, or F.
summary object Total, passed, and failed check counts.
checks array Full rule results with evidence, rationale, and fix text.
recommendations array Failed checks sorted by weight. Empty when score is 100.

Inventory JSON

Inventory mode has a different top-level shape because it reports several repositories:

oss-signal --inventory docs/examples/inventory-targets.txt --format json --output inventory-report.json

Inventory JSON includes:

Inventory JSON intentionally summarizes each repository instead of embedding every full check result. Use single-repository JSON when a consumer needs rule-level detail.

Compatibility Notes

The JSON output is designed for automation, but oss-signal is still pre-1.0. Treat the current schema as the public contract for 0.6.x. If a future release removes or renames fields, it should document the change in CHANGELOG.md and the release notes.

Stable for 0.6.x:

Not stable: