@kryptosai/mcp-observatory 0.25.1 → 0.26.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/CLONED_THIS.md ADDED
@@ -0,0 +1,38 @@
1
+ # Cloned This?
2
+
3
+ MCP Observatory is most useful when it becomes a CI gate for an MCP server, not just a repo someone checks out once.
4
+
5
+ ## Fast Path
6
+
7
+ Run a local check:
8
+
9
+ ```bash
10
+ npx @kryptosai/mcp-observatory test npx -y <server-package>
11
+ ```
12
+
13
+ Then add the check to GitHub Actions:
14
+
15
+ ```bash
16
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"
17
+ ```
18
+
19
+ Check whether the repo is ready:
20
+
21
+ ```bash
22
+ npx @kryptosai/mcp-observatory setup-ci --doctor
23
+ ```
24
+
25
+ ## What To Commit
26
+
27
+ - `.github/workflows/mcp-observatory.yml`
28
+ - `mcp-observatory.target.json` when the server needs args, cwd, or env placeholders
29
+ - `docs/mcp-observatory-badge.md` if you want a README trust badge
30
+ - `docs/mcp-observatory-pr-body.md` when opening a maintainer PR
31
+
32
+ The generated workflow is read-only by default. Maintainers can opt into PR comments or commit statuses later.
33
+
34
+ ## Why This Matters
35
+
36
+ MCP servers are becoming production dependencies for agents. CI should catch compatibility regressions, schema drift, and common security footguns before agents depend on a release.
37
+
38
+ Production teams can request private readiness reviews, hosted CI history, recurring drift/security reports, certification, support, and fleet visibility through [COMMERCIAL.md](./COMMERCIAL.md).
package/COMMERCIAL.md CHANGED
@@ -37,9 +37,10 @@ The OSS product should make adoption useful before a buyer talks to us:
37
37
 
38
38
  1. **Local proof**: run `test`, `scan`, `diff`, `lock`, or `serve` with no account.
39
39
  2. **CI proof**: run `setup-ci --all` to add a GitHub Action, badge snippets, and maintainer copy.
40
- 3. **Public trust**: add an MCP Observatory badge or health score badge to a public MCP server.
41
- 4. **Private readiness**: request a private MCP readiness review for internal servers, schemas, or agent environments.
42
- 5. **Hosted production**: use hosted history, drift/security reports, certification, support, and fleet visibility.
40
+ 3. **Adoption proof**: run `setup-ci --doctor` to verify the workflow, target, badge, and maintainer assets are in place.
41
+ 4. **Public trust**: add an MCP Observatory badge or health score badge to a public MCP server.
42
+ 5. **Private readiness**: request a private MCP readiness review for internal servers, schemas, or agent environments.
43
+ 6. **Hosted production**: use hosted history, drift/security reports, certification, support, and fleet visibility.
43
44
 
44
45
  Good paid-fit signals include private repos, production MCP usage, repeated CI runs, security review needs, schema drift concerns, multiple teams/agents, and requests for historical reporting or certification.
45
46
 
package/README.md CHANGED
@@ -24,6 +24,8 @@ Agents should not depend on tools nobody tests. MCP Observatory gives MCP server
24
24
 
25
25
  Two fast paths:
26
26
 
27
+ Cloned this repo? Start here: [`CLONED_THIS.md`](./CLONED_THIS.md).
28
+
27
29
  Add MCP CI in one command:
28
30
 
29
31
  ```bash
@@ -63,7 +65,7 @@ Observatory gives maintainers and teams:
63
65
  - **MCP server mode** so agents can inspect other MCP servers directly
64
66
  - **Production pilot path** for hosted history, private repo reporting, certification, support, and fleet visibility
65
67
 
66
- See the [MCP server security field guide](./docs/mcp-security-field-guide.md), [Safety Methodology](./docs/methodology.md), [MCP Server Safety Index](./docs/mcp-server-safety-index.md), [reference evaluations](./docs/reference-evaluations.md), [MCP lock files](./docs/mcp-lock-files.md), [public proof](./docs/proof.md), the [certification distribution loop](./docs/certification-distribution.md), [local metrics dashboard](./docs/metrics-dashboard.md), and [commercial pilots](./COMMERCIAL.md).
68
+ See the [clone-to-CI campaign](./docs/clone-to-ci-campaign.md), [`setup-ci --doctor`](./docs/setup-ci-doctor.md), [MCP server security field guide](./docs/mcp-security-field-guide.md), [Safety Methodology](./docs/methodology.md), [MCP Server Safety Index](./docs/mcp-server-safety-index.md), [June 2026 safety field report](./docs/mcp-safety-field-report-2026-06.md), [reference evaluations](./docs/reference-evaluations.md), [MCP lock files](./docs/mcp-lock-files.md), [public proof](./docs/proof.md), the [certification PR campaign](./docs/certification-pr-campaign.md), [ecosystem distribution kit](./docs/ecosystem-distribution-kit.md), [local metrics dashboard](./docs/metrics-dashboard.md), and [commercial pilots](./COMMERCIAL.md).
67
69
 
68
70
  ## For Security And Platform Teams
69
71
 
@@ -144,6 +146,7 @@ Or add it manually to your config:
144
146
  | `lock verify` | Verify live servers match the lock file |
145
147
  | `history` | Show health score trends for your MCP servers |
146
148
  | `setup-ci` / `init-ci` | Create a GitHub Action and badge snippet for MCP compatibility/security checks |
149
+ | `setup-ci --doctor` | Inspect whether the repository has a complete CI adoption kit |
147
150
  | `ci-report` | Generate CI report for GitHub issue creation |
148
151
  | `enterprise-report` | Generate a static production/security report from run artifacts |
149
152
  | `score <cmd>` | Score an MCP server's health (0-100) |
@@ -218,6 +221,12 @@ Add Observatory to your MCP server's CI pipeline:
218
221
  npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y my-mcp-server"
219
222
  ```
220
223
 
224
+ Check the adoption kit:
225
+
226
+ ```bash
227
+ npx @kryptosai/mcp-observatory setup-ci --doctor
228
+ ```
229
+
221
230
  Or create the workflow manually:
222
231
 
223
232
  ```yaml
@@ -233,7 +242,7 @@ jobs:
233
242
  runs-on: ubuntu-latest
234
243
  steps:
235
244
  - uses: actions/checkout@v4
236
- - uses: KryptosAI/mcp-observatory/action@v0.25.1
245
+ - uses: KryptosAI/mcp-observatory/action@v0.26.1
237
246
  with:
238
247
  command: npx -y my-mcp-server
239
248
  deep: true
@@ -1,6 +1,6 @@
1
1
  import { diffArtifacts, readArtifact, } from "../index.js";
2
2
  import { buildEvent, recordEvent } from "../telemetry.js";
3
- import { formatOutput, writeOutput } from "./helpers.js";
3
+ import { formatOutput, printCiConversionCta, writeOutput } from "./helpers.js";
4
4
  export function registerDiffCommands(program) {
5
5
  program
6
6
  .command("diff")
@@ -21,6 +21,11 @@ export function registerDiffCommands(program) {
21
21
  const artifact = diffArtifacts(baseArtifact, headArtifact);
22
22
  const output = formatOutput(artifact, options.format);
23
23
  await writeOutput(output, options.format, options.output);
24
+ if (options.format === "terminal" && artifact.gate !== "fail") {
25
+ printCiConversionCta({
26
+ context: "keep this diff check running on every PR:",
27
+ });
28
+ }
24
29
  recordEvent(buildEvent("command_complete", "diff", "cli", {
25
30
  gateResult: artifact.gate,
26
31
  executionMs: Date.now() - t0,
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/commands/diff.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,6DAA6D,EAAE,UAAU,CAAC;SACtG,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;SAC/C,MAAM,CAAC,sBAAsB,EAAE,gDAAgD,EAAE,KAAK,CAAC;SACvF,MAAM,CACL,KAAK,EAAE,IAAY,EAAE,IAAY,EAAE,OAIlC,EAAE,EAAE;QACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1D,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;YACxD,UAAU,EAAE,QAAQ,CAAC,IAAI;YACzB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YAC5B,SAAS,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO;YAC9C,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK;SAC7C,CAAC,CAAC,CAAC;QAEJ,IAAI,OAAO,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/commands/diff.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/E,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,6DAA6D,EAAE,UAAU,CAAC;SACtG,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;SAC/C,MAAM,CAAC,sBAAsB,EAAE,gDAAgD,EAAE,KAAK,CAAC;SACvF,MAAM,CACL,KAAK,EAAE,IAAY,EAAE,IAAY,EAAE,OAIlC,EAAE,EAAE;QACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9D,oBAAoB,CAAC;gBACnB,OAAO,EAAE,2CAA2C;aACrD,CAAC,CAAC;QACL,CAAC;QAED,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;YACxD,UAAU,EAAE,QAAQ,CAAC,IAAI;YACzB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YAC5B,SAAS,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO;YAC9C,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK;SAC7C,CAAC,CAAC,CAAC;QAEJ,IAAI,OAAO,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -8,5 +8,6 @@ export interface EnterpriseReportSummary {
8
8
  averageHealthScore: number | null;
9
9
  }
10
10
  export declare function buildEnterpriseReport(artifacts: RunArtifact[], account?: string): string;
11
+ export declare function buildSampleEnterpriseArtifacts(): RunArtifact[];
11
12
  export declare function renderEnterpriseReportHtml(markdown: string): string;
12
13
  export declare function registerEnterpriseReportCommands(program: Command): void;
@@ -107,6 +107,70 @@ export function buildEnterpriseReport(artifacts, account = "MCP team") {
107
107
  "Contact: william@banksey.com",
108
108
  ].join("\n");
109
109
  }
110
+ function sampleCheck(id, status, itemCount = 0, message = `${id} ${status}`) {
111
+ return {
112
+ id,
113
+ capability: id,
114
+ status,
115
+ durationMs: 40,
116
+ message,
117
+ evidence: [{ endpoint: id, advertised: true, responded: status !== "fail", minimalShapePresent: status !== "fail", itemCount }],
118
+ };
119
+ }
120
+ function sampleArtifact(targetId, gate, score, grade, checks) {
121
+ return {
122
+ artifactType: "run",
123
+ schemaVersion: "1.0.0",
124
+ gate,
125
+ runId: `sample-${targetId}`,
126
+ createdAt: new Date().toISOString(),
127
+ toolVersion: "0.26.1",
128
+ target: {
129
+ targetId,
130
+ adapter: "local-process",
131
+ command: "npx",
132
+ args: ["-y", targetId],
133
+ },
134
+ environment: { platform: "sample", nodeVersion: "sample" },
135
+ summary: {
136
+ gate,
137
+ total: checks.length,
138
+ pass: checks.filter((check) => check.status === "pass").length,
139
+ fail: checks.filter((check) => check.status === "fail").length,
140
+ partial: checks.filter((check) => check.status === "partial").length,
141
+ unsupported: 0,
142
+ flaky: 0,
143
+ skipped: 0,
144
+ },
145
+ checks,
146
+ healthScore: {
147
+ overall: score,
148
+ grade,
149
+ dimensions: [],
150
+ },
151
+ };
152
+ }
153
+ export function buildSampleEnterpriseArtifacts() {
154
+ return [
155
+ sampleArtifact("payments-mcp", "pass", 91, "A", [
156
+ sampleCheck("tools", "pass", 18),
157
+ sampleCheck("prompts", "pass", 2),
158
+ sampleCheck("resources", "pass", 1),
159
+ sampleCheck("security-lite", "pass", 0),
160
+ ]),
161
+ sampleArtifact("internal-docs-mcp", "pass", 74, "C", [
162
+ sampleCheck("tools", "pass", 9),
163
+ sampleCheck("prompts", "pass", 0),
164
+ sampleCheck("resources", "pass", 3),
165
+ sampleCheck("schema-quality", "partial", 0, "Two tool input properties are missing descriptions."),
166
+ sampleCheck("security-lite", "partial", 0, "Review URL and token-adjacent inputs before production use."),
167
+ ]),
168
+ sampleArtifact("customer-support-mcp", "fail", 58, "D", [
169
+ sampleCheck("tools", "fail", 0, "Server did not respond to tools/list during startup window."),
170
+ sampleCheck("security", "partial", 0, "Authentication metadata was not explicit in the target config."),
171
+ ]),
172
+ ];
173
+ }
110
174
  export function renderEnterpriseReportHtml(markdown) {
111
175
  const body = markdown
112
176
  .split("\n")
@@ -147,8 +211,9 @@ export function registerEnterpriseReportCommands(program) {
147
211
  .option("--account <name>", "Account, team, or company name for the report.", "MCP team")
148
212
  .option("--format <format>", "Output format: markdown or html.", "markdown")
149
213
  .option("--output <path>", "Write report to file instead of stdout.")
214
+ .option("--sample", "Use sanitized sample artifacts to demonstrate the paid pilot report.", false)
150
215
  .action(async (options) => {
151
- const artifacts = await loadArtifactsFromDir(options.artifactsDir);
216
+ const artifacts = options.sample ? buildSampleEnterpriseArtifacts() : await loadArtifactsFromDir(options.artifactsDir);
152
217
  const markdown = buildEnterpriseReport(artifacts, options.account);
153
218
  const output = options.format === "html" ? renderEnterpriseReportHtml(markdown) : markdown;
154
219
  if (options.output) {
@@ -163,6 +228,7 @@ export function registerEnterpriseReportCommands(program) {
163
228
  matrixPassCount: artifacts.filter((artifact) => artifact.gate === "pass").length,
164
229
  matrixFailCount: artifacts.filter((artifact) => artifact.gate === "fail").length,
165
230
  securityFindingCount: artifacts.reduce((sum, artifact) => sum + securityFindings(artifact), 0),
231
+ sampleReport: options.sample === true,
166
232
  }));
167
233
  if (options.output) {
168
234
  maybePrintCloudCta("ci");
@@ -1 +1 @@
1
- {"version":3,"file":"enterprise-report.js","sourceRoot":"","sources":["../../../src/commands/enterprise-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enterprise-report.js","sourceRoot":"","sources":["../../../src/commands/enterprise-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAU1D,SAAS,uBAAuB,CAAC,SAAwB;IACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACzD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,QAAqB,EAAE,EAAqB;IAC9D,OAAO,QAAQ,CAAC,MAAM;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAqB;IAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,IAAI,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC;IAClH,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzH,OAAO,GAAG,GAAG,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,SAAS,CAAC,SAAwB;IACzC,MAAM,MAAM,GAAG,SAAS;SACrB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;SAChD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IACjE,OAAO;QACL,WAAW,EAAE,SAAS,CAAC,MAAM;QAC7B,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM;QAC1E,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM;QAC1E,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1F,kBAAkB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3E,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACxB,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAwB,EAAE,OAAO,GAAG,UAAU;IAClF,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,MAAM,CAAC;IAChG,MAAM,IAAI,GAAG,KAAK;SACf,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAClE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACxG,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU;YAChC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC;YAC7D,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;QAC1G,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACpH,OAAO;YACL,KAAK,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/B,QAAQ,CAAC,IAAI;YACb,MAAM;YACN,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACvC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAClC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI;SACrC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,qCAAqC;QACrC,EAAE;QACF,YAAY,OAAO,EAAE;QACrB,cAAc,KAAK,EAAE;QACrB,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,qBAAqB,OAAO,CAAC,WAAW,EAAE;QAC1C,sBAAsB,OAAO,CAAC,SAAS,EAAE;QACzC,sBAAsB,OAAO,CAAC,SAAS,EAAE;QACzC,2BAA2B,KAAK,EAAE;QAClC,wBAAwB,OAAO,CAAC,gBAAgB,EAAE;QAClD,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,OAAO,CAAC,SAAS,KAAK,CAAC;YACrB,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,UAAU,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,oEAAoE;QACnJ,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,sFAAsF;QACtF,wDAAwD;QACxD,GAAG,IAAI;QACP,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,8CAA8C;QAC9C,yDAAyD;QACzD,gEAAgE;QAChE,sEAAsE;QACtE,EAAE;QACF,8BAA8B;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,EAAqB,EAAE,MAA6B,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,IAAI,MAAM,EAAE;IACnH,OAAO;QACL,EAAE;QACF,UAAU,EAAE,EAAE;QACd,MAAM;QACN,UAAU,EAAE,EAAE;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,mBAAmB,EAAE,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,CAAC;KAChI,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,IAAyB,EAAE,KAAa,EAAE,KAAuD,EAAE,MAAqB;IAChK,OAAO;QACL,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,OAAO;QACtB,IAAI;QACJ,KAAK,EAAE,UAAU,QAAQ,EAAE;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE;YACN,QAAQ;YACR,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB;QACD,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC1D,OAAO,EAAE;YACP,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YAC9D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;YACpE,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX;QACD,MAAM;QACN,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,KAAK;YACL,UAAU,EAAE,EAAE;SACf;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE;YAC9C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAChC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACjC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACnC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;SACxC,CAAC;QACF,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE;YACnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACjC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACnC,WAAW,CAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC,EAAE,qDAAqD,CAAC;YAClG,WAAW,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,6DAA6D,CAAC;SAC1G,CAAC;QACF,cAAc,CAAC,sBAAsB,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE;YACtD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,6DAA6D,CAAC;YAC9F,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,gEAAgE,CAAC;SACxG,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,IAAI,GAAG,QAAQ;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;QACL,iBAAiB;QACjB,oBAAoB;QACpB,QAAQ;QACR,0BAA0B;QAC1B,0EAA0E;QAC1E,kDAAkD;QAClD,iNAAiN;QACjN,SAAS;QACT,QAAQ;QACR,IAAI;QACJ,SAAS;QACT,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,OAAgB;IAC/D,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SAC5G,MAAM,CAAC,kBAAkB,EAAE,gDAAgD,EAAE,UAAU,CAAC;SACxF,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,UAAU,CAAC;SAC3E,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,MAAM,CAAC,UAAU,EAAE,sEAAsE,EAAE,KAAK,CAAC;SACjG,MAAM,CAAC,KAAK,EAAE,OAAqG,EAAE,EAAE;QACtH,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE3F,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,EAAE;YACrE,iBAAiB,EAAE,SAAS,CAAC,MAAM;YACnC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM;YAChF,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM;YAChF,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9F,YAAY,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;SACtC,CAAC,CAAC,CAAC;QACJ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,GAAW;IAC7C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAY,CAAC;YACjF,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -23,3 +23,12 @@ export declare function formatOutput(artifact: Parameters<typeof renderTerminal>
23
23
  export declare function writeOutput(content: string, format: string, outputPath?: string): Promise<void>;
24
24
  /** Returns the command the user actually typed, so tips are copy-pasteable. */
25
25
  export declare function getBinName(): string;
26
+ export declare function quoteShell(value: string): string;
27
+ export declare function setupCiHint(target?: TargetConfig, targetPath?: string, bin?: string): string;
28
+ export declare function shouldPrintConversionCta(): boolean;
29
+ export declare function printCiConversionCta(options: {
30
+ bin?: string;
31
+ context?: string;
32
+ target?: TargetConfig;
33
+ targetPath?: string;
34
+ }): void;
@@ -131,4 +131,31 @@ export function getBinName() {
131
131
  }
132
132
  return "mcp-observatory";
133
133
  }
134
+ export function quoteShell(value) {
135
+ if (/^[A-Za-z0-9_./:@=-]+$/.test(value))
136
+ return value;
137
+ return `"${value.replaceAll("\\", "\\\\").replaceAll("\"", "\\\"")}"`;
138
+ }
139
+ export function setupCiHint(target, targetPath, bin = "npx @kryptosai/mcp-observatory") {
140
+ if (targetPath) {
141
+ return `${bin} setup-ci --all --target ${quoteShell(targetPath)}`;
142
+ }
143
+ if (target?.adapter === "local-process") {
144
+ const command = [target.command, ...target.args].map(quoteShell).join(" ");
145
+ return `${bin} setup-ci --all --command ${quoteShell(command)}`;
146
+ }
147
+ return `${bin} setup-ci --all --target mcp-observatory.target.json`;
148
+ }
149
+ export function shouldPrintConversionCta() {
150
+ return process.stdout.isTTY && process.env["CI"] !== "true";
151
+ }
152
+ export function printCiConversionCta(options) {
153
+ if (!shouldPrintConversionCta())
154
+ return;
155
+ const bin = options.bin ?? "npx @kryptosai/mcp-observatory";
156
+ process.stdout.write(` ${c(ANSI.bold, "Next:")} ${options.context ?? "keep this passing in CI"}\n`);
157
+ process.stdout.write(` ${c(ANSI.dim, "$")} ${c(ANSI.cyan, setupCiHint(options.target, options.targetPath, bin))}\n`);
158
+ process.stdout.write(` ${c(ANSI.dim, `Check adoption: ${bin} setup-ci --doctor`)}\n`);
159
+ process.stdout.write(` ${c(ANSI.dim, "Public trust: add the badge, and star https://github.com/KryptosAI/mcp-observatory if it saved time.")}\n\n`);
160
+ }
134
161
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export interface InitCiOptions {
14
14
  actionRef?: string;
15
15
  all?: boolean;
16
16
  force?: boolean;
17
+ doctor?: boolean;
17
18
  }
18
19
  export interface InitCiResult {
19
20
  workflowStatus: string;
@@ -29,6 +30,19 @@ export interface InitCiResult {
29
30
  issueBodyPath?: string;
30
31
  scoreBadgePath?: string;
31
32
  }
33
+ export interface SetupCiDoctorCheck {
34
+ id: string;
35
+ label: string;
36
+ status: "pass" | "warn" | "fail";
37
+ message: string;
38
+ fix?: string;
39
+ }
40
+ export interface SetupCiDoctorResult {
41
+ ready: boolean;
42
+ checks: SetupCiDoctorCheck[];
43
+ nextCommand: string;
44
+ }
45
+ export declare function doctorSetupCi(options?: InitCiOptions): Promise<SetupCiDoctorResult>;
32
46
  export declare function initCi(options: InitCiOptions): Promise<InitCiResult>;
33
47
  export declare function registerInitCiCommands(program: Command): void;
34
48
  export declare function readGeneratedWorkflow(filePath: string): Promise<string>;
@@ -7,7 +7,7 @@ const DEFAULT_TARGET_CONFIG_PATH = "mcp-observatory.target.json";
7
7
  const DEFAULT_PR_BODY_PATH = "docs/mcp-observatory-pr-body.md";
8
8
  const DEFAULT_ISSUE_BODY_PATH = "docs/mcp-observatory-issue.md";
9
9
  const DEFAULT_SCORE_BADGE_PATH = "docs/mcp-observatory-score-badge.md";
10
- const DEFAULT_ACTION_REF = "v0.25.1";
10
+ const DEFAULT_ACTION_REF = "v0.26.1";
11
11
  async function exists(filePath) {
12
12
  try {
13
13
  await access(filePath);
@@ -162,6 +162,138 @@ async function writeFileOnce(filePath, content, force) {
162
162
  await writeFile(filePath, content, "utf8");
163
163
  return alreadyExists ? "overwritten" : "created";
164
164
  }
165
+ async function readOptional(filePath) {
166
+ try {
167
+ return await readFile(filePath, "utf8");
168
+ }
169
+ catch {
170
+ return undefined;
171
+ }
172
+ }
173
+ function checkFile(id, label, filePath, content, expectedText) {
174
+ if (content === undefined) {
175
+ return {
176
+ id,
177
+ label,
178
+ status: "warn",
179
+ message: `${filePath} is missing.`,
180
+ fix: `Run setup-ci --all to generate ${filePath}.`,
181
+ };
182
+ }
183
+ if (expectedText && !content.includes(expectedText)) {
184
+ return {
185
+ id,
186
+ label,
187
+ status: "warn",
188
+ message: `${filePath} exists but does not look like a generated MCP Observatory asset.`,
189
+ fix: `Regenerate with setup-ci --all --force if this file should be managed by Observatory.`,
190
+ };
191
+ }
192
+ return {
193
+ id,
194
+ label,
195
+ status: "pass",
196
+ message: `${filePath} exists.`,
197
+ };
198
+ }
199
+ function setupCommand(options) {
200
+ if (options.target)
201
+ return `npx @kryptosai/mcp-observatory setup-ci --all --target ${options.target}`;
202
+ if (options.command)
203
+ return `npx @kryptosai/mcp-observatory setup-ci --all --command "${options.command.replaceAll("\"", "\\\"")}"`;
204
+ return "npx @kryptosai/mcp-observatory setup-ci --all --command \"npx -y <server-package>\"";
205
+ }
206
+ export async function doctorSetupCi(options = {}) {
207
+ const workflowPath = options.workflow ?? DEFAULT_WORKFLOW_PATH;
208
+ const badgePath = options.badgeFile ?? DEFAULT_BADGE_PATH;
209
+ const targetConfigPath = optionPath(options.targetConfig, DEFAULT_TARGET_CONFIG_PATH);
210
+ const prBodyPath = optionPath(options.prBody, DEFAULT_PR_BODY_PATH);
211
+ const issueBodyPath = optionPath(options.issueBody, DEFAULT_ISSUE_BODY_PATH);
212
+ const scoreBadgePath = optionPath(options.scoreBadge, DEFAULT_SCORE_BADGE_PATH);
213
+ const workflow = await readOptional(workflowPath);
214
+ const checks = [];
215
+ if (workflow === undefined) {
216
+ checks.push({
217
+ id: "workflow",
218
+ label: "GitHub Action",
219
+ status: "fail",
220
+ message: `${workflowPath} is missing.`,
221
+ fix: setupCommand(options),
222
+ });
223
+ }
224
+ else {
225
+ checks.push({
226
+ id: "workflow",
227
+ label: "GitHub Action",
228
+ status: "pass",
229
+ message: `${workflowPath} exists.`,
230
+ });
231
+ const actionRef = workflow.match(/KryptosAI\/mcp-observatory\/action@([^\s]+)/)?.[1];
232
+ if (!actionRef) {
233
+ checks.push({
234
+ id: "action-ref",
235
+ label: "Pinned Action",
236
+ status: "fail",
237
+ message: "Workflow does not use KryptosAI/mcp-observatory/action.",
238
+ fix: setupCommand(options),
239
+ });
240
+ }
241
+ else if (actionRef === "main") {
242
+ checks.push({
243
+ id: "action-ref",
244
+ label: "Pinned Action",
245
+ status: "warn",
246
+ message: "Workflow uses action@main.",
247
+ fix: "Pin the action to a release tag or full commit SHA.",
248
+ });
249
+ }
250
+ else {
251
+ checks.push({
252
+ id: "action-ref",
253
+ label: "Pinned Action",
254
+ status: "pass",
255
+ message: `Workflow uses action@${actionRef}.`,
256
+ });
257
+ }
258
+ const hasTarget = /(^|\n)\s+target:\s+\S+/.test(workflow);
259
+ const hasCommand = /(^|\n)\s+command:\s+\S+/.test(workflow);
260
+ checks.push({
261
+ id: "target",
262
+ label: "Target",
263
+ status: hasTarget || hasCommand ? "pass" : "fail",
264
+ message: hasTarget || hasCommand ? "Workflow has an MCP target." : "Workflow does not define command or target.",
265
+ fix: hasTarget || hasCommand ? undefined : setupCommand(options),
266
+ });
267
+ const hasDeep = /(^|\n)\s+deep:\s+true/.test(workflow);
268
+ const hasSecurity = /(^|\n)\s+security:\s+true/.test(workflow);
269
+ checks.push({
270
+ id: "coverage",
271
+ label: "Coverage",
272
+ status: hasDeep && hasSecurity ? "pass" : "warn",
273
+ message: hasDeep && hasSecurity ? "Workflow enables deep and security checks." : "Workflow should enable deep and security checks.",
274
+ fix: hasDeep && hasSecurity ? undefined : "Set deep: true and security: true in the action inputs.",
275
+ });
276
+ const writesPr = /(^|\n)\s+pull-requests:\s+write/.test(workflow);
277
+ const writesStatus = /(^|\n)\s+statuses:\s+write/.test(workflow);
278
+ checks.push({
279
+ id: "permissions",
280
+ label: "Permissions",
281
+ status: writesPr || writesStatus ? "warn" : "pass",
282
+ message: writesPr || writesStatus ? "Workflow can write PR comments or statuses." : "Workflow is read-only by default.",
283
+ fix: writesPr || writesStatus ? "Keep write permissions only when maintainers intentionally want PR comments or commit statuses." : undefined,
284
+ });
285
+ }
286
+ checks.push(checkFile("badge", "README Badge", badgePath, await readOptional(badgePath), "MCP Observatory"));
287
+ checks.push(checkFile("target-config", "Target Config", targetConfigPath, await readOptional(targetConfigPath), "targetId"));
288
+ checks.push(checkFile("pr-body", "Maintainer PR Body", prBodyPath, await readOptional(prBodyPath), "Add MCP Observatory CI"));
289
+ checks.push(checkFile("issue-body", "Issue Fallback", issueBodyPath, await readOptional(issueBodyPath), "compatibility/security"));
290
+ checks.push(checkFile("score-badge", "Score Badge Notes", scoreBadgePath, await readOptional(scoreBadgePath), "mcp-observatory badge"));
291
+ return {
292
+ ready: checks.every((check) => check.status !== "fail"),
293
+ checks,
294
+ nextCommand: setupCommand(options),
295
+ };
296
+ }
165
297
  export async function initCi(options) {
166
298
  if (options.command && options.target) {
167
299
  throw new Error("Use either --command or --target, not both.");
@@ -217,10 +349,32 @@ function addInitCiOptions(command) {
217
349
  .option("--set-status", "Allow the generated workflow to set commit statuses. This adds statuses: write permission.", false)
218
350
  .option("--action-ref <ref>", "Git ref for KryptosAI/mcp-observatory/action. Use a full commit SHA for strict third-party action pinning.", DEFAULT_ACTION_REF)
219
351
  .option("--all", "Write the full adoption kit: workflow, badge, target config, PR body, issue body, and score badge instructions.", false)
220
- .option("--force", "Overwrite existing files.", false);
352
+ .option("--force", "Overwrite existing files.", false)
353
+ .option("--doctor", "Inspect the current repository's MCP Observatory CI adoption state.", false);
221
354
  }
222
355
  function initCiAction(commandName) {
223
356
  return async (options) => {
357
+ if (options.doctor) {
358
+ const result = await doctorSetupCi(options);
359
+ process.stdout.write("MCP Observatory CI doctor\n\n");
360
+ for (const check of result.checks) {
361
+ const marker = check.status === "pass" ? "✓" : check.status === "warn" ? "!" : "✗";
362
+ process.stdout.write(`${marker} ${check.label}: ${check.message}\n`);
363
+ if (check.fix)
364
+ process.stdout.write(` fix: ${check.fix}\n`);
365
+ }
366
+ process.stdout.write(`\nNext best action:\n ${result.nextCommand}\n`);
367
+ if (!result.ready)
368
+ process.exitCode = 1;
369
+ recordEvent(buildEvent("command_complete", commandName, "cli", {
370
+ ciProvider: "github-actions",
371
+ setupCiDoctor: true,
372
+ setupCiReady: result.ready,
373
+ setupCiFailCount: result.checks.filter((check) => check.status === "fail").length,
374
+ setupCiWarnCount: result.checks.filter((check) => check.status === "warn").length,
375
+ }));
376
+ return;
377
+ }
224
378
  const result = await initCi(options);
225
379
  const skipped = result.workflowStatus === "skipped";
226
380
  process.stdout.write(`${result.workflowStatus}: ${result.workflowPath}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"init-ci.js","sourceRoot":"","sources":["../../../src/commands/init-ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-ci.js","sourceRoot":"","sources":["../../../src/commands/init-ci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAoB1D,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;AACtE,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAC3D,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AACjE,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAC/D,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAChE,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AACvE,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC,KAAK,UAAU,MAAM,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC;IAClE,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,EAAE;QACF,KAAK;QACL,iBAAiB;QACjB,SAAS;QACT,sBAAsB;QACtB,EAAE;QACF,cAAc;QACd,kBAAkB;KACnB,CAAC;IAEF,IAAI,eAAe;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC1D,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEnD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,OAAO,EACP,oBAAoB,EACpB,4BAA4B,EAC5B,YAAY,EACZ,mCAAmC,EACnC,kDAAkD,SAAS,EAAE,EAC7D,eAAe,CAChB,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,IAAI,yBAAyB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAI,CACR,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAChE,yBAAyB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAC5D,CAAC;IACF,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;IACnI,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,mIAAmI;QACnI,EAAE;QACF,+GAA+G;QAC/G,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAsB;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,yBAAyB,CAAC;IACrE,MAAM,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,GAAG;QACZ,IAAI;QACJ,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE;YACR,WAAW,EAAE,sBAAsB;SACpC;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,OAAsB;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrK,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,+DAA+D,MAAM,iCAAiC;QACxG,CAAC,CAAC,+DAA+D,OAAO,IAAI,gBAAgB,iCAAiC,CAAC;IAChI,OAAO;QACL,2BAA2B;QAC3B,EAAE;QACF,SAAS;QACT,EAAE;QACF,iBAAiB;QACjB,wDAAwD;QACxD,oDAAoD;QACpD,+CAA+C;QAC/C,uCAAuC;QACvC,EAAE;QACF,sNAAsN;QACtN,EAAE;QACF,yHAAyH;QACzH,EAAE;QACF,iSAAiS;QACjS,EAAE;QACF,eAAe;QACf,EAAE;QACF,SAAS;QACT,qFAAqF;QACrF,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAsB;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,yBAAyB,CAAC;IACrE,OAAO;QACL,sDAAsD;QACtD,EAAE;QACF,8MAA8M;QAC9M,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,SAAS;QACT,4DAA4D,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG;QAC/F,KAAK;QACL,EAAE;QACF,+JAA+J;QAC/J,EAAE;QACF,yLAAyL;QACzL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,+BAA+B;QAC/B,EAAE;QACF,wDAAwD;QACxD,EAAE;QACF,SAAS;QACT,2FAA2F;QAC3F,KAAK;QACL,EAAE;QACF,+BAA+B;QAC/B,EAAE;QACF,aAAa;QACb,oFAAoF;QACpF,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAmC,EAAE,GAAwB;IAChF,OAAO,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,KAAmC,EAAE,QAAgB;IACvE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAE,KAAc;IAC5E,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,aAAa,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AA+BD,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAU,EAAE,KAAa,EAAE,QAAgB,EAAE,OAA2B,EAAE,YAAqB;IAChH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE;YACF,KAAK;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,cAAc;YAClC,GAAG,EAAE,kCAAkC,QAAQ,GAAG;SACnD,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,EAAE;YACF,KAAK;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,mEAAmE;YACvF,GAAG,EAAE,uFAAuF;SAC7F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE;QACF,KAAK;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,QAAQ,UAAU;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB;IAC1C,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,0DAA0D,OAAO,CAAC,MAAM,EAAE,CAAC;IACtG,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,4DAA4D,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;IACpI,OAAO,qFAAqF,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAyB,EAAE;IAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAEhF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,cAAc;YACtC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,UAAU;SACnC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,6CAA6C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yDAAyD;gBAClE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,4BAA4B;gBACrC,GAAG,EAAE,qDAAqD;aAC3D,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,wBAAwB,SAAS,GAAG;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACjD,OAAO,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,6CAA6C;YAChH,GAAG,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAChD,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,kDAAkD;YACnI,GAAG,EAAE,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yDAAyD;SACpG,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAClD,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,mCAAmC;YACvH,GAAG,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,iGAAiG,CAAC,CAAC,CAAC,SAAS;SAC9I,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7G,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7H,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAC9H,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACnI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAExI,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;QACvD,MAAM;QACN,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB;IACjD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACxG,MAAM,MAAM,GAAiB;QAC3B,cAAc;QACd,YAAY;KACb,CAAC;IAEF,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,CAAC,WAAW,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAC7F,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;QACtF,MAAM,CAAC,kBAAkB,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACrH,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC7C,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpE,MAAM,CAAC,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACvG,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC7E,MAAM,CAAC,eAAe,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAChH,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;QAChF,MAAM,CAAC,gBAAgB,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAC5G,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,OAAO;SACX,MAAM,CAAC,qBAAqB,EAAE,iEAAiE,CAAC;SAChG,MAAM,CAAC,iBAAiB,EAAE,sDAAsD,CAAC;SACjF,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,CAAC;SAC3E,MAAM,CAAC,SAAS,EAAE,oCAAoC,EAAE,KAAK,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,kBAAkB,CAAC;SAC/E,MAAM,CAAC,wBAAwB,EAAE,mEAAmE,CAAC;SACrG,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;SACxE,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;SACjF,MAAM,CAAC,iBAAiB,EAAE,8FAA8F,EAAE,KAAK,CAAC;SAChI,MAAM,CAAC,cAAc,EAAE,4FAA4F,EAAE,KAAK,CAAC;SAC3H,MAAM,CAAC,oBAAoB,EAAE,4GAA4G,EAAE,kBAAkB,CAAC;SAC9J,MAAM,CAAC,OAAO,EAAE,iHAAiH,EAAE,KAAK,CAAC;SACzI,MAAM,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,UAAU,EAAE,qEAAqE,EAAE,KAAK,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,YAAY,CAAC,WAAmC;IACvD,OAAO,KAAK,EAAE,OAAsB,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACtD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,GAAG;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxC,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC7D,UAAU,EAAE,gBAAgB;gBAC5B,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,MAAM,CAAC,KAAK;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;gBACjF,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;aAClF,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,kBAAkB,KAAK,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;QAE5G,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE;YAC7D,UAAU,EAAE,gBAAgB;YAC5B,eAAe,EAAE,CAAC,OAAO;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,gBAAgB,CACd,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+EAA+E,CAAC,CAChG,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAElC,gBAAgB,CACd,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,qFAAqF,CAAC,CACtG,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,OAAO,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -2,7 +2,7 @@ import { scanForTargets } from "../discovery.js";
2
2
  import { buildEvent, recordEvent } from "../telemetry.js";
3
3
  import { readLockFile, writeLockFile, buildServerLockEntry, verifyAgainstLock, mergeLockFile, } from "../lockfile.js";
4
4
  import { runTarget } from "../runner.js";
5
- import { ANSI, c, getBinName } from "./helpers.js";
5
+ import { ANSI, c, getBinName, printCiConversionCta } from "./helpers.js";
6
6
  // ── Register ────────────────────────────────────────────────────────────────
7
7
  export function registerLockCommands(program) {
8
8
  const lockCmd = program
@@ -128,6 +128,12 @@ export function registerLockCommands(program) {
128
128
  if (anyFailed) {
129
129
  process.exitCode = 1;
130
130
  }
131
+ else {
132
+ printCiConversionCta({
133
+ bin: getBinName(),
134
+ context: "enforce this lock file on every PR:",
135
+ });
136
+ }
131
137
  });
132
138
  }
133
139
  //# sourceMappingURL=lock.js.map