runtrim 0.1.19 → 0.1.21

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.
@@ -5776,6 +5776,8 @@ var GO_ACCENT = chalk.hex("#8B7CFF");
5776
5776
  var RUNTRIM_AGENT_INSTRUCTIONS_VERSION = "2";
5777
5777
  var DIM = chalk.gray;
5778
5778
  var BOLD = chalk.white.bold;
5779
+ var MINT = chalk.hex("#6ee7b7");
5780
+ var HEAD = chalk.hex("#94a3b8");
5779
5781
  var program = new import_commander.Command();
5780
5782
  var SECTION = "-------------------------------------------------";
5781
5783
  var OUTPUT_PREVIEW_MAX = 1600;
@@ -8764,25 +8766,25 @@ program.command("start").description("Guided RunTrim onboarding and daily loop")
8764
8766
  const mcpConfigPresence = detectKnownMcpConfigPresence();
8765
8767
  console.log(BOLD("RunTrim project setup"));
8766
8768
  console.log("");
8767
- console.log(DIM(" Detected"));
8769
+ console.log(HEAD(" Detected"));
8768
8770
  console.log(chalk.white(` - Framework: ${profile.framework}`));
8769
8771
  console.log(chalk.white(` - Package manager: ${profile.package_manager}`));
8770
8772
  console.log(chalk.white(` - Language: ${profile.language}`));
8771
8773
  console.log(chalk.white(` - Scripts: ${Object.keys(profile.scripts).join(", ") || "none detected"}`));
8772
- console.log(chalk.white(" - Memory: updated"));
8773
- console.log(chalk.white(" - Agent instructions: updated"));
8774
- console.log(chalk.white(" - MCP: available"));
8775
- console.log("");
8776
- console.log(DIM(" Detected agents"));
8777
- console.log(chalk.white(` - Claude instructions: ${agentEnv.claudeInstructions}`));
8778
- console.log(chalk.white(` - AGENTS.md: ${agentEnv.agentsMd}`));
8779
- console.log(chalk.white(` - Cursor rules: ${agentEnv.cursorRules}`));
8780
- console.log(chalk.white(" - MCP: available"));
8774
+ console.log(chalk.white(" - Memory: ") + MINT("updated"));
8775
+ console.log(chalk.white(" - Agent instructions: ") + MINT("updated"));
8776
+ console.log(chalk.white(" - MCP: ") + MINT("available"));
8777
+ console.log("");
8778
+ console.log(HEAD(" Detected agents"));
8779
+ console.log(chalk.white(` - Claude instructions: `) + (agentEnv.claudeInstructions === "found" ? MINT(agentEnv.claudeInstructions) : DIM(agentEnv.claudeInstructions)));
8780
+ console.log(chalk.white(` - AGENTS.md: `) + (agentEnv.agentsMd === "found" ? MINT(agentEnv.agentsMd) : DIM(agentEnv.agentsMd)));
8781
+ console.log(chalk.white(` - Cursor rules: `) + (agentEnv.cursorRules === "found" ? MINT(agentEnv.cursorRules) : DIM(agentEnv.cursorRules)));
8782
+ console.log(chalk.white(" - MCP: ") + MINT("available"));
8781
8783
  if (agentEnv.detectedDirs.length > 0) {
8782
8784
  console.log(chalk.white(` - Agent dirs: ${agentEnv.detectedDirs.join(", ")}`));
8783
8785
  }
8784
8786
  console.log("");
8785
- console.log(DIM(" Generated local files"));
8787
+ console.log(HEAD(" Generated local files"));
8786
8788
  console.log(chalk.white(` - ${import_path13.default.relative(cwd, profilePath)}`));
8787
8789
  console.log(chalk.white(` - ${import_path13.default.relative(cwd, memoryPath)}`));
8788
8790
  console.log(chalk.white(` - ${import_path13.default.relative(cwd, instructionsPath)}`));
@@ -8793,38 +8795,41 @@ program.command("start").description("Guided RunTrim onboarding and daily loop")
8793
8795
  console.log(chalk.white(` - ${rel}`));
8794
8796
  }
8795
8797
  console.log("");
8796
- console.log(DIM(" MCP"));
8797
- console.log(chalk.white(" - Server: available"));
8798
- console.log(chalk.white(` - Config snippets: ${mcpSnippets.files.some((f) => f.state === "generated") ? "generated" : "ready"}`));
8798
+ console.log(HEAD(" MCP"));
8799
+ console.log(chalk.white(" - Server: ") + MINT("available"));
8800
+ console.log(chalk.white(" - Config snippets: ") + MINT(mcpSnippets.files.some((f) => f.state === "generated") ? "generated" : "ready"));
8799
8801
  console.log(chalk.white(` - Claude Desktop config: ${mcpConfigPresence.claudeConfigFound ? "found" : "not found"}`));
8800
8802
  console.log(chalk.white(` - Cursor config: ${mcpConfigPresence.cursorConfigFound ? "found" : "not found"}`));
8801
8803
  console.log(chalk.white(` - Project snippets: ${import_path13.default.relative(cwd, mcpSnippets.dir)}`));
8802
8804
  console.log("");
8803
- console.log(DIM(" Recommended"));
8805
+ console.log(HEAD(" Recommended"));
8804
8806
  console.log(chalk.white(" 1. Open your agent in this project."));
8805
8807
  console.log(chalk.white(' 2. Use normal language: "Fix the homepage copy. Keep billing untouched."'));
8806
8808
  console.log(chalk.white(" 3. Let the agent use RunTrim MCP/context where configured."));
8807
8809
  console.log(chalk.white(" 4. Run runtrim finish when done."));
8808
8810
  console.log("");
8809
- console.log(DIM(" Guarded loop"));
8811
+ console.log(HEAD(" Guarded loop"));
8810
8812
  console.log(chalk.white(' runtrim agent "Your task" --copy'));
8811
8813
  console.log(chalk.white(" runtrim finish"));
8812
8814
  console.log(chalk.white(' runtrim approve "..." (if scope must expand)'));
8813
8815
  console.log("");
8814
- console.log(DIM(" Optional bridge"));
8816
+ console.log(HEAD(" Optional bridge"));
8815
8817
  console.log(chalk.white(' runtrim agent "Your task" --copy --bridge'));
8816
8818
  console.log(chalk.white(" runtrim bridge status"));
8817
8819
  console.log("");
8818
- console.log(DIM(" Optional MCP"));
8820
+ console.log(HEAD(" Optional MCP"));
8819
8821
  console.log(chalk.white(" runtrim mcp instructions"));
8820
8822
  console.log(chalk.white(" runtrim mcp config --print"));
8821
8823
  console.log(chalk.white(" runtrim mcp start"));
8822
8824
  console.log("");
8823
- console.log(DIM(" Adapters"));
8825
+ console.log(HEAD(" Check readiness"));
8826
+ console.log(chalk.white(" runtrim doctor"));
8827
+ console.log("");
8828
+ console.log(HEAD(" Adapters"));
8824
8829
  console.log(chalk.white(" runtrim adapters"));
8825
8830
  console.log(chalk.white(" runtrim adapters status"));
8826
8831
  console.log("");
8827
- console.log(DIM(" Trust notes"));
8832
+ console.log(HEAD(" Trust notes"));
8828
8833
  console.log(chalk.white(" - local-first"));
8829
8834
  console.log(chalk.white(" - no install-time daemon"));
8830
8835
  console.log(chalk.white(" - no source upload by default"));
@@ -8901,7 +8906,7 @@ program.command("start").description("Guided RunTrim onboarding and daily loop")
8901
8906
  console.log("");
8902
8907
  }
8903
8908
  });
8904
- program.command("doctor").description("Check project readiness for RunTrim agent auto-control").action(async () => {
8909
+ program.command("doctor").description("Check whether the current project is RunTrim-ready for agents, MCP, memory and finish verification").action(async () => {
8905
8910
  const cwd = process.cwd();
8906
8911
  const repoCheck = await assertFreeRepoAllowed(cwd);
8907
8912
  const profilePath = import_path13.default.join(getConfigDir(cwd), "project-profile.json");
@@ -8948,38 +8953,38 @@ program.command("doctor").description("Check project readiness for RunTrim agent
8948
8953
  console.log(BOLD("RunTrim") + DIM(" doctor"));
8949
8954
  console.log("");
8950
8955
  console.log(BOLD("Project"));
8951
- console.log(chalk.white(`- Project profile: ${profileReady ? "ready" : "missing"}`));
8952
- console.log(chalk.white(`- Project memory: ${memoryReady ? "ready" : "missing"}`));
8953
- console.log(chalk.white(`- Agent instructions: ${instructionsReady ? "ready" : "missing"}`));
8954
- console.log(chalk.white(`- Active contract: ${contract.active ? "active" : "none"}`));
8956
+ console.log(DIM("- Project profile: ") + (profileReady ? MINT("ready") : chalk.yellow("missing")));
8957
+ console.log(DIM("- Project memory: ") + (memoryReady ? MINT("ready") : chalk.yellow("missing")));
8958
+ console.log(DIM("- Agent instructions: ") + (instructionsReady ? MINT("ready") : chalk.yellow("missing")));
8959
+ console.log(DIM("- Active contract: ") + (contract.active ? MINT("active") : DIM("none")));
8955
8960
  console.log("");
8956
8961
  console.log(BOLD("Agent rules"));
8957
- console.log(chalk.white(`- CLAUDE.md: ${claudeBlock.exists ? "installed" : "not found"}`));
8958
- console.log(chalk.white(`- AGENTS.md: ${agentsBlock.exists ? "installed" : "not found"}`));
8959
- console.log(chalk.white(`- Cursor rules: ${cursorRuleExists ? "installed" : "not found"}`));
8960
- console.log(chalk.white(`- RunTrim instruction block: ${runtrimBlockCurrent ? "current" : anySurfaceInstalled ? "stale" : "missing"}`));
8962
+ console.log(DIM("- CLAUDE.md: ") + (claudeBlock.exists ? MINT("installed") : DIM("not found")));
8963
+ console.log(DIM("- AGENTS.md: ") + (agentsBlock.exists ? MINT("installed") : DIM("not found")));
8964
+ console.log(DIM("- Cursor rules: ") + (cursorRuleExists ? MINT("installed") : DIM("not found")));
8965
+ console.log(DIM("- RunTrim instruction block: ") + (runtrimBlockCurrent ? MINT("current") : anySurfaceInstalled ? chalk.yellow("stale") : DIM("missing")));
8961
8966
  console.log("");
8962
8967
  console.log(BOLD("MCP"));
8963
- console.log(chalk.white("- MCP server: available"));
8964
- console.log(chalk.white(`- Project snippets: ${snippetsGenerated ? "generated" : "missing"}`));
8965
- console.log(chalk.white(`- Claude Desktop config: ${claudeMcpState}`));
8966
- console.log(chalk.white(`- Cursor MCP config: ${cursorMcpState}`));
8967
- console.log(chalk.white(`- Generic config: ${genericReady}`));
8968
+ console.log(DIM("- MCP server: ") + MINT("available"));
8969
+ console.log(DIM("- Project snippets: ") + (snippetsGenerated ? MINT("generated") : chalk.yellow("missing")));
8970
+ console.log(DIM("- Claude Desktop config: ") + (claudeMcpState === "configured" ? MINT(claudeMcpState) : DIM(claudeMcpState)));
8971
+ console.log(DIM("- Cursor MCP config: ") + (cursorMcpState === "configured" ? MINT(cursorMcpState) : DIM(cursorMcpState)));
8972
+ console.log(DIM("- Generic config: ") + (genericReady === "ready" ? MINT(genericReady) : DIM(genericReady)));
8968
8973
  if (lastMcp.tracked && lastMcp.tool && lastMcp.usedAt) {
8969
- console.log(chalk.white(`- Last MCP tool call: ${lastMcp.tool}, ${lastMcp.usedAt}`));
8974
+ console.log(DIM("- Last MCP tool call: ") + chalk.white(`${lastMcp.tool}, ${lastMcp.usedAt}`));
8970
8975
  } else {
8971
- console.log(chalk.white("- Last MCP tool call: not tracked yet"));
8976
+ console.log(DIM("- Last MCP tool call: ") + DIM("not tracked yet"));
8972
8977
  }
8973
8978
  console.log("");
8974
8979
  console.log(BOLD("Automation readiness"));
8975
- console.log(chalk.white(`- Contract creation tool: ${hasContractTool ? "available" : "missing"}`));
8976
- console.log(chalk.white(`- Path check tool: ${hasPathTool ? "available" : "missing"}`));
8977
- console.log(chalk.white(`- Approval tool: ${hasApprovalTool ? "available" : "missing"}`));
8978
- console.log(chalk.white(`- Finish guidance tool: ${hasFinishTool ? "available" : "missing"}`));
8979
- console.log(chalk.white(`- Local artifacts: ${artifactCount}`));
8980
+ console.log(DIM("- Contract creation tool: ") + (hasContractTool ? MINT("available") : chalk.yellow("missing")));
8981
+ console.log(DIM("- Path check tool: ") + (hasPathTool ? MINT("available") : chalk.yellow("missing")));
8982
+ console.log(DIM("- Approval tool: ") + (hasApprovalTool ? MINT("available") : chalk.yellow("missing")));
8983
+ console.log(DIM("- Finish guidance tool: ") + (hasFinishTool ? MINT("available") : chalk.yellow("missing")));
8984
+ console.log(DIM("- Local artifacts: ") + chalk.white(String(artifactCount)));
8980
8985
  console.log("");
8981
8986
  console.log(BOLD("Readiness"));
8982
- console.log(chalk.white(`- State: ${readiness}`));
8987
+ console.log(DIM("- State: ") + (readiness === "ready" ? MINT("ready") : readiness === "partial" ? chalk.yellow("partial") : chalk.red("blocked")));
8983
8988
  console.log("");
8984
8989
  console.log(BOLD("Next"));
8985
8990
  if (repoCheck.status === "blocked_repair") {
@@ -10315,8 +10320,8 @@ repoCommand.command("status").description("Show local tracked repo status").acti
10315
10320
  console.log(DIM(" Plan ") + chalk.white(registry.plan));
10316
10321
  console.log(DIM(" Current repo ") + chalk.white(identity.path));
10317
10322
  console.log(DIM(" Tracked repo ") + chalk.white((_b = tracked == null ? void 0 : tracked.path) != null ? _b : "(none)"));
10318
- console.log(DIM(" Allowed ") + chalk.white(check.allowed ? "yes" : "no"));
10319
- console.log(DIM(" State ") + chalk.white(check.status));
10323
+ console.log(DIM(" Allowed ") + (check.allowed ? MINT("yes") : chalk.red("no")));
10324
+ console.log(DIM(" State ") + (check.status === "allowed" ? MINT(check.status) : check.status.startsWith("blocked") ? chalk.red(check.status) : chalk.white(check.status)));
10320
10325
  console.log("");
10321
10326
  if (check.status === "blocked_repair") {
10322
10327
  console.log(chalk.yellow(" RunTrim local state needs repair."));
@@ -5755,6 +5755,8 @@ var GO_ACCENT = chalk.hex("#8B7CFF");
5755
5755
  var RUNTRIM_AGENT_INSTRUCTIONS_VERSION = "2";
5756
5756
  var DIM = chalk.gray;
5757
5757
  var BOLD = chalk.white.bold;
5758
+ var MINT = chalk.hex("#6ee7b7");
5759
+ var HEAD = chalk.hex("#94a3b8");
5758
5760
  var program = new Command();
5759
5761
  var SECTION = "-------------------------------------------------";
5760
5762
  var OUTPUT_PREVIEW_MAX = 1600;
@@ -8743,25 +8745,25 @@ program.command("start").description("Guided RunTrim onboarding and daily loop")
8743
8745
  const mcpConfigPresence = detectKnownMcpConfigPresence();
8744
8746
  console.log(BOLD("RunTrim project setup"));
8745
8747
  console.log("");
8746
- console.log(DIM(" Detected"));
8748
+ console.log(HEAD(" Detected"));
8747
8749
  console.log(chalk.white(` - Framework: ${profile.framework}`));
8748
8750
  console.log(chalk.white(` - Package manager: ${profile.package_manager}`));
8749
8751
  console.log(chalk.white(` - Language: ${profile.language}`));
8750
8752
  console.log(chalk.white(` - Scripts: ${Object.keys(profile.scripts).join(", ") || "none detected"}`));
8751
- console.log(chalk.white(" - Memory: updated"));
8752
- console.log(chalk.white(" - Agent instructions: updated"));
8753
- console.log(chalk.white(" - MCP: available"));
8754
- console.log("");
8755
- console.log(DIM(" Detected agents"));
8756
- console.log(chalk.white(` - Claude instructions: ${agentEnv.claudeInstructions}`));
8757
- console.log(chalk.white(` - AGENTS.md: ${agentEnv.agentsMd}`));
8758
- console.log(chalk.white(` - Cursor rules: ${agentEnv.cursorRules}`));
8759
- console.log(chalk.white(" - MCP: available"));
8753
+ console.log(chalk.white(" - Memory: ") + MINT("updated"));
8754
+ console.log(chalk.white(" - Agent instructions: ") + MINT("updated"));
8755
+ console.log(chalk.white(" - MCP: ") + MINT("available"));
8756
+ console.log("");
8757
+ console.log(HEAD(" Detected agents"));
8758
+ console.log(chalk.white(` - Claude instructions: `) + (agentEnv.claudeInstructions === "found" ? MINT(agentEnv.claudeInstructions) : DIM(agentEnv.claudeInstructions)));
8759
+ console.log(chalk.white(` - AGENTS.md: `) + (agentEnv.agentsMd === "found" ? MINT(agentEnv.agentsMd) : DIM(agentEnv.agentsMd)));
8760
+ console.log(chalk.white(` - Cursor rules: `) + (agentEnv.cursorRules === "found" ? MINT(agentEnv.cursorRules) : DIM(agentEnv.cursorRules)));
8761
+ console.log(chalk.white(" - MCP: ") + MINT("available"));
8760
8762
  if (agentEnv.detectedDirs.length > 0) {
8761
8763
  console.log(chalk.white(` - Agent dirs: ${agentEnv.detectedDirs.join(", ")}`));
8762
8764
  }
8763
8765
  console.log("");
8764
- console.log(DIM(" Generated local files"));
8766
+ console.log(HEAD(" Generated local files"));
8765
8767
  console.log(chalk.white(` - ${path13.relative(cwd, profilePath)}`));
8766
8768
  console.log(chalk.white(` - ${path13.relative(cwd, memoryPath)}`));
8767
8769
  console.log(chalk.white(` - ${path13.relative(cwd, instructionsPath)}`));
@@ -8772,38 +8774,41 @@ program.command("start").description("Guided RunTrim onboarding and daily loop")
8772
8774
  console.log(chalk.white(` - ${rel}`));
8773
8775
  }
8774
8776
  console.log("");
8775
- console.log(DIM(" MCP"));
8776
- console.log(chalk.white(" - Server: available"));
8777
- console.log(chalk.white(` - Config snippets: ${mcpSnippets.files.some((f) => f.state === "generated") ? "generated" : "ready"}`));
8777
+ console.log(HEAD(" MCP"));
8778
+ console.log(chalk.white(" - Server: ") + MINT("available"));
8779
+ console.log(chalk.white(" - Config snippets: ") + MINT(mcpSnippets.files.some((f) => f.state === "generated") ? "generated" : "ready"));
8778
8780
  console.log(chalk.white(` - Claude Desktop config: ${mcpConfigPresence.claudeConfigFound ? "found" : "not found"}`));
8779
8781
  console.log(chalk.white(` - Cursor config: ${mcpConfigPresence.cursorConfigFound ? "found" : "not found"}`));
8780
8782
  console.log(chalk.white(` - Project snippets: ${path13.relative(cwd, mcpSnippets.dir)}`));
8781
8783
  console.log("");
8782
- console.log(DIM(" Recommended"));
8784
+ console.log(HEAD(" Recommended"));
8783
8785
  console.log(chalk.white(" 1. Open your agent in this project."));
8784
8786
  console.log(chalk.white(' 2. Use normal language: "Fix the homepage copy. Keep billing untouched."'));
8785
8787
  console.log(chalk.white(" 3. Let the agent use RunTrim MCP/context where configured."));
8786
8788
  console.log(chalk.white(" 4. Run runtrim finish when done."));
8787
8789
  console.log("");
8788
- console.log(DIM(" Guarded loop"));
8790
+ console.log(HEAD(" Guarded loop"));
8789
8791
  console.log(chalk.white(' runtrim agent "Your task" --copy'));
8790
8792
  console.log(chalk.white(" runtrim finish"));
8791
8793
  console.log(chalk.white(' runtrim approve "..." (if scope must expand)'));
8792
8794
  console.log("");
8793
- console.log(DIM(" Optional bridge"));
8795
+ console.log(HEAD(" Optional bridge"));
8794
8796
  console.log(chalk.white(' runtrim agent "Your task" --copy --bridge'));
8795
8797
  console.log(chalk.white(" runtrim bridge status"));
8796
8798
  console.log("");
8797
- console.log(DIM(" Optional MCP"));
8799
+ console.log(HEAD(" Optional MCP"));
8798
8800
  console.log(chalk.white(" runtrim mcp instructions"));
8799
8801
  console.log(chalk.white(" runtrim mcp config --print"));
8800
8802
  console.log(chalk.white(" runtrim mcp start"));
8801
8803
  console.log("");
8802
- console.log(DIM(" Adapters"));
8804
+ console.log(HEAD(" Check readiness"));
8805
+ console.log(chalk.white(" runtrim doctor"));
8806
+ console.log("");
8807
+ console.log(HEAD(" Adapters"));
8803
8808
  console.log(chalk.white(" runtrim adapters"));
8804
8809
  console.log(chalk.white(" runtrim adapters status"));
8805
8810
  console.log("");
8806
- console.log(DIM(" Trust notes"));
8811
+ console.log(HEAD(" Trust notes"));
8807
8812
  console.log(chalk.white(" - local-first"));
8808
8813
  console.log(chalk.white(" - no install-time daemon"));
8809
8814
  console.log(chalk.white(" - no source upload by default"));
@@ -8880,7 +8885,7 @@ program.command("start").description("Guided RunTrim onboarding and daily loop")
8880
8885
  console.log("");
8881
8886
  }
8882
8887
  });
8883
- program.command("doctor").description("Check project readiness for RunTrim agent auto-control").action(async () => {
8888
+ program.command("doctor").description("Check whether the current project is RunTrim-ready for agents, MCP, memory and finish verification").action(async () => {
8884
8889
  const cwd = process.cwd();
8885
8890
  const repoCheck = await assertFreeRepoAllowed(cwd);
8886
8891
  const profilePath = path13.join(getConfigDir(cwd), "project-profile.json");
@@ -8927,38 +8932,38 @@ program.command("doctor").description("Check project readiness for RunTrim agent
8927
8932
  console.log(BOLD("RunTrim") + DIM(" doctor"));
8928
8933
  console.log("");
8929
8934
  console.log(BOLD("Project"));
8930
- console.log(chalk.white(`- Project profile: ${profileReady ? "ready" : "missing"}`));
8931
- console.log(chalk.white(`- Project memory: ${memoryReady ? "ready" : "missing"}`));
8932
- console.log(chalk.white(`- Agent instructions: ${instructionsReady ? "ready" : "missing"}`));
8933
- console.log(chalk.white(`- Active contract: ${contract.active ? "active" : "none"}`));
8935
+ console.log(DIM("- Project profile: ") + (profileReady ? MINT("ready") : chalk.yellow("missing")));
8936
+ console.log(DIM("- Project memory: ") + (memoryReady ? MINT("ready") : chalk.yellow("missing")));
8937
+ console.log(DIM("- Agent instructions: ") + (instructionsReady ? MINT("ready") : chalk.yellow("missing")));
8938
+ console.log(DIM("- Active contract: ") + (contract.active ? MINT("active") : DIM("none")));
8934
8939
  console.log("");
8935
8940
  console.log(BOLD("Agent rules"));
8936
- console.log(chalk.white(`- CLAUDE.md: ${claudeBlock.exists ? "installed" : "not found"}`));
8937
- console.log(chalk.white(`- AGENTS.md: ${agentsBlock.exists ? "installed" : "not found"}`));
8938
- console.log(chalk.white(`- Cursor rules: ${cursorRuleExists ? "installed" : "not found"}`));
8939
- console.log(chalk.white(`- RunTrim instruction block: ${runtrimBlockCurrent ? "current" : anySurfaceInstalled ? "stale" : "missing"}`));
8941
+ console.log(DIM("- CLAUDE.md: ") + (claudeBlock.exists ? MINT("installed") : DIM("not found")));
8942
+ console.log(DIM("- AGENTS.md: ") + (agentsBlock.exists ? MINT("installed") : DIM("not found")));
8943
+ console.log(DIM("- Cursor rules: ") + (cursorRuleExists ? MINT("installed") : DIM("not found")));
8944
+ console.log(DIM("- RunTrim instruction block: ") + (runtrimBlockCurrent ? MINT("current") : anySurfaceInstalled ? chalk.yellow("stale") : DIM("missing")));
8940
8945
  console.log("");
8941
8946
  console.log(BOLD("MCP"));
8942
- console.log(chalk.white("- MCP server: available"));
8943
- console.log(chalk.white(`- Project snippets: ${snippetsGenerated ? "generated" : "missing"}`));
8944
- console.log(chalk.white(`- Claude Desktop config: ${claudeMcpState}`));
8945
- console.log(chalk.white(`- Cursor MCP config: ${cursorMcpState}`));
8946
- console.log(chalk.white(`- Generic config: ${genericReady}`));
8947
+ console.log(DIM("- MCP server: ") + MINT("available"));
8948
+ console.log(DIM("- Project snippets: ") + (snippetsGenerated ? MINT("generated") : chalk.yellow("missing")));
8949
+ console.log(DIM("- Claude Desktop config: ") + (claudeMcpState === "configured" ? MINT(claudeMcpState) : DIM(claudeMcpState)));
8950
+ console.log(DIM("- Cursor MCP config: ") + (cursorMcpState === "configured" ? MINT(cursorMcpState) : DIM(cursorMcpState)));
8951
+ console.log(DIM("- Generic config: ") + (genericReady === "ready" ? MINT(genericReady) : DIM(genericReady)));
8947
8952
  if (lastMcp.tracked && lastMcp.tool && lastMcp.usedAt) {
8948
- console.log(chalk.white(`- Last MCP tool call: ${lastMcp.tool}, ${lastMcp.usedAt}`));
8953
+ console.log(DIM("- Last MCP tool call: ") + chalk.white(`${lastMcp.tool}, ${lastMcp.usedAt}`));
8949
8954
  } else {
8950
- console.log(chalk.white("- Last MCP tool call: not tracked yet"));
8955
+ console.log(DIM("- Last MCP tool call: ") + DIM("not tracked yet"));
8951
8956
  }
8952
8957
  console.log("");
8953
8958
  console.log(BOLD("Automation readiness"));
8954
- console.log(chalk.white(`- Contract creation tool: ${hasContractTool ? "available" : "missing"}`));
8955
- console.log(chalk.white(`- Path check tool: ${hasPathTool ? "available" : "missing"}`));
8956
- console.log(chalk.white(`- Approval tool: ${hasApprovalTool ? "available" : "missing"}`));
8957
- console.log(chalk.white(`- Finish guidance tool: ${hasFinishTool ? "available" : "missing"}`));
8958
- console.log(chalk.white(`- Local artifacts: ${artifactCount}`));
8959
+ console.log(DIM("- Contract creation tool: ") + (hasContractTool ? MINT("available") : chalk.yellow("missing")));
8960
+ console.log(DIM("- Path check tool: ") + (hasPathTool ? MINT("available") : chalk.yellow("missing")));
8961
+ console.log(DIM("- Approval tool: ") + (hasApprovalTool ? MINT("available") : chalk.yellow("missing")));
8962
+ console.log(DIM("- Finish guidance tool: ") + (hasFinishTool ? MINT("available") : chalk.yellow("missing")));
8963
+ console.log(DIM("- Local artifacts: ") + chalk.white(String(artifactCount)));
8959
8964
  console.log("");
8960
8965
  console.log(BOLD("Readiness"));
8961
- console.log(chalk.white(`- State: ${readiness}`));
8966
+ console.log(DIM("- State: ") + (readiness === "ready" ? MINT("ready") : readiness === "partial" ? chalk.yellow("partial") : chalk.red("blocked")));
8962
8967
  console.log("");
8963
8968
  console.log(BOLD("Next"));
8964
8969
  if (repoCheck.status === "blocked_repair") {
@@ -10294,8 +10299,8 @@ repoCommand.command("status").description("Show local tracked repo status").acti
10294
10299
  console.log(DIM(" Plan ") + chalk.white(registry.plan));
10295
10300
  console.log(DIM(" Current repo ") + chalk.white(identity.path));
10296
10301
  console.log(DIM(" Tracked repo ") + chalk.white((_b = tracked == null ? void 0 : tracked.path) != null ? _b : "(none)"));
10297
- console.log(DIM(" Allowed ") + chalk.white(check.allowed ? "yes" : "no"));
10298
- console.log(DIM(" State ") + chalk.white(check.status));
10302
+ console.log(DIM(" Allowed ") + (check.allowed ? MINT("yes") : chalk.red("no")));
10303
+ console.log(DIM(" State ") + (check.status === "allowed" ? MINT(check.status) : check.status.startsWith("blocked") ? chalk.red(check.status) : chalk.white(check.status)));
10299
10304
  console.log("");
10300
10305
  if (check.status === "blocked_repair") {
10301
10306
  console.log(chalk.yellow(" RunTrim local state needs repair."));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runtrim",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "The control layer for AI coding agents.",
5
5
  "license": "MIT",
6
6
  "author": "RunTrim",