maxsimcli 4.3.1 → 4.4.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 (39) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/assets/CHANGELOG.md +7 -0
  3. package/dist/assets/templates/agents/AGENTS.md +67 -0
  4. package/dist/assets/templates/agents/maxsim-code-reviewer.md +138 -4
  5. package/dist/assets/templates/agents/maxsim-codebase-mapper.md +94 -7
  6. package/dist/assets/templates/agents/maxsim-debugger.md +124 -0
  7. package/dist/assets/templates/agents/maxsim-executor.md +213 -8
  8. package/dist/assets/templates/agents/maxsim-integration-checker.md +99 -1
  9. package/dist/assets/templates/agents/maxsim-phase-researcher.md +83 -4
  10. package/dist/assets/templates/agents/maxsim-plan-checker.md +99 -4
  11. package/dist/assets/templates/agents/maxsim-planner.md +97 -0
  12. package/dist/assets/templates/agents/maxsim-project-researcher.md +82 -0
  13. package/dist/assets/templates/agents/maxsim-research-synthesizer.md +81 -0
  14. package/dist/assets/templates/agents/maxsim-roadmapper.md +85 -0
  15. package/dist/assets/templates/agents/maxsim-spec-reviewer.md +141 -4
  16. package/dist/assets/templates/agents/maxsim-verifier.md +102 -4
  17. package/dist/assets/templates/workflows/execute-phase.md +10 -6
  18. package/dist/assets/templates/workflows/quick.md +110 -0
  19. package/dist/backend-server.cjs.map +1 -1
  20. package/dist/cli.cjs +148 -2
  21. package/dist/cli.cjs.map +1 -1
  22. package/dist/cli.js +7 -1
  23. package/dist/cli.js.map +1 -1
  24. package/dist/core/frontmatter.d.ts.map +1 -1
  25. package/dist/core/frontmatter.js +3 -0
  26. package/dist/core/frontmatter.js.map +1 -1
  27. package/dist/core/index.d.ts +2 -2
  28. package/dist/core/index.d.ts.map +1 -1
  29. package/dist/core/index.js +7 -1
  30. package/dist/core/index.js.map +1 -1
  31. package/dist/core/init.d.ts +10 -0
  32. package/dist/core/init.d.ts.map +1 -1
  33. package/dist/core/init.js +162 -0
  34. package/dist/core/init.js.map +1 -1
  35. package/dist/core/types.d.ts +82 -0
  36. package/dist/core/types.d.ts.map +1 -1
  37. package/dist/mcp-server.cjs.map +1 -1
  38. package/dist/skills-MYlMkYNt.cjs.map +1 -1
  39. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -12030,6 +12030,11 @@ const FRONTMATTER_SCHEMAS = {
12030
12030
  "verified",
12031
12031
  "status",
12032
12032
  "score"
12033
+ ] },
12034
+ review: { required: [
12035
+ "status",
12036
+ "critical_count",
12037
+ "warning_count"
12033
12038
  ] }
12034
12039
  };
12035
12040
  function cmdFrontmatterGet(cwd, filePath, field) {
@@ -16696,6 +16701,142 @@ function cmdInitProgress(cwd) {
16696
16701
  config_path: ".planning/config.json"
16697
16702
  });
16698
16703
  }
16704
+ /**
16705
+ * Scan .planning/codebase/ for .md files and return relative paths.
16706
+ * Returns empty array if the directory does not exist.
16707
+ */
16708
+ function listCodebaseDocs(cwd) {
16709
+ const codebaseDir = planningPath(cwd, "codebase");
16710
+ try {
16711
+ return node_fs.default.readdirSync(codebaseDir).filter((f) => f.endsWith(".md")).map((f) => node_path.default.join(".planning", "codebase", f));
16712
+ } catch {
16713
+ return [];
16714
+ }
16715
+ }
16716
+ function cmdInitExecutor(cwd, phase) {
16717
+ if (!phase) return cmdErr("phase required for init executor");
16718
+ const config = loadConfig(cwd);
16719
+ const phaseInfo = findPhaseInternal(cwd, phase);
16720
+ const codebaseDocs = listCodebaseDocs(cwd);
16721
+ const result = {
16722
+ executor_model: resolveModelInternal(cwd, "maxsim-executor"),
16723
+ verifier_model: resolveModelInternal(cwd, "maxsim-verifier"),
16724
+ commit_docs: config.commit_docs,
16725
+ parallelization: config.parallelization,
16726
+ branching_strategy: config.branching_strategy,
16727
+ phase_branch_template: config.phase_branch_template,
16728
+ milestone_branch_template: config.milestone_branch_template,
16729
+ phase_found: !!phaseInfo,
16730
+ phase_dir: phaseInfo?.directory ?? null,
16731
+ phase_number: phaseInfo?.phase_number ?? null,
16732
+ phase_name: phaseInfo?.phase_name ?? null,
16733
+ state_path: ".planning/STATE.md",
16734
+ codebase_docs: codebaseDocs
16735
+ };
16736
+ if (pathExistsInternal(cwd, ".planning/CONVENTIONS.md")) result.conventions_path = ".planning/CONVENTIONS.md";
16737
+ return cmdOk(result);
16738
+ }
16739
+ function cmdInitPlanner(cwd, phase) {
16740
+ if (!phase) return cmdErr("phase required for init planner");
16741
+ const config = loadConfig(cwd);
16742
+ const phaseInfo = findPhaseInternal(cwd, phase);
16743
+ const phase_req_ids = extractReqIds(cwd, phase);
16744
+ const codebaseDocs = listCodebaseDocs(cwd);
16745
+ const result = {
16746
+ planner_model: resolveModelInternal(cwd, "maxsim-planner"),
16747
+ checker_model: resolveModelInternal(cwd, "maxsim-plan-checker"),
16748
+ commit_docs: config.commit_docs,
16749
+ research_enabled: config.research,
16750
+ plan_checker_enabled: config.plan_checker,
16751
+ phase_found: !!phaseInfo,
16752
+ phase_dir: phaseInfo?.directory ?? null,
16753
+ phase_number: phaseInfo?.phase_number ?? null,
16754
+ phase_name: phaseInfo?.phase_name ?? null,
16755
+ phase_req_ids,
16756
+ has_research: phaseInfo?.has_research ?? false,
16757
+ has_context: phaseInfo?.has_context ?? false,
16758
+ has_plans: (phaseInfo?.plans?.length ?? 0) > 0,
16759
+ plan_count: phaseInfo?.plans?.length ?? 0,
16760
+ state_path: ".planning/STATE.md",
16761
+ roadmap_path: ".planning/ROADMAP.md",
16762
+ requirements_path: ".planning/REQUIREMENTS.md",
16763
+ codebase_docs: codebaseDocs
16764
+ };
16765
+ if (pathExistsInternal(cwd, ".planning/CONVENTIONS.md")) result.conventions_path = ".planning/CONVENTIONS.md";
16766
+ if (phaseInfo?.directory) {
16767
+ const artifacts = scanPhaseArtifacts(cwd, phaseInfo.directory);
16768
+ if (artifacts.context_path) result.context_path = artifacts.context_path;
16769
+ if (artifacts.research_path) result.research_path = artifacts.research_path;
16770
+ }
16771
+ return cmdOk(result);
16772
+ }
16773
+ function cmdInitResearcher(cwd, phase) {
16774
+ if (!phase) return cmdErr("phase required for init researcher");
16775
+ const config = loadConfig(cwd);
16776
+ const phaseInfo = findPhaseInternal(cwd, phase);
16777
+ const phase_req_ids = extractReqIds(cwd, phase);
16778
+ const codebaseDocs = listCodebaseDocs(cwd);
16779
+ const result = {
16780
+ researcher_model: resolveModelInternal(cwd, "maxsim-phase-researcher"),
16781
+ commit_docs: config.commit_docs,
16782
+ brave_search: config.brave_search,
16783
+ phase_found: !!phaseInfo,
16784
+ phase_dir: phaseInfo?.directory ?? null,
16785
+ phase_number: phaseInfo?.phase_number ?? null,
16786
+ phase_name: phaseInfo?.phase_name ?? null,
16787
+ padded_phase: phaseInfo?.phase_number?.padStart(2, "0") ?? null,
16788
+ phase_req_ids,
16789
+ has_research: phaseInfo?.has_research ?? false,
16790
+ has_context: phaseInfo?.has_context ?? false,
16791
+ state_path: ".planning/STATE.md",
16792
+ roadmap_path: ".planning/ROADMAP.md",
16793
+ requirements_path: ".planning/REQUIREMENTS.md",
16794
+ codebase_docs: codebaseDocs
16795
+ };
16796
+ if (pathExistsInternal(cwd, ".planning/CONVENTIONS.md")) result.conventions_path = ".planning/CONVENTIONS.md";
16797
+ if (phaseInfo?.directory) {
16798
+ const artifacts = scanPhaseArtifacts(cwd, phaseInfo.directory);
16799
+ if (artifacts.context_path) result.context_path = artifacts.context_path;
16800
+ }
16801
+ return cmdOk(result);
16802
+ }
16803
+ function cmdInitVerifier(cwd, phase) {
16804
+ if (!phase) return cmdErr("phase required for init verifier");
16805
+ const config = loadConfig(cwd);
16806
+ const phaseInfo = findPhaseInternal(cwd, phase);
16807
+ const phase_req_ids = extractReqIds(cwd, phase);
16808
+ const codebaseDocs = listCodebaseDocs(cwd);
16809
+ return cmdOk({
16810
+ verifier_model: resolveModelInternal(cwd, "maxsim-verifier"),
16811
+ commit_docs: config.commit_docs,
16812
+ phase_found: !!phaseInfo,
16813
+ phase_dir: phaseInfo?.directory ?? null,
16814
+ phase_number: phaseInfo?.phase_number ?? null,
16815
+ phase_name: phaseInfo?.phase_name ?? null,
16816
+ phase_req_ids,
16817
+ state_path: ".planning/STATE.md",
16818
+ roadmap_path: ".planning/ROADMAP.md",
16819
+ requirements_path: ".planning/REQUIREMENTS.md",
16820
+ codebase_docs: codebaseDocs
16821
+ });
16822
+ }
16823
+ function cmdInitDebugger(cwd, phase) {
16824
+ const config = loadConfig(cwd);
16825
+ const phaseInfo = phase ? findPhaseInternal(cwd, phase) : null;
16826
+ const codebaseDocs = listCodebaseDocs(cwd);
16827
+ const result = {
16828
+ debugger_model: resolveModelInternal(cwd, "maxsim-debugger"),
16829
+ commit_docs: config.commit_docs,
16830
+ phase_found: !!phaseInfo,
16831
+ phase_dir: phaseInfo?.directory ?? null,
16832
+ phase_number: phaseInfo?.phase_number ?? null,
16833
+ phase_name: phaseInfo?.phase_name ?? null,
16834
+ state_path: ".planning/STATE.md",
16835
+ codebase_docs: codebaseDocs
16836
+ };
16837
+ if (pathExistsInternal(cwd, ".planning/CONVENTIONS.md")) result.conventions_path = ".planning/CONVENTIONS.md";
16838
+ return cmdOk(result);
16839
+ }
16699
16840
 
16700
16841
  //#endregion
16701
16842
  //#region src/cli.ts
@@ -16900,10 +17041,15 @@ const handleInit = (args, cwd, raw) => {
16900
17041
  "milestone-op": () => cmdInitMilestoneOp(cwd),
16901
17042
  "map-codebase": () => cmdInitMapCodebase(cwd),
16902
17043
  "init-existing": () => cmdInitExisting(cwd),
16903
- "progress": () => cmdInitProgress(cwd)
17044
+ "progress": () => cmdInitProgress(cwd),
17045
+ "executor": () => cmdInitExecutor(cwd, args[2]),
17046
+ "planner": () => cmdInitPlanner(cwd, args[2]),
17047
+ "researcher": () => cmdInitResearcher(cwd, args[2]),
17048
+ "verifier": () => cmdInitVerifier(cwd, args[2]),
17049
+ "debugger": () => cmdInitDebugger(cwd, args[2])
16904
17050
  }[workflow] : void 0;
16905
17051
  if (handler) return handleResult(handler(), raw);
16906
- 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`);
17052
+ 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, executor, planner, researcher, verifier, debugger`);
16907
17053
  };
16908
17054
  const COMMANDS = {
16909
17055
  "state": handleState,