@komatikai/trailhead 4.1.0 → 4.3.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 CHANGED
@@ -1,52 +1,85 @@
1
1
  # Trailhead CLI
2
2
 
3
- Interactive setup wizard for Trailhead. Generates `.trailhead.yml` and the GitHub Actions workflow YAML with all v3 features configured.
3
+ Interactive setup wizard and diagnostics for Trailhead. Generates `.trailhead.yml`, validates policy files, and compares configured CI check names against GitHub.
4
4
 
5
5
  ## Usage
6
6
 
7
7
  ```bash
8
8
  npx @komatikai/trailhead init
9
+ npx @komatikai/trailhead doctor
9
10
  ```
10
11
 
12
+ ### `trailhead init`
13
+
11
14
  No installation required. The wizard walks you through:
12
15
 
13
- 1. **Sensitivity patterns** — which file paths are high/medium risk (auth, payments, migrations)
14
- 2. **Thresholds** — risk and warn scores (defaults: 70/55)
15
- 3. **Freeze windows** — days and hours when deployments are blocked
16
- 4. **Environments** — per-environment threshold overrides (production, staging, etc.)
17
- 5. **Services** — monorepo service boundaries with path patterns
18
- 6. **Security gate** — whether to include Code Scanning alerts as a risk factor
19
- 7. **Canary tracking** — Vercel or generic deploy outcome webhook type
20
- 8. **DORA metrics** — whether to compute DORA-5 alongside gate evaluations
21
- 9. **Health checks** — URLs to probe before scoring
22
- 10. **Webhooks** — Slack/Discord notification URL and trigger events
23
- 11. **OpenTelemetry** — OTLP endpoint for evaluation span export
24
- 12. **Evaluation store** — URL for persisting evaluations to a trend dashboard
25
-
26
- ## Output
16
+ 1. **Gate mode** — release-ready, advisory, or risk-only
17
+ 2. **Branch model** — main-only or progressive promotion paths
18
+ 3. **Required checks** — CI job names for release-ready contexts
19
+ 4. **Sensitivity patterns** — which file paths are high/medium risk
20
+ 5. **Thresholds** — risk and warn scores
21
+ 6. **Freeze windows** — days and hours when deployments are blocked
22
+ 7. **Environments** — per-environment threshold overrides
23
+ 8. **Services** — monorepo service boundaries with path patterns
24
+ 9. **Security gate** — Code Scanning alerts as a risk factor
25
+ 10. **Canary tracking** — deploy outcome webhook type
26
+ 11. **DORA metrics** — compute DORA-5 alongside gate evaluations
27
+ 12. **Health checks** — URLs to probe before scoring
28
+ 13. **OpenTelemetry** — OTLP endpoint for evaluation span export
29
+ 14. **Evaluation store** — URL for persisting evaluations to a trend dashboard
30
+
31
+ ### `trailhead doctor`
32
+
33
+ Validates `.trailhead.yml` (or legacy `.deployguard.yml`) and optionally compares `contexts[].ci.required_checks` against recent GitHub check runs.
34
+
35
+ ```bash
36
+ # Config-only validation (no GitHub API)
37
+ trailhead doctor --offline
38
+
39
+ # Compare against GitHub (needs token + repo)
40
+ GITHUB_TOKEN=ghp_... trailhead doctor --repo owner/repo
41
+
42
+ # Machine-readable output
43
+ trailhead doctor --json
44
+ ```
45
+
46
+ Options:
47
+
48
+ | Flag | Description |
49
+ | --------------------- | -------------------------------------- |
50
+ | `--path <dir>` | Directory to scan (default: cwd) |
51
+ | `--repo <owner/name>` | GitHub repository for check lookup |
52
+ | `--token <token>` | GitHub token (default: `GITHUB_TOKEN`) |
53
+ | `--ref <sha>` | Commit SHA for check runs |
54
+ | `--offline` | Skip GitHub API comparison |
55
+ | `--json` | Output report as JSON |
56
+
57
+ Exit code `0` when there are no errors; `1` when config is missing/invalid or structural errors are found. Warnings do not fail the command.
58
+
59
+ ## Output (`init`)
27
60
 
28
61
  The wizard generates two files:
29
62
 
30
- - **`.trailhead.yml`** — per-repo configuration (sensitivity, thresholds, freeze windows, environments, services, security, canary)
31
- - **`.github/workflows/trailhead.yml`** — GitHub Actions workflow with all selected features
63
+ - **`.trailhead.yml`** — per-repo configuration
64
+ - **`.github/workflows/trailhead.yml`** — GitHub Actions workflow with selected features
32
65
 
33
66
  ## Development
34
67
 
35
68
  ```bash
36
69
  cd cli
37
70
  npm install
38
- npx tsc
39
- node dist/index.js
71
+ npm run build
72
+ node dist/index.js doctor --offline --path ..
40
73
  ```
41
74
 
42
- The CLI is a zero-dependency ESM module. Build output goes to `cli/dist/` (gitignored — build before npm publish).
75
+ The CLI copies shared validation modules from `src/` during prebuild. Build output goes to `cli/dist/` (gitignored — build before npm publish).
43
76
 
44
77
  ## Publishing
45
78
 
46
79
  ```bash
47
80
  cd cli
48
- npx tsc
81
+ npm run build
49
82
  npm publish
50
83
  ```
51
84
 
52
- The package is published as `@komatikai/trailhead` on npm, making `npx @komatikai/trailhead init` work without installation.
85
+ The package is published as `@komatikai/trailhead` on npm.
package/dist/index.js CHANGED
@@ -2,6 +2,8 @@
2
2
  import * as readline from "node:readline";
3
3
  import * as fs from "node:fs";
4
4
  import * as path from "node:path";
5
+ import { runDoctorCommand } from "./run-doctor.js";
6
+ const CLI_VERSION = "4.2.1";
5
7
  const BOLD = "\x1b[1m";
6
8
  const GREEN = "\x1b[32m";
7
9
  const YELLOW = "\x1b[33m";
@@ -331,12 +333,17 @@ function generateWorkflowYml(options) {
331
333
  async function main() {
332
334
  const args = process.argv.slice(2);
333
335
  const command = args[0];
336
+ if (command === "doctor") {
337
+ const code = await runDoctorCommand(args.slice(1));
338
+ process.exit(code);
339
+ }
334
340
  if (command !== "init") {
335
341
  print(`
336
- ${BOLD}${GREEN}Trailhead CLI v3.0.2${RESET}
342
+ ${BOLD}${GREEN}Trailhead CLI v${CLI_VERSION}${RESET}
337
343
 
338
344
  ${BOLD}Usage:${RESET}
339
- npx @komatikai/trailhead init Interactive setup wizard
345
+ npx @komatikai/trailhead init Interactive setup wizard
346
+ npx @komatikai/trailhead doctor Validate config and CI check names
340
347
 
341
348
  ${BOLD}Learn more:${RESET}
342
349
  https://github.com/KomatikAI/trailhead
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function runDoctorCommand(args: string[]): Promise<number>;
@@ -0,0 +1,83 @@
1
+ import { formatDoctorReport, runDoctor } from "./shared/doctor.js";
2
+ function printUsage() {
3
+ process.stdout.write(`
4
+ Trailhead Doctor — validate .trailhead.yml and compare CI check names
5
+
6
+ Usage:
7
+ trailhead doctor [options]
8
+
9
+ Options:
10
+ --path <dir> Directory to scan (default: cwd)
11
+ --repo <owner/name> GitHub repository for check lookup
12
+ --token <token> GitHub token (default: GITHUB_TOKEN)
13
+ --ref <sha> Commit SHA for check runs (default: latest open PR or default branch)
14
+ --offline Skip GitHub API check comparison
15
+ --json Output report as JSON
16
+ -h, --help Show this help
17
+
18
+ Environment:
19
+ GITHUB_TOKEN Personal access token with checks:read
20
+ GITHUB_REPOSITORY owner/repo when running in GitHub Actions
21
+ `);
22
+ }
23
+ export async function runDoctorCommand(args) {
24
+ if (args.includes("-h") || args.includes("--help")) {
25
+ printUsage();
26
+ return 0;
27
+ }
28
+ let cwd = process.cwd();
29
+ let repo;
30
+ let token;
31
+ let ref;
32
+ let offline = false;
33
+ let json = false;
34
+ for (let i = 0; i < args.length; i += 1) {
35
+ const arg = args[i];
36
+ if (arg === "--offline") {
37
+ offline = true;
38
+ continue;
39
+ }
40
+ if (arg === "--json") {
41
+ json = true;
42
+ continue;
43
+ }
44
+ if (arg === "--path" && args[i + 1]) {
45
+ cwd = args[i + 1];
46
+ i += 1;
47
+ continue;
48
+ }
49
+ if (arg === "--repo" && args[i + 1]) {
50
+ repo = args[i + 1];
51
+ i += 1;
52
+ continue;
53
+ }
54
+ if (arg === "--token" && args[i + 1]) {
55
+ token = args[i + 1];
56
+ i += 1;
57
+ continue;
58
+ }
59
+ if (arg === "--ref" && args[i + 1]) {
60
+ ref = args[i + 1];
61
+ i += 1;
62
+ continue;
63
+ }
64
+ process.stderr.write(`Unknown option: ${arg}\n`);
65
+ printUsage();
66
+ return 2;
67
+ }
68
+ const report = await runDoctor({
69
+ cwd,
70
+ offline,
71
+ githubToken: token,
72
+ repo,
73
+ ref,
74
+ });
75
+ if (json) {
76
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
77
+ }
78
+ else {
79
+ process.stdout.write(`${formatDoctorReport(report)}\n`);
80
+ }
81
+ return report.ok ? 0 : 1;
82
+ }
83
+ //# sourceMappingURL=run-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-doctor.js","sourceRoot":"","sources":["../src/run-doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { CiCheck, CiCheckStatusEnum, CiSummary, ContextCiConfig } from "./types.js";
2
+ import type { CiManifest } from "./ci-manifest.js";
3
+ export declare const DEFAULT_SELF_CHECK_NAMES: string[];
4
+ export interface RawCheckRun {
5
+ name: string;
6
+ status: string;
7
+ conclusion: string | null;
8
+ html_url?: string | null;
9
+ details_url?: string | null;
10
+ }
11
+ /**
12
+ * Map GitHub check conclusion/status to Trailhead CI status (ADR-009).
13
+ */
14
+ export declare function classifyCheck(status: string, conclusion: string | null): CiCheckStatusEnum;
15
+ export declare function checkNameMatches(configured: string, actual: string): boolean;
16
+ export declare function normalizeCheckRuns(runs: RawCheckRun[], excludeCheckNames?: string[]): CiCheck[];
17
+ export declare function evaluateRequiredChecks(allChecks: CiCheck[], ciConfig: ContextCiConfig, manifest?: CiManifest | null): CiSummary;
18
+ export declare function formatCiStatusIcon(status: CiCheckStatusEnum): string;
@@ -0,0 +1,210 @@
1
+ export const DEFAULT_SELF_CHECK_NAMES = ["Trailhead", "Trailhead — Release Ready"];
2
+ /**
3
+ * Map GitHub check conclusion/status to Trailhead CI status (ADR-009).
4
+ */
5
+ export function classifyCheck(status, conclusion) {
6
+ if (status === "completed") {
7
+ switch (conclusion) {
8
+ case "success":
9
+ return "pass";
10
+ case "skipped":
11
+ case "neutral":
12
+ return "skip";
13
+ case "failure":
14
+ case "timed_out":
15
+ case "action_required":
16
+ case "cancelled":
17
+ return "fail";
18
+ default:
19
+ return "pending";
20
+ }
21
+ }
22
+ if (status === "in_progress" || status === "queued" || status === "pending") {
23
+ return "pending";
24
+ }
25
+ return "pending";
26
+ }
27
+ function isSelfCheck(name, excludeNames) {
28
+ const lower = name.toLowerCase();
29
+ return excludeNames.some((n) => n.toLowerCase() === lower);
30
+ }
31
+ export function checkNameMatches(configured, actual) {
32
+ if (configured === actual)
33
+ return true;
34
+ if (configured.toLowerCase() === actual.toLowerCase())
35
+ return true;
36
+ return actual.toLowerCase().startsWith(configured.toLowerCase());
37
+ }
38
+ function findManifestJob(manifest, configuredName) {
39
+ return manifest.jobs.find((job) => checkNameMatches(configuredName, job.name));
40
+ }
41
+ function statusFromManifestJob(job) {
42
+ switch (job.outcome) {
43
+ case "passed":
44
+ return "pass";
45
+ case "skipped":
46
+ return "skip";
47
+ case "failed":
48
+ case "cancelled":
49
+ return "fail";
50
+ case "pending":
51
+ return "pending";
52
+ case "ran":
53
+ return undefined;
54
+ default: {
55
+ const _exhaustive = job.outcome;
56
+ return undefined;
57
+ }
58
+ }
59
+ }
60
+ function applyManifestToCheck(check, manifest, configuredName) {
61
+ if (!manifest)
62
+ return check;
63
+ const manifestJob = findManifestJob(manifest, configuredName);
64
+ if (!manifestJob)
65
+ return check;
66
+ const manifestStatus = statusFromManifestJob(manifestJob);
67
+ if (manifestStatus === "skip") {
68
+ return {
69
+ ...check,
70
+ status: "skip",
71
+ conclusion: manifestJob.reason ?? check.conclusion,
72
+ };
73
+ }
74
+ if (manifestStatus && (check.status === "missing" || check.status === "pending")) {
75
+ return {
76
+ ...check,
77
+ status: manifestStatus,
78
+ conclusion: manifestJob.reason ?? check.conclusion,
79
+ };
80
+ }
81
+ return check;
82
+ }
83
+ function checkFromManifestOnly(configuredName, manifest) {
84
+ const manifestJob = findManifestJob(manifest, configuredName);
85
+ if (!manifestJob)
86
+ return undefined;
87
+ const status = statusFromManifestJob(manifestJob);
88
+ if (!status)
89
+ return undefined;
90
+ return {
91
+ name: configuredName,
92
+ status,
93
+ conclusion: manifestJob.reason,
94
+ detailsUrl: manifestJob.details_url,
95
+ required: false,
96
+ };
97
+ }
98
+ export function normalizeCheckRuns(runs, excludeCheckNames = DEFAULT_SELF_CHECK_NAMES) {
99
+ return runs
100
+ .filter((r) => !isSelfCheck(r.name, excludeCheckNames))
101
+ .map((r) => ({
102
+ name: r.name,
103
+ status: classifyCheck(r.status, r.conclusion),
104
+ conclusion: r.conclusion ?? undefined,
105
+ detailsUrl: r.details_url ?? r.html_url ?? undefined,
106
+ required: false,
107
+ }));
108
+ }
109
+ export function evaluateRequiredChecks(allChecks, ciConfig, manifest) {
110
+ const requiredNames = ciConfig.required_checks;
111
+ const optionalNames = ciConfig.optional_checks;
112
+ const missingPolicy = ciConfig.missing_required;
113
+ const evaluated = [];
114
+ const seen = new Set();
115
+ for (const reqName of requiredNames) {
116
+ const match = allChecks.find((c) => checkNameMatches(reqName, c.name));
117
+ if (match) {
118
+ const resolved = applyManifestToCheck({ ...match, name: reqName, required: true }, manifest ?? undefined, reqName);
119
+ evaluated.push(resolved);
120
+ seen.add(match.name);
121
+ }
122
+ else if (manifest) {
123
+ const fromManifest = checkFromManifestOnly(reqName, manifest);
124
+ if (fromManifest) {
125
+ evaluated.push({ ...fromManifest, name: reqName, required: true });
126
+ }
127
+ else {
128
+ evaluated.push({
129
+ name: reqName,
130
+ status: missingPolicy === "skip" ? "skip" : "missing",
131
+ required: true,
132
+ });
133
+ }
134
+ }
135
+ else {
136
+ evaluated.push({
137
+ name: reqName,
138
+ status: missingPolicy === "skip" ? "skip" : "missing",
139
+ required: true,
140
+ });
141
+ }
142
+ }
143
+ for (const optName of optionalNames) {
144
+ const match = allChecks.find((c) => checkNameMatches(optName, c.name));
145
+ if (match) {
146
+ const resolved = applyManifestToCheck({ ...match, name: optName, required: false }, manifest ?? undefined, optName);
147
+ evaluated.push(resolved);
148
+ seen.add(match.name);
149
+ }
150
+ else if (manifest) {
151
+ const fromManifest = checkFromManifestOnly(optName, manifest);
152
+ if (fromManifest) {
153
+ evaluated.push({ ...fromManifest, name: optName, required: false });
154
+ }
155
+ else {
156
+ evaluated.push({
157
+ name: optName,
158
+ status: "missing",
159
+ required: false,
160
+ });
161
+ }
162
+ }
163
+ else {
164
+ evaluated.push({
165
+ name: optName,
166
+ status: "missing",
167
+ required: false,
168
+ });
169
+ }
170
+ }
171
+ for (const check of allChecks) {
172
+ if (!seen.has(check.name)) {
173
+ evaluated.push({ ...check, required: false });
174
+ }
175
+ }
176
+ const requiredChecks = evaluated.filter((c) => c.required);
177
+ const pendingCount = requiredChecks.filter((c) => c.status === "pending").length;
178
+ const failedCount = requiredChecks.filter((c) => c.status === "fail" || c.status === "missing" || c.status === "stale").length;
179
+ const missingCount = requiredChecks.filter((c) => c.status === "missing").length;
180
+ const allRequiredPassed = requiredNames.length === 0 ||
181
+ requiredChecks.every((c) => c.status === "pass" || c.status === "skip");
182
+ return {
183
+ checks: evaluated,
184
+ allRequiredPassed,
185
+ pendingCount,
186
+ failedCount,
187
+ missingCount,
188
+ };
189
+ }
190
+ export function formatCiStatusIcon(status) {
191
+ switch (status) {
192
+ case "pass":
193
+ return "✅";
194
+ case "fail":
195
+ return "❌";
196
+ case "skip":
197
+ return "⏭️";
198
+ case "pending":
199
+ return "⏳";
200
+ case "stale":
201
+ return "⚠️";
202
+ case "missing":
203
+ return "❓";
204
+ default: {
205
+ const _exhaustive = status;
206
+ return "•";
207
+ }
208
+ }
209
+ }
210
+ //# sourceMappingURL=ci-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-core.js","sourceRoot":"","sources":["../../src/shared/ci-core.ts"],"names":[],"mappings":"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"}