maintainer-readiness-kit 0.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. maintainer_readiness_kit-0.6.1/LICENSE +21 -0
  2. maintainer_readiness_kit-0.6.1/PKG-INFO +275 -0
  3. maintainer_readiness_kit-0.6.1/README.md +251 -0
  4. maintainer_readiness_kit-0.6.1/pyproject.toml +39 -0
  5. maintainer_readiness_kit-0.6.1/setup.cfg +4 -0
  6. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/__init__.py +4 -0
  7. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/__main__.py +5 -0
  8. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/badge.py +17 -0
  9. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/checks.py +247 -0
  10. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/cli.py +117 -0
  11. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/github.py +98 -0
  12. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/report.py +100 -0
  13. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/sarif.py +106 -0
  14. maintainer_readiness_kit-0.6.1/src/maintainer_readiness/templates.py +119 -0
  15. maintainer_readiness_kit-0.6.1/src/maintainer_readiness_kit.egg-info/PKG-INFO +275 -0
  16. maintainer_readiness_kit-0.6.1/src/maintainer_readiness_kit.egg-info/SOURCES.txt +23 -0
  17. maintainer_readiness_kit-0.6.1/src/maintainer_readiness_kit.egg-info/dependency_links.txt +1 -0
  18. maintainer_readiness_kit-0.6.1/src/maintainer_readiness_kit.egg-info/entry_points.txt +2 -0
  19. maintainer_readiness_kit-0.6.1/src/maintainer_readiness_kit.egg-info/top_level.txt +1 -0
  20. maintainer_readiness_kit-0.6.1/tests/test_badge.py +21 -0
  21. maintainer_readiness_kit-0.6.1/tests/test_checks.py +79 -0
  22. maintainer_readiness_kit-0.6.1/tests/test_cli.py +104 -0
  23. maintainer_readiness_kit-0.6.1/tests/test_github.py +39 -0
  24. maintainer_readiness_kit-0.6.1/tests/test_sarif.py +41 -0
  25. maintainer_readiness_kit-0.6.1/tests/test_templates.py +30 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 YUUDAI-s
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,275 @@
1
+ Metadata-Version: 2.4
2
+ Name: maintainer-readiness-kit
3
+ Version: 0.6.1
4
+ Summary: Generate maintainer-readiness reports for open source repositories.
5
+ Author: YUUDAI-s
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/YUUDAI-s/maintainer-readiness-kit
8
+ Project-URL: Repository, https://github.com/YUUDAI-s/maintainer-readiness-kit
9
+ Project-URL: Issues, https://github.com/YUUDAI-s/maintainer-readiness-kit/issues
10
+ Keywords: open-source,maintainer,github,security,triage
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Topic :: Software Development :: Quality Assurance
19
+ Classifier: Topic :: Software Development :: Version Control :: Git
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Dynamic: license-file
24
+
25
+ # Maintainer Readiness Kit
26
+
27
+ [![Maintainer readiness](https://github.com/YUUDAI-s/maintainer-readiness-kit/actions/workflows/maintainer-readiness.yml/badge.svg)](https://github.com/YUUDAI-s/maintainer-readiness-kit/actions/workflows/maintainer-readiness.yml)
28
+ [![GitHub Action](https://img.shields.io/badge/GitHub%20Action-ready-brightgreen.svg)](action.yml)
29
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
30
+ [![Python 3.10+](https://img.shields.io/badge/Python-3.10%2B-3776AB.svg)](pyproject.toml)
31
+
32
+ Maintainer Readiness Kit is a small, dependency-light CLI that audits an open
33
+ source repository for maintainer-facing signals: documentation, license files,
34
+ security policy, issue and pull request templates, CI, tests, recent git
35
+ activity, and high-risk local secret files.
36
+
37
+ The goal is simple: give solo and small-team maintainers a repeatable report
38
+ they can use before publishing a repository, onboarding contributors, or asking
39
+ for support from open source maintainer programs.
40
+
41
+ ## Who Should Use It
42
+
43
+ - Maintainers preparing a repository for public contributors.
44
+ - Solo developers who need a concrete pre-release checklist.
45
+ - Teams that want CI to fail when maintainer basics regress.
46
+ - Open source applicants who need honest, shareable evidence instead of vague
47
+ claims.
48
+
49
+ ## What It Helps You Decide
50
+
51
+ Use it when you need a quick answer to:
52
+
53
+ - Is this repository ready to make public?
54
+ - What maintainer files are missing before I invite contributors?
55
+ - Will CI fail if the repository falls below a readiness threshold?
56
+ - What ecosystem-specific maintenance steps should I add next?
57
+ - Can I share a report without leaking my local machine path?
58
+
59
+ ## Features
60
+
61
+ - Scores maintainer-readiness signals with evidence and suggested fixes.
62
+ - Reads local git activity without requiring network access.
63
+ - Optionally enriches the report with public GitHub repository signals.
64
+ - Summarizes stale open issues and pull requests for public GitHub reports.
65
+ - Generates starter maintainer templates for `CONTRIBUTING.md`,
66
+ `SECURITY.md`, issue templates, pull request templates, and a GitHub Actions
67
+ smoke workflow.
68
+ - Performs a conservative high-risk file check before public release.
69
+ - Outputs Markdown or JSON for CI and handoff docs.
70
+ - Outputs SARIF for CI and code-scanning workflows.
71
+ - Outputs Shields endpoint badge JSON for project dashboards.
72
+ - Runs as a reusable GitHub Action.
73
+ - Classifies readiness as `ready`, `nearly-ready`, or `needs-work`.
74
+ - Detects Python, Node.js, Rust, Go, and Java/JVM manifests and adds
75
+ ecosystem-specific maintainer recommendations.
76
+
77
+ ## Quick Start
78
+
79
+ Install from the repository:
80
+
81
+ ```powershell
82
+ git clone https://github.com/YUUDAI-s/maintainer-readiness-kit.git
83
+ cd maintainer-readiness-kit
84
+ python -m pip install -e .
85
+ maintainer-readiness inspect . --output readiness-report.md
86
+ maintainer-readiness inspect . --fail-under 90
87
+ ```
88
+
89
+ Use it directly in GitHub Actions:
90
+
91
+ ```yaml
92
+ steps:
93
+ - uses: actions/checkout@v4
94
+ - uses: YUUDAI-s/maintainer-readiness-kit@v0.6.0
95
+ with:
96
+ repo: owner/name
97
+ fail-under: "80"
98
+ output: readiness-report.md
99
+ sarif: readiness.sarif
100
+ badge-json: readiness-badge.json
101
+ ```
102
+
103
+ Public demo repository:
104
+ [`YUUDAI-s/maintainer-readiness-kit-action-demo`](https://github.com/YUUDAI-s/maintainer-readiness-kit-action-demo)
105
+ uses `YUUDAI-s/maintainer-readiness-kit@v0.6.0` in CI.
106
+
107
+ After the package is published to PyPI:
108
+
109
+ ```powershell
110
+ python -m pip install maintainer-readiness-kit
111
+ maintainer-readiness inspect . --output readiness-report.md
112
+ ```
113
+
114
+ For local source development without installation:
115
+
116
+ ```powershell
117
+ $env:PYTHONPATH = "src"
118
+ python -m maintainer_readiness inspect . --output readiness-report.md
119
+ python -m maintainer_readiness inspect . --fail-under 90
120
+ ```
121
+
122
+ Typical output:
123
+
124
+ ```text
125
+ Score: 100 / 100 (100.0%)
126
+ Level: ready
127
+ Ecosystem Recommendations: Python
128
+ High-Risk File Warnings: No high-risk credential filenames found.
129
+ ```
130
+
131
+ To include public GitHub signals:
132
+
133
+ ```powershell
134
+ python -m maintainer_readiness inspect . --repo YUUDAI-s/maintainer-readiness-kit --output readiness-report.md
135
+ ```
136
+
137
+ To add starter maintainer files to another repository:
138
+
139
+ ```powershell
140
+ python -m maintainer_readiness init C:\path\to\repo
141
+ ```
142
+
143
+ Use `--force` only when you intentionally want to overwrite an existing starter
144
+ file.
145
+
146
+ ## Commands
147
+
148
+ ### `inspect`
149
+
150
+ ```powershell
151
+ python -m maintainer_readiness inspect . --output readiness-report.md
152
+ python -m maintainer_readiness inspect . --json
153
+ python -m maintainer_readiness inspect . --repo owner/name
154
+ python -m maintainer_readiness inspect . --root-label public-sample
155
+ python -m maintainer_readiness inspect . --repo owner/name --stale-days 14
156
+ python -m maintainer_readiness inspect . --sarif readiness.sarif
157
+ python -m maintainer_readiness inspect . --badge-json readiness-badge.json
158
+ ```
159
+
160
+ The Markdown report includes:
161
+
162
+ - overall readiness score,
163
+ - readiness level,
164
+ - passing and missing signals,
165
+ - local git maintenance evidence,
166
+ - optional public GitHub evidence,
167
+ - stale open issue and pull request counts when `--repo` is used,
168
+ - high-risk file warnings,
169
+ - ecosystem-specific recommendations,
170
+ - next actions before public release.
171
+
172
+ For CI, use `--fail-under` to make the command return a non-zero exit code when
173
+ the readiness percentage is below your chosen threshold.
174
+
175
+ Use `--stale-days` with `--repo` when your project has a shorter or longer
176
+ triage window than the default 30 days.
177
+
178
+ Use `--sarif readiness.sarif` when you want failed checks and high-risk file
179
+ warnings in a code-scanning compatible format.
180
+
181
+ Use `--badge-json readiness-badge.json` when you want a Shields-compatible
182
+ endpoint JSON payload for a dashboard or docs site.
183
+
184
+ ### GitHub Actions
185
+
186
+ ```yaml
187
+ name: Maintainer readiness
188
+
189
+ on:
190
+ pull_request:
191
+ push:
192
+ branches: [main]
193
+
194
+ jobs:
195
+ smoke:
196
+ runs-on: ubuntu-latest
197
+ steps:
198
+ - uses: actions/checkout@v4
199
+ - uses: YUUDAI-s/maintainer-readiness-kit@v0.6.0
200
+ with:
201
+ repo: owner/name
202
+ fail-under: "80"
203
+ output: readiness-report.md
204
+ sarif: readiness.sarif
205
+ badge-json: readiness-badge.json
206
+ - uses: github/codeql-action/upload-sarif@v3
207
+ if: always()
208
+ with:
209
+ sarif_file: readiness.sarif
210
+ ```
211
+
212
+ ### `init`
213
+
214
+ ```powershell
215
+ python -m maintainer_readiness init .
216
+ ```
217
+
218
+ This writes starter maintainer files only when they do not already exist:
219
+
220
+ - `CONTRIBUTING.md`
221
+ - `SECURITY.md`
222
+ - `MAINTAINERS.md`
223
+ - `.github/ISSUE_TEMPLATE/bug_report.yml`
224
+ - `.github/ISSUE_TEMPLATE/feature_request.yml`
225
+ - `.github/PULL_REQUEST_TEMPLATE.md`
226
+ - `.github/workflows/maintainer-readiness.yml`
227
+
228
+ ## Design Principles
229
+
230
+ - Honest evidence over vanity metrics.
231
+ - Minimal runtime dependencies.
232
+ - Useful defaults for maintainers who work alone.
233
+ - No external writes from `inspect`.
234
+ - No claims that a repository qualifies for any external program.
235
+
236
+ ## Maintainer Workflows
237
+
238
+ This project is built for routine maintainer tasks:
239
+
240
+ - pre-publication checks before making a repository public,
241
+ - contributor onboarding checks before accepting outside PRs,
242
+ - release-readiness checks before tagging a version,
243
+ - safety checks before attaching reports to sponsorship or maintainer-support
244
+ applications,
245
+ - CI-friendly JSON output for repeatable repository hygiene reviews.
246
+
247
+ ## Limitations
248
+
249
+ This tool cannot prove that a repository is widely adopted, safe, or eligible
250
+ for any benefit. It only turns common maintainer signals into a compact,
251
+ verifiable report. Program applications still require accurate information
252
+ about the applicant, repository, role, usage, and maintainer status.
253
+
254
+ ## Development
255
+
256
+ ```powershell
257
+ $env:PYTHONPATH = "src"
258
+ python -m unittest discover -s tests
259
+ python -m maintainer_readiness inspect . --output readiness-report.md
260
+ ```
261
+
262
+ See [ROADMAP.md](ROADMAP.md) for near-term maintainer-focused work.
263
+ See [examples/reports](examples/reports) for generated reports from real
264
+ repositories.
265
+ See the public action demo at
266
+ [YUUDAI-s/maintainer-readiness-kit-action-demo](https://github.com/YUUDAI-s/maintainer-readiness-kit-action-demo).
267
+ See [docs/pypi.md](docs/pypi.md) for package build and publishing notes.
268
+ See [docs/community-launch.md](docs/community-launch.md) for community launch
269
+ copy and posting rules.
270
+ See [examples/github-action.yml](examples/github-action.yml) for a copyable
271
+ GitHub Actions workflow.
272
+
273
+ ## License
274
+
275
+ MIT
@@ -0,0 +1,251 @@
1
+ # Maintainer Readiness Kit
2
+
3
+ [![Maintainer readiness](https://github.com/YUUDAI-s/maintainer-readiness-kit/actions/workflows/maintainer-readiness.yml/badge.svg)](https://github.com/YUUDAI-s/maintainer-readiness-kit/actions/workflows/maintainer-readiness.yml)
4
+ [![GitHub Action](https://img.shields.io/badge/GitHub%20Action-ready-brightgreen.svg)](action.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
+ [![Python 3.10+](https://img.shields.io/badge/Python-3.10%2B-3776AB.svg)](pyproject.toml)
7
+
8
+ Maintainer Readiness Kit is a small, dependency-light CLI that audits an open
9
+ source repository for maintainer-facing signals: documentation, license files,
10
+ security policy, issue and pull request templates, CI, tests, recent git
11
+ activity, and high-risk local secret files.
12
+
13
+ The goal is simple: give solo and small-team maintainers a repeatable report
14
+ they can use before publishing a repository, onboarding contributors, or asking
15
+ for support from open source maintainer programs.
16
+
17
+ ## Who Should Use It
18
+
19
+ - Maintainers preparing a repository for public contributors.
20
+ - Solo developers who need a concrete pre-release checklist.
21
+ - Teams that want CI to fail when maintainer basics regress.
22
+ - Open source applicants who need honest, shareable evidence instead of vague
23
+ claims.
24
+
25
+ ## What It Helps You Decide
26
+
27
+ Use it when you need a quick answer to:
28
+
29
+ - Is this repository ready to make public?
30
+ - What maintainer files are missing before I invite contributors?
31
+ - Will CI fail if the repository falls below a readiness threshold?
32
+ - What ecosystem-specific maintenance steps should I add next?
33
+ - Can I share a report without leaking my local machine path?
34
+
35
+ ## Features
36
+
37
+ - Scores maintainer-readiness signals with evidence and suggested fixes.
38
+ - Reads local git activity without requiring network access.
39
+ - Optionally enriches the report with public GitHub repository signals.
40
+ - Summarizes stale open issues and pull requests for public GitHub reports.
41
+ - Generates starter maintainer templates for `CONTRIBUTING.md`,
42
+ `SECURITY.md`, issue templates, pull request templates, and a GitHub Actions
43
+ smoke workflow.
44
+ - Performs a conservative high-risk file check before public release.
45
+ - Outputs Markdown or JSON for CI and handoff docs.
46
+ - Outputs SARIF for CI and code-scanning workflows.
47
+ - Outputs Shields endpoint badge JSON for project dashboards.
48
+ - Runs as a reusable GitHub Action.
49
+ - Classifies readiness as `ready`, `nearly-ready`, or `needs-work`.
50
+ - Detects Python, Node.js, Rust, Go, and Java/JVM manifests and adds
51
+ ecosystem-specific maintainer recommendations.
52
+
53
+ ## Quick Start
54
+
55
+ Install from the repository:
56
+
57
+ ```powershell
58
+ git clone https://github.com/YUUDAI-s/maintainer-readiness-kit.git
59
+ cd maintainer-readiness-kit
60
+ python -m pip install -e .
61
+ maintainer-readiness inspect . --output readiness-report.md
62
+ maintainer-readiness inspect . --fail-under 90
63
+ ```
64
+
65
+ Use it directly in GitHub Actions:
66
+
67
+ ```yaml
68
+ steps:
69
+ - uses: actions/checkout@v4
70
+ - uses: YUUDAI-s/maintainer-readiness-kit@v0.6.0
71
+ with:
72
+ repo: owner/name
73
+ fail-under: "80"
74
+ output: readiness-report.md
75
+ sarif: readiness.sarif
76
+ badge-json: readiness-badge.json
77
+ ```
78
+
79
+ Public demo repository:
80
+ [`YUUDAI-s/maintainer-readiness-kit-action-demo`](https://github.com/YUUDAI-s/maintainer-readiness-kit-action-demo)
81
+ uses `YUUDAI-s/maintainer-readiness-kit@v0.6.0` in CI.
82
+
83
+ After the package is published to PyPI:
84
+
85
+ ```powershell
86
+ python -m pip install maintainer-readiness-kit
87
+ maintainer-readiness inspect . --output readiness-report.md
88
+ ```
89
+
90
+ For local source development without installation:
91
+
92
+ ```powershell
93
+ $env:PYTHONPATH = "src"
94
+ python -m maintainer_readiness inspect . --output readiness-report.md
95
+ python -m maintainer_readiness inspect . --fail-under 90
96
+ ```
97
+
98
+ Typical output:
99
+
100
+ ```text
101
+ Score: 100 / 100 (100.0%)
102
+ Level: ready
103
+ Ecosystem Recommendations: Python
104
+ High-Risk File Warnings: No high-risk credential filenames found.
105
+ ```
106
+
107
+ To include public GitHub signals:
108
+
109
+ ```powershell
110
+ python -m maintainer_readiness inspect . --repo YUUDAI-s/maintainer-readiness-kit --output readiness-report.md
111
+ ```
112
+
113
+ To add starter maintainer files to another repository:
114
+
115
+ ```powershell
116
+ python -m maintainer_readiness init C:\path\to\repo
117
+ ```
118
+
119
+ Use `--force` only when you intentionally want to overwrite an existing starter
120
+ file.
121
+
122
+ ## Commands
123
+
124
+ ### `inspect`
125
+
126
+ ```powershell
127
+ python -m maintainer_readiness inspect . --output readiness-report.md
128
+ python -m maintainer_readiness inspect . --json
129
+ python -m maintainer_readiness inspect . --repo owner/name
130
+ python -m maintainer_readiness inspect . --root-label public-sample
131
+ python -m maintainer_readiness inspect . --repo owner/name --stale-days 14
132
+ python -m maintainer_readiness inspect . --sarif readiness.sarif
133
+ python -m maintainer_readiness inspect . --badge-json readiness-badge.json
134
+ ```
135
+
136
+ The Markdown report includes:
137
+
138
+ - overall readiness score,
139
+ - readiness level,
140
+ - passing and missing signals,
141
+ - local git maintenance evidence,
142
+ - optional public GitHub evidence,
143
+ - stale open issue and pull request counts when `--repo` is used,
144
+ - high-risk file warnings,
145
+ - ecosystem-specific recommendations,
146
+ - next actions before public release.
147
+
148
+ For CI, use `--fail-under` to make the command return a non-zero exit code when
149
+ the readiness percentage is below your chosen threshold.
150
+
151
+ Use `--stale-days` with `--repo` when your project has a shorter or longer
152
+ triage window than the default 30 days.
153
+
154
+ Use `--sarif readiness.sarif` when you want failed checks and high-risk file
155
+ warnings in a code-scanning compatible format.
156
+
157
+ Use `--badge-json readiness-badge.json` when you want a Shields-compatible
158
+ endpoint JSON payload for a dashboard or docs site.
159
+
160
+ ### GitHub Actions
161
+
162
+ ```yaml
163
+ name: Maintainer readiness
164
+
165
+ on:
166
+ pull_request:
167
+ push:
168
+ branches: [main]
169
+
170
+ jobs:
171
+ smoke:
172
+ runs-on: ubuntu-latest
173
+ steps:
174
+ - uses: actions/checkout@v4
175
+ - uses: YUUDAI-s/maintainer-readiness-kit@v0.6.0
176
+ with:
177
+ repo: owner/name
178
+ fail-under: "80"
179
+ output: readiness-report.md
180
+ sarif: readiness.sarif
181
+ badge-json: readiness-badge.json
182
+ - uses: github/codeql-action/upload-sarif@v3
183
+ if: always()
184
+ with:
185
+ sarif_file: readiness.sarif
186
+ ```
187
+
188
+ ### `init`
189
+
190
+ ```powershell
191
+ python -m maintainer_readiness init .
192
+ ```
193
+
194
+ This writes starter maintainer files only when they do not already exist:
195
+
196
+ - `CONTRIBUTING.md`
197
+ - `SECURITY.md`
198
+ - `MAINTAINERS.md`
199
+ - `.github/ISSUE_TEMPLATE/bug_report.yml`
200
+ - `.github/ISSUE_TEMPLATE/feature_request.yml`
201
+ - `.github/PULL_REQUEST_TEMPLATE.md`
202
+ - `.github/workflows/maintainer-readiness.yml`
203
+
204
+ ## Design Principles
205
+
206
+ - Honest evidence over vanity metrics.
207
+ - Minimal runtime dependencies.
208
+ - Useful defaults for maintainers who work alone.
209
+ - No external writes from `inspect`.
210
+ - No claims that a repository qualifies for any external program.
211
+
212
+ ## Maintainer Workflows
213
+
214
+ This project is built for routine maintainer tasks:
215
+
216
+ - pre-publication checks before making a repository public,
217
+ - contributor onboarding checks before accepting outside PRs,
218
+ - release-readiness checks before tagging a version,
219
+ - safety checks before attaching reports to sponsorship or maintainer-support
220
+ applications,
221
+ - CI-friendly JSON output for repeatable repository hygiene reviews.
222
+
223
+ ## Limitations
224
+
225
+ This tool cannot prove that a repository is widely adopted, safe, or eligible
226
+ for any benefit. It only turns common maintainer signals into a compact,
227
+ verifiable report. Program applications still require accurate information
228
+ about the applicant, repository, role, usage, and maintainer status.
229
+
230
+ ## Development
231
+
232
+ ```powershell
233
+ $env:PYTHONPATH = "src"
234
+ python -m unittest discover -s tests
235
+ python -m maintainer_readiness inspect . --output readiness-report.md
236
+ ```
237
+
238
+ See [ROADMAP.md](ROADMAP.md) for near-term maintainer-focused work.
239
+ See [examples/reports](examples/reports) for generated reports from real
240
+ repositories.
241
+ See the public action demo at
242
+ [YUUDAI-s/maintainer-readiness-kit-action-demo](https://github.com/YUUDAI-s/maintainer-readiness-kit-action-demo).
243
+ See [docs/pypi.md](docs/pypi.md) for package build and publishing notes.
244
+ See [docs/community-launch.md](docs/community-launch.md) for community launch
245
+ copy and posting rules.
246
+ See [examples/github-action.yml](examples/github-action.yml) for a copyable
247
+ GitHub Actions workflow.
248
+
249
+ ## License
250
+
251
+ MIT
@@ -0,0 +1,39 @@
1
+ [build-system]
2
+ requires = ["setuptools>=77"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "maintainer-readiness-kit"
7
+ version = "0.6.1"
8
+ description = "Generate maintainer-readiness reports for open source repositories."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ authors = [{ name = "YUUDAI-s" }]
13
+ keywords = ["open-source", "maintainer", "github", "security", "triage"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Environment :: Console",
17
+ "Intended Audience :: Developers",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Programming Language :: Python :: 3.11",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Topic :: Software Development :: Quality Assurance",
23
+ "Topic :: Software Development :: Version Control :: Git",
24
+ ]
25
+ dependencies = []
26
+
27
+ [project.scripts]
28
+ maintainer-readiness = "maintainer_readiness.cli:main"
29
+
30
+ [project.urls]
31
+ Homepage = "https://github.com/YUUDAI-s/maintainer-readiness-kit"
32
+ Repository = "https://github.com/YUUDAI-s/maintainer-readiness-kit"
33
+ Issues = "https://github.com/YUUDAI-s/maintainer-readiness-kit/issues"
34
+
35
+ [tool.setuptools.packages.find]
36
+ where = ["src"]
37
+
38
+ [tool.setuptools]
39
+ include-package-data = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,4 @@
1
+ """Maintainer readiness reporting for open source repositories."""
2
+
3
+ __all__ = ["__version__"]
4
+ __version__ = "0.6.1"
@@ -0,0 +1,5 @@
1
+ from .cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ raise SystemExit(main())
@@ -0,0 +1,17 @@
1
+ from __future__ import annotations
2
+
3
+
4
+ def render_badge(result: dict) -> dict:
5
+ percent = float(result.get("percent", 0.0))
6
+ if percent >= 90:
7
+ color = "brightgreen"
8
+ elif percent >= 70:
9
+ color = "yellow"
10
+ else:
11
+ color = "red"
12
+ return {
13
+ "schemaVersion": 1,
14
+ "label": "maintainer readiness",
15
+ "message": f"{percent:.1f}%",
16
+ "color": color,
17
+ }