@meltstudio/meltctl 5.17.0 → 5.18.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 +11 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -7450,7 +7450,7 @@ var CLI_VERSION;
7450
7450
  var init_version = __esm({
7451
7451
  "src/utils/version.ts"() {
7452
7452
  "use strict";
7453
- CLI_VERSION = "5.17.0";
7453
+ CLI_VERSION = "5.18.0";
7454
7454
  }
7455
7455
  });
7456
7456
 
@@ -43237,6 +43237,7 @@ function detectAuditType(filename) {
43237
43237
  const lower = filename.toLowerCase();
43238
43238
  if (lower.includes("security-audit")) return "security-audit";
43239
43239
  if (lower.includes("ux-audit")) return "ux-audit";
43240
+ if (lower.includes("cost-audit")) return "cost-audit";
43240
43241
  return "audit";
43241
43242
  }
43242
43243
  async function autoDetectAuditFile() {
@@ -43324,7 +43325,8 @@ async function auditListCommand(options) {
43324
43325
  const typeLabels = {
43325
43326
  audit: "Tech Audit",
43326
43327
  "ux-audit": "UX Audit",
43327
- "security-audit": "Security"
43328
+ "security-audit": "Security",
43329
+ "cost-audit": "Cost Audit"
43328
43330
  };
43329
43331
  if (options.latest) {
43330
43332
  console.log(source_default.bold(`
@@ -43370,7 +43372,7 @@ function printLatestAuditRow(r, typeLabels) {
43370
43372
  });
43371
43373
  const repo = r.repository ?? r.project;
43372
43374
  const label = typeLabels[r.type] ?? r.type;
43373
- const typeColor = r.type === "ux-audit" ? source_default.yellow : r.type === "security-audit" ? source_default.red : source_default.magenta;
43375
+ const typeColor = r.type === "ux-audit" ? source_default.yellow : r.type === "security-audit" ? source_default.red : r.type === "cost-audit" ? source_default.cyan : source_default.magenta;
43374
43376
  const ageText = daysAgo === 0 ? "today" : `${daysAgo}d ago`;
43375
43377
  const isSecurityAudit = r.type === "security-audit";
43376
43378
  const ageColor = isSecurityAudit ? daysAgo <= 30 ? source_default.green : daysAgo <= 90 ? source_default.yellow : source_default.red : daysAgo <= 7 ? source_default.green : daysAgo <= 30 ? source_default.yellow : source_default.red;
@@ -43388,7 +43390,7 @@ function printAuditRow(r, typeLabels) {
43388
43390
  });
43389
43391
  const repo = r.repository ?? r.project;
43390
43392
  const label = typeLabels[r.type] ?? r.type;
43391
- const typeColor = r.type === "ux-audit" ? source_default.yellow : r.type === "security-audit" ? source_default.red : source_default.magenta;
43393
+ const typeColor = r.type === "ux-audit" ? source_default.yellow : r.type === "security-audit" ? source_default.red : r.type === "cost-audit" ? source_default.cyan : source_default.magenta;
43392
43394
  console.log(
43393
43395
  ` ${source_default.dim(r.id.slice(0, 8).padEnd(10))} ${typeColor(label.padEnd(12))} ${source_default.white(repo.padEnd(40))} ${source_default.dim(r.author.padEnd(30))} ${source_default.dim(date5)}`
43394
43396
  );
@@ -43413,7 +43415,8 @@ async function auditViewCommand(id, options) {
43413
43415
  const typeLabels = {
43414
43416
  audit: "Tech Audit",
43415
43417
  "ux-audit": "UX Audit",
43416
- "security-audit": "Security Audit"
43418
+ "security-audit": "Security Audit",
43419
+ "cost-audit": "Cost Audit"
43417
43420
  };
43418
43421
  const label = typeLabels[audit2.type] ?? audit2.type;
43419
43422
  const date5 = new Date(audit2.createdAt).toLocaleDateString("en-US", {
@@ -56053,6 +56056,7 @@ ${source_default.dim(" /melt-dev-debug Systematically investigate an
56053
56056
  ${source_default.dim(" /melt-dev-tech-audit Run a project compliance audit")}
56054
56057
  ${source_default.dim(" /melt-dev-ux-audit Review UI against usability heuristics")}
56055
56058
  ${source_default.dim(" /melt-dev-security-audit Run a security posture audit across the platform")}
56059
+ ${source_default.dim(" /melt-dev-cost-audit Run an AWS cost optimization audit")}
56056
56060
  ${source_default.dim(" /melt-dev-help Answer questions about the development playbook")}
56057
56061
 
56058
56062
  ${source_default.bold("Setup")}
@@ -56132,12 +56136,13 @@ ${source_default.dim("Related skills (run in your AI coding tool):")}
56132
56136
  ${source_default.dim(" /melt-dev-tech-audit Run a project compliance audit")}
56133
56137
  ${source_default.dim(" /melt-dev-ux-audit Review UI against usability heuristics")}
56134
56138
  ${source_default.dim(" /melt-dev-security-audit Run a security posture audit across the platform")}
56139
+ ${source_default.dim(" /melt-dev-cost-audit Run an AWS cost optimization audit")}
56135
56140
  `
56136
56141
  );
56137
56142
  audit.command("submit").description("submit an audit report from a markdown file").argument("[file]", "path to the audit file (auto-detects from .audits/ if omitted)").action(async (file2) => {
56138
56143
  await auditSubmitCommand(file2);
56139
56144
  });
56140
- audit.command("list").description("list submitted audits (Team Managers only)").option("--type <type>", "filter by type (audit, ux-audit, security-audit)").option("--repository <repo>", "filter by repository (owner/repo)").option("--latest", "show only the latest audit per project and type").option("--limit <n>", "max results (default 50, max 200)").action(async (options) => {
56145
+ audit.command("list").description("list submitted audits (Team Managers only)").option("--type <type>", "filter by type (audit, ux-audit, security-audit, cost-audit)").option("--repository <repo>", "filter by repository (owner/repo)").option("--latest", "show only the latest audit per project and type").option("--limit <n>", "max results (default 50, max 200)").action(async (options) => {
56141
56146
  await auditListCommand(options);
56142
56147
  });
56143
56148
  audit.command("view").description("view a submitted audit by ID (Team Managers only)").argument("<id>", "audit ID").option("-o, --output <file>", "save to file instead of printing").action(async (id, options) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meltstudio/meltctl",
3
- "version": "5.17.0",
3
+ "version": "5.18.0",
4
4
  "description": "AI-first development tooling for Melt teams — companion CLI for the org-distributed Claude Code dev skills",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",