shippingszn 0.8.0 → 0.8.3
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 +98 -9
- package/dist/index.js +2406 -208
- package/package.json +4 -2
- package/dist/checks/dangerous.js +0 -74
- package/dist/checks/env.js +0 -59
- package/dist/checks/headers.js +0 -116
- package/dist/checks/helpers.js +0 -155
- package/dist/checks/index.js +0 -36
- package/dist/checks/language.js +0 -275
- package/dist/checks/public-assets.js +0 -145
- package/dist/checks/quality.js +0 -45
- package/dist/checks/secrets.js +0 -271
- package/dist/checks/types.js +0 -1
- package/dist/checks.js +0 -8
- package/dist/items.js +0 -56
- package/dist/publish.js +0 -126
- package/dist/scan.js +0 -192
package/README.md
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# shippingszn
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
the
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
linking each finding back to the matching checklist item.
|
|
3
|
+
Primary local scanner for shippingszn launch readiness. Run it inside the app
|
|
4
|
+
you are about to ship to catch the launch blockers AI builders commonly miss:
|
|
5
|
+
leaked API keys, missing crawl assets, weak browser defenses, dangerous code
|
|
6
|
+
patterns, and last-mile polish gaps.
|
|
8
7
|
|
|
9
8
|
```bash
|
|
10
9
|
npx shippingszn
|
|
@@ -12,8 +11,74 @@ npx shippingszn
|
|
|
12
11
|
pnpm dlx shippingszn
|
|
13
12
|
```
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
The CLI **never writes, modifies, or deletes** any files - it only reads.
|
|
15
|
+
Everything stays on your machine unless you explicitly opt in with `--proof`
|
|
16
|
+
or `--publish`.
|
|
17
|
+
|
|
18
|
+
Human output starts with a Launch Readiness Score, scope covered, the top next
|
|
19
|
+
step to fix, and severity counts. Run with `--json` to get machine-readable
|
|
20
|
+
findings, copy/paste fix prompts for your AI builder, and proof/report handoff
|
|
21
|
+
fields:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"launchReadiness": {
|
|
26
|
+
"score": 43,
|
|
27
|
+
"rawScore": 43,
|
|
28
|
+
"label": "No-go: launch blocked",
|
|
29
|
+
"decisionLabel": "No-go: launch blocked",
|
|
30
|
+
"goNoGoLabel": "No-go",
|
|
31
|
+
"confidence": "high",
|
|
32
|
+
"coveragePenalty": 0,
|
|
33
|
+
"coverageSummary": "CLI scan covered 4 readiness areas with 4 areas requiring owner verification.",
|
|
34
|
+
"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
|
+
"wallUrl": "https://shippingszn.com/wall",
|
|
41
|
+
"reportUrl": "https://shippingszn.com/report?scanResultId=00000000-0000-4000-8000-000000000123"
|
|
42
|
+
},
|
|
43
|
+
"findings": [
|
|
44
|
+
{
|
|
45
|
+
"severity": "critical",
|
|
46
|
+
"message": "Possible OpenAI API key hardcoded in source.",
|
|
47
|
+
"remediation": {
|
|
48
|
+
"fixPrompt": "You are fixing a shippingszn launch-readiness finding...",
|
|
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
|
+
}
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
When Critical or High findings make paid confidence relevant, the summary also
|
|
59
|
+
includes a `/report` link. Clean scans and lower-risk findings do not push the
|
|
60
|
+
paid report CTA.
|
|
61
|
+
|
|
62
|
+
## Direct proof publishing
|
|
63
|
+
|
|
64
|
+
Use `--proof` when you want the current scan to become shareable launch proof:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx shippingszn --json --proof > shippingszn-scan.json
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
That opt-in posts the scan summary and remediation fields to
|
|
71
|
+
`/api/scan-results`, then adds `launchReadiness.proofUrl`,
|
|
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`.
|
|
17
82
|
|
|
18
83
|
## What gets checked
|
|
19
84
|
|
|
@@ -62,6 +127,12 @@ shippingszn [path] [options]
|
|
|
62
127
|
|
|
63
128
|
Options:
|
|
64
129
|
--json Output a machine-readable JSON report.
|
|
130
|
+
--publish Opt in to posting an anonymous summary to the public
|
|
131
|
+
Wall of Launches. Never uploads source code, paths,
|
|
132
|
+
filenames, or project names.
|
|
133
|
+
--proof Opt in to posting this scan to /api/scan-results and
|
|
134
|
+
printing a proof URL, Wall URL, report URL, and badge.
|
|
135
|
+
Can also be enabled with SHIPPINGSZN_PROOF=1.
|
|
65
136
|
--base-url <url> Base URL used to build links back to checklist items.
|
|
66
137
|
--cwd <path> Directory to scan. Default: current working directory.
|
|
67
138
|
--no-color Disable ANSI colors in the human-readable report.
|
|
@@ -79,15 +150,33 @@ This makes the CLI suitable for CI:
|
|
|
79
150
|
|
|
80
151
|
```yaml
|
|
81
152
|
# .github/workflows/launch-check.yml
|
|
82
|
-
- run: npx shippingszn --json > launch-check.json
|
|
153
|
+
- run: npx shippingszn --json --proof > launch-check.json
|
|
83
154
|
```
|
|
84
155
|
|
|
156
|
+
For PR scan proof, have GitHub Actions run the scanner with `--proof` and post
|
|
157
|
+
the JSON summary as a comment: score, severity counts, top next step, proof URL,
|
|
158
|
+
badge markdown, Wall URL, report URL, and worst Critical/High findings. Keep
|
|
159
|
+
`--publish` out of the workflow unless you explicitly want to publish an
|
|
160
|
+
anonymous Wall summary when proof upload fails.
|
|
161
|
+
|
|
85
162
|
## Privacy
|
|
86
163
|
|
|
87
164
|
`shippingszn` reads files on your machine. It never uploads source code,
|
|
88
|
-
makes outbound network calls, or phones home
|
|
165
|
+
makes outbound network calls, or phones home by default. No accounts.
|
|
89
166
|
Inspect the source or audit `npm pack --dry-run` to confirm.
|
|
90
167
|
|
|
168
|
+
If you want public launch-readiness proof, pass `--proof`. That opt-in posts
|
|
169
|
+
the current scan result to shippingszn so it can create a proof page, report
|
|
170
|
+
handoff, README badge, and proof-linked Wall entry. It uploads finding titles,
|
|
171
|
+
messages, remediation prompts, verification text, checklist permalinks,
|
|
172
|
+
severity counts, score, file count, target folder name, and scanner version. It
|
|
173
|
+
does not upload source code or secret values.
|
|
174
|
+
|
|
175
|
+
If you only want an anonymous Wall of Launches summary, pass `--publish`.
|
|
176
|
+
That opt-in posts files scanned count, finding counts by severity, detected
|
|
177
|
+
stack tags, and scanner version. It never uploads source code, file paths,
|
|
178
|
+
filenames, project names, secrets, or report contents.
|
|
179
|
+
|
|
91
180
|
## License
|
|
92
181
|
|
|
93
182
|
MIT. See [LICENSE](./LICENSE).
|