maxsimcli 4.16.0 → 5.0.1
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/dist/assets/CHANGELOG.md +31 -0
- package/dist/assets/hooks/maxsim-check-update.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-notification-sound.cjs +70 -0
- package/dist/assets/hooks/maxsim-notification-sound.cjs.map +1 -0
- package/dist/assets/hooks/maxsim-statusline.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-stop-sound.cjs +70 -0
- package/dist/assets/hooks/maxsim-stop-sound.cjs.map +1 -0
- package/dist/assets/hooks/maxsim-sync-reminder.cjs.map +1 -1
- package/dist/assets/templates/agents/executor.md +2 -2
- package/dist/assets/templates/agents/planner.md +1 -1
- package/dist/assets/templates/agents/verifier.md +1 -1
- package/dist/assets/templates/commands/maxsim/quick.md +2 -2
- package/dist/assets/templates/skills/github-artifact-protocol/SKILL.md +8 -8
- package/dist/assets/templates/skills/github-tools-guide/SKILL.md +96 -0
- package/dist/assets/templates/workflows/execute-plan.md +82 -68
- package/dist/assets/templates/workflows/execute.md +51 -36
- package/dist/assets/templates/workflows/go.md +21 -16
- package/dist/assets/templates/workflows/init-existing.md +13 -16
- package/dist/assets/templates/workflows/new-milestone.md +23 -1
- package/dist/assets/templates/workflows/new-project.md +13 -16
- package/dist/assets/templates/workflows/plan-create.md +16 -24
- package/dist/assets/templates/workflows/plan-discuss.md +6 -8
- package/dist/assets/templates/workflows/plan-research.md +7 -6
- package/dist/assets/templates/workflows/plan.md +21 -14
- package/dist/assets/templates/workflows/progress.md +45 -20
- package/dist/assets/templates/workflows/quick.md +21 -13
- package/dist/assets/templates/workflows/sdd.md +13 -11
- package/dist/assets/templates/workflows/verify-phase.md +77 -58
- package/dist/cli.cjs +4410 -2265
- package/dist/cli.cjs.map +1 -1
- package/dist/install.cjs +61 -38
- package/dist/install.cjs.map +1 -1
- package/package.json +2 -4
- package/dist/assets/templates/workflows/discovery-phase.md +0 -292
- package/dist/assets/templates/workflows/execute-phase.md +0 -752
- package/dist/mcp-server.cjs +0 -41031
- package/dist/mcp-server.cjs.map +0 -1
package/dist/install.cjs
CHANGED
|
@@ -7290,6 +7290,7 @@ const builtInSkills = [
|
|
|
7290
7290
|
"commit-conventions",
|
|
7291
7291
|
"evidence-collection",
|
|
7292
7292
|
"github-artifact-protocol",
|
|
7293
|
+
"github-tools-guide",
|
|
7293
7294
|
"handoff-contract",
|
|
7294
7295
|
"input-validation",
|
|
7295
7296
|
"research-methodology",
|
|
@@ -7581,6 +7582,8 @@ function configureSettingsHooks(targetDir) {
|
|
|
7581
7582
|
const statuslineCommand = "node " + dirName + "/hooks/maxsim-statusline.js";
|
|
7582
7583
|
const updateCheckCommand = "node " + dirName + "/hooks/maxsim-check-update.js";
|
|
7583
7584
|
const syncReminderCommand = "node " + dirName + "/hooks/maxsim-sync-reminder.js";
|
|
7585
|
+
const notificationSoundCommand = "node " + dirName + "/hooks/maxsim-notification-sound.js";
|
|
7586
|
+
const stopSoundCommand = "node " + dirName + "/hooks/maxsim-stop-sound.js";
|
|
7584
7587
|
if (!settings.hooks) settings.hooks = {};
|
|
7585
7588
|
const installHooks = settings.hooks;
|
|
7586
7589
|
if (!installHooks.SessionStart) installHooks.SessionStart = [];
|
|
@@ -7602,12 +7605,32 @@ function configureSettingsHooks(targetDir) {
|
|
|
7602
7605
|
});
|
|
7603
7606
|
console.log(` ${chalk.green("✓")} Configured sync reminder hook`);
|
|
7604
7607
|
}
|
|
7608
|
+
if (!installHooks.PostToolUse.some((entry) => entry.hooks && entry.hooks.some((h) => h.command && h.command.includes("maxsim-notification-sound")))) {
|
|
7609
|
+
installHooks.PostToolUse.push({
|
|
7610
|
+
matcher: "AskUserQuestion",
|
|
7611
|
+
hooks: [{
|
|
7612
|
+
type: "command",
|
|
7613
|
+
command: notificationSoundCommand
|
|
7614
|
+
}]
|
|
7615
|
+
});
|
|
7616
|
+
console.log(` ${chalk.green("✓")} Configured notification sound hook`);
|
|
7617
|
+
}
|
|
7618
|
+
if (!installHooks.Stop) installHooks.Stop = [];
|
|
7619
|
+
if (!installHooks.Stop.some((entry) => entry.hooks && entry.hooks.some((h) => h.command && h.command.includes("maxsim-stop-sound")))) {
|
|
7620
|
+
installHooks.Stop.push({ hooks: [{
|
|
7621
|
+
type: "command",
|
|
7622
|
+
command: stopSoundCommand
|
|
7623
|
+
}] });
|
|
7624
|
+
console.log(` ${chalk.green("✓")} Configured stop sound hook`);
|
|
7625
|
+
}
|
|
7605
7626
|
return {
|
|
7606
7627
|
settingsPath,
|
|
7607
7628
|
settings,
|
|
7608
7629
|
statuslineCommand,
|
|
7609
7630
|
updateCheckCommand,
|
|
7610
|
-
syncReminderCommand
|
|
7631
|
+
syncReminderCommand,
|
|
7632
|
+
notificationSoundCommand,
|
|
7633
|
+
stopSoundCommand
|
|
7611
7634
|
};
|
|
7612
7635
|
}
|
|
7613
7636
|
/**
|
|
@@ -7654,7 +7677,7 @@ function finishInstall(settingsPath, settings, statuslineCommand, shouldInstallS
|
|
|
7654
7677
|
console.log(`
|
|
7655
7678
|
${chalk.green("Done!")} Launch Claude Code and run ${chalk.cyan("/maxsim:help")}.
|
|
7656
7679
|
|
|
7657
|
-
${chalk.cyan("Join the community:")} https://discord.gg/
|
|
7680
|
+
${chalk.cyan("Join the community:")} https://discord.gg/kNwgTu2sQW
|
|
7658
7681
|
`);
|
|
7659
7682
|
}
|
|
7660
7683
|
|
|
@@ -8002,6 +8025,25 @@ function uninstall(isGlobal, explicitConfigDir = null) {
|
|
|
8002
8025
|
console.log(` ${chalk.green("✓")} Removed MAXSIM package.json`);
|
|
8003
8026
|
}
|
|
8004
8027
|
} catch {}
|
|
8028
|
+
const mcpJsonPath = node_path.join(process.cwd(), ".mcp.json");
|
|
8029
|
+
if (node_fs.existsSync(mcpJsonPath)) try {
|
|
8030
|
+
const mcpConfig = JSON.parse(node_fs.readFileSync(mcpJsonPath, "utf-8"));
|
|
8031
|
+
const mcpServers = mcpConfig.mcpServers;
|
|
8032
|
+
if (mcpServers && mcpServers["maxsim"]) {
|
|
8033
|
+
delete mcpServers["maxsim"];
|
|
8034
|
+
if (Object.keys(mcpServers).length === 0) delete mcpConfig.mcpServers;
|
|
8035
|
+
if (Object.keys(mcpConfig).length === 0) node_fs.unlinkSync(mcpJsonPath);
|
|
8036
|
+
else node_fs.writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + "\n", "utf-8");
|
|
8037
|
+
removedCount++;
|
|
8038
|
+
console.log(` ${chalk.green("✓")} Removed MAXSIM MCP entry from .mcp.json`);
|
|
8039
|
+
}
|
|
8040
|
+
} catch {}
|
|
8041
|
+
const mcpBinPath = node_path.join(targetDir, "maxsim", "bin", "mcp-server.cjs");
|
|
8042
|
+
if (node_fs.existsSync(mcpBinPath)) {
|
|
8043
|
+
node_fs.unlinkSync(mcpBinPath);
|
|
8044
|
+
removedCount++;
|
|
8045
|
+
console.log(` ${chalk.green("✓")} Removed mcp-server.cjs binary`);
|
|
8046
|
+
}
|
|
8005
8047
|
const settingsPath = node_path.join(targetDir, "settings.json");
|
|
8006
8048
|
if (node_fs.existsSync(settingsPath)) {
|
|
8007
8049
|
const settings = readSettings(settingsPath);
|
|
@@ -8281,46 +8323,27 @@ async function install() {
|
|
|
8281
8323
|
console.warn(` ${chalk.yellow("!")} cli.cjs not found at ${toolSrc} -- maxsim-tools.cjs not installed`);
|
|
8282
8324
|
failures.push("maxsim-tools.cjs");
|
|
8283
8325
|
}
|
|
8284
|
-
const mcpSrc = node_path.resolve(__dirname, "mcp-server.cjs");
|
|
8285
|
-
const mcpDest = node_path.join(binDir, "mcp-server.cjs");
|
|
8286
|
-
if (node_fs.existsSync(mcpSrc)) {
|
|
8287
|
-
node_fs.mkdirSync(binDir, { recursive: true });
|
|
8288
|
-
node_fs.copyFileSync(mcpSrc, mcpDest);
|
|
8289
|
-
console.log(` ${chalk.green("✓")} Installed mcp-server.cjs`);
|
|
8290
|
-
} else console.warn(` ${chalk.yellow("!")} mcp-server.cjs not found -- MCP server not installed`);
|
|
8291
8326
|
installHookFiles(targetDir, failures);
|
|
8292
8327
|
const mcpJsonPath = node_path.join(process.cwd(), ".mcp.json");
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
|
|
8296
|
-
|
|
8297
|
-
|
|
8298
|
-
|
|
8299
|
-
|
|
8300
|
-
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
default: true
|
|
8306
|
-
});
|
|
8307
|
-
} catch {}
|
|
8308
|
-
if (!startFresh) {
|
|
8309
|
-
console.log(` ${chalk.yellow("!")} Skipping .mcp.json configuration`);
|
|
8310
|
-
skipMcpConfig = true;
|
|
8328
|
+
if (node_fs.existsSync(mcpJsonPath)) try {
|
|
8329
|
+
const mcpConfig = JSON.parse(node_fs.readFileSync(mcpJsonPath, "utf-8"));
|
|
8330
|
+
const mcpServers = mcpConfig.mcpServers;
|
|
8331
|
+
if (mcpServers && mcpServers["maxsim"]) {
|
|
8332
|
+
delete mcpServers["maxsim"];
|
|
8333
|
+
if (Object.keys(mcpServers).length === 0) delete mcpConfig.mcpServers;
|
|
8334
|
+
if (Object.keys(mcpConfig).length === 0) {
|
|
8335
|
+
node_fs.unlinkSync(mcpJsonPath);
|
|
8336
|
+
console.log(` ${chalk.green("✓")} Removed .mcp.json (no remaining MCP servers)`);
|
|
8337
|
+
} else {
|
|
8338
|
+
node_fs.writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + "\n", "utf-8");
|
|
8339
|
+
console.log(` ${chalk.green("✓")} Removed MAXSIM MCP entry from .mcp.json`);
|
|
8311
8340
|
}
|
|
8312
8341
|
}
|
|
8313
|
-
}
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
|
|
8317
|
-
|
|
8318
|
-
args: [".claude/maxsim/bin/mcp-server.cjs"],
|
|
8319
|
-
env: {}
|
|
8320
|
-
};
|
|
8321
|
-
mcpConfig.mcpServers = mcpServers;
|
|
8322
|
-
node_fs.writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2) + "\n", "utf-8");
|
|
8323
|
-
console.log(` ${chalk.green("✓")} Configured .mcp.json for MCP server auto-discovery`);
|
|
8342
|
+
} catch {}
|
|
8343
|
+
const oldMcpBin = node_path.join(binDir, "mcp-server.cjs");
|
|
8344
|
+
if (node_fs.existsSync(oldMcpBin)) {
|
|
8345
|
+
node_fs.unlinkSync(oldMcpBin);
|
|
8346
|
+
console.log(` ${chalk.green("✓")} Removed legacy mcp-server.cjs`);
|
|
8324
8347
|
}
|
|
8325
8348
|
if (failures.length > 0) {
|
|
8326
8349
|
console.error(`\n ${chalk.yellow("Installation incomplete!")} Failed: ${failures.join(", ")}`);
|