shippingszn 0.8.4 → 0.9.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.
- package/README.md +30 -58
- package/dist/index.js +2373 -319
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -12,13 +12,14 @@ pnpm dlx shippingszn
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
The CLI **never writes, modifies, or deletes** any files - it only reads.
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
By default it posts one anonymous Wall of Launches entry with score, severity
|
|
16
|
+
counts, files scanned, scanner version, and safe stack tags. It never uploads
|
|
17
|
+
source code, paths, filenames, repo URLs, project names, secrets, handles, or
|
|
18
|
+
emails. Use `--no-publish` for a private local run.
|
|
17
19
|
|
|
18
20
|
Human output starts with a Launch Readiness Score, scope covered, the top next
|
|
19
21
|
step to fix, and severity counts. Run with `--json` to get machine-readable
|
|
20
|
-
findings
|
|
21
|
-
fields:
|
|
22
|
+
findings plus the Wall/report handoff fields:
|
|
22
23
|
|
|
23
24
|
```json
|
|
24
25
|
{
|
|
@@ -32,24 +33,15 @@ fields:
|
|
|
32
33
|
"coveragePenalty": 0,
|
|
33
34
|
"coverageSummary": "CLI scan covered 4 readiness areas with 4 areas requiring owner verification.",
|
|
34
35
|
"topNextStep": "Fix Lock up your API keys and passwords: Possible OpenAI API key hardcoded in source.",
|
|
35
|
-
"proofCreatePath": "https://shippingszn.com/scan",
|
|
36
|
-
"proofUploadHint": "Run `npx shippingszn --json > shippingszn-scan.json`, then paste or upload that JSON in the web scan proof flow to create a shareable launch proof result.",
|
|
37
|
-
"proofUrl": "https://shippingszn.com/proof/00000000-0000-4000-8000-000000000123",
|
|
38
|
-
"proofResultId": "00000000-0000-4000-8000-000000000123",
|
|
39
|
-
"badgeMarkdown": "[](https://shippingszn.com/proof/00000000-0000-4000-8000-000000000123)",
|
|
40
36
|
"wallUrl": "https://shippingszn.com/wall",
|
|
41
|
-
"reportUrl": "https://shippingszn.com/report
|
|
37
|
+
"reportUrl": "https://shippingszn.com/report"
|
|
42
38
|
},
|
|
43
39
|
"findings": [
|
|
44
40
|
{
|
|
45
41
|
"severity": "critical",
|
|
46
42
|
"message": "Possible OpenAI API key hardcoded in source.",
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
"verify": "Re-run npx shippingszn --json and confirm this exact finding is gone...",
|
|
50
|
-
"escalation": "Escalate before launch if this touches secrets, auth, payments...",
|
|
51
|
-
"proofNextStep": "After the fix verifies clean, run npx shippingszn --json..."
|
|
52
|
-
}
|
|
43
|
+
"whatFailed": "A secret-like token appears in a scanned file.",
|
|
44
|
+
"whyItBlocksLaunch": "A leaked key can spend money or expose customer data before you notice."
|
|
53
45
|
}
|
|
54
46
|
]
|
|
55
47
|
}
|
|
@@ -59,26 +51,20 @@ When Critical or High findings make paid confidence relevant, the summary also
|
|
|
59
51
|
includes a `/report` link. Clean scans and lower-risk findings do not push the
|
|
60
52
|
paid report CTA.
|
|
61
53
|
|
|
62
|
-
##
|
|
54
|
+
## Wall publishing
|
|
63
55
|
|
|
64
|
-
|
|
56
|
+
Plain `npx shippingszn` feeds the Wall automatically. The public row is
|
|
57
|
+
anonymous and intentionally small: score, launch label, files scanned, finding
|
|
58
|
+
counts, detected stack tags, scanner version, and timestamp.
|
|
59
|
+
|
|
60
|
+
Use this when you want a completely private local run:
|
|
65
61
|
|
|
66
62
|
```bash
|
|
67
|
-
npx shippingszn --
|
|
63
|
+
npx shippingszn --no-publish
|
|
68
64
|
```
|
|
69
65
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
`launchReadiness.proofResultId`, `launchReadiness.badgeMarkdown`,
|
|
73
|
-
`launchReadiness.wallUrl`, and `launchReadiness.reportUrl` to the JSON. It
|
|
74
|
-
also posts a proof-linked severity summary to the Wall of Launches. If proof
|
|
75
|
-
upload fails, findings still print and JSON includes
|
|
76
|
-
`launchReadiness.proofUploadError`; if the Wall publish fails, JSON includes
|
|
77
|
-
`launchReadiness.wallPublishError`.
|
|
78
|
-
|
|
79
|
-
For a manual handoff, you can still run `npx shippingszn --json >
|
|
80
|
-
shippingszn-scan.json` and paste or upload the file at
|
|
81
|
-
`https://shippingszn.com/scan`.
|
|
66
|
+
For a paid-report handoff, run `npx shippingszn --json > shippingszn-scan.json`
|
|
67
|
+
and paste or upload the file at `https://shippingszn.com/scan`.
|
|
82
68
|
|
|
83
69
|
## What gets checked
|
|
84
70
|
|
|
@@ -156,12 +142,8 @@ shippingszn [path] [options]
|
|
|
156
142
|
|
|
157
143
|
Options:
|
|
158
144
|
--json Output a machine-readable JSON report.
|
|
159
|
-
--publish
|
|
160
|
-
|
|
161
|
-
filenames, or project names.
|
|
162
|
-
--proof Opt in to posting this scan to /api/scan-results and
|
|
163
|
-
printing a proof URL, Wall URL, report URL, and badge.
|
|
164
|
-
Can also be enabled with SHIPPINGSZN_PROOF=1.
|
|
145
|
+
--publish Legacy alias. Anonymous Wall stats publish by default.
|
|
146
|
+
--no-publish Disable the anonymous Wall post for this run.
|
|
165
147
|
--base-url <url> Base URL used to build links back to checklist items.
|
|
166
148
|
--cwd <path> Directory to scan. Default: current working directory.
|
|
167
149
|
--no-color Disable ANSI colors in the human-readable report.
|
|
@@ -179,32 +161,22 @@ This makes the CLI suitable for CI:
|
|
|
179
161
|
|
|
180
162
|
```yaml
|
|
181
163
|
# .github/workflows/launch-check.yml
|
|
182
|
-
- run: npx shippingszn --json
|
|
164
|
+
- run: npx shippingszn --json > launch-check.json
|
|
183
165
|
```
|
|
184
166
|
|
|
185
|
-
For PR scan
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
`--publish` out of the workflow unless you explicitly want to publish an
|
|
189
|
-
anonymous Wall summary when proof upload fails.
|
|
167
|
+
For PR scan signal, have GitHub Actions run the scanner and post the JSON
|
|
168
|
+
summary as a comment: score, severity counts, top next step, Wall URL, report
|
|
169
|
+
URL, and worst Critical/High findings.
|
|
190
170
|
|
|
191
171
|
## Privacy
|
|
192
172
|
|
|
193
|
-
`shippingszn` reads files on your machine. It never uploads source code
|
|
194
|
-
makes
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
messages, remediation prompts, verification text, checklist permalinks,
|
|
201
|
-
severity counts, score, file count, target folder name, and scanner version. It
|
|
202
|
-
does not upload source code or secret values.
|
|
203
|
-
|
|
204
|
-
If you only want an anonymous Wall of Launches summary, pass `--publish`.
|
|
205
|
-
That opt-in posts files scanned count, finding counts by severity, detected
|
|
206
|
-
stack tags, and scanner version. It never uploads source code, file paths,
|
|
207
|
-
filenames, project names, secrets, or report contents.
|
|
173
|
+
`shippingszn` reads files on your machine. It never uploads source code. By
|
|
174
|
+
default it makes one best-effort outbound request to post anonymous Wall stats:
|
|
175
|
+
score, launch label, files scanned count, finding counts by severity, detected
|
|
176
|
+
stack tags, scanner version, and timestamp. It never uploads source code, file
|
|
177
|
+
paths, filenames, project names, repo URLs, secrets, emails, handles, or report
|
|
178
|
+
contents. Use `--no-publish` or `SHIPPINGSZN_DISABLE_PUBLISH=1` to disable that
|
|
179
|
+
request.
|
|
208
180
|
|
|
209
181
|
## License
|
|
210
182
|
|