oss-signal 0.6.4 → 0.7.0

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 (51) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/CITATION.cff +19 -0
  3. package/README.md +53 -16
  4. package/action.yml +1 -1
  5. package/docs/adoption-evidence.md +61 -10
  6. package/docs/adoption-kit.md +92 -0
  7. package/docs/architecture.md +57 -0
  8. package/docs/assets/code-scanning-results.svg +22 -0
  9. package/docs/assets/github-profile-avatar.png +0 -0
  10. package/docs/assets/oss-signal-banner.svg +1 -1
  11. package/docs/brand.md +2 -1
  12. package/docs/codex-for-oss-application.md +14 -13
  13. package/docs/codex-for-oss-form-answers.md +4 -4
  14. package/docs/examples/github-action-workflow.yml +1 -1
  15. package/docs/examples/github-code-scanning-workflow.yml +2 -2
  16. package/docs/examples/github-inventory-workflow.yml +1 -1
  17. package/docs/examples/github-issue-body.md +4 -20
  18. package/docs/examples/github-plan.md +81 -0
  19. package/docs/examples/github-url-report.json +206 -0
  20. package/docs/examples/github-url-report.md +1 -1
  21. package/docs/examples/inventory-report.md +1 -1
  22. package/docs/examples/self-audit.sarif +2 -2
  23. package/docs/index.md +56 -0
  24. package/docs/json-output.md +66 -0
  25. package/docs/maintainer-playbook.md +18 -4
  26. package/docs/marketplace.md +43 -0
  27. package/docs/outreach/README.md +13 -0
  28. package/docs/outreach/divyesh-5981-signal-oss-issue-draft.md +23 -0
  29. package/docs/outreach/divyesh-5981-signal-oss-report.md +48 -0
  30. package/docs/outreach/grovanni-oss-signal-issue-draft.md +27 -0
  31. package/docs/outreach/grovanni-oss-signal-report.md +45 -0
  32. package/docs/outreach/neardws-oss-application-pack-builder-issue-draft.md +23 -0
  33. package/docs/outreach/neardws-oss-application-pack-builder-report.md +50 -0
  34. package/docs/outreach/noctemlabs-signal-oss-issue-draft.md +24 -0
  35. package/docs/outreach/noctemlabs-signal-oss-report.md +49 -0
  36. package/docs/outreach/peer-shortlist-2026-06.md +49 -0
  37. package/docs/plan-output.md +40 -0
  38. package/docs/post-submission-update.md +18 -11
  39. package/docs/release-notes/v0.7.0.md +17 -0
  40. package/docs/release-process.md +1 -1
  41. package/docs/reviewer-evidence.md +53 -6
  42. package/docs/roadmap.md +34 -0
  43. package/docs/sarif-code-scanning.md +88 -0
  44. package/docs/schema/json-output.schema.json +206 -0
  45. package/docs/security-model.md +57 -0
  46. package/docs/self-audit.md +1 -1
  47. package/docs/trust-center.md +66 -0
  48. package/package.json +3 -2
  49. package/src/action.js +6 -2
  50. package/src/cli.js +8 -3
  51. package/src/index.js +60 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.7.0
6
+
7
+ - Added `--format plan` for generating PR-sized maintainer plans with suggested files and acceptance criteria.
8
+ - Added maintainer plan documentation and a GitHub repository plan example.
9
+
5
10
  ## 0.6.3
6
11
 
7
12
  - Updated the release workflow to use Node 24 and npm 11.16 for npm Trusted Publishing support.
package/CITATION.cff ADDED
@@ -0,0 +1,19 @@
1
+ cff-version: 1.2.0
2
+ message: "If oss-signal helps your maintainer workflow, please cite the repository."
3
+ title: "oss-signal"
4
+ abstract: "Maintainer-readiness CLI and GitHub Action for OSS triage, CI evidence, inventory reports, SARIF, and issue-ready cleanup."
5
+ authors:
6
+ - family-names: "Oda"
7
+ given-names: "Amon"
8
+ repository-code: "https://github.com/SalmonPlays/oss-signal"
9
+ url: "https://salmonplays.github.io/oss-signal/"
10
+ license: "MIT"
11
+ version: "0.6.4"
12
+ date-released: "2026-06-04"
13
+ keywords:
14
+ - open-source
15
+ - maintainer-tools
16
+ - github-actions
17
+ - repository-health
18
+ - sarif
19
+ - triage
package/README.md CHANGED
@@ -6,7 +6,9 @@
6
6
 
7
7
  [![CI](https://github.com/SalmonPlays/oss-signal/actions/workflows/ci.yml/badge.svg)](https://github.com/SalmonPlays/oss-signal/actions/workflows/ci.yml)
8
8
  [![Repository health](https://github.com/SalmonPlays/oss-signal/actions/workflows/repository-health.yml/badge.svg)](https://github.com/SalmonPlays/oss-signal/actions/workflows/repository-health.yml)
9
+ [![OpenSSF Scorecard](https://github.com/SalmonPlays/oss-signal/actions/workflows/scorecard.yml/badge.svg)](https://github.com/SalmonPlays/oss-signal/actions/workflows/scorecard.yml)
9
10
  [![GitHub release](https://img.shields.io/github/v/release/SalmonPlays/oss-signal.svg)](https://github.com/SalmonPlays/oss-signal/releases/latest)
11
+ [![GitHub Marketplace](https://img.shields.io/badge/GitHub%20Marketplace-oss--signal-blue.svg)](https://github.com/marketplace/actions/oss-signal)
10
12
  [![npm version](https://img.shields.io/npm/v/oss-signal.svg)](https://www.npmjs.com/package/oss-signal)
11
13
  [![npm downloads](https://img.shields.io/npm/dm/oss-signal.svg)](https://www.npmjs.com/package/oss-signal)
12
14
  [![Self audit](https://img.shields.io/badge/self--audit-100%2F100-brightgreen.svg)](docs/self-audit.md)
@@ -15,20 +17,36 @@
15
17
 
16
18
  `oss-signal` is a dependency-light maintainer-readiness CLI and GitHub Action for OSS projects that need repeatable triage, CI evidence, SARIF, inventory reports, and issue-ready cleanup notes.
17
19
 
18
- It checks the files and automation that reduce maintainer load: README, license, contributing guide, security policy, CI, tests, issue templates, pull request templates, Dependabot, and release notes. The output is a score plus concrete next steps in Markdown, JSON, SARIF, inventory, or a GitHub Issue-ready Markdown body.
20
+ It checks the files and automation that reduce maintainer load: README, license, contributing guide, security policy, CI, tests, issue templates, pull request templates, Dependabot, and release notes. The output is a score plus concrete next steps in Markdown, JSON, SARIF, inventory, GitHub Issue-ready Markdown, or PR-sized maintainer plan formats.
19
21
 
20
22
  ![oss-signal example output](docs/assets/terminal-report.svg)
21
23
 
22
24
  ## Maintainer Evidence Snapshot
23
25
 
24
- Public evidence for the maintainer workflow is collected in [docs/reviewer-evidence.md](docs/reviewer-evidence.md), [docs/adoption-evidence.md](docs/adoption-evidence.md), [docs/post-submission-update.md](docs/post-submission-update.md), and [docs/brand.md](docs/brand.md).
25
-
26
- - Published package: [`oss-signal@0.6.4`](https://www.npmjs.com/package/oss-signal), with `latest` pointing at `0.6.4`.
27
- - Published GitHub Action: [`SalmonPlays/oss-signal@v0.6.4`](https://github.com/SalmonPlays/oss-signal/tree/v0.6.4).
28
- - Post-submission version note: the application may reference earlier evidence; `0.6.4` is the current maintained release and is documented in [docs/post-submission-update.md](docs/post-submission-update.md).
26
+ Public evidence for the maintainer workflow is collected in [docs/index.md](docs/index.md), [docs/trust-center.md](docs/trust-center.md), [docs/reviewer-evidence.md](docs/reviewer-evidence.md), [docs/adoption-evidence.md](docs/adoption-evidence.md), [docs/adoption-kit.md](docs/adoption-kit.md), [docs/architecture.md](docs/architecture.md), [docs/security-model.md](docs/security-model.md), [docs/json-output.md](docs/json-output.md), [docs/plan-output.md](docs/plan-output.md), [docs/sarif-code-scanning.md](docs/sarif-code-scanning.md), [docs/roadmap.md](docs/roadmap.md), [docs/post-submission-update.md](docs/post-submission-update.md), and [docs/brand.md](docs/brand.md).
27
+
28
+ - Landing page: https://salmonplays.github.io/oss-signal/
29
+ - Published package: [`oss-signal@0.7.0`](https://www.npmjs.com/package/oss-signal), with `latest` pointing at `0.7.0`.
30
+ - Published GitHub Action: [`SalmonPlays/oss-signal@v0.7.0`](https://github.com/SalmonPlays/oss-signal/tree/v0.7.0).
31
+ - GitHub Marketplace listing: https://github.com/marketplace/actions/oss-signal
32
+ - Trust center: [docs/trust-center.md](docs/trust-center.md)
33
+ - Adoption kit: [docs/adoption-kit.md](docs/adoption-kit.md)
34
+ - Architecture: [docs/architecture.md](docs/architecture.md)
35
+ - Security model: [docs/security-model.md](docs/security-model.md)
36
+ - JSON output contract: [docs/json-output.md](docs/json-output.md)
37
+ - Maintainer plan output: [docs/plan-output.md](docs/plan-output.md)
38
+ - SARIF Code Scanning walkthrough: [docs/sarif-code-scanning.md](docs/sarif-code-scanning.md)
39
+ - Roadmap: [docs/roadmap.md](docs/roadmap.md)
40
+ - Post-submission version note: the application may reference earlier evidence; `0.7.0` is the current maintained release and is documented in [docs/post-submission-update.md](docs/post-submission-update.md).
29
41
  - Public checks: CI, Repository health, and CodeQL are passing on `main`.
42
+ - Security posture: OpenSSF Scorecard is scheduled, CodeQL is active, secret scanning push protection is enabled, Dependabot alerts/security updates/malware alerts are enabled, and private vulnerability reporting is enabled.
43
+ - Branch posture: `main` has branch protection to prevent force pushes and deletions while keeping direct maintainer maintenance possible.
44
+ - Governance posture: [MAINTAINERS.md](MAINTAINERS.md), [GOVERNANCE.md](GOVERNANCE.md), and [.github/CODEOWNERS](.github/CODEOWNERS) define ownership, review routing, and supported change scope.
45
+ - Community route: [Discussion #5](https://github.com/SalmonPlays/oss-signal/discussions/5) is the public maintainer-workflow thread for usage questions and rule feedback.
30
46
  - Self-audit: this repository scores **100/100 (A)** locally and through GitHub URL mode.
31
- - Field use: four public maintainer-readiness audits have been turned into four issues and four focused follow-up PRs.
47
+ - Field use: five public maintainer-readiness audits have been turned into five issues and four focused follow-up PRs.
48
+ - External OSS contribution: [icoretech/codex-action PR #24](https://github.com/icoretech/codex-action/pull/24) is a focused Codex Action documentation safety fix.
49
+ - Contributor intake: [good first issues](https://github.com/SalmonPlays/oss-signal/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22) are labeled for small outside PRs.
32
50
  - Inventory mode: the CLI and Action can audit a newline-delimited list of repositories for organization-level triage.
33
51
  - Separate workflow demo: [oss-signal-adoption-demo](https://github.com/SalmonPlays/oss-signal-adoption-demo/actions/runs/26883001038) runs the public Action tag and uploads Markdown, SARIF, and Issue-ready artifacts.
34
52
 
@@ -58,6 +76,8 @@ Try it without installing:
58
76
  npx oss-signal SalmonPlays/oss-signal
59
77
  ```
60
78
 
79
+ Use it from GitHub Marketplace: https://github.com/marketplace/actions/oss-signal
80
+
61
81
  For local development:
62
82
 
63
83
  ```bash
@@ -94,6 +114,8 @@ Use JSON in automation:
94
114
  oss-signal . --format json --fail-under 80
95
115
  ```
96
116
 
117
+ See [docs/json-output.md](docs/json-output.md) for the JSON schema and fixture.
118
+
97
119
  Audit multiple repositories from one newline-delimited inventory file:
98
120
 
99
121
  ```bash
@@ -108,6 +130,8 @@ Write SARIF for GitHub Code Scanning or other dashboards:
108
130
  oss-signal . --format sarif --output oss-signal.sarif
109
131
  ```
110
132
 
133
+ See [docs/sarif-code-scanning.md](docs/sarif-code-scanning.md) for the Code Scanning upload workflow and expected output.
134
+
111
135
  Generate a report that can be attached to an issue:
112
136
 
113
137
  ```bash
@@ -120,6 +144,14 @@ Generate a maintainer-friendly issue body:
120
144
  oss-signal platformatic/massimo --format issue --output maintainer-follow-up.md
121
145
  ```
122
146
 
147
+ Generate a PR-sized maintainer plan:
148
+
149
+ ```bash
150
+ oss-signal Grovanni/oss-signal --format plan --output maintainer-plan.md
151
+ ```
152
+
153
+ See [docs/plan-output.md](docs/plan-output.md) and [docs/examples/github-plan.md](docs/examples/github-plan.md) for an example.
154
+
123
155
  ## Checks
124
156
 
125
157
  `oss-signal` currently checks:
@@ -130,7 +162,7 @@ oss-signal platformatic/massimo --format issue --output maintainer-follow-up.md
130
162
 
131
163
  See [docs/rules.md](docs/rules.md) for rule details and scoring weights.
132
164
 
133
- SARIF output reports failed maintainer-readiness checks as warning-level results. This lets teams upload the audit to code scanning dashboards while keeping the Markdown report available for maintainers. Issue output turns the same findings into a human-reviewed checklist that can be edited before posting.
165
+ SARIF output reports failed maintainer-readiness checks as warning-level results. This lets teams upload the audit to code scanning dashboards while keeping the Markdown report available for maintainers. Issue output turns the same findings into a human-reviewed checklist that can be edited before posting. Plan output turns the findings into a PR-sized sequence with suggested files and acceptance criteria.
134
166
 
135
167
  For GitHub URL audits, `oss-signal` reads the repository file tree through the GitHub API and also uses GitHub's community profile signal when available. This lets it detect organization-level files such as a shared code of conduct.
136
168
 
@@ -147,9 +179,9 @@ Summary:
147
179
  - Total checks: 15
148
180
  ```
149
181
 
150
- See [docs/self-audit.md](docs/self-audit.md) for the full local self-audit report, [docs/examples/github-url-report.md](docs/examples/github-url-report.md) for the GitHub URL audit output, [docs/examples/github-issue-body.md](docs/examples/github-issue-body.md) for issue output, and [docs/examples/self-audit.sarif](docs/examples/self-audit.sarif) for SARIF output.
182
+ See [docs/self-audit.md](docs/self-audit.md) for the full local self-audit report, [docs/examples/github-url-report.md](docs/examples/github-url-report.md) for the GitHub URL audit output, [docs/examples/github-issue-body.md](docs/examples/github-issue-body.md) for issue output, [docs/examples/github-plan.md](docs/examples/github-plan.md) for plan output, and [docs/examples/self-audit.sarif](docs/examples/self-audit.sarif) for SARIF output.
151
183
 
152
- The [Repository health workflow](.github/workflows/repository-health.yml) runs `SalmonPlays/oss-signal@v0.6.4`, uploads the Markdown report as an artifact, and uploads SARIF to GitHub Code Scanning on non-PR runs. The [Repository inventory workflow](.github/workflows/repository-inventory.yml) runs the inventory mode from CI and uploads a multi-repository report artifact.
184
+ The [Repository health workflow](.github/workflows/repository-health.yml) runs `SalmonPlays/oss-signal@v0.7.0`, uploads the Markdown report as an artifact, and uploads SARIF to GitHub Code Scanning on non-PR runs. The [Repository inventory workflow](.github/workflows/repository-inventory.yml) runs the inventory mode from CI and uploads a multi-repository report artifact.
153
185
 
154
186
  ## Field Audits
155
187
 
@@ -159,9 +191,14 @@ The [Repository health workflow](.github/workflows/repository-health.yml) runs `
159
191
  - [supermarkt/checkjebon report](docs/outreach/supermarkt-checkjebon-report.md), [issue #22](https://github.com/supermarkt/checkjebon/issues/22), and [PR #23](https://github.com/supermarkt/checkjebon/pull/23)
160
192
  - [sammorrisdesign/interactive-feed report](docs/outreach/sammorrisdesign-interactive-feed-report.md), [issue #14](https://github.com/sammorrisdesign/interactive-feed/issues/14), and [PR #15](https://github.com/sammorrisdesign/interactive-feed/pull/15)
161
193
  - [flox/install-flox-action report](docs/outreach/flox-install-flox-action-report.md), [issue #204](https://github.com/flox/install-flox-action/issues/204), and [PR #205](https://github.com/flox/install-flox-action/pull/205)
194
+ - [Grovanni/oss-signal report](docs/outreach/grovanni-oss-signal-report.md) and [issue #1](https://github.com/Grovanni/oss-signal/issues/1)
162
195
 
163
196
  See [docs/outreach](docs/outreach) for the reports and draft issue text. Drafts are not posted automatically; maintainers should only receive specific, useful, and respectful suggestions.
164
197
 
198
+ Additional prepared outreach candidates are tracked in [docs/outreach/peer-shortlist-2026-06.md](docs/outreach/peer-shortlist-2026-06.md). The shortlist explicitly separates respectful, defensible candidates from low-signal mass outreach.
199
+
200
+ Additional focused external contribution: [icoretech/codex-action PR #24](https://github.com/icoretech/codex-action/pull/24) updates Codex Action README examples to route generated output through environment variables before printing it from shell steps.
201
+
165
202
  For a compact maintainer/adoption summary, see [docs/adoption-evidence.md](docs/adoption-evidence.md). For a reviewer-oriented verification path, see [docs/reviewer-evidence.md](docs/reviewer-evidence.md).
166
203
 
167
204
  Separate public workflow evidence: [SalmonPlays/oss-signal-adoption-demo](https://github.com/SalmonPlays/oss-signal-adoption-demo) runs `SalmonPlays/oss-signal@v0.5.1` and produced a successful [workflow run](https://github.com/SalmonPlays/oss-signal-adoption-demo/actions/runs/26883001038) with Markdown, SARIF, and Issue-ready report artifacts.
@@ -193,7 +230,7 @@ oss-signal . --fail-under 80
193
230
  Add `oss-signal` directly to a GitHub Actions workflow:
194
231
 
195
232
  ```yaml
196
- - uses: SalmonPlays/oss-signal@v0.6.4
233
+ - uses: SalmonPlays/oss-signal@v0.7.0
197
234
  id: oss-signal
198
235
  with:
199
236
  fail-under: "80"
@@ -209,7 +246,7 @@ The Action writes a concise GitHub Actions step summary by default, so reviewers
209
246
  Run an inventory from CI:
210
247
 
211
248
  ```yaml
212
- - uses: SalmonPlays/oss-signal@v0.6.4
249
+ - uses: SalmonPlays/oss-signal@v0.7.0
213
250
  env:
214
251
  GITHUB_TOKEN: ${{ github.token }}
215
252
  with:
@@ -221,7 +258,7 @@ Run an inventory from CI:
221
258
  Generate an editable Issue body from CI:
222
259
 
223
260
  ```yaml
224
- - uses: SalmonPlays/oss-signal@v0.6.4
261
+ - uses: SalmonPlays/oss-signal@v0.7.0
225
262
  with:
226
263
  format: issue
227
264
  output: maintainer-follow-up.md
@@ -243,7 +280,7 @@ jobs:
243
280
  runs-on: ubuntu-latest
244
281
  steps:
245
282
  - uses: actions/checkout@v4
246
- - uses: SalmonPlays/oss-signal@v0.6.4
283
+ - uses: SalmonPlays/oss-signal@v0.7.0
247
284
  id: oss-signal
248
285
  with:
249
286
  fail-under: "80"
@@ -266,7 +303,7 @@ permissions:
266
303
 
267
304
  steps:
268
305
  - uses: actions/checkout@v4
269
- - uses: SalmonPlays/oss-signal@v0.6.4
306
+ - uses: SalmonPlays/oss-signal@v0.7.0
270
307
  with:
271
308
  format: sarif
272
309
  output: oss-signal.sarif
@@ -276,7 +313,7 @@ steps:
276
313
  sarif_file: oss-signal.sarif
277
314
  ```
278
315
 
279
- This repository dogfoods the public Action tag in [Repository health](.github/workflows/repository-health.yml), which runs `SalmonPlays/oss-signal@v0.6.4` against the repository, uploads the Markdown report artifact, and publishes SARIF to Code Scanning on non-PR runs.
316
+ This repository dogfoods the public Action tag in [Repository health](.github/workflows/repository-health.yml), which runs `SalmonPlays/oss-signal@v0.7.0` against the repository, uploads the Markdown report artifact, and publishes SARIF to Code Scanning on non-PR runs.
280
317
 
281
318
  You can also run the CLI directly in CI:
282
319
 
package/action.yml CHANGED
@@ -13,7 +13,7 @@ inputs:
13
13
  description: Newline-delimited file of local paths, GitHub URLs, or owner/repo shorthands to audit as an inventory.
14
14
  required: false
15
15
  format:
16
- description: Output format, either markdown, json, sarif, or issue. Inventory mode supports markdown or json.
16
+ description: Output format, either markdown, json, sarif, issue, or plan. Inventory mode supports markdown or json.
17
17
  required: false
18
18
  default: markdown
19
19
  output:
@@ -2,17 +2,24 @@
2
2
 
3
3
  This page collects the public evidence that `oss-signal` is built for real open-source maintainer workflows.
4
4
 
5
- Last verified: 2026-06-04T03:01:28Z
5
+ Last verified: 2026-06-04T11:14:41Z
6
6
 
7
7
  ## Project Links
8
8
 
9
9
  - Repository: https://github.com/SalmonPlays/oss-signal
10
- - npm package: https://www.npmjs.com/package/oss-signal (`0.6.4` latest)
11
- - GitHub Release: https://github.com/SalmonPlays/oss-signal/releases/tag/v0.6.4
12
- - GitHub Action tag: https://github.com/SalmonPlays/oss-signal/tree/v0.6.4
10
+ - GitHub Pages landing page: https://salmonplays.github.io/oss-signal/
11
+ - npm package: https://www.npmjs.com/package/oss-signal (`0.7.0` latest)
12
+ - GitHub Release: https://github.com/SalmonPlays/oss-signal/releases/tag/v0.7.0
13
+ - GitHub Action tag: https://github.com/SalmonPlays/oss-signal/tree/v0.7.0
14
+ - GitHub Marketplace listing: https://github.com/marketplace/actions/oss-signal
13
15
  - GitHub Action metadata: [action.yml](../action.yml)
14
16
  - Public dogfood workflow: [.github/workflows/repository-health.yml](../.github/workflows/repository-health.yml)
15
17
  - Public inventory workflow: [.github/workflows/repository-inventory.yml](../.github/workflows/repository-inventory.yml)
18
+ - OpenSSF Scorecard workflow: [.github/workflows/scorecard.yml](../.github/workflows/scorecard.yml)
19
+ - Maintainers: [MAINTAINERS.md](../MAINTAINERS.md)
20
+ - Governance: [GOVERNANCE.md](../GOVERNANCE.md)
21
+ - CODEOWNERS: [.github/CODEOWNERS](../.github/CODEOWNERS)
22
+ - Maintainer workflow Discussion: https://github.com/SalmonPlays/oss-signal/discussions/5
16
23
  - Separate public workflow demo: https://github.com/SalmonPlays/oss-signal-adoption-demo
17
24
  - Separate public workflow run: https://github.com/SalmonPlays/oss-signal-adoption-demo/actions/runs/26883001038
18
25
  - Self-audit report: [docs/self-audit.md](self-audit.md)
@@ -22,7 +29,16 @@ Last verified: 2026-06-04T03:01:28Z
22
29
  - Inventory target example: [docs/examples/inventory-targets.txt](examples/inventory-targets.txt)
23
30
  - Inventory report example: [docs/examples/inventory-report.md](examples/inventory-report.md)
24
31
  - Brand assets and GitHub settings copy: [docs/brand.md](brand.md)
32
+ - GitHub Pages landing page source: [docs/index.md](index.md)
33
+ - GitHub Marketplace publishing checklist: [docs/marketplace.md](marketplace.md)
25
34
  - Maintainer playbook: [docs/maintainer-playbook.md](maintainer-playbook.md)
35
+ - Trust center: [docs/trust-center.md](trust-center.md)
36
+ - Adoption kit: [docs/adoption-kit.md](adoption-kit.md)
37
+ - Architecture: [docs/architecture.md](architecture.md)
38
+ - Security model: [docs/security-model.md](security-model.md)
39
+ - JSON output contract: [docs/json-output.md](json-output.md)
40
+ - SARIF Code Scanning walkthrough: [docs/sarif-code-scanning.md](sarif-code-scanning.md)
41
+ - Roadmap: [docs/roadmap.md](roadmap.md)
26
42
  - Reviewer evidence quickstart: [docs/reviewer-evidence.md](reviewer-evidence.md)
27
43
  - Post-submission update: [docs/post-submission-update.md](post-submission-update.md)
28
44
  - Release process: [docs/release-process.md](release-process.md)
@@ -48,7 +64,7 @@ The [post-submission update](post-submission-update.md) records why the current
48
64
 
49
65
  ## Published Package Verification
50
66
 
51
- The npm package is publicly available as `oss-signal@0.6.4` with `latest` pointing at `0.6.4`.
67
+ The npm package is publicly available as `oss-signal@0.7.0` with `latest` pointing at `0.7.0`.
52
68
 
53
69
  The npm downloads API returned 356 downloads for both last-week and last-month windows on 2026-06-04. Download counts can lag publication, so this is treated as supporting evidence rather than proof of broad adoption.
54
70
 
@@ -56,7 +72,7 @@ Clean-directory execution against the public GitHub repository returned:
56
72
 
57
73
  ```json
58
74
  {
59
- "version": "0.6.4",
75
+ "version": "0.7.0",
60
76
  "score": 100,
61
77
  "grade": "A",
62
78
  "source": "github"
@@ -69,10 +85,19 @@ Current public workflow status:
69
85
  - Repository health: passing
70
86
  - Repository inventory: passing
71
87
  - CodeQL: passing
88
+ - OpenSSF Scorecard: configured on `main` pushes and a weekly schedule, with JSON artifact output and public Scorecard publishing
72
89
  - Release: passing
90
+ - GitHub Pages deployment: passing, with the repository homepage set to https://salmonplays.github.io/oss-signal/
91
+ - GitHub Marketplace listing: published for the `v0.7.0` Action release
92
+ - GitHub issue forms: adoption report and maintainer audit report forms are available for structured public evidence intake
93
+ - GitHub citation metadata: `CITATION.cff` is present for the repository citation UI
94
+ - Automation contract: JSON schema and fixture are documented for `--format json`
95
+ - Code Scanning walkthrough: SARIF upload permissions, expected warnings, fixture, and output example are documented
96
+ - GitHub repository hardening: `main` branch protection, private vulnerability reporting, dependency graph, automatic dependency submission, Dependabot alerts/security updates/grouped updates/malware alerts, secret scanning, and push protection are enabled
97
+ - Maintainer workflow Discussion: published
73
98
  - Separate public workflow demo: passing
74
99
 
75
- The npm registry returned `0.6.4` for both the package version and `latest` dist-tag on 2026-06-04T02:42:51Z. The same check returned 356 downloads for the last-week and last-month windows.
100
+ After the v0.7.0 release, the npm registry should return `0.7.0` for both the package version and `latest` dist-tag. The earlier 2026-06-04 download check returned 356 downloads for the last-week and last-month windows.
76
101
 
77
102
  ## Separate Public Workflow Evidence
78
103
 
@@ -94,10 +119,34 @@ The tool has been used to generate maintainer-readiness reports for public repos
94
119
  | `supermarkt/checkjebon` | [report](outreach/supermarkt-checkjebon-report.md) | https://github.com/supermarkt/checkjebon/issues/22 | https://github.com/supermarkt/checkjebon/pull/23 | open, clean |
95
120
  | `sammorrisdesign/interactive-feed` | [report](outreach/sammorrisdesign-interactive-feed-report.md) | https://github.com/sammorrisdesign/interactive-feed/issues/14 | https://github.com/sammorrisdesign/interactive-feed/pull/15 | open |
96
121
  | `flox/install-flox-action` | [report](outreach/flox-install-flox-action-report.md) | https://github.com/flox/install-flox-action/issues/204 | https://github.com/flox/install-flox-action/pull/205 | open, checks pending |
122
+ | `Grovanni/oss-signal` | [report](outreach/grovanni-oss-signal-report.md) | https://github.com/Grovanni/oss-signal/issues/1 | N/A | open |
97
123
 
98
124
  These issues and pull requests are evidence of the intended maintainer workflow: run a deterministic audit, explain the missing signals, and give maintainers a small set of actionable improvements. Each PR is intentionally limited to documentation or GitHub templates.
99
125
 
100
- All four follow-up PRs were still open when checked from GitHub on 2026-06-04T02:42:51Z. They are not claimed as accepted adoption unless a maintainer merges or otherwise endorses them.
126
+ Prepared but not yet posted outreach candidates are tracked separately in [outreach/peer-shortlist-2026-06.md](outreach/peer-shortlist-2026-06.md) and [outreach](outreach). This prevents candidate research from being overstated as real external maintainer engagement.
127
+
128
+ The workflow now includes [plan-output.md](plan-output.md), which converts audit findings into a PR-sized sequence before a contributor posts externally. The example [examples/github-plan.md](examples/github-plan.md) uses the `Grovanni/oss-signal` field audit and shows suggested files plus acceptance criteria.
129
+
130
+ Additional focused external contribution:
131
+
132
+ - `icoretech/codex-action`: https://github.com/icoretech/codex-action/pull/24 updates Codex Action README examples so generated output is routed through environment variables before shell printing.
133
+
134
+ All field-audit follow-up PRs were still open when checked from GitHub on 2026-06-04T10:38:39Z. They are not claimed as accepted adoption unless a maintainer merges or otherwise endorses them.
135
+
136
+ ## Contributor Intake
137
+
138
+ The project now has labeled good-first-issue routes for outside contributors:
139
+
140
+ - https://github.com/SalmonPlays/oss-signal/issues/6
141
+ - https://github.com/SalmonPlays/oss-signal/issues/7
142
+
143
+ The repository also includes a GitHub Discussions category form for structured rule feedback, Action usage questions, and maintainer workflow adoption notes. The issue templates include adoption and maintainer-audit forms so users can share workflow-run evidence or discuss reports without inventing the format.
144
+
145
+ Current public roadmap evidence:
146
+
147
+ - https://github.com/SalmonPlays/oss-signal/issues/8 tracks the first independent public workflow run or maintainer acknowledgement.
148
+ - https://github.com/SalmonPlays/oss-signal/issues/9 was closed as completed after adding [json-output.md](json-output.md), the JSON schema, fixture, and reviewer links.
149
+ - https://github.com/SalmonPlays/oss-signal/issues/10 was closed as completed after adding [sarif-code-scanning.md](sarif-code-scanning.md), the Code Scanning output example, and reviewer links.
101
150
 
102
151
  ## Verification Commands
103
152
 
@@ -109,16 +158,18 @@ npm run audit:github
109
158
  node src/cli.js . --format sarif --output docs/examples/self-audit.sarif
110
159
  node src/cli.js --inventory docs/examples/inventory-targets.txt --format markdown --output docs/examples/inventory-report.md
111
160
  node src/cli.js platformatic/massimo --format json
112
- npm exec --yes --package=oss-signal@0.6.4 -- oss-signal SalmonPlays/oss-signal --format json
161
+ npm exec --yes --package=oss-signal@0.7.0 -- oss-signal SalmonPlays/oss-signal --format json
113
162
  ```
114
163
 
115
- The current repository self-audit score is 100/100, the GitHub community profile health score is 100, and CI verifies the local GitHub Action wrapper. The public `v0.6.4` Action tag is used by the repository health workflow for Markdown and SARIF output. The published npm `0.6.4` package has also been executed from a clean temporary directory against the public GitHub repository, returning 100/100 (A).
164
+ The current repository self-audit score is 100/100, the GitHub community profile health score is 100, and CI verifies the local GitHub Action wrapper. The public `v0.7.0` Action tag is used by the repository health workflow for Markdown and SARIF output. The published npm `0.7.0` package has also been executed from a clean temporary directory against the public GitHub repository, returning 100/100 (A).
116
165
 
117
166
  Public CI evidence:
118
167
 
119
168
  - CI workflow: https://github.com/SalmonPlays/oss-signal/actions/workflows/ci.yml
120
169
  - Repository health workflow: https://github.com/SalmonPlays/oss-signal/actions/workflows/repository-health.yml
121
170
  - CodeQL workflow: https://github.com/SalmonPlays/oss-signal/actions/workflows/codeql.yml
171
+ - OpenSSF Scorecard workflow: https://github.com/SalmonPlays/oss-signal/actions/workflows/scorecard.yml
172
+ - Maintainer workflow Discussion: https://github.com/SalmonPlays/oss-signal/discussions/5
122
173
  - Separate workflow demo run: https://github.com/SalmonPlays/oss-signal-adoption-demo/actions/runs/26883001038
123
174
  - Reviewer verification quickstart: [reviewer-evidence.md](reviewer-evidence.md)
124
175
 
@@ -0,0 +1,92 @@
1
+ # Adoption Kit
2
+
3
+ This page gives maintainers a copy-paste path for trying `oss-signal` and leaving useful public evidence.
4
+
5
+ ## Try The CLI
6
+
7
+ Run against a public repository without cloning:
8
+
9
+ ```bash
10
+ npm exec --yes --package=oss-signal@0.7.0 -- oss-signal owner/repo --format markdown --output oss-signal-report.md
11
+ ```
12
+
13
+ Run against the current checkout:
14
+
15
+ ```bash
16
+ npx oss-signal . --format markdown --output oss-signal-report.md
17
+ ```
18
+
19
+ Generate a human-reviewed issue body:
20
+
21
+ ```bash
22
+ npx oss-signal owner/repo --format issue --output maintainer-follow-up.md
23
+ ```
24
+
25
+ ## Add The GitHub Action
26
+
27
+ ```yaml
28
+ name: Repository health
29
+
30
+ on:
31
+ pull_request:
32
+ push:
33
+ branches: [main]
34
+
35
+ permissions:
36
+ contents: read
37
+
38
+ jobs:
39
+ oss-signal:
40
+ runs-on: ubuntu-latest
41
+ steps:
42
+ - uses: actions/checkout@v4
43
+ - uses: SalmonPlays/oss-signal@v0.7.0
44
+ id: oss-signal
45
+ with:
46
+ fail-under: "80"
47
+ output: oss-signal-report.md
48
+ summary: "true"
49
+ - uses: actions/upload-artifact@v4
50
+ with:
51
+ name: oss-signal-report
52
+ path: oss-signal-report.md
53
+ ```
54
+
55
+ ## Add SARIF To Code Scanning
56
+
57
+ ```yaml
58
+ permissions:
59
+ contents: read
60
+ security-events: write
61
+
62
+ steps:
63
+ - uses: actions/checkout@v4
64
+ - uses: SalmonPlays/oss-signal@v0.7.0
65
+ with:
66
+ format: sarif
67
+ output: oss-signal.sarif
68
+ summary: "false"
69
+ - uses: github/codeql-action/upload-sarif@v3
70
+ with:
71
+ sarif_file: oss-signal.sarif
72
+ ```
73
+
74
+ Full walkthrough: [sarif-code-scanning.md](sarif-code-scanning.md)
75
+
76
+ ## Share Evidence
77
+
78
+ Useful adoption evidence is concrete and public:
79
+
80
+ - A workflow run that uses `SalmonPlays/oss-signal@v0.7.0`.
81
+ - A Markdown report attached as a workflow artifact.
82
+ - A SARIF upload that appears in Code Scanning.
83
+ - A focused issue or pull request created from an audit finding.
84
+ - A short note about what maintainer task the audit improved.
85
+
86
+ Open an [adoption report](https://github.com/SalmonPlays/oss-signal/issues/new?template=adoption_report.yml) when a public repository uses the CLI or Action. Open a [maintainer audit report](https://github.com/SalmonPlays/oss-signal/issues/new?template=audit_report.yml) when you want to discuss a generated report before posting follow-up to another repository.
87
+
88
+ ## Boundaries
89
+
90
+ Do not treat the score as a code-quality verdict. It measures visible maintainer-readiness signals: contribution paths, security reporting, CI, templates, release notes, and related repository hygiene.
91
+
92
+ Do not claim third-party adoption unless the repository owner or maintainer has actually used, merged, or acknowledged the workflow.
@@ -0,0 +1,57 @@
1
+ # Architecture
2
+
3
+ `oss-signal` is intentionally small: a Node.js CLI, a GitHub Action wrapper, and deterministic rule modules that inspect visible repository files and GitHub repository metadata.
4
+
5
+ ## Components
6
+
7
+ | Component | Path | Responsibility |
8
+ | --- | --- | --- |
9
+ | CLI entrypoint | [src/cli.js](../src/cli.js) | Parses arguments, selects local/GitHub/inventory mode, writes reports, and applies `--fail-under`. |
10
+ | Audit engine | [src/index.js](../src/index.js) | Reads repository files, evaluates maintainer-readiness rules, scores results, and renders Markdown, JSON, SARIF, inventory, or issue output. |
11
+ | Action wrapper | [src/action.js](../src/action.js) | Maps GitHub Action inputs to CLI behavior, sets Action outputs, and writes the step summary. |
12
+ | Action metadata | [action.yml](../action.yml) | Defines Marketplace-visible inputs, outputs, branding, and Node runtime. |
13
+ | Rules reference | [docs/rules.md](rules.md) | Documents each rule, weight, and maintainer rationale. |
14
+
15
+ ## Data Flow
16
+
17
+ ```mermaid
18
+ flowchart LR
19
+ input["Repository path, GitHub URL, owner/repo, or inventory file"]
20
+ reader["File and metadata reader"]
21
+ rules["Maintainer-readiness rules"]
22
+ score["Score and grade"]
23
+ outputs["Markdown, JSON, SARIF, issue body, or inventory report"]
24
+ ci["GitHub Actions summary, artifact, or Code Scanning upload"]
25
+
26
+ input --> reader --> rules --> score --> outputs --> ci
27
+ ```
28
+
29
+ ## Local Repository Mode
30
+
31
+ Local mode reads files from the target path and checks for visible maintainer signals such as `README`, license, `CONTRIBUTING.md`, `SECURITY.md`, issue templates, pull request templates, CI, tests, Dependabot, CodeQL-style workflows, and release notes.
32
+
33
+ No network access is required for local mode.
34
+
35
+ ## GitHub Repository Mode
36
+
37
+ GitHub URL mode fetches a public repository file tree through the GitHub API and checks the same visible signals without requiring a clone. When `GITHUB_TOKEN` is available, it can use the token for higher API rate limits. The token is not printed in output.
38
+
39
+ ## Inventory Mode
40
+
41
+ Inventory mode reads a newline-delimited target list and runs the audit for each repository. It is designed for maintainers who need a quick portfolio view across several public repositories.
42
+
43
+ ## Output Modes
44
+
45
+ - Markdown: human-readable maintainer report.
46
+ - JSON: automation-friendly result object.
47
+ - SARIF: warning-level findings for GitHub Code Scanning or other SARIF consumers.
48
+ - Issue: an editable maintainer follow-up body.
49
+ - Inventory: table and aggregate summary across multiple targets.
50
+
51
+ ## Design Constraints
52
+
53
+ - Dependency-light by design.
54
+ - Deterministic scoring from visible repository signals.
55
+ - No hidden telemetry.
56
+ - No automatic issue or pull request posting.
57
+ - No claim that the score measures product quality, code quality, popularity, or security completeness.
@@ -0,0 +1,22 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="920" height="430" viewBox="0 0 920 430" role="img" aria-labelledby="title desc">
2
+ <title id="title">oss-signal Code Scanning results example</title>
3
+ <desc id="desc">Example GitHub Code Scanning view showing warning-level maintainer-readiness findings from oss-signal SARIF output.</desc>
4
+ <rect width="920" height="430" rx="18" fill="#ffffff"/>
5
+ <rect x="1" y="1" width="918" height="428" rx="18" fill="none" stroke="#d0d7de" stroke-width="2"/>
6
+ <rect x="0" y="0" width="920" height="58" rx="18" fill="#f6f8fa"/>
7
+ <text x="32" y="37" fill="#24292f" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="18" font-weight="700">GitHub Code Scanning</text>
8
+ <text x="32" y="98" fill="#24292f" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="28" font-weight="700">oss-signal maintainer-readiness findings</text>
9
+ <text x="32" y="132" fill="#57606a" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="16">SARIF upload from SalmonPlays/oss-signal@v0.7.0</text>
10
+ <rect x="32" y="162" width="856" height="72" rx="10" fill="#fffbdd" stroke="#d4a72c"/>
11
+ <circle cx="65" cy="198" r="10" fill="#bf8700"/>
12
+ <text x="88" y="194" fill="#24292f" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="17" font-weight="700">oss-signal/security</text>
13
+ <text x="88" y="218" fill="#57606a" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="15">Security policy: Add SECURITY.md with supported versions and reporting instructions.</text>
14
+ <text x="758" y="203" fill="#57606a" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="15">warning</text>
15
+ <rect x="32" y="252" width="856" height="72" rx="10" fill="#fffbdd" stroke="#d4a72c"/>
16
+ <circle cx="65" cy="288" r="10" fill="#bf8700"/>
17
+ <text x="88" y="284" fill="#24292f" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="17" font-weight="700">oss-signal/dependabot</text>
18
+ <text x="88" y="308" fill="#57606a" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="15">Dependency update automation: Add .github/dependabot.yml for the repository ecosystem.</text>
19
+ <text x="758" y="293" fill="#57606a" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="15">warning</text>
20
+ <rect x="32" y="342" width="856" height="46" rx="10" fill="#f6f8fa" stroke="#d0d7de"/>
21
+ <text x="54" y="371" fill="#57606a" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="15">Report properties include score, grade, source, and generatedAt for reviewer context.</text>
22
+ </svg>
@@ -34,7 +34,7 @@
34
34
  <rect x="334" y="266" width="144" height="42" rx="21" fill="#dcfce7"/>
35
35
  <text x="359" y="293" fill="#166534">100/100 A</text>
36
36
  <rect x="494" y="266" width="142" height="42" rx="21" fill="#dbeafe"/>
37
- <text x="521" y="293" fill="#1e40af">npm 0.6.4</text>
37
+ <text x="521" y="293" fill="#1e40af">npm 0.7.0</text>
38
38
  <rect x="652" y="266" width="178" height="42" rx="21" fill="#e0f2fe"/>
39
39
  <text x="681" y="293" fill="#075985">GitHub Action</text>
40
40
  <rect x="846" y="266" width="168" height="42" rx="21" fill="#fef9c3"/>
package/docs/brand.md CHANGED
@@ -13,6 +13,7 @@ The display name is intentionally more descriptive for reviewers, while `oss-sig
13
13
  - README banner: [assets/oss-signal-banner.svg](assets/oss-signal-banner.svg)
14
14
  - GitHub social preview source: [assets/github-social-preview.svg](assets/github-social-preview.svg)
15
15
  - GitHub social preview PNG: [assets/github-social-preview.png](assets/github-social-preview.png)
16
+ - GitHub profile avatar candidate: [assets/github-profile-avatar.png](assets/github-profile-avatar.png)
16
17
 
17
18
  ## GitHub Settings Copy
18
19
 
@@ -38,6 +39,6 @@ oss
38
39
  These cannot be committed through git:
39
40
 
40
41
  - Repository social preview: upload `docs/assets/github-social-preview.png` in GitHub repository settings.
41
- - GitHub profile or organization avatar: upload `docs/assets/oss-signal-icon.png`.
42
+ - GitHub profile or organization avatar: upload `docs/assets/github-profile-avatar.png` for a maintainer-profile look, or `docs/assets/oss-signal-icon.png` for a pure project-logo look.
42
43
 
43
44
  The repository name should remain `oss-signal` unless the npm package and GitHub Action distribution are intentionally migrated.