@kryptosai/mcp-observatory 0.21.0 → 0.23.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 (42) hide show
  1. package/COMMERCIAL.md +5 -3
  2. package/PRIVACY.md +5 -2
  3. package/README.md +27 -13
  4. package/dist/src/cli.js +1 -1
  5. package/dist/src/cli.js.map +1 -1
  6. package/dist/src/commands/init-ci.d.ts +16 -2
  7. package/dist/src/commands/init-ci.js +139 -2
  8. package/dist/src/commands/init-ci.js.map +1 -1
  9. package/dist/src/commercial.js +2 -2
  10. package/dist/src/commercial.js.map +1 -1
  11. package/dist/src/reporters/common.d.ts +16 -0
  12. package/dist/src/reporters/common.js +76 -0
  13. package/dist/src/reporters/common.js.map +1 -1
  14. package/dist/src/reporters/html.js +20 -0
  15. package/dist/src/reporters/html.js.map +1 -1
  16. package/dist/src/reporters/markdown.js +14 -2
  17. package/dist/src/reporters/markdown.js.map +1 -1
  18. package/dist/src/reporters/pr-comment.js +18 -1
  19. package/dist/src/reporters/pr-comment.js.map +1 -1
  20. package/dist/src/reporters/terminal.js +9 -1
  21. package/dist/src/reporters/terminal.js.map +1 -1
  22. package/dist/src/score.js +1 -1
  23. package/dist/src/score.js.map +1 -1
  24. package/dist/src/validate.js +58 -3
  25. package/dist/src/validate.js.map +1 -1
  26. package/docs/certification-campaign-template.md +42 -28
  27. package/docs/certification-distribution.md +21 -1
  28. package/docs/compatibility.md +2 -2
  29. package/docs/directory-listing-copy.md +13 -6
  30. package/docs/distribution-launch.md +5 -5
  31. package/docs/enterprise-outreach-playbook.md +2 -2
  32. package/docs/mcp-lock-files.md +63 -0
  33. package/docs/mcp-safety-report-latest.md +12 -8
  34. package/docs/mcp-security-field-guide.md +97 -0
  35. package/docs/mcp-server-safety-index.md +85 -0
  36. package/docs/paid-pilot-offer.md +58 -0
  37. package/docs/project-case-study.md +73 -43
  38. package/docs/proof.md +26 -9
  39. package/docs/public-post-drafts.md +86 -0
  40. package/docs/publish-readiness.md +13 -3
  41. package/docs/reference-evaluations.md +134 -0
  42. package/package.json +9 -6
package/COMMERCIAL.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Commercial Pilots
2
2
 
3
- MCP Observatory helps teams test, secure, and monitor MCP servers before agents depend on them.
3
+ MCP Observatory is the CI and security gate for MCP servers before agents depend on them.
4
4
 
5
5
  The open source CLI and MCP server remain free for local OSS use under the MIT license. Paid pilots are for production use cases where a team needs hosted reporting, private repository CI, security reports, certification, support, or fleet visibility.
6
6
 
@@ -12,17 +12,19 @@ These are starting points for current pilots, not permanent fixed plans.
12
12
  | --- | ---: | --- |
13
13
  | Team Pilot | $299/month | Small teams adding MCP regression checks to CI |
14
14
  | Business Pilot | $999/month | Private repos, recurring security reports, and shared reporting |
15
- | Enterprise Pilot | $3k/month | Production MCP monitoring, support, and fleet visibility |
15
+ | Enterprise Pilot | $3k/month | Private MCP readiness reports, support, and fleet visibility |
16
16
  | Strategic Accounts | Custom, $250k+/year | Major platforms, AI labs, and companies running MCP in production at scale |
17
17
 
18
18
  Contact: william@banksey.com
19
19
 
20
+ Primary pilot offer: [Private MCP readiness review + CI rollout + drift/security report](./docs/paid-pilot-offer.md).
21
+
20
22
  ## Paid Production Use
21
23
 
22
24
  Paid pilots can include:
23
25
 
24
26
  - Hosted CI history and private-repo reporting
25
- - MCP security reports and production monitoring
27
+ - MCP security reports and controlled drift review
26
28
  - Fleet inventory across teams, repos, and environments
27
29
  - Static enterprise reports generated from existing run artifacts
28
30
  - Certification language for MCP servers that pass agreed checks
package/PRIVACY.md CHANGED
@@ -6,13 +6,14 @@ MCP Observatory collects product usage telemetry unless telemetry is disabled. T
6
6
 
7
7
  - Command names and feature flags
8
8
  - MCP target or server names
9
+ - MCP target command strings, command arguments, or HTTP target URLs provided to the tool
9
10
  - Counts of tools, prompts, resources, servers, checks, and failures
10
11
  - CI environment signals such as provider and GitHub Actions metadata when available, including repository, workflow, run ID, run number, event name, ref, and actor
11
12
  - Declared account attribution from `MCP_OBSERVATORY_ORG` and `MCP_OBSERVATORY_CONTACT` when operators set them
12
13
  - Git metadata such as `gitEmail` and `gitRemoteUrl` when available
13
14
  - Hostname and operating system metadata
14
15
  - Session identifiers and timestamps
15
- - Error categories and scan outcomes
16
+ - Error categories, check statuses, security finding counts, health scores, and scan outcomes
16
17
 
17
18
  Telemetry does not intentionally collect secrets, tool response bodies, environment variable values, cassette contents, or full private source code.
18
19
 
@@ -41,7 +42,9 @@ MCP_OBSERVATORY_CONTACT=mcp-owner@example.com
41
42
 
42
43
  We may use telemetry internally to identify likely company or organization usage, including by deriving company domains from git email domains, git remote URLs, CI usage, target names, repeated sessions, and production-looking command patterns.
43
44
 
44
- Raw emails are not intended for public reporting. Account intelligence outputs should use company domains, GitHub organizations, aggregate counts, confidence levels, and outreach status rather than raw personal identifiers.
45
+ Raw telemetry may include git email addresses, git remote URLs, hostnames, target commands, HTTP target URLs, CI metadata, target IDs, and command outcomes. These fields are retained for internal product analytics, account intelligence, support, and outreach prioritization.
46
+
47
+ Raw emails, hostnames, private URLs, target commands, and private telemetry exports are not intended for public reporting. Account intelligence outputs should use company domains, GitHub organizations, aggregate counts, confidence levels, and outreach status rather than raw personal identifiers.
45
48
 
46
49
  Internal usage reports separate first-party MCP Observatory project activity from external usage. Events from `KryptosAI/mcp-observatory` GitHub Actions are treated as first-party CI so release and test workflows are not counted as external traction.
47
50
 
package/README.md CHANGED
@@ -18,14 +18,14 @@
18
18
  [![Smithery](https://smithery.ai/badge/@kryptosai/mcp-observatory)](https://smithery.ai/server/@kryptosai/mcp-observatory)
19
19
  [![mcp-observatory MCP server](https://glama.ai/mcp/servers/KryptosAI/mcp-observatory/badges/score.svg)](https://glama.ai/mcp/servers/KryptosAI/mcp-observatory)
20
20
 
21
- **Test, secure, and monitor MCP servers before agents depend on them.**
21
+ **The CI and security gate for MCP servers before agents depend on them.**
22
22
 
23
- MCP Observatory gives MCP servers the production safety rails every dependency eventually needs: CI checks, security scans, schema drift detection, PR reports, score badges, and agent-accessible diagnostics.
23
+ Agents should not depend on tools nobody tests. MCP Observatory gives MCP servers the production safety rails every dependency eventually needs: CI checks, security scans, schema drift detection, PR reports, score badges, and agent-accessible diagnostics.
24
24
 
25
25
  Add MCP CI in one command:
26
26
 
27
27
  ```bash
28
- npx @kryptosai/mcp-observatory init-ci --command "npx -y my-mcp-server" --badge
28
+ npx @kryptosai/mcp-observatory init-ci --all --command "npx -y my-mcp-server"
29
29
  ```
30
30
 
31
31
  Or test a server immediately:
@@ -48,27 +48,33 @@ MCP servers are becoming production dependencies. If agents rely on them, teams
48
48
 
49
49
  Observatory gives maintainers and teams:
50
50
 
51
- - **One-command CI setup** with `init-ci`
51
+ - **One-command CI setup** with `init-ci --all`
52
52
  - **GitHub PR comments** for compatibility, drift, and security findings
53
53
  - **Health score badges** for public trust signals
54
54
  - **Record/replay/verify** workflows for regression testing
55
55
  - **MCP server mode** so agents can inspect other MCP servers directly
56
56
  - **Production pilot path** for hosted history, private repo reporting, certification, support, and fleet visibility
57
57
 
58
- See [public proof](./docs/proof.md), the [MCP safety report](./docs/mcp-safety-report-latest.md), the [certification distribution loop](./docs/certification-distribution.md), and [commercial pilots](./COMMERCIAL.md).
58
+ See the [MCP server security field guide](./docs/mcp-security-field-guide.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), and [commercial pilots](./COMMERCIAL.md).
59
+
60
+ ## For Security And Platform Teams
61
+
62
+ MCP servers are becoming part of the AI software supply chain. Agents need reliable, testable, auditable tools before those tools become dependencies in mission-critical workflows.
63
+
64
+ MCP Observatory gives security and platform teams MCP server CI, schema drift detection, security findings, SARIF/HTML/Markdown reports, and a path toward certification or fleet visibility. Local OSS use stays free; production, private repo, and fleet usage can move through a paid pilot.
59
65
 
60
66
  ## Production / Enterprise
61
67
 
62
- Free for local OSS use. Paid pilots are available for hosted reporting, private repo CI, security reports, production monitoring, certification, support, and MCP fleet visibility.
68
+ Free for local OSS use. Paid pilots are available for hosted reporting, private repo CI, recurring security reports, certification, support, and MCP fleet visibility.
63
69
 
64
70
  | Pilot | Starts At | Best Fit |
65
71
  |-------|----------:|----------|
66
72
  | Team Pilot | $299/month | Small teams adding MCP checks to CI |
67
73
  | Business Pilot | $999/month | Private repos and recurring security reports |
68
- | Enterprise Pilot | $3k/month | Production monitoring, support, and fleet visibility |
74
+ | Enterprise Pilot | $3k/month | Private MCP readiness reports, support, and fleet visibility |
69
75
  | Strategic Accounts | Custom, $250k+/year | Major companies running MCP in production |
70
76
 
71
- Run `npx @kryptosai/mcp-observatory cloud` or contact `william@banksey.com` for production MCP usage.
77
+ Run `npx @kryptosai/mcp-observatory cloud` or contact `william@banksey.com` for production MCP usage. The primary paid pilot is a [private MCP readiness review](./docs/paid-pilot-offer.md).
72
78
 
73
79
  See [commercial pilots](./COMMERCIAL.md), [privacy and telemetry](./PRIVACY.md), and [terms for production use](./TERMS.md).
74
80
  For a fuller narrative, see the [project case study](./docs/project-case-study.md).
@@ -134,7 +140,7 @@ Or add it manually to your config:
134
140
  | `enterprise-report` | Generate a static production/security report from run artifacts |
135
141
  | `score <cmd>` | Score an MCP server's health (0-100) |
136
142
  | `badge <cmd>` | Generate an SVG health score badge for README |
137
- | `cloud` | Show hosted reporting, production monitoring, and enterprise pilot options |
143
+ | `cloud` | Show hosted reporting, security review, and enterprise pilot options |
138
144
 
139
145
  Run with no arguments for an interactive menu:
140
146
 
@@ -201,7 +207,7 @@ When you run `scan`, it looks for MCP configs in:
201
207
  Add Observatory to your MCP server's CI pipeline:
202
208
 
203
209
  ```bash
204
- npx @kryptosai/mcp-observatory init-ci --command "npx -y my-mcp-server" --badge
210
+ npx @kryptosai/mcp-observatory init-ci --all --command "npx -y my-mcp-server"
205
211
  ```
206
212
 
207
213
  Or create the workflow manually:
@@ -211,6 +217,11 @@ Or create the workflow manually:
211
217
  name: MCP Server Check
212
218
  on: [pull_request]
213
219
 
220
+ permissions:
221
+ contents: read
222
+ pull-requests: write
223
+ statuses: write
224
+
214
225
  jobs:
215
226
  observatory:
216
227
  runs-on: ubuntu-latest
@@ -237,9 +248,9 @@ Action inputs:
237
248
  | `set-status` | Set a commit status check (green/red) on the HEAD SHA | `true` |
238
249
  | `github-token` | Token for PR comments and commit statuses | `${{ github.token }}` |
239
250
 
240
- The action runs checks on every PR, comments a markdown report, and blocks merge on regressions. See [`action/README.md`](./action/README.md) for all options.
251
+ The action runs checks on every PR, comments a markdown report when GitHub grants write permissions, and blocks merge on regressions. See [`action/README.md`](./action/README.md) for all options.
241
252
 
242
- Production teams can add hosted CI history, private-repo reporting, security reports, production monitoring, support, and fleet visibility. Run `npx @kryptosai/mcp-observatory cloud` for pilot options.
253
+ Production teams can add hosted CI history, private-repo reporting, recurring security reports, certification review, support, and fleet visibility. Run `npx @kryptosai/mcp-observatory cloud` for pilot options.
243
254
 
244
255
  ### Certified by MCP Observatory
245
256
 
@@ -282,6 +293,8 @@ $ npx @kryptosai/mcp-observatory lock # Snapshot all server schemas
282
293
  $ npx @kryptosai/mcp-observatory lock verify # Verify no drift since last lock
283
294
  ```
284
295
 
296
+ Lock files are the package-lock for AI tools: commit the MCP contract, then make every tool, schema, prompt, or resource drift visible in CI. See [MCP lock files](./docs/mcp-lock-files.md).
297
+
285
298
  ### Trend Tracking
286
299
 
287
300
  ```bash
@@ -302,12 +315,13 @@ $ npx @kryptosai/mcp-observatory ci-report # Generate regression report
302
315
  claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
303
316
  ```
304
317
 
305
- Your agent gets 9 tools:
318
+ Your agent gets 10 tools:
306
319
 
307
320
  | Tool | When to use it |
308
321
  |------|---------------|
309
322
  | `scan` | Check if all your configured MCP servers are healthy |
310
323
  | `check_server` | Test a specific server before installing or after updating |
324
+ | `score_server` | Get a quick health score and grade for a server |
311
325
  | `record` | Capture a baseline of a working server for future comparison |
312
326
  | `replay` | Test against a recorded session — no live server needed |
313
327
  | `verify` | Confirm a server update didn't break anything |
package/dist/src/cli.js CHANGED
@@ -228,7 +228,7 @@ async function main() {
228
228
  registerLockCommands(program);
229
229
  const cloudCmd = program
230
230
  .command("cloud")
231
- .description("Show hosted reporting, production monitoring, and enterprise pilot options.")
231
+ .description("Show hosted reporting, security review, and enterprise pilot options.")
232
232
  .action(() => {
233
233
  printCloudInfo();
234
234
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,27 @@ export interface InitCiOptions {
5
5
  workflow?: string;
6
6
  badgeFile?: string;
7
7
  badge?: boolean;
8
+ targetConfig?: string | boolean;
9
+ prBody?: string | boolean;
10
+ issueBody?: string | boolean;
11
+ scoreBadge?: string | boolean;
12
+ all?: boolean;
8
13
  force?: boolean;
9
14
  }
10
- export declare function initCi(options: InitCiOptions): Promise<{
15
+ export interface InitCiResult {
11
16
  workflowStatus: string;
12
17
  badgeStatus?: string;
18
+ targetConfigStatus?: string;
19
+ prBodyStatus?: string;
20
+ issueBodyStatus?: string;
21
+ scoreBadgeStatus?: string;
13
22
  workflowPath: string;
14
23
  badgePath?: string;
15
- }>;
24
+ targetConfigPath?: string;
25
+ prBodyPath?: string;
26
+ issueBodyPath?: string;
27
+ scoreBadgePath?: string;
28
+ }
29
+ export declare function initCi(options: InitCiOptions): Promise<InitCiResult>;
16
30
  export declare function registerInitCiCommands(program: Command): void;
17
31
  export declare function readGeneratedWorkflow(filePath: string): Promise<string>;
@@ -3,6 +3,10 @@ import path from "node:path";
3
3
  import { buildEvent, recordEvent } from "../telemetry.js";
4
4
  const DEFAULT_WORKFLOW_PATH = ".github/workflows/mcp-observatory.yml";
5
5
  const DEFAULT_BADGE_PATH = "docs/mcp-observatory-badge.md";
6
+ const DEFAULT_TARGET_CONFIG_PATH = "mcp-observatory.target.json";
7
+ const DEFAULT_PR_BODY_PATH = "docs/mcp-observatory-pr-body.md";
8
+ const DEFAULT_ISSUE_BODY_PATH = "docs/mcp-observatory-issue.md";
9
+ const DEFAULT_SCORE_BADGE_PATH = "docs/mcp-observatory-score-badge.md";
6
10
  async function exists(filePath) {
7
11
  try {
8
12
  await access(filePath);
@@ -23,6 +27,11 @@ function workflowYaml(options) {
23
27
  " push:",
24
28
  " branches: [main]",
25
29
  "",
30
+ "permissions:",
31
+ " contents: read",
32
+ " pull-requests: write",
33
+ " statuses: write",
34
+ "",
26
35
  "jobs:",
27
36
  " mcp-observatory:",
28
37
  " runs-on: ubuntu-latest",
@@ -34,6 +43,9 @@ function workflowYaml(options) {
34
43
  if (target) {
35
44
  lines.push(` target: ${target}`);
36
45
  }
46
+ else if (shouldWrite(options.targetConfig, options.all)) {
47
+ lines.push(` target: ${optionPath(options.targetConfig, DEFAULT_TARGET_CONFIG_PATH)}`);
48
+ }
37
49
  else {
38
50
  lines.push(` command: ${command ?? "npx -y <server-package>"}`);
39
51
  }
@@ -48,6 +60,91 @@ function badgeMarkdown() {
48
60
  "",
49
61
  ].join("\n");
50
62
  }
63
+ function splitCommand(command) {
64
+ return command.match(/"[^"]*"|'[^']*'|\S+/g)?.map((part) => part.replace(/^["']|["']$/g, "")) ?? [];
65
+ }
66
+ function targetConfigJson(options) {
67
+ const command = options.command?.trim() || "npx -y <server-package>";
68
+ const [bin = "npx", ...args] = splitCommand(command);
69
+ return JSON.stringify({
70
+ targetId: "mcp-server",
71
+ adapter: "local-process",
72
+ command: bin,
73
+ args,
74
+ timeoutMs: 15000,
75
+ metadata: {
76
+ observatory: "generated-by-init-ci",
77
+ },
78
+ }, null, 2) + "\n";
79
+ }
80
+ function prBodyMarkdown(options) {
81
+ const command = options.command?.trim();
82
+ const target = options.target?.trim() ?? (shouldWrite(options.targetConfig, options.all) ? optionPath(options.targetConfig, DEFAULT_TARGET_CONFIG_PATH) : undefined);
83
+ const setupLine = target
84
+ ? `This PR adds an MCP Observatory GitHub Action that checks \`${target}\` on pull requests and pushes.`
85
+ : `This PR adds an MCP Observatory GitHub Action that checks \`${command ?? "the MCP server"}\` on pull requests and pushes.`;
86
+ return [
87
+ "## Add MCP Observatory CI",
88
+ "",
89
+ setupLine,
90
+ "",
91
+ "Why this helps:",
92
+ "- catches MCP compatibility regressions before release",
93
+ "- surfaces schema drift and common security issues",
94
+ "- publishes a small PR report for maintainers",
95
+ "- adds an optional README trust badge",
96
+ "",
97
+ "This does not require an MCP Observatory account. If the check is too strict at first, the workflow can be adjusted while keeping the report visible.",
98
+ "",
99
+ "Generated by:",
100
+ "",
101
+ "```bash",
102
+ "npx @kryptosai/mcp-observatory init-ci --all --command \"npx -y <server-package>\"",
103
+ "```",
104
+ "",
105
+ ].join("\n");
106
+ }
107
+ function issueBodyMarkdown(options) {
108
+ const command = options.command?.trim() ?? "npx -y <server-package>";
109
+ return [
110
+ "## Add MCP Observatory compatibility/security checks",
111
+ "",
112
+ "This project appears to expose an MCP server. MCP Observatory can add a lightweight GitHub Action that checks MCP compatibility, schema drift, and common security issues before agents depend on a release.",
113
+ "",
114
+ "Suggested setup:",
115
+ "",
116
+ "```bash",
117
+ `npx @kryptosai/mcp-observatory init-ci --all --command "${command.replaceAll("\"", "\\\"")}"`,
118
+ "```",
119
+ "",
120
+ "The generated workflow runs on pull requests and pushes, comments a concise report, and can include a README badge if maintainers want a public trust signal.",
121
+ "",
122
+ ].join("\n");
123
+ }
124
+ function scoreBadgeMarkdown() {
125
+ return [
126
+ "# MCP Observatory Score Badge",
127
+ "",
128
+ "Generate a score badge after a successful local check:",
129
+ "",
130
+ "```bash",
131
+ "npx @kryptosai/mcp-observatory badge npx -y <server-package> --output docs/mcp-health.svg",
132
+ "```",
133
+ "",
134
+ "Then add this to your README:",
135
+ "",
136
+ "```markdown",
137
+ "[![MCP Health](docs/mcp-health.svg)](https://github.com/KryptosAI/mcp-observatory)",
138
+ "```",
139
+ "",
140
+ ].join("\n");
141
+ }
142
+ function shouldWrite(value, all) {
143
+ return all === true || value !== undefined && value !== false;
144
+ }
145
+ function optionPath(value, fallback) {
146
+ return typeof value === "string" && value.length > 0 ? value : fallback;
147
+ }
51
148
  async function writeFileOnce(filePath, content, force) {
52
149
  const alreadyExists = await exists(filePath);
53
150
  if (alreadyExists && !force)
@@ -60,6 +157,9 @@ export async function initCi(options) {
60
157
  if (options.command && options.target) {
61
158
  throw new Error("Use either --command or --target, not both.");
62
159
  }
160
+ if (options.target && shouldWrite(options.targetConfig, options.all)) {
161
+ throw new Error("Use either --target or --target-config, not both.");
162
+ }
63
163
  const workflowPath = options.workflow ?? DEFAULT_WORKFLOW_PATH;
64
164
  const badgePath = options.badgeFile ?? DEFAULT_BADGE_PATH;
65
165
  const workflowStatus = await writeFileOnce(workflowPath, workflowYaml(options), options.force === true);
@@ -67,10 +167,30 @@ export async function initCi(options) {
67
167
  workflowStatus,
68
168
  workflowPath,
69
169
  };
70
- if (options.badge) {
170
+ if (options.badge || options.all) {
71
171
  result.badgeStatus = await writeFileOnce(badgePath, badgeMarkdown(), options.force === true);
72
172
  result.badgePath = badgePath;
73
173
  }
174
+ if (shouldWrite(options.targetConfig, options.all)) {
175
+ const targetConfigPath = optionPath(options.targetConfig, DEFAULT_TARGET_CONFIG_PATH);
176
+ result.targetConfigStatus = await writeFileOnce(targetConfigPath, targetConfigJson(options), options.force === true);
177
+ result.targetConfigPath = targetConfigPath;
178
+ }
179
+ if (shouldWrite(options.prBody, options.all)) {
180
+ const prBodyPath = optionPath(options.prBody, DEFAULT_PR_BODY_PATH);
181
+ result.prBodyStatus = await writeFileOnce(prBodyPath, prBodyMarkdown(options), options.force === true);
182
+ result.prBodyPath = prBodyPath;
183
+ }
184
+ if (shouldWrite(options.issueBody, options.all)) {
185
+ const issueBodyPath = optionPath(options.issueBody, DEFAULT_ISSUE_BODY_PATH);
186
+ result.issueBodyStatus = await writeFileOnce(issueBodyPath, issueBodyMarkdown(options), options.force === true);
187
+ result.issueBodyPath = issueBodyPath;
188
+ }
189
+ if (shouldWrite(options.scoreBadge, options.all)) {
190
+ const scoreBadgePath = optionPath(options.scoreBadge, DEFAULT_SCORE_BADGE_PATH);
191
+ result.scoreBadgeStatus = await writeFileOnce(scoreBadgePath, scoreBadgeMarkdown(), options.force === true);
192
+ result.scoreBadgePath = scoreBadgePath;
193
+ }
74
194
  return result;
75
195
  }
76
196
  export function registerInitCiCommands(program) {
@@ -82,6 +202,11 @@ export function registerInitCiCommands(program) {
82
202
  .option("--workflow <file>", "Workflow output path.", DEFAULT_WORKFLOW_PATH)
83
203
  .option("--badge", "Also write a README badge snippet.", false)
84
204
  .option("--badge-file <file>", "Badge snippet output path.", DEFAULT_BADGE_PATH)
205
+ .option("--target-config [file]", "Also write an example target config and point the workflow at it.")
206
+ .option("--pr-body [file]", "Also write a maintainer PR body.")
207
+ .option("--issue-body [file]", "Also write an issue-only fallback body.")
208
+ .option("--score-badge [file]", "Also write score badge generation instructions.")
209
+ .option("--all", "Write the full adoption kit: workflow, badge, target config, PR body, issue body, and score badge instructions.", false)
85
210
  .option("--force", "Overwrite existing files.", false)
86
211
  .action(async (options) => {
87
212
  const result = await initCi(options);
@@ -90,10 +215,22 @@ export function registerInitCiCommands(program) {
90
215
  if (result.badgePath && result.badgeStatus) {
91
216
  process.stdout.write(`${result.badgeStatus}: ${result.badgePath}\n`);
92
217
  }
218
+ if (result.targetConfigPath && result.targetConfigStatus) {
219
+ process.stdout.write(`${result.targetConfigStatus}: ${result.targetConfigPath}\n`);
220
+ }
221
+ if (result.prBodyPath && result.prBodyStatus) {
222
+ process.stdout.write(`${result.prBodyStatus}: ${result.prBodyPath}\n`);
223
+ }
224
+ if (result.issueBodyPath && result.issueBodyStatus) {
225
+ process.stdout.write(`${result.issueBodyStatus}: ${result.issueBodyPath}\n`);
226
+ }
227
+ if (result.scoreBadgePath && result.scoreBadgeStatus) {
228
+ process.stdout.write(`${result.scoreBadgeStatus}: ${result.scoreBadgePath}\n`);
229
+ }
93
230
  if (skipped) {
94
231
  process.stdout.write("Use --force to overwrite existing files.\n");
95
232
  }
96
- process.stdout.write("Next: commit the workflow, open a PR, and add the badge snippet to the README if desired.\n");
233
+ process.stdout.write("Next: commit the workflow, open a PR, and paste the generated PR body if present.\n");
97
234
  recordEvent(buildEvent("command_complete", "init-ci", "cli", {
98
235
  ciProvider: "github-actions",
99
236
  commitStatusSet: !skipped,
@@ -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":"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"}
@@ -9,10 +9,10 @@ export function cloudUpgradeLine(context = "general") {
9
9
  const value = context === "ci"
10
10
  ? "hosted CI history, private-repo reporting, and production badges"
11
11
  : context === "security"
12
- ? "hosted security reports, certification, and production monitoring"
12
+ ? "hosted security reports, certification, and controlled drift review"
13
13
  : context === "fleet"
14
14
  ? "MCP fleet visibility, drift reports, and production support"
15
- : "hosted reporting, production monitoring, and enterprise support";
15
+ : "hosted reporting, security review, and enterprise support";
16
16
  return [
17
17
  c(ANSI.dim, ` Production MCP teams: ${value}.`),
18
18
  c(ANSI.dim, ` Run ${c(ANSI.cyan, `${bin} cloud`)} or contact ${CONTACT}.`),
@@ -1 +1 @@
1
- {"version":3,"file":"commercial.js","sourceRoot":"","sources":["../../src/commercial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,GAAG,qBAAqB,CAAC;AACtC,MAAM,CAAC,MAAM,6BAA6B,GAAG,oEAAoE,CAAC;AAElH,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAmD,SAAS;IAC3F,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,KAAK,GACT,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,kEAAkE;QACpE,CAAC,CAAC,OAAO,KAAK,UAAU;YACtB,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,OAAO,KAAK,OAAO;gBACnB,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,iEAAiE,CAAC;IAE5E,OAAO;QACL,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,KAAK,GAAG,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ,CAAC,eAAe,OAAO,GAAG,CAAC;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAmD,SAAS;IAC7F,IAAI,aAAa,EAAE;QAAE,OAAO;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;QACE,EAAE;QACF,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACrC,EAAE;QACF,kFAAkF;QAClF,sFAAsF;QACtF,EAAE;QACF,gBAAgB;QAChB,0CAA0C;QAC1C,0CAA0C;QAC1C,yCAAyC;QACzC,yCAAyC;QACzC,EAAE;QACF,0FAA0F;QAC1F,uBAAuB,UAAU,EAAE,gDAAgD;QACnF,YAAY,OAAO,EAAE;QACrB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"commercial.js","sourceRoot":"","sources":["../../src/commercial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,GAAG,qBAAqB,CAAC;AACtC,MAAM,CAAC,MAAM,6BAA6B,GAAG,oEAAoE,CAAC;AAElH,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAmD,SAAS;IAC3F,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,KAAK,GACT,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,kEAAkE;QACpE,CAAC,CAAC,OAAO,KAAK,UAAU;YACtB,CAAC,CAAC,qEAAqE;YACvE,CAAC,CAAC,OAAO,KAAK,OAAO;gBACnB,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,2DAA2D,CAAC;IAEtE,OAAO;QACL,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,KAAK,GAAG,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ,CAAC,eAAe,OAAO,GAAG,CAAC;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAmD,SAAS;IAC7F,IAAI,aAAa,EAAE;QAAE,OAAO;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;QACE,EAAE;QACF,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACrC,EAAE;QACF,kFAAkF;QAClF,sFAAsF;QACtF,EAAE;QACF,gBAAgB;QAChB,0CAA0C;QAC1C,0CAA0C;QAC1C,yCAAyC;QACzC,yCAAyC;QACzC,EAAE;QACF,0FAA0F;QAC1F,uBAAuB,UAAU,EAAE,gDAAgD;QACnF,YAAY,OAAO,EAAE;QACrB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC"}
@@ -4,4 +4,20 @@ export declare function findChecksByStatus(checks: CheckResult[], status: CheckS
4
4
  export declare function describeCheckList(checks: CheckResult[]): string;
5
5
  export declare function focusLabel(status: CheckStatus): string;
6
6
  export declare function previewList(values: string[] | undefined, limit?: number): string;
7
+ export type SafetyVerdict = "Ready" | "Needs review" | "Blocked";
8
+ export interface SafetySummary {
9
+ verdict: SafetyVerdict;
10
+ reason: string;
11
+ topRisks: string[];
12
+ regressionSummary: string;
13
+ nextActions: string[];
14
+ ciCta: string;
15
+ }
7
16
  export declare function recommendRunNextStep(artifact: RunArtifact): string;
17
+ export declare function summarizeRunSafety(artifact: RunArtifact): SafetySummary;
18
+ export declare function summarizeDiffSafety(artifact: {
19
+ gate: string;
20
+ regressions: unknown[];
21
+ schemaDrift?: unknown[];
22
+ responseChanges?: unknown[];
23
+ }): SafetySummary;