@meltstudio/meltctl 4.146.0 → 4.147.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 (2) hide show
  1. package/dist/index.js +195 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var CLI_VERSION;
14
14
  var init_version = __esm({
15
15
  "src/utils/version.ts"() {
16
16
  "use strict";
17
- CLI_VERSION = "4.146.0";
17
+ CLI_VERSION = "4.147.0";
18
18
  }
19
19
  });
20
20
 
@@ -1361,6 +1361,104 @@ var extractionResultSchema = z.object({
1361
1361
  autoResolved: z.number()
1362
1362
  });
1363
1363
 
1364
+ // ../sdk/dist/utils/health-status.js
1365
+ var ISSUE_RULES = [
1366
+ // Delivery — Roadmap
1367
+ { id: "roadmap.none", dimension: "roadmap", severity: "high", label: "No roadmap" },
1368
+ {
1369
+ id: "roadmap.no-active-phase",
1370
+ dimension: "roadmap",
1371
+ severity: "medium",
1372
+ label: "Features but no active phase"
1373
+ },
1374
+ {
1375
+ id: "roadmap.empty-phase",
1376
+ dimension: "roadmap",
1377
+ severity: "medium",
1378
+ label: "Active phase is empty"
1379
+ },
1380
+ // Delivery — Board
1381
+ { id: "board.no-mapping", dimension: "board", severity: "high", label: "No board connected" },
1382
+ { id: "board.empty", dimension: "board", severity: "medium", label: "Board has no open tickets" },
1383
+ { id: "board.health-low", dimension: "board", severity: "high", label: "Board health below 40%" },
1384
+ {
1385
+ id: "board.health-mid",
1386
+ dimension: "board",
1387
+ severity: "medium",
1388
+ label: "Board health 40\u201369%"
1389
+ },
1390
+ { id: "board.audit-stale", dimension: "board", severity: "medium", label: "Board audit stale" },
1391
+ // Delivery — Risks
1392
+ {
1393
+ id: "risks.stale-red-zone",
1394
+ dimension: "risks",
1395
+ severity: "critical",
1396
+ label: "Red-zone risk with no recent comment"
1397
+ },
1398
+ {
1399
+ id: "risks.active-red-zone",
1400
+ dimension: "risks",
1401
+ severity: "medium",
1402
+ label: "Open red-zone risk"
1403
+ },
1404
+ // Delivery — Activity
1405
+ {
1406
+ id: "activity.dead",
1407
+ dimension: "activity",
1408
+ severity: "high",
1409
+ label: "No activity in 21+ days"
1410
+ },
1411
+ {
1412
+ id: "activity.quiet",
1413
+ dimension: "activity",
1414
+ severity: "medium",
1415
+ label: "No activity in 10\u201320 days"
1416
+ },
1417
+ // Delivery — Plans
1418
+ { id: "plans.stale", dimension: "plans", severity: "medium", label: "No recent plan" },
1419
+ // Delivery — Standups
1420
+ {
1421
+ id: "standups.low",
1422
+ dimension: "standups",
1423
+ severity: "medium",
1424
+ label: "Standup submission below 50%"
1425
+ },
1426
+ // Code — Findings
1427
+ {
1428
+ id: "findings.critical",
1429
+ dimension: "findings",
1430
+ severity: "critical",
1431
+ label: "Critical audit finding"
1432
+ },
1433
+ { id: "findings.high", dimension: "findings", severity: "high", label: "High audit finding" },
1434
+ {
1435
+ id: "findings.medium",
1436
+ dimension: "findings",
1437
+ severity: "medium",
1438
+ label: "Open audit warnings"
1439
+ },
1440
+ // Code — Audit coverage
1441
+ {
1442
+ id: "audit.never",
1443
+ dimension: "audit-coverage",
1444
+ severity: "medium",
1445
+ label: "Never audited"
1446
+ },
1447
+ {
1448
+ id: "audit.stale",
1449
+ dimension: "audit-coverage",
1450
+ severity: "medium",
1451
+ label: "Audit over 90 days old"
1452
+ },
1453
+ {
1454
+ id: "audit.partial",
1455
+ dimension: "audit-coverage",
1456
+ severity: "medium",
1457
+ label: "Some repos never audited"
1458
+ }
1459
+ ];
1460
+ var RULE_BY_ID = new Map(ISSUE_RULES.map((r) => [r.id, r]));
1461
+
1364
1462
  // src/utils/api.ts
1365
1463
  async function getToken() {
1366
1464
  const envToken = process.env["MELTCTL_TOKEN"];
@@ -3955,6 +4053,102 @@ var extractionResultSchema2 = z2.object({
3955
4053
  updated: z2.number(),
3956
4054
  autoResolved: z2.number()
3957
4055
  });
4056
+ var ISSUE_RULES2 = [
4057
+ // Delivery — Roadmap
4058
+ { id: "roadmap.none", dimension: "roadmap", severity: "high", label: "No roadmap" },
4059
+ {
4060
+ id: "roadmap.no-active-phase",
4061
+ dimension: "roadmap",
4062
+ severity: "medium",
4063
+ label: "Features but no active phase"
4064
+ },
4065
+ {
4066
+ id: "roadmap.empty-phase",
4067
+ dimension: "roadmap",
4068
+ severity: "medium",
4069
+ label: "Active phase is empty"
4070
+ },
4071
+ // Delivery — Board
4072
+ { id: "board.no-mapping", dimension: "board", severity: "high", label: "No board connected" },
4073
+ { id: "board.empty", dimension: "board", severity: "medium", label: "Board has no open tickets" },
4074
+ { id: "board.health-low", dimension: "board", severity: "high", label: "Board health below 40%" },
4075
+ {
4076
+ id: "board.health-mid",
4077
+ dimension: "board",
4078
+ severity: "medium",
4079
+ label: "Board health 40\u201369%"
4080
+ },
4081
+ { id: "board.audit-stale", dimension: "board", severity: "medium", label: "Board audit stale" },
4082
+ // Delivery — Risks
4083
+ {
4084
+ id: "risks.stale-red-zone",
4085
+ dimension: "risks",
4086
+ severity: "critical",
4087
+ label: "Red-zone risk with no recent comment"
4088
+ },
4089
+ {
4090
+ id: "risks.active-red-zone",
4091
+ dimension: "risks",
4092
+ severity: "medium",
4093
+ label: "Open red-zone risk"
4094
+ },
4095
+ // Delivery — Activity
4096
+ {
4097
+ id: "activity.dead",
4098
+ dimension: "activity",
4099
+ severity: "high",
4100
+ label: "No activity in 21+ days"
4101
+ },
4102
+ {
4103
+ id: "activity.quiet",
4104
+ dimension: "activity",
4105
+ severity: "medium",
4106
+ label: "No activity in 10\u201320 days"
4107
+ },
4108
+ // Delivery — Plans
4109
+ { id: "plans.stale", dimension: "plans", severity: "medium", label: "No recent plan" },
4110
+ // Delivery — Standups
4111
+ {
4112
+ id: "standups.low",
4113
+ dimension: "standups",
4114
+ severity: "medium",
4115
+ label: "Standup submission below 50%"
4116
+ },
4117
+ // Code — Findings
4118
+ {
4119
+ id: "findings.critical",
4120
+ dimension: "findings",
4121
+ severity: "critical",
4122
+ label: "Critical audit finding"
4123
+ },
4124
+ { id: "findings.high", dimension: "findings", severity: "high", label: "High audit finding" },
4125
+ {
4126
+ id: "findings.medium",
4127
+ dimension: "findings",
4128
+ severity: "medium",
4129
+ label: "Open audit warnings"
4130
+ },
4131
+ // Code — Audit coverage
4132
+ {
4133
+ id: "audit.never",
4134
+ dimension: "audit-coverage",
4135
+ severity: "medium",
4136
+ label: "Never audited"
4137
+ },
4138
+ {
4139
+ id: "audit.stale",
4140
+ dimension: "audit-coverage",
4141
+ severity: "medium",
4142
+ label: "Audit over 90 days old"
4143
+ },
4144
+ {
4145
+ id: "audit.partial",
4146
+ dimension: "audit-coverage",
4147
+ severity: "medium",
4148
+ label: "Some repos never audited"
4149
+ }
4150
+ ];
4151
+ var RULE_BY_ID2 = new Map(ISSUE_RULES2.map((r) => [r.id, r]));
3958
4152
  var AUTH_DIR2 = path8.join(os3.homedir(), ".meltctl");
3959
4153
  var AUTH_FILE2 = path8.join(AUTH_DIR2, "auth.json");
3960
4154
  var API_BASE2 = process.env["MELTCTL_API_URL"] ?? "https://meltctl-api.meltstudio.co";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meltstudio/meltctl",
3
- "version": "4.146.0",
3
+ "version": "4.147.0",
4
4
  "description": "AI-first development tools for teams - set up AGENTS.md, Claude Code, Cursor, and OpenCode standards",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",