@decantr/cli 2.1.1 → 2.3.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.
package/README.md CHANGED
@@ -81,6 +81,8 @@ decantr audit
81
81
  decantr check
82
82
  decantr health --ci --fail-on error
83
83
  decantr studio --port 4319 --host 127.0.0.1
84
+ decantr telemetry status
85
+ decantr telemetry link --enable --org <org-slug>
84
86
  decantr content-health --ci --fail-on error
85
87
  decantr registry summary --namespace @official --json
86
88
  decantr showcase verification --json
@@ -97,12 +99,13 @@ decantr health --markdown --output health.md
97
99
  decantr health --ci --fail-on error
98
100
  decantr health --ci --fail-on warn
99
101
  decantr health --prompt <finding-id>
102
+ decantr health --json --output decantr-health.json
100
103
  decantr health init-ci
101
104
  decantr health init-ci --fail-on warn --cli-version latest --force
102
105
  decantr health init-ci --project apps/registry
103
106
  ```
104
107
 
105
- Use `--json` for machines and schema validation, `--markdown` for CI summaries, and `--prompt <finding-id>` when you want a scoped remediation prompt for an AI assistant. `--ci --fail-on error` fails only when blocking errors exist; `--ci --fail-on warn` also fails on warnings.
108
+ Use `--json` for machines and schema validation, `--markdown` for CI summaries, and `--prompt <finding-id>` when you want a scoped remediation prompt for an AI assistant. The prompt command prints instructions only; it does not modify source files. `--ci --fail-on error` fails only when blocking errors exist; `--ci --fail-on warn` also fails on warnings.
106
109
 
107
110
  `decantr health init-ci` installs `.github/workflows/decantr-health.yml` for GitHub Actions. The generated workflow installs project dependencies, writes `decantr-health.json`, gates with `decantr health --ci --fail-on error --markdown --output decantr-health.md`, appends the markdown report to the GitHub step summary, and uploads both files as artifacts. Use `--force` to replace an existing workflow, `--fail-on warn` for stricter repositories, or `--cli-version <version|latest>` to pin the package used by CI. In monorepos, add `--project <path>` from the repository root; dependency install stays at the root while health runs inside the app contract and uploads artifacts from that project path.
108
111
 
@@ -111,11 +114,32 @@ Use `--json` for machines and schema validation, `--markdown` for CI summaries,
111
114
  ```bash
112
115
  decantr studio
113
116
  decantr studio --port 4319 --host 127.0.0.1
117
+ decantr studio --report decantr-health.json
114
118
  ```
115
119
 
116
- Studio is for local triage, not Decantr admin telemetry. The tabs cover Overview, Routes, Drift, Findings, Remediation, CI, and Packs without uploading source code, prompts, file paths, or project data.
120
+ Studio is for local triage, not Decantr admin telemetry. The Overview keeps the first decision simple: pick the issue to fix first, review the full AI repair prompt before copying it, switch to manual guidance or commands, and expand project details when route/runtime/pack evidence matters. The tabs cover Overview, Routes, Drift, Findings, Remediation, CI, and Packs without uploading source code, prompts, file paths, or project data.
117
121
 
118
- If the project has explicitly enabled Decantr CLI telemetry, `new --telemetry`, `init --telemetry`, `check --telemetry`, `health`, and `studio` emit only aggregate product-activation metadata such as lifecycle command outcome, status, score, finding counts, CI failure outcome, Studio usage, and remediation prompt requests. They never upload the health report, finding evidence, local paths, route names, source code, or prompt text.
122
+ Use report mode for customer-controlled reporting from CI artifacts:
123
+
124
+ ```bash
125
+ decantr health --json --output decantr-health.json
126
+ decantr studio --report decantr-health.json
127
+ ```
128
+
129
+ If the project has explicitly enabled Decantr CLI telemetry, `new --telemetry`, `init --telemetry`, `analyze`, `check --telemetry`, `health`, and `studio` emit only aggregate product-activation metadata such as lifecycle command outcome, analyze counts, status, score, finding counts, CI failure outcome, Studio usage, and remediation prompt requests. They never upload the health report, finding evidence, local paths, route names, source code, package names, or prompt text.
130
+
131
+ ## Opted-In Telemetry Identity
132
+
133
+ `decantr telemetry` lets users inspect and link the opaque install/project ids used by opted-in CLI telemetry. This is how customer org attribution becomes durable without collecting repository names, local paths, source code, prompts, private package slugs, emails, or secrets.
134
+
135
+ ```bash
136
+ decantr telemetry status
137
+ decantr telemetry status --json
138
+ decantr login --api-key=<key>
139
+ decantr telemetry link --enable --org <org-slug>
140
+ ```
141
+
142
+ `telemetry link` calls the hosted `/v1/me/telemetry-link` endpoint with only opaque ids, optional org slug, and optional label. The API verifies org membership, writes `telemetry_identity_aliases`, clears the actor-resolution cache, audit logs the change, and emits `telemetry.identity_linked`.
119
143
 
120
144
  ## Content Health
121
145
 
package/dist/bin.js CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-GOX5EJ56.js";
2
+ import "./chunk-FSZ6OIAC.js";
3
3
  import "./chunk-WDA4SHIQ.js";
4
- import "./chunk-JYEEXSUX.js";
4
+ import "./chunk-IEW2QFYI.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  collectCheckIssues
3
- } from "./chunk-LLQCXOHK.js";
3
+ } from "./chunk-NBJCO4G5.js";
4
4
  import {
5
5
  sendProjectHealthCiFailedTelemetry,
6
6
  sendProjectHealthPromptTelemetry,
7
7
  sendProjectHealthReportTelemetry
8
- } from "./chunk-JYEEXSUX.js";
8
+ } from "./chunk-IEW2QFYI.js";
9
9
 
10
10
  // src/commands/health.ts
11
11
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";