proof-of-commitment 1.17.1 → 1.18.1
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 +1 -1
- package/index.js +23 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ npx proof-of-commitment --file go.sum # full transitive set
|
|
|
56
56
|
# Install once, then use the `poc` alias:
|
|
57
57
|
npm install -g proof-of-commitment
|
|
58
58
|
|
|
59
|
-
# Get a free API key at https://getcommit.dev/get-started, then:
|
|
59
|
+
# Get a free API key at https://getcommit.dev/get-started?utm_source=cli, then:
|
|
60
60
|
poc login sk_commit_your_key_here
|
|
61
61
|
# ✓ Authenticated — Tier: Free — Usage: 0/200 requests (daily)
|
|
62
62
|
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* proof-of-commitment CLI v1.
|
|
3
|
+
* proof-of-commitment CLI v1.18.1
|
|
4
4
|
* Scores npm/PyPI/Cargo/Go packages on behavioral commitment signals.
|
|
5
5
|
* Usage: npx proof-of-commitment [packages...] [options]
|
|
6
6
|
*/
|
|
@@ -279,10 +279,10 @@ function printTable(results, { totalScanned, totalCritical, lockfile } = {}) {
|
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
-
// Contextual upsell — show when findings make monitoring relevant
|
|
283
|
-
// In TTY mode, inlineSignup() handles the upsell interactively — skip static text
|
|
282
|
+
// Contextual upsell — show when findings make monitoring relevant.
|
|
283
|
+
// In TTY mode, inlineSignup() handles the CRITICAL/risky upsell interactively — skip static text there.
|
|
284
|
+
const hasKey = !!process.env.COMMIT_API_KEY || _cachedHasKey;
|
|
284
285
|
if (effectiveCritical > 0) {
|
|
285
|
-
const hasKey = !!process.env.COMMIT_API_KEY || _cachedHasKey;
|
|
286
286
|
if (hasKey) {
|
|
287
287
|
console.log(clr(c.dim, `\n 📊 Monitor ${effectiveCritical === 1 ? 'this package' : 'these packages'}: `) +
|
|
288
288
|
clr(c.cyan, `poc watch ${results.find(r => hasCritical(r.riskFlags))?.name || results[0]?.name}`));
|
|
@@ -293,6 +293,19 @@ function printTable(results, { totalScanned, totalCritical, lockfile } = {}) {
|
|
|
293
293
|
console.log(clr(c.dim, ' Then run: ') + clr(c.cyan, 'poc login'));
|
|
294
294
|
}
|
|
295
295
|
// else: TTY mode — inlineSignup() will prompt interactively after printTable
|
|
296
|
+
} else if (!hasKey) {
|
|
297
|
+
// HEALTHY case + no saved key: soft watchlist CTA. The all-healthy
|
|
298
|
+
// footer previously surfaced only CI-shaped CTAs (Action, `poc init`)
|
|
299
|
+
// which both require active commitment — workflow change + repo edit.
|
|
300
|
+
// The lowest-friction conversion (email → API key → watchlist) was
|
|
301
|
+
// hidden behind the CRITICAL gate of inlineSignup(). Buyer-journey
|
|
302
|
+
// dogfood 2026-05-24 found 1472 weekly downloads → 0 organic signups;
|
|
303
|
+
// the watchlist value prop ("alert me when these degrade") is real
|
|
304
|
+
// for healthy packages too — that's exactly when monitoring matters.
|
|
305
|
+
// ref=audit-baseline distinguishes this funnel from audit-cli-429
|
|
306
|
+
// (rate-limit rescue) and from the static utm_source=cli help-line.
|
|
307
|
+
console.log(clr(c.dim, '\n 📊 Save this scan as your baseline. Re-run anytime with a free key:'));
|
|
308
|
+
console.log(clr(c.dim, ' ') + clr(c.cyan, 'https://getcommit.dev/get-started?ref=audit-baseline&utm_source=cli') + clr(c.dim, ' (200/day free; push alerts on Developer $15/mo)'));
|
|
296
309
|
}
|
|
297
310
|
console.log();
|
|
298
311
|
}
|
|
@@ -314,8 +327,8 @@ async function inlineSignup(results) {
|
|
|
314
327
|
if (!shouldPrompt) return;
|
|
315
328
|
|
|
316
329
|
console.log(clr(c.dim, ' ─────────────────────────────────────────────'));
|
|
317
|
-
console.log(clr(c.bold, ' 🔔 Get alerts
|
|
318
|
-
console.log(clr(c.dim, ' Free
|
|
330
|
+
console.log(clr(c.bold, ' 🔔 Lock in this audit. Get alerts if these packages get worse.'));
|
|
331
|
+
console.log(clr(c.dim, ' Free, no card, 10 seconds. Saves to ~/.commit/config.\n'));
|
|
319
332
|
|
|
320
333
|
const { createInterface } = await import('readline');
|
|
321
334
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
@@ -371,7 +384,7 @@ async function inlineSignup(results) {
|
|
|
371
384
|
|
|
372
385
|
function printHelp() {
|
|
373
386
|
console.log(`
|
|
374
|
-
${clr(c.bold, 'proof-of-commitment')} v1.
|
|
387
|
+
${clr(c.bold, 'proof-of-commitment')} v1.18.1 — supply chain risk scorer
|
|
375
388
|
|
|
376
389
|
${clr(c.bold, 'Usage:')}
|
|
377
390
|
npx proof-of-commitment Auto-detect manifest in current dir
|
|
@@ -408,7 +421,7 @@ ${clr(c.bold, 'Monitoring (Pro):')}
|
|
|
408
421
|
poc watchlist List monitored packages with current scores + risk
|
|
409
422
|
poc unwatch <pkg> Remove a package from monitoring
|
|
410
423
|
|
|
411
|
-
Get a free key: https://getcommit.dev/get-started
|
|
424
|
+
Get a free key: https://getcommit.dev/get-started?utm_source=cli
|
|
412
425
|
Upgrade to Pro: https://getcommit.dev/pricing
|
|
413
426
|
|
|
414
427
|
${clr(c.bold, 'Options:')}
|
|
@@ -930,7 +943,7 @@ async function cmdLogin(keyArg) {
|
|
|
930
943
|
|
|
931
944
|
if (!key || !key.startsWith('sk_commit_')) {
|
|
932
945
|
console.error(clr(c.red, '\n Invalid API key format. Keys start with sk_commit_'));
|
|
933
|
-
console.error(clr(c.dim, ' Get one at https://getcommit.dev/get-started\n'));
|
|
946
|
+
console.error(clr(c.dim, ' Get one at https://getcommit.dev/get-started?utm_source=cli\n'));
|
|
934
947
|
process.exit(1);
|
|
935
948
|
}
|
|
936
949
|
|
|
@@ -972,7 +985,7 @@ async function cmdStatus() {
|
|
|
972
985
|
if (!key) {
|
|
973
986
|
console.log(clr(c.dim, '\n Not logged in.'));
|
|
974
987
|
console.log(clr(c.dim, ' Run ') + clr(c.cyan, 'poc login') + clr(c.dim, ' to authenticate.'));
|
|
975
|
-
console.log(clr(c.dim, ' Get a free key at https://getcommit.dev/get-started\n'));
|
|
988
|
+
console.log(clr(c.dim, ' Get a free key at https://getcommit.dev/get-started?utm_source=cli\n'));
|
|
976
989
|
return;
|
|
977
990
|
}
|
|
978
991
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "proof-of-commitment",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"mcpName": "io.github.piiiico/proof-of-commitment",
|
|
5
5
|
"description": "Supply chain risk scorer for npm, PyPI, Cargo, and Go packages — behavioral signals that can't be faked",
|
|
6
6
|
"type": "module",
|