maxsimcli 3.5.3 → 3.7.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 (37) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/assets/CHANGELOG.md +21 -0
  3. package/dist/assets/dashboard/server.js +1 -1
  4. package/dist/assets/templates/agents/maxsim-code-reviewer.md +169 -0
  5. package/dist/assets/templates/agents/maxsim-debugger.md +47 -0
  6. package/dist/assets/templates/agents/maxsim-executor.md +113 -0
  7. package/dist/assets/templates/agents/maxsim-phase-researcher.md +46 -0
  8. package/dist/assets/templates/agents/maxsim-plan-checker.md +45 -0
  9. package/dist/assets/templates/agents/maxsim-planner.md +48 -0
  10. package/dist/assets/templates/agents/maxsim-spec-reviewer.md +150 -0
  11. package/dist/assets/templates/agents/maxsim-verifier.md +43 -0
  12. package/dist/assets/templates/commands/maxsim/init-existing.md +42 -0
  13. package/dist/assets/templates/skills/systematic-debugging/SKILL.md +118 -0
  14. package/dist/assets/templates/skills/tdd/SKILL.md +118 -0
  15. package/dist/assets/templates/skills/verification-before-completion/SKILL.md +102 -0
  16. package/dist/assets/templates/workflows/init-existing.md +1099 -0
  17. package/dist/cli.cjs +55 -4
  18. package/dist/cli.cjs.map +1 -1
  19. package/dist/cli.js +2 -1
  20. package/dist/cli.js.map +1 -1
  21. package/dist/core/core.js +1 -1
  22. package/dist/core/core.js.map +1 -1
  23. package/dist/core/index.d.ts +2 -2
  24. package/dist/core/index.d.ts.map +1 -1
  25. package/dist/core/index.js +2 -1
  26. package/dist/core/index.js.map +1 -1
  27. package/dist/core/init.d.ts +24 -2
  28. package/dist/core/init.d.ts.map +1 -1
  29. package/dist/core/init.js +61 -0
  30. package/dist/core/init.js.map +1 -1
  31. package/dist/core/roadmap.js +2 -2
  32. package/dist/core/roadmap.js.map +1 -1
  33. package/dist/install.cjs +38 -0
  34. package/dist/install.cjs.map +1 -1
  35. package/dist/install.js +49 -0
  36. package/dist/install.js.map +1 -1
  37. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -4970,7 +4970,7 @@ function getRoadmapPhaseInternal(cwd, phaseNum) {
4970
4970
  const nextHeaderMatch = content.slice(headerIndex).match(/\n#{2,4}\s+Phase\s+\d/i);
4971
4971
  const sectionEnd = nextHeaderMatch ? headerIndex + nextHeaderMatch.index : content.length;
4972
4972
  const section = content.slice(headerIndex, sectionEnd).trim();
4973
- const goalMatch = section.match(/\*\*Goal:\*\*\s*([^\n]+)/i);
4973
+ const goalMatch = section.match(/\*\*Goal(?::\*\*|\*\*:)\s*([^\n]+)/i);
4974
4974
  const goal = goalMatch ? goalMatch[1].trim() : null;
4975
4975
  return {
4976
4976
  found: true,
@@ -12491,7 +12491,7 @@ function cmdRoadmapGetPhase(cwd, phaseNum, raw) {
12491
12491
  const nextHeaderMatch = content.slice(headerIndex).match(/\n#{2,4}\s+Phase\s+\d/i);
12492
12492
  const sectionEnd = nextHeaderMatch ? headerIndex + nextHeaderMatch.index : content.length;
12493
12493
  const section = content.slice(headerIndex, sectionEnd).trim();
12494
- const goalMatch = section.match(/\*\*Goal:\*\*\s*([^\n]+)/i);
12494
+ const goalMatch = section.match(/\*\*Goal(?::\*\*|\*\*:)\s*([^\n]+)/i);
12495
12495
  const goal = goalMatch ? goalMatch[1].trim() : null;
12496
12496
  const criteriaMatch = section.match(/\*\*Success Criteria\*\*[^\n]*:\s*\n((?:\s*\d+\.\s*[^\n]+\n?)+)/i);
12497
12497
  output({
@@ -12529,7 +12529,7 @@ function cmdRoadmapAnalyze(cwd, raw) {
12529
12529
  const nextHeader = content.slice(sectionStart).match(/\n#{2,4}\s+Phase\s+\d/i);
12530
12530
  const sectionEnd = nextHeader ? sectionStart + nextHeader.index : content.length;
12531
12531
  const section = content.slice(sectionStart, sectionEnd);
12532
- const goalMatch = section.match(/\*\*Goal:\*\*\s*([^\n]+)/i);
12532
+ const goalMatch = section.match(/\*\*Goal(?::\*\*|\*\*:)\s*([^\n]+)/i);
12533
12533
  const goal = goalMatch ? goalMatch[1].trim() : null;
12534
12534
  const dependsMatch = section.match(/\*\*Depends on:\*\*\s*([^\n]+)/i);
12535
12535
  const depends_on = dependsMatch ? dependsMatch[1].trim() : null;
@@ -15453,6 +15453,56 @@ function cmdInitMapCodebase(cwd, raw) {
15453
15453
  codebase_dir_exists: pathExistsInternal(cwd, ".planning/codebase")
15454
15454
  }, raw);
15455
15455
  }
15456
+ function cmdInitExisting(cwd, raw) {
15457
+ const config = loadConfig(cwd);
15458
+ const homedir = node_os.default.homedir();
15459
+ const braveKeyFile = node_path.default.join(homedir, ".maxsim", "brave_api_key");
15460
+ const hasBraveSearch = !!(process.env.BRAVE_API_KEY || node_fs.default.existsSync(braveKeyFile));
15461
+ let hasCode = false;
15462
+ let hasPackageFile = false;
15463
+ try {
15464
+ hasCode = (0, node_child_process.execSync)("find . -maxdepth 3 \\( -name \"*.ts\" -o -name \"*.js\" -o -name \"*.py\" -o -name \"*.go\" -o -name \"*.rs\" -o -name \"*.swift\" -o -name \"*.java\" \\) 2>/dev/null | grep -v node_modules | grep -v .git | head -5", {
15465
+ cwd,
15466
+ encoding: "utf-8",
15467
+ stdio: [
15468
+ "pipe",
15469
+ "pipe",
15470
+ "pipe"
15471
+ ]
15472
+ }).trim().length > 0;
15473
+ } catch (e) {
15474
+ if (process.env.MAXSIM_DEBUG) console.error(e);
15475
+ }
15476
+ hasPackageFile = pathExistsInternal(cwd, "package.json") || pathExistsInternal(cwd, "requirements.txt") || pathExistsInternal(cwd, "Cargo.toml") || pathExistsInternal(cwd, "go.mod") || pathExistsInternal(cwd, "Package.swift");
15477
+ let planningFiles = [];
15478
+ try {
15479
+ const planDir = node_path.default.join(cwd, ".planning");
15480
+ if (node_fs.default.existsSync(planDir)) planningFiles = node_fs.default.readdirSync(planDir, { recursive: true }).map((f) => String(f)).filter((f) => !f.startsWith("."));
15481
+ } catch (e) {
15482
+ if (process.env.MAXSIM_DEBUG) console.error(e);
15483
+ }
15484
+ output({
15485
+ researcher_model: resolveModelInternal(cwd, "maxsim-project-researcher"),
15486
+ synthesizer_model: resolveModelInternal(cwd, "maxsim-research-synthesizer"),
15487
+ roadmapper_model: resolveModelInternal(cwd, "maxsim-roadmapper"),
15488
+ mapper_model: resolveModelInternal(cwd, "maxsim-codebase-mapper"),
15489
+ commit_docs: config.commit_docs,
15490
+ project_exists: pathExistsInternal(cwd, ".planning/PROJECT.md"),
15491
+ planning_exists: pathExistsInternal(cwd, ".planning"),
15492
+ planning_files: planningFiles,
15493
+ has_codebase_map: pathExistsInternal(cwd, ".planning/codebase"),
15494
+ has_existing_code: hasCode,
15495
+ has_package_file: hasPackageFile,
15496
+ has_git: pathExistsInternal(cwd, ".git"),
15497
+ has_readme: pathExistsInternal(cwd, "README.md"),
15498
+ conflict_detected: planningFiles.length > 0,
15499
+ existing_file_count: planningFiles.length,
15500
+ brave_search_available: hasBraveSearch,
15501
+ parallelization: config.parallelization,
15502
+ project_path: ".planning/PROJECT.md",
15503
+ codebase_dir: ".planning/codebase"
15504
+ }, raw);
15505
+ }
15456
15506
  function cmdInitProgress(cwd, raw) {
15457
15507
  const config = loadConfig(cwd);
15458
15508
  const milestone = getMilestoneInfo(cwd);
@@ -15712,10 +15762,11 @@ const handleInit = (args, cwd, raw) => {
15712
15762
  "todos": () => cmdInitTodos(cwd, args[2], raw),
15713
15763
  "milestone-op": () => cmdInitMilestoneOp(cwd, raw),
15714
15764
  "map-codebase": () => cmdInitMapCodebase(cwd, raw),
15765
+ "init-existing": () => cmdInitExisting(cwd, raw),
15715
15766
  "progress": () => cmdInitProgress(cwd, raw)
15716
15767
  }[workflow] : void 0;
15717
15768
  if (handler) return handler();
15718
- error(`Unknown init workflow: ${workflow}\nAvailable: execute-phase, plan-phase, new-project, new-milestone, quick, resume, verify-work, phase-op, todos, milestone-op, map-codebase, progress`);
15769
+ error(`Unknown init workflow: ${workflow}\nAvailable: execute-phase, plan-phase, new-project, new-milestone, quick, resume, verify-work, phase-op, todos, milestone-op, map-codebase, init-existing, progress`);
15719
15770
  };
15720
15771
  const COMMANDS = {
15721
15772
  "state": handleState,