Problem
ContribCheck currently renders inspection reports as a Rich terminal table or JSON. Contributors often need a portable report they can paste into an issue, pull request, or review note without manually reformatting the terminal output.
Proposed change
Add a --markdown option to contribcheck inspect that renders the existing InspectionReport as plain GitHub-flavored Markdown.
contribcheck inspect owner/repository#123 --markdown
contribcheck inspect owner/repository#123 --markdown --output report.md
Acceptance criteria
Implementation guidance
Rendering already lives in one place: _render_report in src/contribcheck/cli.py, and the --json branch that skips it is in the inspect command (around cli.py:68). Add a Markdown renderer next to _render_report and route --markdown through the same branch, so the analyzer keeps returning the same typed InspectionReport model.
Example shape for one check:
## Verdict: READY
| Status | Check | Finding |
| --- | --- | --- |
| PASS | Issue state | The issue is open. |
| PASS | Dependencies | No open blockers reported. |
## Next actions
- Read the repository contribution guide before creating a branch.
Problem
ContribCheck currently renders inspection reports as a Rich terminal table or JSON. Contributors often need a portable report they can paste into an issue, pull request, or review note without manually reformatting the terminal output.
Proposed change
Add a
--markdownoption tocontribcheck inspectthat renders the existingInspectionReportas plain GitHub-flavored Markdown.Acceptance criteria
contribcheck inspect <ref> --markdownprints Markdown without ANSI escape sequences.--markdownand--jsonare mutually exclusive and produce a clear CLI error when combined.--output <path>writes the Markdown to a file instead of stdout.Implementation guidance
Rendering already lives in one place:
_render_reportinsrc/contribcheck/cli.py, and the--jsonbranch that skips it is in theinspectcommand (aroundcli.py:68). Add a Markdown renderer next to_render_reportand route--markdownthrough the same branch, so the analyzer keeps returning the same typedInspectionReportmodel.Example shape for one check: