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 CHANGED
@@ -1,10 +1,9 @@
1
1
  # shippingszn
2
2
 
3
- A small, read-only CLI that scans a project for common pre-launch issues from
4
- the [shippingszn.com launch checklist](https://shippingszn.com). Run it
5
- before you ship to catch obvious mistakes leaked API keys, missing
6
- `robots.txt`, no security headers, and so on — and get a friendly report
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
- Run it inside any project root. The CLI **never writes, modifies, or deletes**
16
- any files it only reads. Everything stays on your machine.
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": "[![Launch readiness proof: 70%](https://shippingszn.com/api/badge.svg?...)](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. No telemetry. No accounts.
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).