@cynicalsally/cli 0.5.0 → 0.5.2
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 +3 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +23 -23
- package/dist/mcp-server.js.map +1 -1
- package/dist/utils/config.d.ts +4 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +10 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/install.d.ts +12 -0
- package/dist/utils/install.d.ts.map +1 -0
- package/dist/utils/install.js +45 -0
- package/dist/utils/install.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<a href="https://www.npmjs.com/package/@cynicalsally/cli"><img src="https://img.shields.io/npm/v/@cynicalsally/cli.svg" alt="npm version" /></a>
|
|
19
19
|
<a href="https://www.npmjs.com/package/@cynicalsally/cli"><img src="https://img.shields.io/npm/dm/@cynicalsally/cli.svg" alt="npm downloads" /></a>
|
|
20
20
|
<a href="https://registry.modelcontextprotocol.io/?search=cynicalsally"><img src="https://img.shields.io/badge/MCP-Registry-8a2be2.svg" alt="MCP Registry" /></a>
|
|
21
|
-
<a href="https://glama.ai/mcp/servers/
|
|
21
|
+
<a href="https://glama.ai/mcp/servers/w1ckedxt/cynical-sally"><img src="https://glama.ai/mcp/servers/w1ckedxt/cynical-sally/badges/score.svg" alt="Glama score" /></a>
|
|
22
22
|
<a href="https://github.com/w1ckedxt/cynical-sally/blob/main/LICENSE"><img src="https://img.shields.io/github/license/w1ckedxt/cynical-sally.svg" alt="license" /></a>
|
|
23
23
|
</p>
|
|
24
24
|
|
|
@@ -277,6 +277,8 @@ Gate your pipeline on code quality:
|
|
|
277
277
|
|
|
278
278
|
Sally works as an MCP server inside **Claude Code**, **Cursor**, and **Windsurf**.
|
|
279
279
|
|
|
280
|
+
<a href="https://glama.ai/mcp/servers/w1ckedxt/cynical-sally"><img src="https://glama.ai/mcp/servers/w1ckedxt/cynical-sally/badges/card.svg" alt="Cynical Sally MCP server on Glama" width="380" /></a>
|
|
281
|
+
|
|
280
282
|
### Claude Code
|
|
281
283
|
|
|
282
284
|
```bash
|
package/dist/index.js
CHANGED
|
@@ -11,11 +11,14 @@ import { resultsCommand } from "./commands/results.js";
|
|
|
11
11
|
import { explainCommand, reviewPrCommand, refactorCommand, brainstormCommand, frontendCommand, marketingCommand, } from "./commands/tools.js";
|
|
12
12
|
import { verdictCommand } from "./commands/verdict.js";
|
|
13
13
|
import { printSally } from "./utils/output.js";
|
|
14
|
+
import { trackInstall } from "./utils/install.js";
|
|
15
|
+
// One-time, fire-and-forget install ping (no-op after the first successful run).
|
|
16
|
+
trackInstall();
|
|
14
17
|
const program = new Command();
|
|
15
18
|
program
|
|
16
19
|
.name("sally")
|
|
17
20
|
.description("Brutally honest code reviews.\nBecause 'You're absolutely right' is probably absolutely wrong.")
|
|
18
|
-
.version("0.5.
|
|
21
|
+
.version("0.5.2")
|
|
19
22
|
.action(() => {
|
|
20
23
|
// `sally` with no args → welcome message
|
|
21
24
|
printSally();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -64,7 +64,7 @@ function resolveReviewFilesDetailed(files, paths) {
|
|
|
64
64
|
}
|
|
65
65
|
const server = new McpServer({
|
|
66
66
|
name: "cynical-sally",
|
|
67
|
-
version: "0.5.
|
|
67
|
+
version: "0.5.1",
|
|
68
68
|
}, {
|
|
69
69
|
instructions: `You have access to Cynical Sally — a brutally honest, sharp-witted senior engineer. When the user mentions "Sally", asks Sally something, says "vraag Sally", "ask Sally", or wants Sally's opinion, use the appropriate tool:
|
|
70
70
|
- sally_roast: Full code reviews (files with scores and issues)
|
|
@@ -81,7 +81,7 @@ CRITICAL: If a Sally tool returns an error (quota exhausted), you MUST simply re
|
|
|
81
81
|
});
|
|
82
82
|
// ─── sally_roast tool ────────────────────────────────────────────────
|
|
83
83
|
server.registerTool("sally_roast", {
|
|
84
|
-
description: "Get a brutally honest code review from Cynical Sally — a 0–10 score, real issues backed by evidence, and fixes you can actually use. Use this whenever the user wants code reviewed, critiqued, roasted, or asks 'what does Sally think'. Pass `paths` (files or directories Sally reads herself, skipping binaries and secrets) OR `files` with inline content. quick = a fast, sharp take; full_truth = a deep dive with ranked issues and actionable fixes.",
|
|
84
|
+
description: "Get a brutally honest code review from Cynical Sally — a 0–10 score, real issues backed by evidence, and fixes you can actually use. Use this whenever the user wants code reviewed, critiqued, roasted, or asks 'what does Sally think'. Pass `paths` (files or directories Sally reads herself, skipping binaries and secrets) OR `files` with inline content. quick = a fast, sharp take (90 free per month per device); full_truth = a deep dive with ranked issues and actionable fixes. Sends the selected code to the Cynical Sally backend for analysis — never stored, never used for training; set `preview` to true to see exactly what would be sent without sending anything. Read-only: never modifies files. Returns markdown with the score, verdict, top issues, and fixes.",
|
|
85
85
|
inputSchema: {
|
|
86
86
|
paths: z
|
|
87
87
|
.array(z.string())
|
|
@@ -98,8 +98,8 @@ server.registerTool("sally_roast", {
|
|
|
98
98
|
.enum(["quick", "full_truth"])
|
|
99
99
|
.default("quick")
|
|
100
100
|
.describe("quick = fast roast; full_truth = deep dive with ranked issues + actionable fixes (1 free per month, then Full Suite)"),
|
|
101
|
-
lang: z.string().default("en").describe("
|
|
102
|
-
tone: z.enum(["cynical", "neutral", "professional"]).default("cynical").describe("Sally's
|
|
101
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
102
|
+
tone: z.enum(["cynical", "neutral", "professional"]).default("cynical").describe("Sally's delivery: cynical (default, full sass), neutral, or professional — same findings, different wording."),
|
|
103
103
|
preview: z
|
|
104
104
|
.boolean()
|
|
105
105
|
.default(false)
|
|
@@ -311,61 +311,61 @@ async function runMcpTool(toolName, content, lang) {
|
|
|
311
311
|
}
|
|
312
312
|
// ─── sally_explain tool ─────────────────────────────────────────────
|
|
313
313
|
server.registerTool("sally_explain", {
|
|
314
|
-
description: "Have Sally explain what a piece of code actually does, in plain English — no hand-holding, just the cold, clear truth. Use when the user wants a snippet or file explained
|
|
314
|
+
description: "Have Sally explain what a piece of code actually does, in plain English — no hand-holding, just the cold, clear truth. Use when the user wants a snippet or file explained, asks 'what does this do', or inherited code nobody documented. Sends only the provided code to the Cynical Sally backend — never stored, never used for training. Read-only: never modifies files. Returns a markdown explanation in Sally's voice. Premium tool: one free use per month on the free tier, unlimited with Full Suite.",
|
|
315
315
|
inputSchema: {
|
|
316
|
-
content: z.string().describe("
|
|
317
|
-
lang: z.string().default("en").describe("
|
|
316
|
+
content: z.string().describe("The code to explain — a snippet, function, or whole file, as plain text"),
|
|
317
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
318
318
|
},
|
|
319
319
|
annotations: SALLY_ANNOTATIONS,
|
|
320
320
|
}, async ({ content, lang }) => runMcpTool("explain", content, lang));
|
|
321
321
|
// ─── sally_review_pr tool ───────────────────────────────────────────
|
|
322
322
|
server.registerTool("sally_review_pr", {
|
|
323
|
-
description: "Sally reviews a PR diff like a senior engineer with time, opinions, and no reason to be polite — catching what automated tools miss. Use when the user wants a pull request or unified diff reviewed.",
|
|
323
|
+
description: "Sally reviews a PR diff like a senior engineer with time, opinions, and no reason to be polite — catching what automated tools miss. Use when the user wants a pull request, commit, or unified diff reviewed before merging. Sends only the provided diff to the Cynical Sally backend — never stored, never used for training. Read-only: never modifies files. Returns a markdown review with a verdict and concrete findings. Premium tool: one free use per month on the free tier, unlimited with Full Suite.",
|
|
324
324
|
inputSchema: {
|
|
325
|
-
diff: z.string().describe("
|
|
326
|
-
lang: z.string().default("en").describe("
|
|
325
|
+
diff: z.string().describe("The pull request changes as a unified diff (e.g. output of `git diff main` or `gh pr diff`)"),
|
|
326
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
327
327
|
},
|
|
328
328
|
annotations: SALLY_ANNOTATIONS,
|
|
329
329
|
}, async ({ diff, lang }) => runMcpTool("review_pr", diff, lang));
|
|
330
330
|
// ─── sally_refactor tool ────────────────────────────────────────────
|
|
331
331
|
server.registerTool("sally_refactor", {
|
|
332
|
-
description: "Sally proposes concrete refactors with before/after code and explains why the original would haunt your 3am on-call rotation. Use when the user wants code improved, cleaned up, or
|
|
332
|
+
description: "Sally proposes concrete refactors with before/after code and explains why the original would haunt your 3am on-call rotation. Use when the user wants code improved, cleaned up, simplified, or modernized. Sends only the provided code to the Cynical Sally backend — never stored, never used for training. Read-only: suggestions come back as markdown, nothing is applied to files. Premium tool: one free use per month on the free tier, unlimited with Full Suite.",
|
|
333
333
|
inputSchema: {
|
|
334
|
-
content: z.string().describe("
|
|
335
|
-
lang: z.string().default("en").describe("
|
|
334
|
+
content: z.string().describe("The code to refactor — a function, class, or file, as plain text"),
|
|
335
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
336
336
|
},
|
|
337
337
|
annotations: SALLY_ANNOTATIONS,
|
|
338
338
|
}, async ({ content, lang }) => runMcpTool("refactor", content, lang));
|
|
339
339
|
// ─── sally_brainstorm tool ──────────────────────────────────────────
|
|
340
340
|
server.registerTool("sally_brainstorm", {
|
|
341
|
-
description: "Pitch an idea or architecture and Sally names the three ways it falls apart at scale — cheaper than a post-mortem. Use when the user wants feedback on an idea, approach, or
|
|
341
|
+
description: "Pitch an idea or architecture and Sally names the three ways it falls apart at scale — cheaper than a post-mortem. Use when the user wants feedback on an idea, approach, design decision, or trade-off before building it. Sends only the provided description to the Cynical Sally backend — never stored, never used for training. Read-only: never modifies files. Returns a markdown verdict with risks and a bright side. Premium tool: one free use per month on the free tier, unlimited with Full Suite.",
|
|
342
342
|
inputSchema: {
|
|
343
|
-
description: z.string().describe("
|
|
344
|
-
lang: z.string().default("en").describe("
|
|
343
|
+
description: z.string().describe("The idea, architecture, or approach to evaluate — from a few sentences to a full design sketch"),
|
|
344
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
345
345
|
},
|
|
346
346
|
annotations: SALLY_ANNOTATIONS,
|
|
347
347
|
}, async ({ description, lang }) => runMcpTool("brainstorm", description, lang));
|
|
348
348
|
// ─── sally_frontend tool ────────────────────────────────────────────
|
|
349
349
|
server.registerTool("sally_frontend", {
|
|
350
|
-
description: "Sally roasts frontend/UI code — wasteful re-renders, load-bearing z-index, accessibility sins, and questionable component design. Use
|
|
350
|
+
description: "Sally roasts frontend/UI code — wasteful re-renders, load-bearing z-index, accessibility sins, and questionable component design. Use for HTML/CSS/JSX/Vue/Svelte or other UI code; for general-purpose code use sally_roast instead. Sends only the provided code to the Cynical Sally backend — never stored, never used for training. Read-only: never modifies files. Returns markdown with categorized issues and fixes. Premium tool: one free use per month on the free tier, unlimited with Full Suite.",
|
|
351
351
|
inputSchema: {
|
|
352
|
-
content: z.string().describe("
|
|
353
|
-
lang: z.string().default("en").describe("
|
|
352
|
+
content: z.string().describe("The frontend/UI code to review — HTML, CSS, JSX/TSX, Vue, Svelte, or similar, as plain text"),
|
|
353
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
354
354
|
},
|
|
355
355
|
annotations: SALLY_ANNOTATIONS,
|
|
356
356
|
}, async ({ content, lang }) => runMcpTool("frontend_review", content, lang));
|
|
357
357
|
// ─── sally_marketing tool ───────────────────────────────────────────
|
|
358
358
|
server.registerTool("sally_marketing", {
|
|
359
|
-
description: "Sally reviews marketing copy, branding, and landing-page text before your customers do it less kindly. Use when the user wants copy, taglines, or brand
|
|
359
|
+
description: "Sally reviews marketing copy, branding, and landing-page text before your customers do it less kindly. Use when the user wants copy, taglines, or brand messaging critiqued — returns before/after rewrites with the reasoning. Sends only the provided text to the Cynical Sally backend — never stored, never used for training. Read-only: never modifies files. Premium tool: one free use per month on the free tier, unlimited with Full Suite.",
|
|
360
360
|
inputSchema: {
|
|
361
|
-
content: z.string().describe("
|
|
362
|
-
lang: z.string().default("en").describe("
|
|
361
|
+
content: z.string().describe("The marketing copy to review — taglines, landing-page text, product descriptions, or brand messaging"),
|
|
362
|
+
lang: z.string().default("en").describe("ISO 639-1 language code for Sally's response (e.g. 'en', 'nl'). Defaults to English."),
|
|
363
363
|
},
|
|
364
364
|
annotations: SALLY_ANNOTATIONS,
|
|
365
365
|
}, async ({ content, lang }) => runMcpTool("marketing_review", content, lang));
|
|
366
366
|
// ─── sally_usage tool ────────────────────────────────────────────────
|
|
367
367
|
server.registerTool("sally_usage", {
|
|
368
|
-
description: "Check
|
|
368
|
+
description: "Check the user's Cynical Sally quota and account status: tier (Free or Full Suite), remaining quick roasts and Full Truth reviews this month, per-tool premium trials, and the email linked to this device. Use when the user asks how many roasts they have left, what plan they're on, or why a Sally tool just hit a quota wall. Takes no parameters. Sends only the anonymous device ID to the Cynical Sally backend — no code, no personal data. Read-only: never modifies files. Returns a markdown account summary.",
|
|
369
369
|
annotations: SALLY_ANNOTATIONS,
|
|
370
370
|
}, async () => {
|
|
371
371
|
try {
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ export declare function showToolsHint(): boolean;
|
|
|
14
14
|
export declare function showPrivacyNotice(): boolean;
|
|
15
15
|
/** Count a completed roast. Returns the new all-time total for this install. */
|
|
16
16
|
export declare function bumpRoastCount(): number;
|
|
17
|
+
/** Whether the one-time install ping has already been sent for this install. */
|
|
18
|
+
export declare function hasInstallPinged(): boolean;
|
|
19
|
+
/** Mark the install ping as sent so it never fires again for this install. */
|
|
20
|
+
export declare function markInstallPinged(): void;
|
|
17
21
|
/** Show the star-the-repo nudge once, after the user has a few roasts in. */
|
|
18
22
|
export declare function showStarHint(roastCount: number): boolean;
|
|
19
23
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAsCA,2CAA2C;AAC3C,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,wCAAwC;AACxC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED,uBAAuB;AACvB,wBAAgB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAE7C;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED,iCAAiC;AACjC,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,sFAAsF;AACtF,wBAAgB,aAAa,IAAI,OAAO,CAMvC;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,IAAI,OAAO,CAM3C;AAED,gFAAgF;AAChF,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxD"}
|
package/dist/utils/config.js
CHANGED
|
@@ -78,6 +78,16 @@ export function bumpRoastCount() {
|
|
|
78
78
|
writeConfig(config);
|
|
79
79
|
return config.roast_count;
|
|
80
80
|
}
|
|
81
|
+
/** Whether the one-time install ping has already been sent for this install. */
|
|
82
|
+
export function hasInstallPinged() {
|
|
83
|
+
return !!readConfig().install_pinged;
|
|
84
|
+
}
|
|
85
|
+
/** Mark the install ping as sent so it never fires again for this install. */
|
|
86
|
+
export function markInstallPinged() {
|
|
87
|
+
const config = readConfig();
|
|
88
|
+
config.install_pinged = true;
|
|
89
|
+
writeConfig(config);
|
|
90
|
+
}
|
|
81
91
|
/** Show the star-the-repo nudge once, after the user has a few roasts in. */
|
|
82
92
|
export function showStarHint(roastCount) {
|
|
83
93
|
if (roastCount < 3)
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fire a one-time "CLI installed" event on the first run of this install.
|
|
3
|
+
*
|
|
4
|
+
* - Fully fire-and-forget: never blocks or throws, never delays a command.
|
|
5
|
+
* - Fires at most once per install. The flag is only set after a successful
|
|
6
|
+
* ping, so an offline first run retries on the next run instead of being
|
|
7
|
+
* lost.
|
|
8
|
+
* - Sends only the install fingerprint (deviceId, version, OS, node) — never
|
|
9
|
+
* any code. The backend already defines the `CLI-INSTALL` event.
|
|
10
|
+
*/
|
|
11
|
+
export declare function trackInstall(): void;
|
|
12
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/utils/install.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,IAAI,CA0BnC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { getDeviceId, hasInstallPinged, markInstallPinged } from "./config.js";
|
|
3
|
+
import { API_BASE } from "./api.js";
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
// dist/utils/install.js → ../../package.json (repo root, both local and published)
|
|
6
|
+
const { version } = require("../../package.json");
|
|
7
|
+
const PING_TIMEOUT_MS = 5_000;
|
|
8
|
+
/**
|
|
9
|
+
* Fire a one-time "CLI installed" event on the first run of this install.
|
|
10
|
+
*
|
|
11
|
+
* - Fully fire-and-forget: never blocks or throws, never delays a command.
|
|
12
|
+
* - Fires at most once per install. The flag is only set after a successful
|
|
13
|
+
* ping, so an offline first run retries on the next run instead of being
|
|
14
|
+
* lost.
|
|
15
|
+
* - Sends only the install fingerprint (deviceId, version, OS, node) — never
|
|
16
|
+
* any code. The backend already defines the `CLI-INSTALL` event.
|
|
17
|
+
*/
|
|
18
|
+
export function trackInstall() {
|
|
19
|
+
if (hasInstallPinged())
|
|
20
|
+
return;
|
|
21
|
+
const deviceId = getDeviceId();
|
|
22
|
+
fetch(`${API_BASE}/api/v1/track`, {
|
|
23
|
+
method: "POST",
|
|
24
|
+
headers: { "Content-Type": "application/json" },
|
|
25
|
+
body: JSON.stringify({
|
|
26
|
+
eventCode: "CLI-INSTALL",
|
|
27
|
+
deviceId,
|
|
28
|
+
source: "cli",
|
|
29
|
+
properties: {
|
|
30
|
+
version,
|
|
31
|
+
os: process.platform,
|
|
32
|
+
node: process.version,
|
|
33
|
+
},
|
|
34
|
+
}),
|
|
35
|
+
signal: AbortSignal.timeout(PING_TIMEOUT_MS),
|
|
36
|
+
})
|
|
37
|
+
.then((res) => {
|
|
38
|
+
if (res.ok)
|
|
39
|
+
markInstallPinged();
|
|
40
|
+
})
|
|
41
|
+
.catch(() => {
|
|
42
|
+
// Offline or backend down — leave the flag unset so the next run retries.
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/utils/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,mFAAmF;AACnF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAEzE,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,gBAAgB,EAAE;QAAE,OAAO;IAE/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,KAAK,CAAC,GAAG,QAAQ,eAAe,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,aAAa;YACxB,QAAQ;YACR,MAAM,EAAE,KAAK;YACb,UAAU,EAAE;gBACV,OAAO;gBACP,EAAE,EAAE,OAAO,CAAC,QAAQ;gBACpB,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB;SACF,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;KAC7C,CAAC;SACC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,IAAI,GAAG,CAAC,EAAE;YAAE,iBAAiB,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,0EAA0E;IAC5E,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cynicalsally/cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"mcpName": "io.github.w1ckedxt/cynicalsally",
|
|
5
5
|
"description": "Brutally honest code reviews. Because 'You're absolutely right' is probably absolutely wrong.",
|
|
6
6
|
"author": "Thomas Geelens",
|