@meltstudio/meltctl 4.179.3 → 4.180.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 +19 -3
  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.179.3";
17
+ CLI_VERSION = "4.180.0";
18
18
  }
19
19
  });
20
20
 
@@ -5022,6 +5022,16 @@ async function getProjectContext(client, input3) {
5022
5022
  return safe(() => client.pm.getProjectContext(input3.projectId));
5023
5023
  }
5024
5024
  var PROJECT_STAGE_VALUES = ["prototype", "early_revenue", "growth", "scale"];
5025
+ var LIFECYCLE_STATUS_VALUES = [
5026
+ "commercial",
5027
+ "onboarding",
5028
+ "planning",
5029
+ "development",
5030
+ "warranty",
5031
+ "closed",
5032
+ "on_hold"
5033
+ ];
5034
+ var MANAGEMENT_MODE_VALUES = ["full", "staff_aug"];
5025
5035
  function registerProjectTools(server, getClient2) {
5026
5036
  server.registerTool(
5027
5037
  "list_projects",
@@ -5054,7 +5064,7 @@ function registerProjectTools(server, getClient2) {
5054
5064
  "update_project_settings",
5055
5065
  {
5056
5066
  title: "Update project settings",
5057
- description: "Patches PM-skills settings for a project. Pass only the fields you want to change. Use cases: setting teamSize after a roadmap migration so the maturity-jumps calculator renders, setting projectStage so audit calibration uses the right baseline, wiring notionProjectProfileUrl so risks/feedback route to the right Notion page. The PM should review the proposed change before this is called \u2014 this is a write operation. Pass null to clear a nullable field.",
5067
+ description: "Patches PM-skills settings for a project. Pass only the fields you want to change. Use cases: setting teamSize after a roadmap migration so the maturity-jumps calculator renders, setting projectStage so audit calibration uses the right baseline, setting lifecycleStatus (where the engagement is in its delivery arc) and managementMode (how much MELT drives delivery), wiring notionProjectProfileUrl so risks/feedback route to the right Notion page. The PM should review the proposed change before this is called \u2014 this is a write operation. Pass null to clear a nullable field.",
5058
5068
  inputSchema: {
5059
5069
  projectId: z22.number().int().positive().describe("Strapi project id from list_projects."),
5060
5070
  cadence: z22.enum(["weekly", "biweekly", "monthly"]).optional().describe("Sprint cadence."),
@@ -5084,6 +5094,12 @@ function registerProjectTools(server, getClient2) {
5084
5094
  ),
5085
5095
  projectStage: z22.enum(PROJECT_STAGE_VALUES).nullable().optional().describe(
5086
5096
  "Canonical PM-owned project stage that drives audit calibration: prototype | early_revenue | growth | scale. The server stamps projectStageSetBy + projectStageSetAt automatically. Pass null to clear."
5097
+ ),
5098
+ lifecycleStatus: z22.enum(LIFECYCLE_STATUS_VALUES).nullable().optional().describe(
5099
+ "Where the engagement is in its delivery arc: commercial (pre-sale) | onboarding (engaged, not started) | planning (planning, no dev yet) | development (active dev \u2014 the rollout default) | warranty (finished, still watched, no dev standups) | closed (done) | on_hold (paused). The server stamps lifecycleStatusSetBy + lifecycleStatusSetAt automatically. Pass null to clear (reverts to the development default)."
5100
+ ),
5101
+ managementMode: z22.enum(MANAGEMENT_MODE_VALUES).nullable().optional().describe(
5102
+ "How much of delivery MELT drives: full (MELT owns roadmap/stories/PRDs \u2014 the rollout default) | staff_aug (MELT provides devs + light PM; the client owns the roadmap/PRDs). The server stamps managementModeSetBy + managementModeSetAt automatically. Pass null to clear (reverts to the full default)."
5087
5103
  )
5088
5104
  }
5089
5105
  },
@@ -5552,7 +5568,7 @@ function registerProjectHealthTools(server, getClient2) {
5552
5568
  "get_project_health",
5553
5569
  {
5554
5570
  title: "Get project health",
5555
- description: "Composite read-only snapshot of one project's health: 0-100 score, audit-freshness numbers, findings (critical/high/missing/warning counts), board-audit aggregate + age, ticket counts (open/started/overdue), standup compliance (last 14 days), plan recency, last CLI activity, and the project's RSK risks (open/mitigated counts, red-zone count, top 3 open risks with impact \xD7 probability scores AND the PM's latest weekly status comment on each one). Risks + comments come from a weekly mirror of the RSK Linear board, refreshed every Tuesday evening right after the team's risk-review meeting \u2014 so 'latestComment' is normally the just-logged update for the week. Use this for 'how's project X doing?' questions \u2014 it pulls in one round trip what would otherwise be 8+ separate tool calls. Score formula matches the dashboard's project cards.",
5571
+ description: "Composite read-only snapshot of one project's health: 0-100 score; `issues` \u2014 the full list of open health issues (each with label, dimension, severity, and a one-line howToFix), which are the EXACT items shown on the project's dashboard health card (e.g. 'PM silent in active cycle', 'Roadmap status differs from Linear', 'No roadmap'); audit-freshness numbers, findings (critical/high/missing/warning counts), board-audit aggregate + age, ticket counts (open/started/overdue), standup compliance (last 14 days), plan recency, last CLI activity, and the project's RSK risks (open/mitigated counts, red-zone count, top 3 open risks with impact \xD7 probability scores AND the PM's latest weekly status comment on each one). Risks + comments come from a weekly mirror of the RSK Linear board, refreshed every Tuesday evening right after the team's risk-review meeting \u2014 so 'latestComment' is normally the just-logged update for the week. Use this for 'how's project X doing?' / 'what needs attention on X?' questions \u2014 prefer surfacing the `issues` list (worst severity first) over just the score. Pulls in one round trip what would otherwise be 8+ separate tool calls; score + issues match the dashboard's project cards.",
5556
5572
  inputSchema: {
5557
5573
  projectId: z8.number().int().positive().describe(
5558
5574
  "Strapi project id from list_projects. The project must have at least one linked repository \u2014 otherwise the score is undefined and the tool returns 422."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meltstudio/meltctl",
3
- "version": "4.179.3",
3
+ "version": "4.180.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",