mdan-method 2.6.3

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 (612) hide show
  1. package/.mdan/config/config.yaml +36 -0
  2. package/.mdan/state/MDAN-STATE.template.json +39 -0
  3. package/AGENTS.md +308 -0
  4. package/AGENTS_LIST.md +946 -0
  5. package/ARCHITECTURE.md +590 -0
  6. package/CHANGELOG.md +1770 -0
  7. package/CONTRIBUTING.md +512 -0
  8. package/INSTALL.md +246 -0
  9. package/LICENSE +30 -0
  10. package/MDAN.fr.md +259 -0
  11. package/README.md +233 -0
  12. package/SECURITY.md +85 -0
  13. package/USAGE.md +368 -0
  14. package/app/__init__.py +5 -0
  15. package/app/cis/agents/__init__.py +31 -0
  16. package/app/cis/agents/brainstorming-coach/__init__.py +3 -0
  17. package/app/cis/agents/brainstorming-coach/agent.py +162 -0
  18. package/app/cis/agents/brainstorming-coach/prompt.yaml +53 -0
  19. package/app/cis/agents/creative-problem-solver/__init__.py +3 -0
  20. package/app/cis/agents/creative-problem-solver/agent.py +233 -0
  21. package/app/cis/agents/creative-problem-solver/prompt.yaml +74 -0
  22. package/app/cis/agents/design-thinking-coach/__init__.py +3 -0
  23. package/app/cis/agents/design-thinking-coach/agent.py +241 -0
  24. package/app/cis/agents/design-thinking-coach/prompt.yaml +77 -0
  25. package/app/cis/agents/innovation-strategist/__init__.py +3 -0
  26. package/app/cis/agents/innovation-strategist/agent.py +271 -0
  27. package/app/cis/agents/innovation-strategist/prompt.yaml +70 -0
  28. package/app/cis/agents/presentation-master/__init__.py +3 -0
  29. package/app/cis/agents/presentation-master/agent.py +420 -0
  30. package/app/cis/agents/presentation-master/prompt.yaml +62 -0
  31. package/app/cis/agents/storyteller/__init__.py +3 -0
  32. package/app/cis/agents/storyteller/agent.py +303 -0
  33. package/app/cis/agents/storyteller/prompt.yaml +99 -0
  34. package/app/core/__init__.py +5 -0
  35. package/app/core/agents/__init__.py +5 -0
  36. package/app/core/agents/mdan-master/__init__.py +7 -0
  37. package/app/core/agents/mdan-master/agent.py +302 -0
  38. package/app/core/agents/mdan-master/prompt.yaml +105 -0
  39. package/app/mmb/agents/__init__.py +24 -0
  40. package/app/mmb/agents/agent-builder/__init__.py +5 -0
  41. package/app/mmb/agents/agent-builder/agent.py +261 -0
  42. package/app/mmb/agents/agent-builder/prompt.yaml +48 -0
  43. package/app/mmb/agents/module-builder/__init__.py +5 -0
  44. package/app/mmb/agents/module-builder/agent.py +299 -0
  45. package/app/mmb/agents/module-builder/prompt.yaml +50 -0
  46. package/app/mmb/agents/workflow-builder/__init__.py +5 -0
  47. package/app/mmb/agents/workflow-builder/agent.py +318 -0
  48. package/app/mmb/agents/workflow-builder/prompt.yaml +52 -0
  49. package/app/mmm/agents/__init__.py +48 -0
  50. package/app/mmm/agents/analyst/__init__.py +7 -0
  51. package/app/mmm/agents/analyst/agent.py +384 -0
  52. package/app/mmm/agents/analyst/prompt.yaml +62 -0
  53. package/app/mmm/agents/architect/__init__.py +7 -0
  54. package/app/mmm/agents/architect/agent.py +300 -0
  55. package/app/mmm/agents/architect/prompt.yaml +66 -0
  56. package/app/mmm/agents/dev/__init__.py +7 -0
  57. package/app/mmm/agents/dev/agent.py +285 -0
  58. package/app/mmm/agents/dev/prompt.yaml +62 -0
  59. package/app/mmm/agents/pm/__init__.py +7 -0
  60. package/app/mmm/agents/pm/agent.py +417 -0
  61. package/app/mmm/agents/pm/prompt.yaml +64 -0
  62. package/app/mmm/agents/qa/__init__.py +7 -0
  63. package/app/mmm/agents/qa/agent.py +267 -0
  64. package/app/mmm/agents/qa/prompt.yaml +67 -0
  65. package/app/mmm/agents/quick-flow-solo-dev/__init__.py +7 -0
  66. package/app/mmm/agents/quick-flow-solo-dev/agent.py +319 -0
  67. package/app/mmm/agents/quick-flow-solo-dev/prompt.yaml +60 -0
  68. package/app/mmm/agents/sm/__init__.py +7 -0
  69. package/app/mmm/agents/sm/agent.py +357 -0
  70. package/app/mmm/agents/sm/prompt.yaml +61 -0
  71. package/app/mmm/agents/tech-writer/__init__.py +7 -0
  72. package/app/mmm/agents/tech-writer/agent.py +420 -0
  73. package/app/mmm/agents/tech-writer/prompt.yaml +70 -0
  74. package/app/mmm/agents/ux-designer/__init__.py +14 -0
  75. package/app/mmm/agents/ux-designer/agent.py +412 -0
  76. package/app/mmm/agents/ux-designer/prompt.yaml +37 -0
  77. package/app/packs/__init__.py +32 -0
  78. package/app/packs/db-optimization/__init__.py +13 -0
  79. package/app/packs/db-optimization/agents/__init__.py +11 -0
  80. package/app/packs/db-optimization/agents/db-performance-analyst/__init__.py +5 -0
  81. package/app/packs/db-optimization/agents/db-performance-analyst/agent.py +559 -0
  82. package/app/packs/db-optimization/agents/db-performance-analyst/prompt.yaml +63 -0
  83. package/app/packs/db-optimization/agents/indexing-specialist/__init__.py +5 -0
  84. package/app/packs/db-optimization/agents/indexing-specialist/agent.py +713 -0
  85. package/app/packs/db-optimization/agents/indexing-specialist/prompt.yaml +92 -0
  86. package/app/packs/db-optimization/agents/query-optimizer/__init__.py +5 -0
  87. package/app/packs/db-optimization/agents/query-optimizer/agent.py +566 -0
  88. package/app/packs/db-optimization/agents/query-optimizer/prompt.yaml +74 -0
  89. package/app/packs/devops-azure/__init__.py +13 -0
  90. package/app/packs/devops-azure/agents/__init__.py +11 -0
  91. package/app/packs/devops-azure/agents/azure-specialist/__init__.py +5 -0
  92. package/app/packs/devops-azure/agents/azure-specialist/agent.py +584 -0
  93. package/app/packs/devops-azure/agents/azure-specialist/prompt.yaml +301 -0
  94. package/app/packs/devops-azure/agents/cicd-architect/__init__.py +5 -0
  95. package/app/packs/devops-azure/agents/cicd-architect/agent.py +665 -0
  96. package/app/packs/devops-azure/agents/cicd-architect/prompt.yaml +409 -0
  97. package/app/packs/devops-azure/agents/devops-engineer/__init__.py +5 -0
  98. package/app/packs/devops-azure/agents/devops-engineer/agent.py +545 -0
  99. package/app/packs/devops-azure/agents/devops-engineer/prompt.yaml +263 -0
  100. package/app/packs/fintech/__init__.py +13 -0
  101. package/app/packs/fintech/agents/__init__.py +11 -0
  102. package/app/packs/fintech/agents/compliance-officer/__init__.py +5 -0
  103. package/app/packs/fintech/agents/compliance-officer/agent.py +449 -0
  104. package/app/packs/fintech/agents/compliance-officer/prompt.yaml +135 -0
  105. package/app/packs/fintech/agents/financial-analyst/__init__.py +5 -0
  106. package/app/packs/fintech/agents/financial-analyst/agent.py +392 -0
  107. package/app/packs/fintech/agents/financial-analyst/prompt.yaml +143 -0
  108. package/app/packs/fintech/agents/risk-manager/__init__.py +5 -0
  109. package/app/packs/fintech/agents/risk-manager/agent.py +664 -0
  110. package/app/packs/fintech/agents/risk-manager/prompt.yaml +240 -0
  111. package/app/tea/agents/tea/__init__.py +9 -0
  112. package/app/tea/agents/tea/agent.py +689 -0
  113. package/app/tea/agents/tea/prompt.yaml +100 -0
  114. package/cli/v1/mdan.py +421 -0
  115. package/cli/v1/mdan.sh +724 -0
  116. package/cli/v1/mdan_crewai.py +539 -0
  117. package/docs/404.md +9 -0
  118. package/docs/_STYLE_GUIDE.md +370 -0
  119. package/docs/explanation/advanced-elicitation.md +49 -0
  120. package/docs/explanation/adversarial-review.md +59 -0
  121. package/docs/explanation/brainstorming.md +33 -0
  122. package/docs/explanation/established-projects-faq.md +50 -0
  123. package/docs/explanation/party-mode.md +59 -0
  124. package/docs/explanation/preventing-agent-conflicts.md +112 -0
  125. package/docs/explanation/project-context.md +157 -0
  126. package/docs/explanation/quick-flow.md +73 -0
  127. package/docs/explanation/why-solutioning-matters.md +77 -0
  128. package/docs/how-to/customize-mdan.md +172 -0
  129. package/docs/how-to/established-projects.md +117 -0
  130. package/docs/how-to/get-answers-about-mdan.md +134 -0
  131. package/docs/how-to/install-mdan.md +97 -0
  132. package/docs/how-to/non-interactive-installation.md +171 -0
  133. package/docs/how-to/project-context.md +136 -0
  134. package/docs/how-to/quick-fixes.md +123 -0
  135. package/docs/how-to/shard-large-documents.md +78 -0
  136. package/docs/how-to/upgrade-to-v6.md +97 -0
  137. package/docs/index.md +59 -0
  138. package/docs/reference/agents.md +28 -0
  139. package/docs/reference/commands.md +151 -0
  140. package/docs/reference/modules.md +76 -0
  141. package/docs/reference/testing.md +106 -0
  142. package/docs/reference/workflow-map.md +89 -0
  143. package/docs/roadmap.mdx +136 -0
  144. package/docs/tutorials/getting-started.md +286 -0
  145. package/examples/crewai/crewai_auto_mode.py +62 -0
  146. package/examples/crewai/crewai_custom_crew.py +85 -0
  147. package/examples/crewai/crewai_debate.py +57 -0
  148. package/examples/crewai/crewai_with_serper.py +82 -0
  149. package/examples/crewai/crewai_with_sql.py +117 -0
  150. package/integrations/__init__.py +33 -0
  151. package/integrations/crewai/__init__.py +27 -0
  152. package/integrations/crewai/agents/__init__.py +21 -0
  153. package/integrations/crewai/agents/architect_agent.py +264 -0
  154. package/integrations/crewai/agents/dev_agent.py +271 -0
  155. package/integrations/crewai/agents/devops_agent.py +421 -0
  156. package/integrations/crewai/agents/doc_agent.py +388 -0
  157. package/integrations/crewai/agents/product_agent.py +203 -0
  158. package/integrations/crewai/agents/security_agent.py +386 -0
  159. package/integrations/crewai/agents/test_agent.py +358 -0
  160. package/integrations/crewai/agents/ux_agent.py +257 -0
  161. package/integrations/crewai/flows/__init__.py +13 -0
  162. package/integrations/crewai/flows/auto_flow.py +451 -0
  163. package/integrations/crewai/flows/build_flow.py +297 -0
  164. package/integrations/crewai/flows/debate_flow.py +422 -0
  165. package/integrations/crewai/flows/discovery_flow.py +267 -0
  166. package/integrations/crewai/orchestrator.py +558 -0
  167. package/integrations/crewai/skills/__init__.py +8 -0
  168. package/integrations/crewai/skills/skill_router.py +534 -0
  169. package/integrations/crewai/tools/__init__.py +11 -0
  170. package/integrations/crewai/tools/file_tool.py +355 -0
  171. package/integrations/crewai/tools/serper_tool.py +169 -0
  172. package/integrations/crewai/tools/sql_tool.py +435 -0
  173. package/integrations/docs/all-integrations.md +300 -0
  174. package/integrations/docs/cursor.md +74 -0
  175. package/integrations/docs/mcp.md +153 -0
  176. package/integrations/docs/windsurf.md +48 -0
  177. package/package.json +119 -0
  178. package/prompts/cis/brainstorming-coach.yaml +53 -0
  179. package/prompts/cis/creative-problem-solver.yaml +74 -0
  180. package/prompts/cis/design-thinking-coach.yaml +77 -0
  181. package/prompts/cis/innovation-strategist.yaml +70 -0
  182. package/prompts/cis/presentation-master.yaml +62 -0
  183. package/prompts/cis/storyteller.yaml +99 -0
  184. package/prompts/core/mdan-master.yaml +105 -0
  185. package/prompts/mmb/agent-builder.yaml +48 -0
  186. package/prompts/mmb/module-builder.yaml +50 -0
  187. package/prompts/mmb/workflow-builder.yaml +52 -0
  188. package/prompts/mmm/analyst.yaml +62 -0
  189. package/prompts/mmm/architect.yaml +66 -0
  190. package/prompts/mmm/dev.yaml +62 -0
  191. package/prompts/mmm/pm.yaml +64 -0
  192. package/prompts/mmm/qa.yaml +67 -0
  193. package/prompts/mmm/quick-flow-solo-dev.yaml +60 -0
  194. package/prompts/mmm/sm.yaml +61 -0
  195. package/prompts/mmm/tech-writer.yaml +70 -0
  196. package/prompts/mmm/ux-designer.yaml +33 -0
  197. package/prompts/packs/db-optimization/db-performance-analyst.yaml +63 -0
  198. package/prompts/packs/db-optimization/indexing-specialist.yaml +92 -0
  199. package/prompts/packs/db-optimization/query-optimizer.yaml +74 -0
  200. package/prompts/packs/devops-azure/azure-specialist.yaml +301 -0
  201. package/prompts/packs/devops-azure/cicd-architect.yaml +409 -0
  202. package/prompts/packs/devops-azure/devops-engineer.yaml +263 -0
  203. package/prompts/packs/fintech/compliance-officer.yaml +135 -0
  204. package/prompts/packs/fintech/financial-analyst.yaml +143 -0
  205. package/prompts/packs/fintech/risk-manager.yaml +240 -0
  206. package/prompts/tea/tea.yaml +100 -0
  207. package/requirements.txt +5 -0
  208. package/requirements_crewai.txt +37 -0
  209. package/src/agents/module-help.csv +31 -0
  210. package/src/agents/module.yaml +50 -0
  211. package/src/agents/team/analyst.agent.yaml +43 -0
  212. package/src/agents/team/architect.agent.yaml +29 -0
  213. package/src/agents/team/dev.agent.yaml +38 -0
  214. package/src/agents/team/pm.agent.yaml +44 -0
  215. package/src/agents/team/qa.agent.yaml +58 -0
  216. package/src/agents/team/quick-flow-solo-dev.agent.yaml +32 -0
  217. package/src/agents/team/sm.agent.yaml +37 -0
  218. package/src/agents/team/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  219. package/src/agents/team/tech-writer/tech-writer.agent.yaml +46 -0
  220. package/src/agents/team/ux-designer.agent.yaml +27 -0
  221. package/src/agents/teams/default-party.csv +20 -0
  222. package/src/agents/teams/team-fullstack.yaml +12 -0
  223. package/src/core/WIZARD-ENGINE.md +94 -0
  224. package/src/core/agents/mdan-master.agent.yaml +133 -0
  225. package/src/core/tasks/editorial-review-prose.xml +102 -0
  226. package/src/core/tasks/editorial-review-structure.xml +208 -0
  227. package/src/core/tasks/help.md +86 -0
  228. package/src/core/tasks/index-docs.xml +65 -0
  229. package/src/core/tasks/review-adversarial-general.xml +49 -0
  230. package/src/core/tasks/shard-doc.xml +108 -0
  231. package/src/core/tasks/workflow.xml +235 -0
  232. package/src/memory/MEMORY-AUTO.json +66 -0
  233. package/src/memory/MEMORY-SYSTEM.md +61 -0
  234. package/src/memory/v1-memory-system.md +197 -0
  235. package/src/memory/v1-resume-protocol.md +379 -0
  236. package/src/packs/db-optimization/agents/prompt.yaml +63 -0
  237. package/src/packs/devops-azure/agents/prompt.yaml +301 -0
  238. package/src/packs/fintech/agents/prompt.yaml +135 -0
  239. package/src/phases/auto/auto-01-load.md +165 -0
  240. package/src/phases/auto/auto-02-discover.md +207 -0
  241. package/src/phases/auto/auto-03-plan.md +509 -0
  242. package/src/phases/auto/auto-04-architect.md +567 -0
  243. package/src/phases/auto/auto-05-implement.md +713 -0
  244. package/src/phases/auto/auto-06-test.md +559 -0
  245. package/src/phases/auto/auto-07-deploy.md +510 -0
  246. package/src/phases/auto/auto-08-doc.md +970 -0
  247. package/src/phases/manual/01-discover.md +136 -0
  248. package/src/phases/manual/02-design.md +147 -0
  249. package/src/phases/manual/03-build.md +113 -0
  250. package/src/phases/manual/04-verify.md +107 -0
  251. package/src/phases/manual/05-ship.md +156 -0
  252. package/src/protocols/debate-protocol.md +58 -0
  253. package/src/protocols/universal-envelope.md +42 -0
  254. package/src/protocols/v1-debate-protocol.md +454 -0
  255. package/src/protocols/v1-universal-envelope.md +273 -0
  256. package/src/utility/agent-components/activation-rules.txt +6 -0
  257. package/src/utility/agent-components/activation-steps.txt +14 -0
  258. package/src/utility/agent-components/agent-command-header.md +1 -0
  259. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  260. package/src/utility/agent-components/handler-action.txt +4 -0
  261. package/src/utility/agent-components/handler-data.txt +5 -0
  262. package/src/utility/agent-components/handler-exec.txt +6 -0
  263. package/src/utility/agent-components/handler-multi.txt +14 -0
  264. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  265. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  266. package/src/utility/agent-components/handler-workflow.txt +10 -0
  267. package/src/utility/agent-components/menu-handlers.txt +6 -0
  268. package/src/wizards/01-discover/create-product-brief/steps/step-01-init.md +7 -0
  269. package/src/wizards/01-discover/create-product-brief/steps/step-02-vision.md +7 -0
  270. package/src/wizards/01-discover/create-product-brief/steps/step-03-users.md +7 -0
  271. package/src/wizards/01-discover/create-product-brief/steps/step-04-scope.md +7 -0
  272. package/src/wizards/01-discover/create-product-brief/steps/step-05-metrics.md +7 -0
  273. package/src/wizards/01-discover/create-product-brief/steps/step-06-complete.md +7 -0
  274. package/src/wizards/01-discover/create-product-brief/templates/product-brief.template.md +14 -0
  275. package/src/wizards/01-discover/create-product-brief/wizard.md +105 -0
  276. package/src/wizards/01-discover/research/domain-steps/step-01-init.md +137 -0
  277. package/src/wizards/01-discover/research/domain-steps/step-02-domain-analysis.md +229 -0
  278. package/src/wizards/01-discover/research/domain-steps/step-03-competitive-landscape.md +238 -0
  279. package/src/wizards/01-discover/research/domain-steps/step-04-regulatory-focus.md +206 -0
  280. package/src/wizards/01-discover/research/domain-steps/step-05-technical-trends.md +234 -0
  281. package/src/wizards/01-discover/research/domain-steps/step-06-research-synthesis.md +444 -0
  282. package/src/wizards/01-discover/research/market-steps/step-01-init.md +182 -0
  283. package/src/wizards/01-discover/research/market-steps/step-02-customer-behavior.md +237 -0
  284. package/src/wizards/01-discover/research/market-steps/step-03-customer-pain-points.md +249 -0
  285. package/src/wizards/01-discover/research/market-steps/step-04-customer-decisions.md +259 -0
  286. package/src/wizards/01-discover/research/market-steps/step-05-competitive-analysis.md +177 -0
  287. package/src/wizards/01-discover/research/market-steps/step-06-research-completion.md +476 -0
  288. package/src/wizards/01-discover/research/technical-steps/step-01-init.md +137 -0
  289. package/src/wizards/01-discover/research/technical-steps/step-02-technical-overview.md +239 -0
  290. package/src/wizards/01-discover/research/technical-steps/step-03-integration-patterns.md +248 -0
  291. package/src/wizards/01-discover/research/technical-steps/step-04-architectural-patterns.md +202 -0
  292. package/src/wizards/01-discover/research/technical-steps/step-05-implementation-research.md +233 -0
  293. package/src/wizards/01-discover/research/technical-steps/step-06-research-synthesis.md +487 -0
  294. package/src/wizards/01-discover/research/templates/research.template.md +29 -0
  295. package/src/wizards/01-discover/research/workflow-domain-research.md +54 -0
  296. package/src/wizards/01-discover/research/workflow-market-research.md +54 -0
  297. package/src/wizards/01-discover/research/workflow-technical-research.md +54 -0
  298. package/src/wizards/02-plan/create-prd/data/domain-complexity.csv +15 -0
  299. package/src/wizards/02-plan/create-prd/data/prd-purpose.md +197 -0
  300. package/src/wizards/02-plan/create-prd/data/project-types.csv +11 -0
  301. package/src/wizards/02-plan/create-prd/steps/step-01-init.md +191 -0
  302. package/src/wizards/02-plan/create-prd/steps/step-01b-continue.md +152 -0
  303. package/src/wizards/02-plan/create-prd/steps/step-02-discovery.md +224 -0
  304. package/src/wizards/02-plan/create-prd/steps/step-02b-vision.md +154 -0
  305. package/src/wizards/02-plan/create-prd/steps/step-02c-executive-summary.md +170 -0
  306. package/src/wizards/02-plan/create-prd/steps/step-03-success.md +226 -0
  307. package/src/wizards/02-plan/create-prd/steps/step-04-journeys.md +213 -0
  308. package/src/wizards/02-plan/create-prd/steps/step-05-domain.md +207 -0
  309. package/src/wizards/02-plan/create-prd/steps/step-06-innovation.md +226 -0
  310. package/src/wizards/02-plan/create-prd/steps/step-07-project-type.md +237 -0
  311. package/src/wizards/02-plan/create-prd/steps/step-08-scoping.md +228 -0
  312. package/src/wizards/02-plan/create-prd/steps/step-09-functional.md +231 -0
  313. package/src/wizards/02-plan/create-prd/steps/step-10-nonfunctional.md +242 -0
  314. package/src/wizards/02-plan/create-prd/steps/step-11-polish.md +217 -0
  315. package/src/wizards/02-plan/create-prd/steps/step-12-complete.md +124 -0
  316. package/src/wizards/02-plan/create-prd/templates/prd-template.md +10 -0
  317. package/src/wizards/02-plan/create-prd/wizard.md +63 -0
  318. package/src/wizards/02-plan/create-ux-design/steps/step-01-init.md +135 -0
  319. package/src/wizards/02-plan/create-ux-design/steps/step-01b-continue.md +127 -0
  320. package/src/wizards/02-plan/create-ux-design/steps/step-02-discovery.md +190 -0
  321. package/src/wizards/02-plan/create-ux-design/steps/step-03-core-experience.md +216 -0
  322. package/src/wizards/02-plan/create-ux-design/steps/step-04-emotional-response.md +219 -0
  323. package/src/wizards/02-plan/create-ux-design/steps/step-05-inspiration.md +234 -0
  324. package/src/wizards/02-plan/create-ux-design/steps/step-06-design-system.md +252 -0
  325. package/src/wizards/02-plan/create-ux-design/steps/step-07-defining-experience.md +254 -0
  326. package/src/wizards/02-plan/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  327. package/src/wizards/02-plan/create-ux-design/steps/step-09-design-directions.md +224 -0
  328. package/src/wizards/02-plan/create-ux-design/steps/step-10-user-journeys.md +241 -0
  329. package/src/wizards/02-plan/create-ux-design/steps/step-11-component-strategy.md +248 -0
  330. package/src/wizards/02-plan/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  331. package/src/wizards/02-plan/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  332. package/src/wizards/02-plan/create-ux-design/steps/step-14-complete.md +171 -0
  333. package/src/wizards/02-plan/create-ux-design/templates/ux-design-template.md +13 -0
  334. package/src/wizards/02-plan/create-ux-design/wizard.md +42 -0
  335. package/src/wizards/03-architect/create-architecture/data/domain-complexity.csv +13 -0
  336. package/src/wizards/03-architect/create-architecture/data/project-types.csv +7 -0
  337. package/src/wizards/03-architect/create-architecture/steps/step-01-init.md +153 -0
  338. package/src/wizards/03-architect/create-architecture/steps/step-01b-continue.md +173 -0
  339. package/src/wizards/03-architect/create-architecture/steps/step-02-context.md +224 -0
  340. package/src/wizards/03-architect/create-architecture/steps/step-03-starter.md +329 -0
  341. package/src/wizards/03-architect/create-architecture/steps/step-04-decisions.md +318 -0
  342. package/src/wizards/03-architect/create-architecture/steps/step-05-patterns.md +359 -0
  343. package/src/wizards/03-architect/create-architecture/steps/step-06-structure.md +379 -0
  344. package/src/wizards/03-architect/create-architecture/steps/step-07-validation.md +359 -0
  345. package/src/wizards/03-architect/create-architecture/steps/step-08-complete.md +76 -0
  346. package/src/wizards/03-architect/create-architecture/templates/architecture-decision-template.md +12 -0
  347. package/src/wizards/03-architect/create-architecture/wizard.md +49 -0
  348. package/src/wizards/03-architect/create-epics/steps/step-01-validate-prerequisites.md +259 -0
  349. package/src/wizards/03-architect/create-epics/steps/step-02-design-epics.md +233 -0
  350. package/src/wizards/03-architect/create-epics/steps/step-03-create-stories.md +272 -0
  351. package/src/wizards/03-architect/create-epics/steps/step-04-final-validation.md +149 -0
  352. package/src/wizards/03-architect/create-epics/templates/epics-template.md +57 -0
  353. package/src/wizards/03-architect/create-epics/wizard.md +58 -0
  354. package/src/wizards/04-build/code-review/checklist.md +23 -0
  355. package/src/wizards/04-build/code-review/instructions.xml +227 -0
  356. package/src/wizards/04-build/code-review/workflow.yaml +43 -0
  357. package/src/wizards/04-build/dev-story/checklist.md +80 -0
  358. package/src/wizards/04-build/dev-story/instructions.xml +410 -0
  359. package/src/wizards/04-build/dev-story/workflow.yaml +20 -0
  360. package/src/wizards/04-build/sprint-planning/checklist.md +33 -0
  361. package/src/wizards/04-build/sprint-planning/instructions.md +226 -0
  362. package/src/wizards/04-build/sprint-planning/sprint-status-template.yaml +55 -0
  363. package/src/wizards/04-build/sprint-planning/workflow.yaml +47 -0
  364. package/src/wizards/05-ship/document-project/templates/deep-dive-template.md +345 -0
  365. package/src/wizards/05-ship/document-project/templates/index-template.md +169 -0
  366. package/src/wizards/05-ship/document-project/templates/project-overview-template.md +103 -0
  367. package/src/wizards/05-ship/document-project/templates/project-scan-report-schema.json +160 -0
  368. package/src/wizards/05-ship/document-project/templates/source-tree-template.md +135 -0
  369. package/src/wizards/05-ship/document-project/wizard.md +130 -0
  370. package/src/wizards/quick/quick-dev/steps/step-01-mode-detection.md +174 -0
  371. package/src/wizards/quick/quick-dev/steps/step-02-context-gathering.md +118 -0
  372. package/src/wizards/quick/quick-dev/steps/step-03-execute.md +111 -0
  373. package/src/wizards/quick/quick-dev/steps/step-04-self-check.md +111 -0
  374. package/src/wizards/quick/quick-dev/steps/step-05-adversarial-review.md +104 -0
  375. package/src/wizards/quick/quick-dev/steps/step-06-resolve-findings.md +146 -0
  376. package/src/wizards/quick/quick-dev/wizard.md +50 -0
  377. package/src/wizards/quick/quick-spec/steps/step-01-understand.md +189 -0
  378. package/src/wizards/quick/quick-spec/steps/step-02-investigate.md +143 -0
  379. package/src/wizards/quick/quick-spec/steps/step-03-generate.md +126 -0
  380. package/src/wizards/quick/quick-spec/steps/step-04-review.md +200 -0
  381. package/src/wizards/quick/quick-spec/templates/tech-spec-template.md +74 -0
  382. package/src/wizards/quick/quick-spec/wizard.md +79 -0
  383. package/src/wizards/special/brainstorming/methods/brain-methods.csv +62 -0
  384. package/src/wizards/special/brainstorming/steps/step-01-session-setup.md +197 -0
  385. package/src/wizards/special/brainstorming/steps/step-01b-continue.md +122 -0
  386. package/src/wizards/special/brainstorming/steps/step-02a-user-selected.md +225 -0
  387. package/src/wizards/special/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  388. package/src/wizards/special/brainstorming/steps/step-02c-random-selection.md +209 -0
  389. package/src/wizards/special/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  390. package/src/wizards/special/brainstorming/steps/step-03-technique-execution.md +399 -0
  391. package/src/wizards/special/brainstorming/steps/step-04-idea-organization.md +303 -0
  392. package/src/wizards/special/brainstorming/wizard.md +58 -0
  393. package/src/wizards/special/party-mode/steps/step-01-agent-loading.md +138 -0
  394. package/src/wizards/special/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  395. package/src/wizards/special/party-mode/steps/step-03-graceful-exit.md +168 -0
  396. package/src/wizards/special/party-mode/wizard.md +194 -0
  397. package/test/README.md +295 -0
  398. package/test/adversarial-review-tests/README.md +56 -0
  399. package/test/adversarial-review-tests/sample-content.md +46 -0
  400. package/test/adversarial-review-tests/test-cases.yaml +103 -0
  401. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  402. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  403. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  404. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  405. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  406. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  407. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  408. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  409. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  410. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  411. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  412. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  413. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  414. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  415. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  416. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  417. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  418. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  419. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  420. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  421. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  422. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  423. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  424. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  425. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  426. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  427. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  428. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  429. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  430. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  431. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  432. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  433. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  434. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  435. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  436. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  437. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  438. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  439. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  440. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  441. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  442. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  443. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  444. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  445. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  446. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  447. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  448. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  449. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  450. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  451. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  452. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  453. package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +3 -0
  454. package/test/fixtures/file-refs-csv/invalid/empty-data.csv +1 -0
  455. package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +3 -0
  456. package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +3 -0
  457. package/test/fixtures/file-refs-csv/valid/bmm-style.csv +3 -0
  458. package/test/fixtures/file-refs-csv/valid/core-style.csv +3 -0
  459. package/test/fixtures/file-refs-csv/valid/minimal.csv +2 -0
  460. package/test/test-agent-schema.js +387 -0
  461. package/test/test-cli-integration.sh +159 -0
  462. package/test/test-file-refs-csv.js +133 -0
  463. package/test/test-installation-components.js +212 -0
  464. package/test/test-rehype-plugins.mjs +1050 -0
  465. package/test/unit-test-schema.js +133 -0
  466. package/tests/run_all_tests.py +80 -0
  467. package/tests/scenarios/cis/brainstorming-coach.test.py +150 -0
  468. package/tests/scenarios/cis/creative-problem-solver.test.py +167 -0
  469. package/tests/scenarios/cis/design-thinking-coach.test.py +177 -0
  470. package/tests/scenarios/cis/innovation-strategist.test.py +191 -0
  471. package/tests/scenarios/cis/presentation-master.test.py +240 -0
  472. package/tests/scenarios/cis/storyteller.test.py +324 -0
  473. package/tests/scenarios/core/mdan-master.test.py +281 -0
  474. package/tests/scenarios/mmb/agent-builder.test.py +124 -0
  475. package/tests/scenarios/mmb/module-builder.test.py +124 -0
  476. package/tests/scenarios/mmb/workflow-builder.test.py +124 -0
  477. package/tests/scenarios/mmm/analyst.test.py +138 -0
  478. package/tests/scenarios/mmm/architect.test.py +138 -0
  479. package/tests/scenarios/mmm/dev.test.py +138 -0
  480. package/tests/scenarios/mmm/pm.test.py +138 -0
  481. package/tests/scenarios/mmm/qa.test.py +138 -0
  482. package/tests/scenarios/mmm/quick-flow-solo-dev.test.py +138 -0
  483. package/tests/scenarios/mmm/sm.test.py +138 -0
  484. package/tests/scenarios/mmm/tech-writer.test.py +138 -0
  485. package/tests/scenarios/mmm/ux-designer.test.py +294 -0
  486. package/tests/scenarios/packs/db-optimization/db-performance-analyst.test.py +108 -0
  487. package/tests/scenarios/packs/db-optimization/indexing-specialist.test.py +108 -0
  488. package/tests/scenarios/packs/db-optimization/query-optimizer.test.py +106 -0
  489. package/tests/scenarios/packs/devops-azure/azure-specialist.test.py +125 -0
  490. package/tests/scenarios/packs/devops-azure/cicd-architect.test.py +122 -0
  491. package/tests/scenarios/packs/devops-azure/devops-engineer.test.py +128 -0
  492. package/tests/scenarios/packs/fintech/compliance-officer.test.py +165 -0
  493. package/tests/scenarios/packs/fintech/financial-analyst.test.py +184 -0
  494. package/tests/scenarios/packs/fintech/risk-manager.test.py +171 -0
  495. package/tests/scenarios/tea/tea.test.py +346 -0
  496. package/tests/simple_cis_test.py +285 -0
  497. package/tests/simple_db_optimization_test.py +199 -0
  498. package/tests/simple_devops_test.py +193 -0
  499. package/tests/simple_fintech_test.py +205 -0
  500. package/tests/simple_mmb_test.py +103 -0
  501. package/tests/simple_mmm_test.py +159 -0
  502. package/tests/simple_tea_test.py +80 -0
  503. package/tests/simple_test.py +111 -0
  504. package/tests/simple_ux_designer_test.py +144 -0
  505. package/tests/validate_yaml.py +86 -0
  506. package/tools/build-docs.mjs +463 -0
  507. package/tools/cli/README.md +60 -0
  508. package/tools/cli/commands/install.js +87 -0
  509. package/tools/cli/commands/status.js +65 -0
  510. package/tools/cli/commands/uninstall.js +167 -0
  511. package/tools/cli/external-official-modules.yaml +53 -0
  512. package/tools/cli/installers/install-messages.yaml +39 -0
  513. package/tools/cli/installers/lib/core/config-collector.js +1285 -0
  514. package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
  515. package/tools/cli/installers/lib/core/dependency-resolver.js +743 -0
  516. package/tools/cli/installers/lib/core/detector.js +223 -0
  517. package/tools/cli/installers/lib/core/ide-config-manager.js +157 -0
  518. package/tools/cli/installers/lib/core/installer.js +3162 -0
  519. package/tools/cli/installers/lib/core/manifest-generator.js +1081 -0
  520. package/tools/cli/installers/lib/core/manifest.js +1038 -0
  521. package/tools/cli/installers/lib/custom/handler.js +358 -0
  522. package/tools/cli/installers/lib/ide/_base-ide.js +665 -0
  523. package/tools/cli/installers/lib/ide/_config-driven.js +634 -0
  524. package/tools/cli/installers/lib/ide/codex.js +440 -0
  525. package/tools/cli/installers/lib/ide/github-copilot.js +699 -0
  526. package/tools/cli/installers/lib/ide/kilo.js +269 -0
  527. package/tools/cli/installers/lib/ide/manager.js +342 -0
  528. package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
  529. package/tools/cli/installers/lib/ide/platform-codes.yaml +243 -0
  530. package/tools/cli/installers/lib/ide/rovodev.js +257 -0
  531. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +180 -0
  532. package/tools/cli/installers/lib/ide/shared/mdan-artifacts.js +174 -0
  533. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  534. package/tools/cli/installers/lib/ide/shared/path-utils.js +299 -0
  535. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +366 -0
  536. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +318 -0
  537. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  538. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
  539. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
  540. package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
  541. package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
  542. package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
  543. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
  544. package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
  545. package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
  546. package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
  547. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  548. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
  549. package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
  550. package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
  551. package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
  552. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +15 -0
  553. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
  554. package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
  555. package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +13 -0
  556. package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +13 -0
  557. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +16 -0
  558. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +16 -0
  559. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
  560. package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
  561. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
  562. package/tools/cli/installers/lib/ide/templates/split/.gitkeep +0 -0
  563. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  564. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  565. package/tools/cli/installers/lib/message-loader.js +83 -0
  566. package/tools/cli/installers/lib/modules/external-manager.js +136 -0
  567. package/tools/cli/installers/lib/modules/manager.js +1498 -0
  568. package/tools/cli/lib/activation-builder.js +165 -0
  569. package/tools/cli/lib/agent/compiler.js +525 -0
  570. package/tools/cli/lib/agent/installer.js +680 -0
  571. package/tools/cli/lib/agent/template-engine.js +152 -0
  572. package/tools/cli/lib/agent-analyzer.js +109 -0
  573. package/tools/cli/lib/agent-party-generator.js +194 -0
  574. package/tools/cli/lib/cli-utils.js +182 -0
  575. package/tools/cli/lib/config.js +213 -0
  576. package/tools/cli/lib/file-ops.js +204 -0
  577. package/tools/cli/lib/platform-codes.js +116 -0
  578. package/tools/cli/lib/project-root.js +77 -0
  579. package/tools/cli/lib/prompts.js +809 -0
  580. package/tools/cli/lib/ui.js +1936 -0
  581. package/tools/cli/lib/xml-handler.js +177 -0
  582. package/tools/cli/lib/xml-to-markdown.js +82 -0
  583. package/tools/cli/lib/yaml-format.js +245 -0
  584. package/tools/cli/lib/yaml-xml-builder.js +587 -0
  585. package/tools/cli/mdan-cli.js +106 -0
  586. package/tools/docs/_prompt-external-modules-page.md +59 -0
  587. package/tools/docs/fix-refs.md +91 -0
  588. package/tools/fix-doc-links.js +285 -0
  589. package/tools/format-workflow-md.js +263 -0
  590. package/tools/lib/xml-utils.js +13 -0
  591. package/tools/mdan-npx-wrapper.js +38 -0
  592. package/tools/migrate-custom-module-paths.js +124 -0
  593. package/tools/platform-codes.yaml +157 -0
  594. package/tools/schema/agent.js +491 -0
  595. package/tools/validate-agent-schema.js +110 -0
  596. package/tools/validate-doc-links.js +407 -0
  597. package/tools/validate-file-refs.js +554 -0
  598. package/tools/validate-svg-changes.sh +356 -0
  599. package/website/README.md +75 -0
  600. package/website/astro.config.mjs +136 -0
  601. package/website/public/favicon.ico +0 -0
  602. package/website/public/workflow-map-diagram.html +361 -0
  603. package/website/src/components/Banner.astro +62 -0
  604. package/website/src/components/Header.astro +96 -0
  605. package/website/src/components/MobileMenuFooter.astro +33 -0
  606. package/website/src/content/config.ts +6 -0
  607. package/website/src/lib/site-url.mjs +25 -0
  608. package/website/src/pages/404.astro +11 -0
  609. package/website/src/pages/robots.txt.ts +48 -0
  610. package/website/src/rehype-base-paths.js +112 -0
  611. package/website/src/rehype-markdown-links.js +119 -0
  612. package/website/src/styles/custom.css +805 -0
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: party-mode
3
+ description: 'Orchestrates group discussions between all installed MDAN agents, enabling natural multi-agent conversations. Use when user requests party mode.'
4
+ ---
5
+
6
+ # Party Mode Workflow
7
+
8
+ **Goal:** Orchestrates group discussions between all installed MDAN agents, enabling natural multi-agent conversations
9
+
10
+ **Your Role:** You are a party mode facilitator and multi-agent conversation orchestrator. You bring together diverse MDAN agents for collaborative discussions, managing the flow of conversation while maintaining each agent's unique personality and expertise - while still utilizing the configured {communication_language}.
11
+
12
+ ---
13
+
14
+ ## WORKFLOW ARCHITECTURE
15
+
16
+ This uses **micro-file architecture** with **sequential conversation orchestration**:
17
+
18
+ - Step 01 loads agent manifest and initializes party mode
19
+ - Step 02 orchestrates the ongoing multi-agent discussion
20
+ - Step 03 handles graceful party mode exit
21
+ - Conversation state tracked in frontmatter
22
+ - Agent personalities maintained through merged manifest data
23
+
24
+ ---
25
+
26
+ ## INITIALIZATION
27
+
28
+ ### Configuration Loading
29
+
30
+ Load config from `{project-root}/_.mdan/core/config.yaml` and resolve:
31
+
32
+ - `project_name`, `output_folder`, `user_name`
33
+ - `communication_language`, `document_output_language`, `user_skill_level`
34
+ - `date` as a system-generated value
35
+ - Agent manifest path: `{project-root}/_.mdan/_config/agent-manifest.csv`
36
+
37
+ ### Paths
38
+
39
+ - `installed_path` = `{project-root}/_.mdan/core/workflows/party-mode`
40
+ - `agent_manifest_path` = `{project-root}/_.mdan/_config/agent-manifest.csv`
41
+ - `standalone_mode` = `true` (party mode is an interactive workflow)
42
+
43
+ ---
44
+
45
+ ## AGENT MANIFEST PROCESSING
46
+
47
+ ### Agent Data Extraction
48
+
49
+ Parse CSV manifest to extract agent entries with complete information:
50
+
51
+ - **name** (agent identifier)
52
+ - **displayName** (agent's persona name)
53
+ - **title** (formal position)
54
+ - **icon** (visual identifier emoji)
55
+ - **role** (capabilities summary)
56
+ - **identity** (background/expertise)
57
+ - **communicationStyle** (how they communicate)
58
+ - **principles** (decision-making philosophy)
59
+ - **module** (source module)
60
+ - **path** (file location)
61
+
62
+ ### Agent Roster Building
63
+
64
+ Build complete agent roster with merged personalities for conversation orchestration.
65
+
66
+ ---
67
+
68
+ ## EXECUTION
69
+
70
+ Execute party mode activation and conversation orchestration:
71
+
72
+ ### Party Mode Activation
73
+
74
+ **Your Role:** You are a party mode facilitator creating an engaging multi-agent conversation environment.
75
+
76
+ **Welcome Activation:**
77
+
78
+ "🎉 PARTY MODE ACTIVATED! 🎉
79
+
80
+ Welcome {{user_name}}! All MDAN agents are here and ready for a dynamic group discussion. I've brought together our complete team of experts, each bringing their unique perspectives and capabilities.
81
+
82
+ **Let me introduce our collaborating agents:**
83
+
84
+ [Load agent roster and display 2-3 most diverse agents as examples]
85
+
86
+ **What would you like to discuss with the team today?**"
87
+
88
+ ### Agent Selection Intelligence
89
+
90
+ For each user message or topic:
91
+
92
+ **Relevance Analysis:**
93
+
94
+ - Analyze the user's message/question for domain and expertise requirements
95
+ - Identify which agents would naturally contribute based on their role, capabilities, and principles
96
+ - Consider conversation context and previous agent contributions
97
+ - Select 2-3 most relevant agents for balanced perspective
98
+
99
+ **Priority Handling:**
100
+
101
+ - If user addresses specific agent by name, prioritize that agent + 1-2 complementary agents
102
+ - Rotate agent selection to ensure diverse participation over time
103
+ - Enable natural cross-talk and agent-to-agent interactions
104
+
105
+ ### Conversation Orchestration
106
+
107
+ Load step: `./steps/step-02-discussion-orchestration.md`
108
+
109
+ ---
110
+
111
+ ## WORKFLOW STATES
112
+
113
+ ### Frontmatter Tracking
114
+
115
+ ```yaml
116
+ ---
117
+ stepsCompleted: [1]
118
+ workflowType: 'party-mode'
119
+ user_name: '{{user_name}}'
120
+ date: '{{date}}'
121
+ agents_loaded: true
122
+ party_active: true
123
+ exit_triggers: ['*exit', 'goodbye', 'end party', 'quit']
124
+ ---
125
+ ```
126
+
127
+ ---
128
+
129
+ ## ROLE-PLAYING GUIDELINES
130
+
131
+ ### Character Consistency
132
+
133
+ - Maintain strict in-character responses based on merged personality data
134
+ - Use each agent's documented communication style consistently
135
+ - Reference agent memories and context when relevant
136
+ - Allow natural disagreements and different perspectives
137
+ - Include personality-driven quirks and occasional humor
138
+
139
+ ### Conversation Flow
140
+
141
+ - Enable agents to reference each other naturally by name or role
142
+ - Maintain professional discourse while being engaging
143
+ - Respect each agent's expertise boundaries
144
+ - Allow cross-talk and building on previous points
145
+
146
+ ---
147
+
148
+ ## QUESTION HANDLING PROTOCOL
149
+
150
+ ### Direct Questions to User
151
+
152
+ When an agent asks the user a specific question:
153
+
154
+ - End that response round immediately after the question
155
+ - Clearly highlight the questioning agent and their question
156
+ - Wait for user response before any agent continues
157
+
158
+ ### Inter-Agent Questions
159
+
160
+ Agents can question each other and respond naturally within the same round for dynamic conversation.
161
+
162
+ ---
163
+
164
+ ## EXIT CONDITIONS
165
+
166
+ ### Automatic Triggers
167
+
168
+ Exit party mode when user message contains any exit triggers:
169
+
170
+ - `*exit`, `goodbye`, `end party`, `quit`
171
+
172
+ ### Graceful Conclusion
173
+
174
+ If conversation naturally concludes:
175
+
176
+ - Ask user if they'd like to continue or end party mode
177
+ - Exit gracefully when user indicates completion
178
+
179
+ ---
180
+
181
+ ## MODERATION NOTES
182
+
183
+ **Quality Control:**
184
+
185
+ - If discussion becomes circular, have mdan-master summarize and redirect
186
+ - Balance fun and productivity based on conversation tone
187
+ - Ensure all agents stay true to their merged personalities
188
+ - Exit gracefully when user indicates completion
189
+
190
+ **Conversation Management:**
191
+
192
+ - Rotate agent participation to ensure inclusive discussion
193
+ - Handle topic drift while maintaining productive conversation
194
+ - Facilitate cross-agent collaboration and knowledge sharing
package/test/README.md ADDED
@@ -0,0 +1,295 @@
1
+ # Agent Schema Validation Test Suite
2
+
3
+ Comprehensive test coverage for the MDAN agent schema validation system.
4
+
5
+ ## Overview
6
+
7
+ This test suite validates the Zod-based schema validator (`tools/schema/agent.js`) that ensures all `*.agent.yaml` files conform to the MDAN agent specification.
8
+
9
+ ## Test Statistics
10
+
11
+ - **Total Test Fixtures**: 50
12
+ - **Valid Test Cases**: 18
13
+ - **Invalid Test Cases**: 32
14
+ - **Code Coverage**: 100% all metrics (statements, branches, functions, lines)
15
+ - **Exit Code Tests**: 4 CLI integration tests
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ # Run all tests
21
+ npm test
22
+
23
+ # Run with coverage report
24
+ npm run test:coverage
25
+
26
+ # Run CLI integration tests
27
+ ./test/test-cli-integration.sh
28
+
29
+ # Validate actual agent files
30
+ npm run validate:schemas
31
+ ```
32
+
33
+ ## Test Organization
34
+
35
+ ### Test Fixtures
36
+
37
+ Located in `test/fixtures/agent-schema/`, organized by category:
38
+
39
+ ```
40
+ test/fixtures/agent-schema/
41
+ ├── valid/ # 15 fixtures that should pass
42
+ │ ├── top-level/ # Basic structure tests
43
+ │ ├── metadata/ # Metadata field tests
44
+ │ ├── persona/ # Persona field tests
45
+ │ ├── critical-actions/ # Critical actions tests
46
+ │ ├── menu/ # Menu structure tests
47
+ │ ├── menu-commands/ # Command target tests
48
+ │ ├── menu-triggers/ # Trigger format tests
49
+ │ └── prompts/ # Prompts field tests
50
+ └── invalid/ # 32 fixtures that should fail
51
+ ├── top-level/ # Structure errors
52
+ ├── metadata/ # Metadata validation errors
53
+ ├── persona/ # Persona validation errors
54
+ ├── critical-actions/ # Critical actions errors
55
+ ├── menu/ # Menu errors
56
+ ├── menu-commands/ # Command target errors
57
+ ├── menu-triggers/ # Trigger format errors
58
+ ├── prompts/ # Prompts errors
59
+ └── yaml-errors/ # YAML parsing errors
60
+ ```
61
+
62
+ ## Test Categories
63
+
64
+ ### 1. Top-Level Structure Tests (4 fixtures)
65
+
66
+ Tests the root-level agent structure:
67
+
68
+ - ✅ Valid: Minimal core agent with required fields
69
+ - ❌ Invalid: Empty YAML file
70
+ - ❌ Invalid: Missing `agent` key
71
+ - ❌ Invalid: Extra top-level keys (strict mode)
72
+
73
+ ### 2. Metadata Field Tests (7 fixtures)
74
+
75
+ Tests agent metadata validation:
76
+
77
+ - ✅ Valid: Module agent with correct `module` field
78
+ - ❌ Invalid: Missing required fields (`id`, `name`, `title`, `icon`)
79
+ - ❌ Invalid: Empty strings in metadata
80
+ - ❌ Invalid: Module agent missing `module` field
81
+ - ❌ Invalid: Core agent with unexpected `module` field
82
+ - ❌ Invalid: Wrong `module` value (doesn't match path)
83
+ - ❌ Invalid: Extra unknown metadata fields
84
+
85
+ ### 3. Persona Field Tests (6 fixtures)
86
+
87
+ Tests persona structure and validation:
88
+
89
+ - ✅ Valid: Complete persona with all fields
90
+ - ❌ Invalid: Missing required fields (`role`, `identity`, etc.)
91
+ - ❌ Invalid: `principles` as string instead of array
92
+ - ❌ Invalid: Empty `principles` array
93
+ - ❌ Invalid: Empty strings in `principles` array
94
+ - ❌ Invalid: Extra unknown persona fields
95
+
96
+ ### 4. Critical Actions Tests (5 fixtures)
97
+
98
+ Tests optional `critical_actions` field:
99
+
100
+ - ✅ Valid: No `critical_actions` field (optional)
101
+ - ✅ Valid: Empty `critical_actions` array
102
+ - ✅ Valid: Valid action strings
103
+ - ❌ Invalid: Empty strings in actions
104
+ - ❌ Invalid: Actions as non-array type
105
+
106
+ ### 5. Menu Field Tests (4 fixtures)
107
+
108
+ Tests required menu structure:
109
+
110
+ - ✅ Valid: Single menu item
111
+ - ✅ Valid: Multiple menu items with different commands
112
+ - ❌ Invalid: Missing `menu` field
113
+ - ❌ Invalid: Empty `menu` array
114
+
115
+ ### 6. Menu Command Target Tests (4 fixtures)
116
+
117
+ Tests menu item command targets:
118
+
119
+ - ✅ Valid: All 6 command types (`workflow`, `validate-workflow`, `exec`, `action`, `tmpl`, `data`)
120
+ - ✅ Valid: Multiple command targets in one menu item
121
+ - ❌ Invalid: No command target fields
122
+ - ❌ Invalid: Empty string command targets
123
+
124
+ ### 7. Menu Trigger Validation Tests (7 fixtures)
125
+
126
+ Tests trigger format enforcement:
127
+
128
+ - ✅ Valid: Kebab-case triggers (`help`, `list-tasks`, `multi-word-trigger`)
129
+ - ❌ Invalid: Leading asterisk (`*help`)
130
+ - ❌ Invalid: CamelCase (`listTasks`)
131
+ - ❌ Invalid: Snake_case (`list_tasks`)
132
+ - ❌ Invalid: Spaces (`list tasks`)
133
+ - ❌ Invalid: Duplicate triggers within agent
134
+ - ❌ Invalid: Empty trigger string
135
+
136
+ ### 8. Prompts Field Tests (8 fixtures)
137
+
138
+ Tests optional `prompts` field:
139
+
140
+ - ✅ Valid: No `prompts` field (optional)
141
+ - ✅ Valid: Empty `prompts` array
142
+ - ✅ Valid: Prompts with required `id` and `content`
143
+ - ✅ Valid: Prompts with optional `description`
144
+ - ❌ Invalid: Missing `id`
145
+ - ❌ Invalid: Missing `content`
146
+ - ❌ Invalid: Empty `content` string
147
+ - ❌ Invalid: Extra unknown prompt fields
148
+
149
+ ### 9. YAML Parsing Tests (2 fixtures)
150
+
151
+ Tests YAML parsing error handling:
152
+
153
+ - ❌ Invalid: Malformed YAML syntax
154
+ - ❌ Invalid: Invalid indentation
155
+
156
+ ## Test Scripts
157
+
158
+ ### Main Test Runner
159
+
160
+ **File**: `test/test-agent-schema.js`
161
+
162
+ Automated test runner that:
163
+
164
+ - Loads all fixtures from `test/fixtures/agent-schema/`
165
+ - Validates each against the schema
166
+ - Compares results with expected outcomes (parsed from YAML comments)
167
+ - Reports detailed results by category
168
+ - Exits with code 0 (pass) or 1 (fail)
169
+
170
+ **Usage**:
171
+
172
+ ```bash
173
+ npm test
174
+ # or
175
+ node test/test-agent-schema.js
176
+ ```
177
+
178
+ ### Coverage Report
179
+
180
+ **Command**: `npm run test:coverage`
181
+
182
+ Generates code coverage report using c8:
183
+
184
+ - Text output to console
185
+ - HTML report in `coverage/` directory
186
+ - Tracks statement, branch, function, and line coverage
187
+
188
+ **Current Coverage**:
189
+
190
+ - Statements: 100%
191
+ - Branches: 100%
192
+ - Functions: 100%
193
+ - Lines: 100%
194
+
195
+ ### CLI Integration Tests
196
+
197
+ **File**: `test/test-cli-integration.sh`
198
+
199
+ Bash script that tests CLI behavior:
200
+
201
+ 1. Validates existing agent files
202
+ 2. Verifies test fixture validation
203
+ 3. Checks exit code 0 for valid files
204
+ 4. Verifies test runner output format
205
+
206
+ **Usage**:
207
+
208
+ ```bash
209
+ ./test/test-cli-integration.sh
210
+ ```
211
+
212
+ ## Manual Testing
213
+
214
+ See **[MANUAL-TESTING.md](./MANUAL-TESTING.md)** for detailed manual testing procedures, including:
215
+
216
+ - Testing with invalid files
217
+ - GitHub Actions workflow verification
218
+ - Troubleshooting guide
219
+ - PR merge blocking tests
220
+
221
+ ## Coverage Achievement
222
+
223
+ **100% code coverage achieved!** All branches, statements, functions, and lines in the validation logic are tested.
224
+
225
+ Edge cases covered include:
226
+
227
+ - Malformed module paths (e.g., `src/bmm` without `/agents/`)
228
+ - Empty module names in paths (e.g., `src/modules//agents/`)
229
+ - Whitespace-only module field values
230
+ - All validation error paths
231
+ - All success paths for valid configurations
232
+
233
+ ## Adding New Tests
234
+
235
+ To add new test cases:
236
+
237
+ 1. Create a new `.agent.yaml` file in the appropriate `valid/` or `invalid/` subdirectory
238
+ 2. Add comment metadata at the top:
239
+
240
+ ```yaml
241
+ # Test: Description of what this tests
242
+ # Expected: PASS (or FAIL - error description)
243
+ # Path context: src/bmm/agents/test.agent.yaml (if needed)
244
+ ```
245
+
246
+ 3. Run the test suite to verify: `npm test`
247
+
248
+ ## Integration with CI/CD
249
+
250
+ The validation is integrated into the GitHub Actions workflow:
251
+
252
+ **File**: `.github/workflows/lint.yaml`
253
+
254
+ **Job**: `agent-schema`
255
+
256
+ **Runs on**: All pull requests
257
+
258
+ **Blocks merge if**: Validation fails
259
+
260
+ ## Files
261
+
262
+ - `test/test-agent-schema.js` - Main test runner
263
+ - `test/test-cli-integration.sh` - CLI integration tests
264
+ - `test/MANUAL-TESTING.md` - Manual testing guide
265
+ - `test/fixtures/agent-schema/` - Test fixtures (47 files)
266
+ - `tools/schema/agent.js` - Validation logic (under test)
267
+ - `tools/validate-agent-schema.js` - CLI wrapper
268
+
269
+ ## Dependencies
270
+
271
+ - **zod**: Schema validation library
272
+ - **yaml**: YAML parsing
273
+ - **glob**: File pattern matching
274
+ - **c8**: Code coverage reporting
275
+
276
+ ## Success Criteria
277
+
278
+ All success criteria from the original task have been exceeded:
279
+
280
+ - ✅ 50 test fixtures covering all validation rules (target: 47+)
281
+ - ✅ Automated test runner with detailed reporting
282
+ - ✅ CLI integration tests verifying exit codes and output
283
+ - ✅ Manual testing documentation
284
+ - ✅ **100% code coverage achieved** (target: 99%+)
285
+ - ✅ Both positive and negative test cases
286
+ - ✅ Clear and actionable error messages
287
+ - ✅ GitHub Actions integration verified
288
+ - ✅ Aggressive defensive assertions implemented
289
+
290
+ ## Resources
291
+
292
+ - **Schema Documentation**: `schema-classification.md`
293
+ - **Validator Implementation**: `tools/schema/agent.js`
294
+ - **CLI Tool**: `tools/validate-agent-schema.js`
295
+ - **Project Guidelines**: `CLAUDE.md`
@@ -0,0 +1,56 @@
1
+ # Adversarial Review Test Suite
2
+
3
+ Tests for the `also_consider` optional input in `review-adversarial-general.xml`.
4
+
5
+ ## Purpose
6
+
7
+ Evaluate whether the `also_consider` input gently nudges the reviewer toward specific areas without overriding normal adversarial analysis.
8
+
9
+ ## Test Content
10
+
11
+ All tests use `sample-content.md` - a deliberately imperfect User Authentication API doc with:
12
+
13
+ - Vague error handling section
14
+ - Missing rate limit details
15
+ - No token expiration info
16
+ - Password in plain text example
17
+ - Missing authentication headers
18
+ - No error response examples
19
+
20
+ ## Running Tests
21
+
22
+ For each test case in `test-cases.yaml`, invoke the adversarial review task.
23
+
24
+ ### Manual Test Invocation
25
+
26
+ ```
27
+ Review this content using the adversarial review task:
28
+
29
+ <content>
30
+ [paste sample-content.md]
31
+ </content>
32
+
33
+ <also_consider>
34
+ [paste items from test case, or omit for TC01]
35
+ </also_consider>
36
+ ```
37
+
38
+ ## Evaluation Criteria
39
+
40
+ For each test, note:
41
+
42
+ 1. **Total findings** - Still hitting ~10 issues?
43
+ 2. **Distribution** - Are findings spread across concerns or clustered?
44
+ 3. **Relevance** - Do findings relate to `also_consider` items when provided?
45
+ 4. **Balance** - Are `also_consider` findings elevated over others, or naturally mixed?
46
+ 5. **Quality** - Are findings actionable regardless of source?
47
+
48
+ ## Expected Outcomes
49
+
50
+ - **TC01 (baseline)**: Generic spread of findings
51
+ - **TC02-TC05 (domain-focused)**: Some findings align with domain, others still organic
52
+ - **TC06 (single item)**: Light influence, not dominant
53
+ - **TC07 (vague items)**: Minimal change from baseline
54
+ - **TC08 (specific items)**: Direct answers if gaps exist
55
+ - **TC09 (mixed)**: Balanced across domains
56
+ - **TC10 (contradictory)**: Graceful handling
@@ -0,0 +1,46 @@
1
+ # User Authentication API
2
+
3
+ ## Overview
4
+
5
+ This API provides endpoints for user authentication and session management.
6
+
7
+ ## Endpoints
8
+
9
+ ### POST /api/auth/login
10
+
11
+ Authenticates a user and returns a token.
12
+
13
+ **Request Body:**
14
+ ```json
15
+ {
16
+ "email": "user@example.com",
17
+ "password": "password123"
18
+ }
19
+ ```
20
+
21
+ **Response:**
22
+ ```json
23
+ {
24
+ "token": "eyJhbGciOiJIUzI1NiIs...",
25
+ "user": {
26
+ "id": 1,
27
+ "email": "user@example.com"
28
+ }
29
+ }
30
+ ```
31
+
32
+ ### POST /api/auth/logout
33
+
34
+ Logs out the current user.
35
+
36
+ ### GET /api/auth/me
37
+
38
+ Returns the current user's profile.
39
+
40
+ ## Error Handling
41
+
42
+ Errors return appropriate HTTP status codes.
43
+
44
+ ## Rate Limiting
45
+
46
+ Rate limiting is applied to prevent abuse.
@@ -0,0 +1,103 @@
1
+ # Test Cases for review-adversarial-general.xml with also_consider input
2
+ #
3
+ # Purpose: Evaluate how the optional also_consider input influences review findings
4
+ # Content: All tests use sample-content.md (User Authentication API docs)
5
+ #
6
+ # To run: Manually invoke the task with each configuration and compare outputs
7
+
8
+ test_cases:
9
+ # BASELINE - No also_consider
10
+ - id: TC01
11
+ name: "Baseline - no also_consider"
12
+ description: "Control test with no also_consider input"
13
+ also_consider: null
14
+ expected_behavior: "Generic adversarial findings across all aspects"
15
+
16
+ # DOCUMENTATION-FOCUSED
17
+ - id: TC02
18
+ name: "Documentation - reader confusion"
19
+ description: "Nudge toward documentation UX issues"
20
+ also_consider:
21
+ - What would confuse a first-time reader?
22
+ - What questions are left unanswered?
23
+ - What could be interpreted multiple ways?
24
+ - What jargon is unexplained?
25
+ expected_behavior: "More findings about clarity, completeness, reader experience"
26
+
27
+ - id: TC03
28
+ name: "Documentation - examples and usage"
29
+ description: "Nudge toward practical usage gaps"
30
+ also_consider:
31
+ - Missing code examples
32
+ - Unclear usage patterns
33
+ - Edge cases not documented
34
+ expected_behavior: "More findings about practical application gaps"
35
+
36
+ # SECURITY-FOCUSED
37
+ - id: TC04
38
+ name: "Security review"
39
+ description: "Nudge toward security concerns"
40
+ also_consider:
41
+ - Authentication vulnerabilities
42
+ - Token handling issues
43
+ - Input validation gaps
44
+ - Information disclosure risks
45
+ expected_behavior: "More security-related findings"
46
+
47
+ # API DESIGN-FOCUSED
48
+ - id: TC05
49
+ name: "API design"
50
+ description: "Nudge toward API design best practices"
51
+ also_consider:
52
+ - REST conventions not followed
53
+ - Inconsistent response formats
54
+ - Missing pagination or filtering
55
+ - Versioning concerns
56
+ expected_behavior: "More API design pattern findings"
57
+
58
+ # SINGLE ITEM
59
+ - id: TC06
60
+ name: "Single item - error handling"
61
+ description: "Test with just one also_consider item"
62
+ also_consider:
63
+ - Error handling completeness
64
+ expected_behavior: "Some emphasis on error handling while still covering other areas"
65
+
66
+ # BROAD/VAGUE
67
+ - id: TC07
68
+ name: "Broad items"
69
+ description: "Test with vague also_consider items"
70
+ also_consider:
71
+ - Quality issues
72
+ - Things that seem off
73
+ expected_behavior: "Minimal change from baseline - items too vague to steer"
74
+
75
+ # VERY SPECIFIC
76
+ - id: TC08
77
+ name: "Very specific items"
78
+ description: "Test with highly specific also_consider items"
79
+ also_consider:
80
+ - Is the JWT token expiration documented?
81
+ - Are refresh token mechanics explained?
82
+ - What happens on concurrent sessions?
83
+ expected_behavior: "Specific findings addressing these exact questions if gaps exist"
84
+
85
+ # MIXED DOMAINS
86
+ - id: TC09
87
+ name: "Mixed domain concerns"
88
+ description: "Test with items from different domains"
89
+ also_consider:
90
+ - Security vulnerabilities
91
+ - Reader confusion points
92
+ - API design inconsistencies
93
+ - Performance implications
94
+ expected_behavior: "Balanced findings across multiple domains"
95
+
96
+ # CONTRADICTORY/UNUSUAL
97
+ - id: TC10
98
+ name: "Contradictory items"
99
+ description: "Test resilience with odd inputs"
100
+ also_consider:
101
+ - Things that are too detailed
102
+ - Things that are not detailed enough
103
+ expected_behavior: "Reviewer handles gracefully, finds issues in both directions"