Contents
Overview
RepoRemedy aims to lower the barrier to software engineering best practices in open-source repositories. It will turn RepoAuditor text and OpenSSF Scorecard JSON findings into reviewable issues and pull requests.
How to use RepoRemedy
Read an existing report and write normalized findings and source provenance as JSON:
RepoRemedy inspect report.json --report-type ossf-scorecard --repo acme/demo
RepoRemedy inspect report.txt --report-type repoauditor --repo https://github.gatech.edu/sse-center/sse-resources
Use RepoRemedy inspect --help for inspection options and RepoRemedy --version for the installed
version. OWNER/REPO means GitHub.com; use an HTTPS URL or HOST/OWNER/REPO for
GitHub Enterprise. Enterprise hosts are retained in the output and Scorecard scan
matching, including non-default HTTPS ports.
Select and review remedies interactively for one repository:
RepoRemedy inspect report.txt --report-type repoauditor --repo OWNER/REPO --interactive
RepoRemedy inspect --resume remedy-plan.json
RepoRemedy publish --plan remedy-plan.json
The interactive workflow supports bulk selection, input forms,
issue/PR previews, save/resume and confirmed publication. JSON output remains the
inspect default; add --interactive to open the terminal interface.
Gather context and create concrete remedy proposals from an audit report:
RepoRemedy propose report.json --report-type ossf-scorecard --repo OWNER/REPO > proposals.json
propose reads the audited commit when recorded, otherwise main. Use --ref main
or a full commit SHA to select a revision explicitly. It resolves catalog inputs
and renders an issue or an eligible draft PR, including file contents and diffs.
Missing inputs and blocked proposals remain visible. propose makes no GitHub changes.
Publish only reviewed selections with explicit confirmation:
RepoRemedy publish proposals.json --repo OWNER/REPO --select security-policy \
--receipts publication-receipts.json --confirm
See publishing remedies for permissions, stale-content checks, duplicate prevention and receipt recovery.
See proposing remedies for authentication, collected context, maintainer inputs, PR guards and the saved proposal contract.
Generate proposals for several repositories using report-path templates:
RepoRemedy propose-batch demo/batch.json --output batch-results
The batch workflow uses the same remediation behavior as propose,
preserves each repository's bundles and summary, and continues after input failures.
Exit code 3 identifies partial failure; output directories must be new.
Installation
| Installation Method | Command |
|---|---|
| Via uv | uv add RepoRemedy |
| Via pip | pip install RepoRemedy |
Verifying Signed Artifacts
Artifacts are signed and verified using py-minisign and the public key in the file ./minisign_key.pub.
To verify that an artifact is valid, visit the latest release and download the .minisign signature file that corresponds to the artifact, then run the following command, replacing <filename> with the name of the artifact to be verified:
uv run --with py-minisign python -c "import minisign; minisign.PublicKey.from_file('minisign_key.pub').verify_file('<filename>'); print('The file has been verified.')"
Development
Please visit Contributing and Development for information on contributing to this project.
Additional Information
Additional information can be found at these locations.
| Title | Document | Description |
|---|---|---|
| Code of Conduct | CODE_OF_CONDUCT.md | Information about the norms, rules, and responsibilities we adhere to when participating in this open source community. |
| Contributing | CONTRIBUTING.md | Information about contributing to this project. |
| Development | DEVELOPMENT.md | Information about development activities involved in making changes to this project. |
| Governance | GOVERNANCE.md | Information about how this project is governed. |
| Maintainers | MAINTAINERS.md | Information about individuals who maintain this project. |
| Security | SECURITY.md | Information about how to privately report security issues associated with this project. |
License
RepoRemedy is licensed under the MIT license.
Metadata
Release files for reporemedy 0.1.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| reporemedy-0.1.17.tar.gz | 67.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reporemedy-0.1.17-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 155.5 kB
Release files / reporemedy-0.1.17.tar.gz
| Download URL | reporemedy-0.1.17.tar.gz |
|---|---|
| Size | 67.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7ade1fcf816a574bda7c1291956d8c3391c3660181c762fc5b8f28c7cd3c4889
|
|
BLAKE2b-256 checksum How to use checksums |
ab45b3e29febd9bceba20a93346c1e449b428b4282023dc4c5890d92807291ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / reporemedy-0.1.17-py3-none-any.whl
| Download URL | reporemedy-0.1.17-py3-none-any.whl |
|---|---|
| Size | 88.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d899e8e5ec824d33f85de67386a5399d98faeb28960a8a721eab34668d1d666
|
|
BLAKE2b-256 checksum How to use checksums |
99a95829bc1b6f6820b33b4cd53f15b1cfc2b047d790bc9179a6d6167ed6c0b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for reporemedy 0.1.17
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.