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.
Files changed (3) hide show
  1. package/README.md +30 -58
  2. package/dist/index.js +2373 -319
  3. 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
- Everything stays on your machine unless you explicitly opt in with `--proof`
16
- or `--publish`.
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, copy/paste fix prompts for your AI builder, and proof/report handoff
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": "[![shippingszn scan proof: 70%](https://shippingszn.com/api/badge.svg?...)](https://shippingszn.com/proof/00000000-0000-4000-8000-000000000123)",
40
36
  "wallUrl": "https://shippingszn.com/wall",
41
- "reportUrl": "https://shippingszn.com/report?scanResultId=00000000-0000-4000-8000-000000000123"
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
- "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
- }
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
- ## Direct proof publishing
54
+ ## Wall publishing
63
55
 
64
- Use `--proof` when you want the current scan to become shareable launch proof:
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 --json --proof > shippingszn-scan.json
63
+ npx shippingszn --no-publish
68
64
  ```
69
65
 
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`.
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 Opt in to posting an anonymous summary to the public
160
- Wall of Launches. Never uploads source code, paths,
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 --proof > launch-check.json
164
+ - run: npx shippingszn --json > launch-check.json
183
165
  ```
184
166
 
185
- For PR scan proof, have GitHub Actions run the scanner with `--proof` and post
186
- the JSON summary as a comment: score, severity counts, top next step, proof URL,
187
- badge markdown, Wall URL, report URL, and worst Critical/High findings. Keep
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 outbound network calls, or phones home by default. No accounts.
195
- Inspect the source or audit `npm pack --dry-run` to confirm.
196
-
197
- If you want public launch-readiness proof, pass `--proof`. That opt-in posts
198
- the current scan result to shippingszn so it can create a proof page, report
199
- handoff, README badge, and proof-linked Wall entry. It uploads finding titles,
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