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.
- package/.mdan/config/config.yaml +36 -0
- package/.mdan/state/MDAN-STATE.template.json +39 -0
- package/AGENTS.md +308 -0
- package/AGENTS_LIST.md +946 -0
- package/ARCHITECTURE.md +590 -0
- package/CHANGELOG.md +1770 -0
- package/CONTRIBUTING.md +512 -0
- package/INSTALL.md +246 -0
- package/LICENSE +30 -0
- package/MDAN.fr.md +259 -0
- package/README.md +233 -0
- package/SECURITY.md +85 -0
- package/USAGE.md +368 -0
- package/app/__init__.py +5 -0
- package/app/cis/agents/__init__.py +31 -0
- package/app/cis/agents/brainstorming-coach/__init__.py +3 -0
- package/app/cis/agents/brainstorming-coach/agent.py +162 -0
- package/app/cis/agents/brainstorming-coach/prompt.yaml +53 -0
- package/app/cis/agents/creative-problem-solver/__init__.py +3 -0
- package/app/cis/agents/creative-problem-solver/agent.py +233 -0
- package/app/cis/agents/creative-problem-solver/prompt.yaml +74 -0
- package/app/cis/agents/design-thinking-coach/__init__.py +3 -0
- package/app/cis/agents/design-thinking-coach/agent.py +241 -0
- package/app/cis/agents/design-thinking-coach/prompt.yaml +77 -0
- package/app/cis/agents/innovation-strategist/__init__.py +3 -0
- package/app/cis/agents/innovation-strategist/agent.py +271 -0
- package/app/cis/agents/innovation-strategist/prompt.yaml +70 -0
- package/app/cis/agents/presentation-master/__init__.py +3 -0
- package/app/cis/agents/presentation-master/agent.py +420 -0
- package/app/cis/agents/presentation-master/prompt.yaml +62 -0
- package/app/cis/agents/storyteller/__init__.py +3 -0
- package/app/cis/agents/storyteller/agent.py +303 -0
- package/app/cis/agents/storyteller/prompt.yaml +99 -0
- package/app/core/__init__.py +5 -0
- package/app/core/agents/__init__.py +5 -0
- package/app/core/agents/mdan-master/__init__.py +7 -0
- package/app/core/agents/mdan-master/agent.py +302 -0
- package/app/core/agents/mdan-master/prompt.yaml +105 -0
- package/app/mmb/agents/__init__.py +24 -0
- package/app/mmb/agents/agent-builder/__init__.py +5 -0
- package/app/mmb/agents/agent-builder/agent.py +261 -0
- package/app/mmb/agents/agent-builder/prompt.yaml +48 -0
- package/app/mmb/agents/module-builder/__init__.py +5 -0
- package/app/mmb/agents/module-builder/agent.py +299 -0
- package/app/mmb/agents/module-builder/prompt.yaml +50 -0
- package/app/mmb/agents/workflow-builder/__init__.py +5 -0
- package/app/mmb/agents/workflow-builder/agent.py +318 -0
- package/app/mmb/agents/workflow-builder/prompt.yaml +52 -0
- package/app/mmm/agents/__init__.py +48 -0
- package/app/mmm/agents/analyst/__init__.py +7 -0
- package/app/mmm/agents/analyst/agent.py +384 -0
- package/app/mmm/agents/analyst/prompt.yaml +62 -0
- package/app/mmm/agents/architect/__init__.py +7 -0
- package/app/mmm/agents/architect/agent.py +300 -0
- package/app/mmm/agents/architect/prompt.yaml +66 -0
- package/app/mmm/agents/dev/__init__.py +7 -0
- package/app/mmm/agents/dev/agent.py +285 -0
- package/app/mmm/agents/dev/prompt.yaml +62 -0
- package/app/mmm/agents/pm/__init__.py +7 -0
- package/app/mmm/agents/pm/agent.py +417 -0
- package/app/mmm/agents/pm/prompt.yaml +64 -0
- package/app/mmm/agents/qa/__init__.py +7 -0
- package/app/mmm/agents/qa/agent.py +267 -0
- package/app/mmm/agents/qa/prompt.yaml +67 -0
- package/app/mmm/agents/quick-flow-solo-dev/__init__.py +7 -0
- package/app/mmm/agents/quick-flow-solo-dev/agent.py +319 -0
- package/app/mmm/agents/quick-flow-solo-dev/prompt.yaml +60 -0
- package/app/mmm/agents/sm/__init__.py +7 -0
- package/app/mmm/agents/sm/agent.py +357 -0
- package/app/mmm/agents/sm/prompt.yaml +61 -0
- package/app/mmm/agents/tech-writer/__init__.py +7 -0
- package/app/mmm/agents/tech-writer/agent.py +420 -0
- package/app/mmm/agents/tech-writer/prompt.yaml +70 -0
- package/app/mmm/agents/ux-designer/__init__.py +14 -0
- package/app/mmm/agents/ux-designer/agent.py +412 -0
- package/app/mmm/agents/ux-designer/prompt.yaml +37 -0
- package/app/packs/__init__.py +32 -0
- package/app/packs/db-optimization/__init__.py +13 -0
- package/app/packs/db-optimization/agents/__init__.py +11 -0
- package/app/packs/db-optimization/agents/db-performance-analyst/__init__.py +5 -0
- package/app/packs/db-optimization/agents/db-performance-analyst/agent.py +559 -0
- package/app/packs/db-optimization/agents/db-performance-analyst/prompt.yaml +63 -0
- package/app/packs/db-optimization/agents/indexing-specialist/__init__.py +5 -0
- package/app/packs/db-optimization/agents/indexing-specialist/agent.py +713 -0
- package/app/packs/db-optimization/agents/indexing-specialist/prompt.yaml +92 -0
- package/app/packs/db-optimization/agents/query-optimizer/__init__.py +5 -0
- package/app/packs/db-optimization/agents/query-optimizer/agent.py +566 -0
- package/app/packs/db-optimization/agents/query-optimizer/prompt.yaml +74 -0
- package/app/packs/devops-azure/__init__.py +13 -0
- package/app/packs/devops-azure/agents/__init__.py +11 -0
- package/app/packs/devops-azure/agents/azure-specialist/__init__.py +5 -0
- package/app/packs/devops-azure/agents/azure-specialist/agent.py +584 -0
- package/app/packs/devops-azure/agents/azure-specialist/prompt.yaml +301 -0
- package/app/packs/devops-azure/agents/cicd-architect/__init__.py +5 -0
- package/app/packs/devops-azure/agents/cicd-architect/agent.py +665 -0
- package/app/packs/devops-azure/agents/cicd-architect/prompt.yaml +409 -0
- package/app/packs/devops-azure/agents/devops-engineer/__init__.py +5 -0
- package/app/packs/devops-azure/agents/devops-engineer/agent.py +545 -0
- package/app/packs/devops-azure/agents/devops-engineer/prompt.yaml +263 -0
- package/app/packs/fintech/__init__.py +13 -0
- package/app/packs/fintech/agents/__init__.py +11 -0
- package/app/packs/fintech/agents/compliance-officer/__init__.py +5 -0
- package/app/packs/fintech/agents/compliance-officer/agent.py +449 -0
- package/app/packs/fintech/agents/compliance-officer/prompt.yaml +135 -0
- package/app/packs/fintech/agents/financial-analyst/__init__.py +5 -0
- package/app/packs/fintech/agents/financial-analyst/agent.py +392 -0
- package/app/packs/fintech/agents/financial-analyst/prompt.yaml +143 -0
- package/app/packs/fintech/agents/risk-manager/__init__.py +5 -0
- package/app/packs/fintech/agents/risk-manager/agent.py +664 -0
- package/app/packs/fintech/agents/risk-manager/prompt.yaml +240 -0
- package/app/tea/agents/tea/__init__.py +9 -0
- package/app/tea/agents/tea/agent.py +689 -0
- package/app/tea/agents/tea/prompt.yaml +100 -0
- package/cli/v1/mdan.py +421 -0
- package/cli/v1/mdan.sh +724 -0
- package/cli/v1/mdan_crewai.py +539 -0
- package/docs/404.md +9 -0
- package/docs/_STYLE_GUIDE.md +370 -0
- package/docs/explanation/advanced-elicitation.md +49 -0
- package/docs/explanation/adversarial-review.md +59 -0
- package/docs/explanation/brainstorming.md +33 -0
- package/docs/explanation/established-projects-faq.md +50 -0
- package/docs/explanation/party-mode.md +59 -0
- package/docs/explanation/preventing-agent-conflicts.md +112 -0
- package/docs/explanation/project-context.md +157 -0
- package/docs/explanation/quick-flow.md +73 -0
- package/docs/explanation/why-solutioning-matters.md +77 -0
- package/docs/how-to/customize-mdan.md +172 -0
- package/docs/how-to/established-projects.md +117 -0
- package/docs/how-to/get-answers-about-mdan.md +134 -0
- package/docs/how-to/install-mdan.md +97 -0
- package/docs/how-to/non-interactive-installation.md +171 -0
- package/docs/how-to/project-context.md +136 -0
- package/docs/how-to/quick-fixes.md +123 -0
- package/docs/how-to/shard-large-documents.md +78 -0
- package/docs/how-to/upgrade-to-v6.md +97 -0
- package/docs/index.md +59 -0
- package/docs/reference/agents.md +28 -0
- package/docs/reference/commands.md +151 -0
- package/docs/reference/modules.md +76 -0
- package/docs/reference/testing.md +106 -0
- package/docs/reference/workflow-map.md +89 -0
- package/docs/roadmap.mdx +136 -0
- package/docs/tutorials/getting-started.md +286 -0
- package/examples/crewai/crewai_auto_mode.py +62 -0
- package/examples/crewai/crewai_custom_crew.py +85 -0
- package/examples/crewai/crewai_debate.py +57 -0
- package/examples/crewai/crewai_with_serper.py +82 -0
- package/examples/crewai/crewai_with_sql.py +117 -0
- package/integrations/__init__.py +33 -0
- package/integrations/crewai/__init__.py +27 -0
- package/integrations/crewai/agents/__init__.py +21 -0
- package/integrations/crewai/agents/architect_agent.py +264 -0
- package/integrations/crewai/agents/dev_agent.py +271 -0
- package/integrations/crewai/agents/devops_agent.py +421 -0
- package/integrations/crewai/agents/doc_agent.py +388 -0
- package/integrations/crewai/agents/product_agent.py +203 -0
- package/integrations/crewai/agents/security_agent.py +386 -0
- package/integrations/crewai/agents/test_agent.py +358 -0
- package/integrations/crewai/agents/ux_agent.py +257 -0
- package/integrations/crewai/flows/__init__.py +13 -0
- package/integrations/crewai/flows/auto_flow.py +451 -0
- package/integrations/crewai/flows/build_flow.py +297 -0
- package/integrations/crewai/flows/debate_flow.py +422 -0
- package/integrations/crewai/flows/discovery_flow.py +267 -0
- package/integrations/crewai/orchestrator.py +558 -0
- package/integrations/crewai/skills/__init__.py +8 -0
- package/integrations/crewai/skills/skill_router.py +534 -0
- package/integrations/crewai/tools/__init__.py +11 -0
- package/integrations/crewai/tools/file_tool.py +355 -0
- package/integrations/crewai/tools/serper_tool.py +169 -0
- package/integrations/crewai/tools/sql_tool.py +435 -0
- package/integrations/docs/all-integrations.md +300 -0
- package/integrations/docs/cursor.md +74 -0
- package/integrations/docs/mcp.md +153 -0
- package/integrations/docs/windsurf.md +48 -0
- package/package.json +119 -0
- package/prompts/cis/brainstorming-coach.yaml +53 -0
- package/prompts/cis/creative-problem-solver.yaml +74 -0
- package/prompts/cis/design-thinking-coach.yaml +77 -0
- package/prompts/cis/innovation-strategist.yaml +70 -0
- package/prompts/cis/presentation-master.yaml +62 -0
- package/prompts/cis/storyteller.yaml +99 -0
- package/prompts/core/mdan-master.yaml +105 -0
- package/prompts/mmb/agent-builder.yaml +48 -0
- package/prompts/mmb/module-builder.yaml +50 -0
- package/prompts/mmb/workflow-builder.yaml +52 -0
- package/prompts/mmm/analyst.yaml +62 -0
- package/prompts/mmm/architect.yaml +66 -0
- package/prompts/mmm/dev.yaml +62 -0
- package/prompts/mmm/pm.yaml +64 -0
- package/prompts/mmm/qa.yaml +67 -0
- package/prompts/mmm/quick-flow-solo-dev.yaml +60 -0
- package/prompts/mmm/sm.yaml +61 -0
- package/prompts/mmm/tech-writer.yaml +70 -0
- package/prompts/mmm/ux-designer.yaml +33 -0
- package/prompts/packs/db-optimization/db-performance-analyst.yaml +63 -0
- package/prompts/packs/db-optimization/indexing-specialist.yaml +92 -0
- package/prompts/packs/db-optimization/query-optimizer.yaml +74 -0
- package/prompts/packs/devops-azure/azure-specialist.yaml +301 -0
- package/prompts/packs/devops-azure/cicd-architect.yaml +409 -0
- package/prompts/packs/devops-azure/devops-engineer.yaml +263 -0
- package/prompts/packs/fintech/compliance-officer.yaml +135 -0
- package/prompts/packs/fintech/financial-analyst.yaml +143 -0
- package/prompts/packs/fintech/risk-manager.yaml +240 -0
- package/prompts/tea/tea.yaml +100 -0
- package/requirements.txt +5 -0
- package/requirements_crewai.txt +37 -0
- package/src/agents/module-help.csv +31 -0
- package/src/agents/module.yaml +50 -0
- package/src/agents/team/analyst.agent.yaml +43 -0
- package/src/agents/team/architect.agent.yaml +29 -0
- package/src/agents/team/dev.agent.yaml +38 -0
- package/src/agents/team/pm.agent.yaml +44 -0
- package/src/agents/team/qa.agent.yaml +58 -0
- package/src/agents/team/quick-flow-solo-dev.agent.yaml +32 -0
- package/src/agents/team/sm.agent.yaml +37 -0
- package/src/agents/team/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
- package/src/agents/team/tech-writer/tech-writer.agent.yaml +46 -0
- package/src/agents/team/ux-designer.agent.yaml +27 -0
- package/src/agents/teams/default-party.csv +20 -0
- package/src/agents/teams/team-fullstack.yaml +12 -0
- package/src/core/WIZARD-ENGINE.md +94 -0
- package/src/core/agents/mdan-master.agent.yaml +133 -0
- package/src/core/tasks/editorial-review-prose.xml +102 -0
- package/src/core/tasks/editorial-review-structure.xml +208 -0
- package/src/core/tasks/help.md +86 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/review-adversarial-general.xml +49 -0
- package/src/core/tasks/shard-doc.xml +108 -0
- package/src/core/tasks/workflow.xml +235 -0
- package/src/memory/MEMORY-AUTO.json +66 -0
- package/src/memory/MEMORY-SYSTEM.md +61 -0
- package/src/memory/v1-memory-system.md +197 -0
- package/src/memory/v1-resume-protocol.md +379 -0
- package/src/packs/db-optimization/agents/prompt.yaml +63 -0
- package/src/packs/devops-azure/agents/prompt.yaml +301 -0
- package/src/packs/fintech/agents/prompt.yaml +135 -0
- package/src/phases/auto/auto-01-load.md +165 -0
- package/src/phases/auto/auto-02-discover.md +207 -0
- package/src/phases/auto/auto-03-plan.md +509 -0
- package/src/phases/auto/auto-04-architect.md +567 -0
- package/src/phases/auto/auto-05-implement.md +713 -0
- package/src/phases/auto/auto-06-test.md +559 -0
- package/src/phases/auto/auto-07-deploy.md +510 -0
- package/src/phases/auto/auto-08-doc.md +970 -0
- package/src/phases/manual/01-discover.md +136 -0
- package/src/phases/manual/02-design.md +147 -0
- package/src/phases/manual/03-build.md +113 -0
- package/src/phases/manual/04-verify.md +107 -0
- package/src/phases/manual/05-ship.md +156 -0
- package/src/protocols/debate-protocol.md +58 -0
- package/src/protocols/universal-envelope.md +42 -0
- package/src/protocols/v1-debate-protocol.md +454 -0
- package/src/protocols/v1-universal-envelope.md +273 -0
- package/src/utility/agent-components/activation-rules.txt +6 -0
- package/src/utility/agent-components/activation-steps.txt +14 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/agent-components/agent.customize.template.yaml +41 -0
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-data.txt +5 -0
- package/src/utility/agent-components/handler-exec.txt +6 -0
- package/src/utility/agent-components/handler-multi.txt +14 -0
- package/src/utility/agent-components/handler-tmpl.txt +5 -0
- package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
- package/src/utility/agent-components/handler-workflow.txt +10 -0
- package/src/utility/agent-components/menu-handlers.txt +6 -0
- package/src/wizards/01-discover/create-product-brief/steps/step-01-init.md +7 -0
- package/src/wizards/01-discover/create-product-brief/steps/step-02-vision.md +7 -0
- package/src/wizards/01-discover/create-product-brief/steps/step-03-users.md +7 -0
- package/src/wizards/01-discover/create-product-brief/steps/step-04-scope.md +7 -0
- package/src/wizards/01-discover/create-product-brief/steps/step-05-metrics.md +7 -0
- package/src/wizards/01-discover/create-product-brief/steps/step-06-complete.md +7 -0
- package/src/wizards/01-discover/create-product-brief/templates/product-brief.template.md +14 -0
- package/src/wizards/01-discover/create-product-brief/wizard.md +105 -0
- package/src/wizards/01-discover/research/domain-steps/step-01-init.md +137 -0
- package/src/wizards/01-discover/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/wizards/01-discover/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/wizards/01-discover/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/wizards/01-discover/research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/wizards/01-discover/research/domain-steps/step-06-research-synthesis.md +444 -0
- package/src/wizards/01-discover/research/market-steps/step-01-init.md +182 -0
- package/src/wizards/01-discover/research/market-steps/step-02-customer-behavior.md +237 -0
- package/src/wizards/01-discover/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/src/wizards/01-discover/research/market-steps/step-04-customer-decisions.md +259 -0
- package/src/wizards/01-discover/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/src/wizards/01-discover/research/market-steps/step-06-research-completion.md +476 -0
- package/src/wizards/01-discover/research/technical-steps/step-01-init.md +137 -0
- package/src/wizards/01-discover/research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/wizards/01-discover/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/wizards/01-discover/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/wizards/01-discover/research/technical-steps/step-05-implementation-research.md +233 -0
- package/src/wizards/01-discover/research/technical-steps/step-06-research-synthesis.md +487 -0
- package/src/wizards/01-discover/research/templates/research.template.md +29 -0
- package/src/wizards/01-discover/research/workflow-domain-research.md +54 -0
- package/src/wizards/01-discover/research/workflow-market-research.md +54 -0
- package/src/wizards/01-discover/research/workflow-technical-research.md +54 -0
- package/src/wizards/02-plan/create-prd/data/domain-complexity.csv +15 -0
- package/src/wizards/02-plan/create-prd/data/prd-purpose.md +197 -0
- package/src/wizards/02-plan/create-prd/data/project-types.csv +11 -0
- package/src/wizards/02-plan/create-prd/steps/step-01-init.md +191 -0
- package/src/wizards/02-plan/create-prd/steps/step-01b-continue.md +152 -0
- package/src/wizards/02-plan/create-prd/steps/step-02-discovery.md +224 -0
- package/src/wizards/02-plan/create-prd/steps/step-02b-vision.md +154 -0
- package/src/wizards/02-plan/create-prd/steps/step-02c-executive-summary.md +170 -0
- package/src/wizards/02-plan/create-prd/steps/step-03-success.md +226 -0
- package/src/wizards/02-plan/create-prd/steps/step-04-journeys.md +213 -0
- package/src/wizards/02-plan/create-prd/steps/step-05-domain.md +207 -0
- package/src/wizards/02-plan/create-prd/steps/step-06-innovation.md +226 -0
- package/src/wizards/02-plan/create-prd/steps/step-07-project-type.md +237 -0
- package/src/wizards/02-plan/create-prd/steps/step-08-scoping.md +228 -0
- package/src/wizards/02-plan/create-prd/steps/step-09-functional.md +231 -0
- package/src/wizards/02-plan/create-prd/steps/step-10-nonfunctional.md +242 -0
- package/src/wizards/02-plan/create-prd/steps/step-11-polish.md +217 -0
- package/src/wizards/02-plan/create-prd/steps/step-12-complete.md +124 -0
- package/src/wizards/02-plan/create-prd/templates/prd-template.md +10 -0
- package/src/wizards/02-plan/create-prd/wizard.md +63 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-01-init.md +135 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-01b-continue.md +127 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-02-discovery.md +190 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-06-design-system.md +252 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/src/wizards/02-plan/create-ux-design/steps/step-14-complete.md +171 -0
- package/src/wizards/02-plan/create-ux-design/templates/ux-design-template.md +13 -0
- package/src/wizards/02-plan/create-ux-design/wizard.md +42 -0
- package/src/wizards/03-architect/create-architecture/data/domain-complexity.csv +13 -0
- package/src/wizards/03-architect/create-architecture/data/project-types.csv +7 -0
- package/src/wizards/03-architect/create-architecture/steps/step-01-init.md +153 -0
- package/src/wizards/03-architect/create-architecture/steps/step-01b-continue.md +173 -0
- package/src/wizards/03-architect/create-architecture/steps/step-02-context.md +224 -0
- package/src/wizards/03-architect/create-architecture/steps/step-03-starter.md +329 -0
- package/src/wizards/03-architect/create-architecture/steps/step-04-decisions.md +318 -0
- package/src/wizards/03-architect/create-architecture/steps/step-05-patterns.md +359 -0
- package/src/wizards/03-architect/create-architecture/steps/step-06-structure.md +379 -0
- package/src/wizards/03-architect/create-architecture/steps/step-07-validation.md +359 -0
- package/src/wizards/03-architect/create-architecture/steps/step-08-complete.md +76 -0
- package/src/wizards/03-architect/create-architecture/templates/architecture-decision-template.md +12 -0
- package/src/wizards/03-architect/create-architecture/wizard.md +49 -0
- package/src/wizards/03-architect/create-epics/steps/step-01-validate-prerequisites.md +259 -0
- package/src/wizards/03-architect/create-epics/steps/step-02-design-epics.md +233 -0
- package/src/wizards/03-architect/create-epics/steps/step-03-create-stories.md +272 -0
- package/src/wizards/03-architect/create-epics/steps/step-04-final-validation.md +149 -0
- package/src/wizards/03-architect/create-epics/templates/epics-template.md +57 -0
- package/src/wizards/03-architect/create-epics/wizard.md +58 -0
- package/src/wizards/04-build/code-review/checklist.md +23 -0
- package/src/wizards/04-build/code-review/instructions.xml +227 -0
- package/src/wizards/04-build/code-review/workflow.yaml +43 -0
- package/src/wizards/04-build/dev-story/checklist.md +80 -0
- package/src/wizards/04-build/dev-story/instructions.xml +410 -0
- package/src/wizards/04-build/dev-story/workflow.yaml +20 -0
- package/src/wizards/04-build/sprint-planning/checklist.md +33 -0
- package/src/wizards/04-build/sprint-planning/instructions.md +226 -0
- package/src/wizards/04-build/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/wizards/04-build/sprint-planning/workflow.yaml +47 -0
- package/src/wizards/05-ship/document-project/templates/deep-dive-template.md +345 -0
- package/src/wizards/05-ship/document-project/templates/index-template.md +169 -0
- package/src/wizards/05-ship/document-project/templates/project-overview-template.md +103 -0
- package/src/wizards/05-ship/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/wizards/05-ship/document-project/templates/source-tree-template.md +135 -0
- package/src/wizards/05-ship/document-project/wizard.md +130 -0
- package/src/wizards/quick/quick-dev/steps/step-01-mode-detection.md +174 -0
- package/src/wizards/quick/quick-dev/steps/step-02-context-gathering.md +118 -0
- package/src/wizards/quick/quick-dev/steps/step-03-execute.md +111 -0
- package/src/wizards/quick/quick-dev/steps/step-04-self-check.md +111 -0
- package/src/wizards/quick/quick-dev/steps/step-05-adversarial-review.md +104 -0
- package/src/wizards/quick/quick-dev/steps/step-06-resolve-findings.md +146 -0
- package/src/wizards/quick/quick-dev/wizard.md +50 -0
- package/src/wizards/quick/quick-spec/steps/step-01-understand.md +189 -0
- package/src/wizards/quick/quick-spec/steps/step-02-investigate.md +143 -0
- package/src/wizards/quick/quick-spec/steps/step-03-generate.md +126 -0
- package/src/wizards/quick/quick-spec/steps/step-04-review.md +200 -0
- package/src/wizards/quick/quick-spec/templates/tech-spec-template.md +74 -0
- package/src/wizards/quick/quick-spec/wizard.md +79 -0
- package/src/wizards/special/brainstorming/methods/brain-methods.csv +62 -0
- package/src/wizards/special/brainstorming/steps/step-01-session-setup.md +197 -0
- package/src/wizards/special/brainstorming/steps/step-01b-continue.md +122 -0
- package/src/wizards/special/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/src/wizards/special/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/src/wizards/special/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/src/wizards/special/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/src/wizards/special/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/src/wizards/special/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/src/wizards/special/brainstorming/wizard.md +58 -0
- package/src/wizards/special/party-mode/steps/step-01-agent-loading.md +138 -0
- package/src/wizards/special/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/src/wizards/special/party-mode/steps/step-03-graceful-exit.md +168 -0
- package/src/wizards/special/party-mode/wizard.md +194 -0
- package/test/README.md +295 -0
- package/test/adversarial-review-tests/README.md +56 -0
- package/test/adversarial-review-tests/sample-content.md +46 -0
- package/test/adversarial-review-tests/test-cases.yaml +103 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +3 -0
- package/test/fixtures/file-refs-csv/invalid/empty-data.csv +1 -0
- package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +3 -0
- package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +3 -0
- package/test/fixtures/file-refs-csv/valid/bmm-style.csv +3 -0
- package/test/fixtures/file-refs-csv/valid/core-style.csv +3 -0
- package/test/fixtures/file-refs-csv/valid/minimal.csv +2 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-cli-integration.sh +159 -0
- package/test/test-file-refs-csv.js +133 -0
- package/test/test-installation-components.js +212 -0
- package/test/test-rehype-plugins.mjs +1050 -0
- package/test/unit-test-schema.js +133 -0
- package/tests/run_all_tests.py +80 -0
- package/tests/scenarios/cis/brainstorming-coach.test.py +150 -0
- package/tests/scenarios/cis/creative-problem-solver.test.py +167 -0
- package/tests/scenarios/cis/design-thinking-coach.test.py +177 -0
- package/tests/scenarios/cis/innovation-strategist.test.py +191 -0
- package/tests/scenarios/cis/presentation-master.test.py +240 -0
- package/tests/scenarios/cis/storyteller.test.py +324 -0
- package/tests/scenarios/core/mdan-master.test.py +281 -0
- package/tests/scenarios/mmb/agent-builder.test.py +124 -0
- package/tests/scenarios/mmb/module-builder.test.py +124 -0
- package/tests/scenarios/mmb/workflow-builder.test.py +124 -0
- package/tests/scenarios/mmm/analyst.test.py +138 -0
- package/tests/scenarios/mmm/architect.test.py +138 -0
- package/tests/scenarios/mmm/dev.test.py +138 -0
- package/tests/scenarios/mmm/pm.test.py +138 -0
- package/tests/scenarios/mmm/qa.test.py +138 -0
- package/tests/scenarios/mmm/quick-flow-solo-dev.test.py +138 -0
- package/tests/scenarios/mmm/sm.test.py +138 -0
- package/tests/scenarios/mmm/tech-writer.test.py +138 -0
- package/tests/scenarios/mmm/ux-designer.test.py +294 -0
- package/tests/scenarios/packs/db-optimization/db-performance-analyst.test.py +108 -0
- package/tests/scenarios/packs/db-optimization/indexing-specialist.test.py +108 -0
- package/tests/scenarios/packs/db-optimization/query-optimizer.test.py +106 -0
- package/tests/scenarios/packs/devops-azure/azure-specialist.test.py +125 -0
- package/tests/scenarios/packs/devops-azure/cicd-architect.test.py +122 -0
- package/tests/scenarios/packs/devops-azure/devops-engineer.test.py +128 -0
- package/tests/scenarios/packs/fintech/compliance-officer.test.py +165 -0
- package/tests/scenarios/packs/fintech/financial-analyst.test.py +184 -0
- package/tests/scenarios/packs/fintech/risk-manager.test.py +171 -0
- package/tests/scenarios/tea/tea.test.py +346 -0
- package/tests/simple_cis_test.py +285 -0
- package/tests/simple_db_optimization_test.py +199 -0
- package/tests/simple_devops_test.py +193 -0
- package/tests/simple_fintech_test.py +205 -0
- package/tests/simple_mmb_test.py +103 -0
- package/tests/simple_mmm_test.py +159 -0
- package/tests/simple_tea_test.py +80 -0
- package/tests/simple_test.py +111 -0
- package/tests/simple_ux_designer_test.py +144 -0
- package/tests/validate_yaml.py +86 -0
- package/tools/build-docs.mjs +463 -0
- package/tools/cli/README.md +60 -0
- package/tools/cli/commands/install.js +87 -0
- package/tools/cli/commands/status.js +65 -0
- package/tools/cli/commands/uninstall.js +167 -0
- package/tools/cli/external-official-modules.yaml +53 -0
- package/tools/cli/installers/install-messages.yaml +39 -0
- package/tools/cli/installers/lib/core/config-collector.js +1285 -0
- package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +743 -0
- package/tools/cli/installers/lib/core/detector.js +223 -0
- package/tools/cli/installers/lib/core/ide-config-manager.js +157 -0
- package/tools/cli/installers/lib/core/installer.js +3162 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +1081 -0
- package/tools/cli/installers/lib/core/manifest.js +1038 -0
- package/tools/cli/installers/lib/custom/handler.js +358 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +665 -0
- package/tools/cli/installers/lib/ide/_config-driven.js +634 -0
- package/tools/cli/installers/lib/ide/codex.js +440 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +699 -0
- package/tools/cli/installers/lib/ide/kilo.js +269 -0
- package/tools/cli/installers/lib/ide/manager.js +342 -0
- package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
- package/tools/cli/installers/lib/ide/platform-codes.yaml +243 -0
- package/tools/cli/installers/lib/ide/rovodev.js +257 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +180 -0
- package/tools/cli/installers/lib/ide/shared/mdan-artifacts.js +174 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
- package/tools/cli/installers/lib/ide/shared/path-utils.js +299 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +366 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +318 -0
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +13 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +13 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
- package/tools/cli/installers/lib/ide/templates/split/.gitkeep +0 -0
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
- package/tools/cli/installers/lib/message-loader.js +83 -0
- package/tools/cli/installers/lib/modules/external-manager.js +136 -0
- package/tools/cli/installers/lib/modules/manager.js +1498 -0
- package/tools/cli/lib/activation-builder.js +165 -0
- package/tools/cli/lib/agent/compiler.js +525 -0
- package/tools/cli/lib/agent/installer.js +680 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/tools/cli/lib/agent-analyzer.js +109 -0
- package/tools/cli/lib/agent-party-generator.js +194 -0
- package/tools/cli/lib/cli-utils.js +182 -0
- package/tools/cli/lib/config.js +213 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +77 -0
- package/tools/cli/lib/prompts.js +809 -0
- package/tools/cli/lib/ui.js +1936 -0
- package/tools/cli/lib/xml-handler.js +177 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/cli/lib/yaml-format.js +245 -0
- package/tools/cli/lib/yaml-xml-builder.js +587 -0
- package/tools/cli/mdan-cli.js +106 -0
- package/tools/docs/_prompt-external-modules-page.md +59 -0
- package/tools/docs/fix-refs.md +91 -0
- package/tools/fix-doc-links.js +285 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/lib/xml-utils.js +13 -0
- package/tools/mdan-npx-wrapper.js +38 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/platform-codes.yaml +157 -0
- package/tools/schema/agent.js +491 -0
- package/tools/validate-agent-schema.js +110 -0
- package/tools/validate-doc-links.js +407 -0
- package/tools/validate-file-refs.js +554 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/website/README.md +75 -0
- package/website/astro.config.mjs +136 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/workflow-map-diagram.html +361 -0
- package/website/src/components/Banner.astro +62 -0
- package/website/src/components/Header.astro +96 -0
- package/website/src/components/MobileMenuFooter.astro +33 -0
- package/website/src/content/config.ts +6 -0
- package/website/src/lib/site-url.mjs +25 -0
- package/website/src/pages/404.astro +11 -0
- package/website/src/pages/robots.txt.ts +48 -0
- package/website/src/rehype-base-paths.js +112 -0
- package/website/src/rehype-markdown-links.js +119 -0
- package/website/src/styles/custom.css +805 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# MDAN Universal Envelope v3.0
|
|
2
|
+
|
|
3
|
+
Format standard pour la communication inter-agents dans MDAN.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
envelope:
|
|
9
|
+
from: "architect" # Agent émetteur
|
|
10
|
+
to: "dev" # Agent destinataire (ou "all")
|
|
11
|
+
type: "handoff" # handoff | question | observation | alert | debate-request
|
|
12
|
+
priority: "normal" # low | normal | high | critical
|
|
13
|
+
context:
|
|
14
|
+
wizard: "create-architecture"
|
|
15
|
+
step: "step-05-patterns"
|
|
16
|
+
artifact: "docs/mdan-output/planning/architecture.md"
|
|
17
|
+
|
|
18
|
+
payload:
|
|
19
|
+
summary: "Architecture décidée : microservices avec API Gateway"
|
|
20
|
+
key_decisions:
|
|
21
|
+
- "PostgreSQL comme DB principale"
|
|
22
|
+
- "Redis pour le cache"
|
|
23
|
+
- "Docker + K8s pour le déploiement"
|
|
24
|
+
constraints:
|
|
25
|
+
- "Pas de vendor lock-in cloud"
|
|
26
|
+
- "API REST, pas GraphQL (équipe junior)"
|
|
27
|
+
next_action: "Créer les epics basés sur cette architecture"
|
|
28
|
+
|
|
29
|
+
memory_update:
|
|
30
|
+
add_to_context: true
|
|
31
|
+
add_to_decisions: true
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Types d'enveloppes
|
|
35
|
+
|
|
36
|
+
| Type | Usage | Déclenche |
|
|
37
|
+
|------|-------|-----------|
|
|
38
|
+
| `handoff` | Passage de relais entre wizards | Chargement du wizard suivant avec contexte |
|
|
39
|
+
| `question` | Un agent a besoin d'info | Pause + question à l'utilisateur ou autre agent |
|
|
40
|
+
| `observation` | Note pour mémoire | Ajout dans MDAN-STATE.agent_observations |
|
|
41
|
+
| `alert` | Problème détecté | Notification + suggestion d'action |
|
|
42
|
+
| `debate-request` | Conflit entre agents | Déclenchement du Debate Protocol |
|
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
# Multi-Agent Debate Protocol
|
|
2
|
+
|
|
3
|
+
> MDAN-AUTO v1.0 Decision-Making Through Agent Collaboration
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The debate protocol enables multiple MDAN agents to collaborate on complex decisions, providing diverse perspectives and ensuring well-considered choices.
|
|
8
|
+
|
|
9
|
+
## When to Trigger a Debate
|
|
10
|
+
|
|
11
|
+
Trigger a debate for:
|
|
12
|
+
|
|
13
|
+
- **Architecture Decisions**
|
|
14
|
+
- Monolith vs microservices
|
|
15
|
+
- Design patterns
|
|
16
|
+
- Technology stack choices
|
|
17
|
+
- System boundaries
|
|
18
|
+
|
|
19
|
+
- **Security Decisions**
|
|
20
|
+
- Authentication methods
|
|
21
|
+
- Authorization models
|
|
22
|
+
- Encryption strategies
|
|
23
|
+
- Security controls
|
|
24
|
+
|
|
25
|
+
- **Performance Decisions**
|
|
26
|
+
- Caching strategies
|
|
27
|
+
- Database optimization
|
|
28
|
+
- Scaling approaches
|
|
29
|
+
- Resource allocation
|
|
30
|
+
|
|
31
|
+
- **Implementation Decisions**
|
|
32
|
+
- Code organization
|
|
33
|
+
- Library choices
|
|
34
|
+
- Testing strategies
|
|
35
|
+
- Error handling
|
|
36
|
+
|
|
37
|
+
- **DevOps Decisions**
|
|
38
|
+
- Deployment strategies
|
|
39
|
+
- CI/CD pipelines
|
|
40
|
+
- Infrastructure choices
|
|
41
|
+
- Monitoring approaches
|
|
42
|
+
|
|
43
|
+
## Debate Participants
|
|
44
|
+
|
|
45
|
+
### Core Agents
|
|
46
|
+
|
|
47
|
+
| Agent | Expertise | Debate Topics |
|
|
48
|
+
|-------|-----------|---------------|
|
|
49
|
+
| Product | Requirements, user needs | Feature decisions, UX choices |
|
|
50
|
+
| Architect | System design, patterns | Architecture, technology stack |
|
|
51
|
+
| Dev | Implementation, code quality | Implementation approaches, libraries |
|
|
52
|
+
| Security | Security, compliance | Security controls, authentication |
|
|
53
|
+
| Test | Testing, quality | Testing strategies, quality gates |
|
|
54
|
+
| DevOps | Deployment, infrastructure | Deployment, CI/CD, infrastructure |
|
|
55
|
+
| Doc | Documentation | Documentation approaches |
|
|
56
|
+
|
|
57
|
+
### Participant Selection
|
|
58
|
+
|
|
59
|
+
Select participants based on topic:
|
|
60
|
+
|
|
61
|
+
**Architecture Decisions:**
|
|
62
|
+
- Architect (lead)
|
|
63
|
+
- Dev
|
|
64
|
+
- DevOps
|
|
65
|
+
- Security
|
|
66
|
+
|
|
67
|
+
**Security Decisions:**
|
|
68
|
+
- Security (lead)
|
|
69
|
+
- Architect
|
|
70
|
+
- Dev
|
|
71
|
+
- DevOps
|
|
72
|
+
|
|
73
|
+
**Performance Decisions:**
|
|
74
|
+
- Dev (lead)
|
|
75
|
+
- Architect
|
|
76
|
+
- DevOps
|
|
77
|
+
|
|
78
|
+
**Implementation Decisions:**
|
|
79
|
+
- Dev (lead)
|
|
80
|
+
- Architect
|
|
81
|
+
- Test
|
|
82
|
+
|
|
83
|
+
**DevOps Decisions:**
|
|
84
|
+
- DevOps (lead)
|
|
85
|
+
- Architect
|
|
86
|
+
- Security
|
|
87
|
+
|
|
88
|
+
**Feature Decisions:**
|
|
89
|
+
- Product (lead)
|
|
90
|
+
- Architect
|
|
91
|
+
- Doc
|
|
92
|
+
|
|
93
|
+
## Debate Process
|
|
94
|
+
|
|
95
|
+
### Step 1: Define Question
|
|
96
|
+
|
|
97
|
+
Create a clear, specific question:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
❌ Bad: "How should we do authentication?"
|
|
101
|
+
|
|
102
|
+
✅ Good: "Should we use JWT tokens or session-based authentication
|
|
103
|
+
for a Blazor Server application with Azure AD integration?"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Include:
|
|
107
|
+
- Context
|
|
108
|
+
- Constraints
|
|
109
|
+
- Requirements
|
|
110
|
+
- Trade-offs
|
|
111
|
+
|
|
112
|
+
### Step 2: Select Participants
|
|
113
|
+
|
|
114
|
+
Choose relevant agents:
|
|
115
|
+
- Lead agent (primary expertise)
|
|
116
|
+
- Supporting agents (related expertise)
|
|
117
|
+
- 3-5 agents maximum
|
|
118
|
+
|
|
119
|
+
### Step 3: Present Question
|
|
120
|
+
|
|
121
|
+
Send question to all participants with:
|
|
122
|
+
- Clear question
|
|
123
|
+
- Context
|
|
124
|
+
- Constraints
|
|
125
|
+
- Requirements
|
|
126
|
+
- Deadline (optional)
|
|
127
|
+
|
|
128
|
+
### Step 4: Collect Arguments
|
|
129
|
+
|
|
130
|
+
Each participant provides:
|
|
131
|
+
|
|
132
|
+
1. **Recommendation**: Clear choice
|
|
133
|
+
2. **Rationale**: Why this choice
|
|
134
|
+
3. **Pros**: Benefits of choice
|
|
135
|
+
4. **Cons**: Drawbacks of choice
|
|
136
|
+
5. **Evidence**: Supporting facts/experience
|
|
137
|
+
6. **Alternatives**: Other options considered
|
|
138
|
+
|
|
139
|
+
### Step 5: Score Arguments
|
|
140
|
+
|
|
141
|
+
Score each argument on:
|
|
142
|
+
|
|
143
|
+
| Criteria | Weight | Description |
|
|
144
|
+
|----------|--------|-------------|
|
|
145
|
+
| Technical Merit | 30% | Technical soundness |
|
|
146
|
+
| Alignment | 25% | Alignment with requirements |
|
|
147
|
+
| Security | 20% | Security implications |
|
|
148
|
+
| Maintainability | 15% | Long-term maintainability |
|
|
149
|
+
| Feasibility | 10% | Implementation feasibility |
|
|
150
|
+
|
|
151
|
+
Total score: 0-100
|
|
152
|
+
|
|
153
|
+
### Step 6: Select Winner
|
|
154
|
+
|
|
155
|
+
Choose argument with highest score.
|
|
156
|
+
|
|
157
|
+
If scores are close (<5% difference):
|
|
158
|
+
- Consider hybrid approach
|
|
159
|
+
- Or defer to lead agent
|
|
160
|
+
|
|
161
|
+
### Step 7: Document Decision
|
|
162
|
+
|
|
163
|
+
Record:
|
|
164
|
+
- Question
|
|
165
|
+
- Participants
|
|
166
|
+
- Arguments
|
|
167
|
+
- Scores
|
|
168
|
+
- Winner
|
|
169
|
+
- Rationale
|
|
170
|
+
- Implementation plan
|
|
171
|
+
|
|
172
|
+
### Step 8: Implement
|
|
173
|
+
|
|
174
|
+
Apply decision to implementation.
|
|
175
|
+
|
|
176
|
+
## Debate Output Format
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
## Debate: [Topic]
|
|
180
|
+
|
|
181
|
+
### Question
|
|
182
|
+
[Clear, specific question with context]
|
|
183
|
+
|
|
184
|
+
### Context
|
|
185
|
+
- Project: [Project name]
|
|
186
|
+
- Phase: [Current phase]
|
|
187
|
+
- Requirements: [Key requirements]
|
|
188
|
+
- Constraints: [Constraints]
|
|
189
|
+
|
|
190
|
+
### Participants
|
|
191
|
+
- **Lead**: [Agent name] - [Role]
|
|
192
|
+
- [Agent name] - [Role]
|
|
193
|
+
- [Agent name] - [Role]
|
|
194
|
+
|
|
195
|
+
### Arguments
|
|
196
|
+
|
|
197
|
+
#### [Agent Name]
|
|
198
|
+
**Recommendation**: [Choice]
|
|
199
|
+
|
|
200
|
+
**Rationale**: [Why this choice]
|
|
201
|
+
|
|
202
|
+
**Pros**:
|
|
203
|
+
- [Benefit 1]
|
|
204
|
+
- [Benefit 2]
|
|
205
|
+
|
|
206
|
+
**Cons**:
|
|
207
|
+
- [Drawback 1]
|
|
208
|
+
- [Drawback 2]
|
|
209
|
+
|
|
210
|
+
**Evidence**: [Supporting facts]
|
|
211
|
+
|
|
212
|
+
**Alternatives Considered**:
|
|
213
|
+
- [Alternative 1] - [Why rejected]
|
|
214
|
+
- [Alternative 2] - [Why rejected]
|
|
215
|
+
|
|
216
|
+
**Score**: [0-100]
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
#### [Agent Name]
|
|
221
|
+
[Same structure]
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
### Scoring Summary
|
|
226
|
+
|
|
227
|
+
| Agent | Technical | Alignment | Security | Maintainability | Feasibility | Total |
|
|
228
|
+
|-------|-----------|-----------|----------|-----------------|-------------|-------|
|
|
229
|
+
| Agent A | 25 | 20 | 15 | 12 | 8 | 80 |
|
|
230
|
+
| Agent B | 28 | 23 | 18 | 14 | 9 | 92 |
|
|
231
|
+
| Agent C | 22 | 18 | 16 | 11 | 7 | 74 |
|
|
232
|
+
|
|
233
|
+
### Decision
|
|
234
|
+
**Winner**: [Agent name]
|
|
235
|
+
|
|
236
|
+
**Rationale**: [Why this argument won]
|
|
237
|
+
|
|
238
|
+
**Score**: [Winning score]
|
|
239
|
+
|
|
240
|
+
### Implementation
|
|
241
|
+
[How decision will be implemented]
|
|
242
|
+
|
|
243
|
+
### Next Steps
|
|
244
|
+
1. [Step 1]
|
|
245
|
+
2. [Step 2]
|
|
246
|
+
3. [Step 3]
|
|
247
|
+
|
|
248
|
+
### Timestamp
|
|
249
|
+
[ISO 8601 timestamp]
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Debate Example
|
|
253
|
+
|
|
254
|
+
```markdown
|
|
255
|
+
## Debate: Authentication Strategy
|
|
256
|
+
|
|
257
|
+
### Question
|
|
258
|
+
Should we use JWT tokens or session-based authentication for a Blazor Server
|
|
259
|
+
application with Azure AD integration?
|
|
260
|
+
|
|
261
|
+
### Context
|
|
262
|
+
- Project: External Service Integration
|
|
263
|
+
- Phase: ARCHITECT
|
|
264
|
+
- Requirements: Secure authentication, Azure AD integration, session management
|
|
265
|
+
- Constraints: Must support multiple external service APIs
|
|
266
|
+
|
|
267
|
+
### Participants
|
|
268
|
+
- **Lead**: Security - Security expertise
|
|
269
|
+
- Architect - System design
|
|
270
|
+
- Dev - Implementation
|
|
271
|
+
|
|
272
|
+
### Arguments
|
|
273
|
+
|
|
274
|
+
#### Security
|
|
275
|
+
**Recommendation**: JWT tokens with Azure AD
|
|
276
|
+
|
|
277
|
+
**Rationale**: JWT provides stateless authentication, works well with Azure AD,
|
|
278
|
+
and is industry standard for modern applications.
|
|
279
|
+
|
|
280
|
+
**Pros**:
|
|
281
|
+
- Stateless, no server-side session storage
|
|
282
|
+
- Works seamlessly with Azure AD
|
|
283
|
+
- Industry standard
|
|
284
|
+
- Easy to scale
|
|
285
|
+
- Built-in expiration and refresh
|
|
286
|
+
|
|
287
|
+
**Cons**:
|
|
288
|
+
- Token revocation is complex
|
|
289
|
+
- Larger payload size
|
|
290
|
+
- Requires careful token validation
|
|
291
|
+
|
|
292
|
+
**Evidence**: OWASP recommends JWT for stateless authentication. Azure AD
|
|
293
|
+
natively issues JWT tokens.
|
|
294
|
+
|
|
295
|
+
**Alternatives Considered**:
|
|
296
|
+
- Session-based - Rejected due to scaling concerns
|
|
297
|
+
- Hybrid - Rejected due to complexity
|
|
298
|
+
|
|
299
|
+
**Score**: 92
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
#### Architect
|
|
304
|
+
**Recommendation**: Session-based authentication
|
|
305
|
+
|
|
306
|
+
**Rationale**: Blazor Server maintains server-side state, session-based auth
|
|
307
|
+
aligns better with the architecture.
|
|
308
|
+
|
|
309
|
+
**Pros**:
|
|
310
|
+
- Natural fit for Blazor Server
|
|
311
|
+
- Easy to implement
|
|
312
|
+
- Built-in session management
|
|
313
|
+
- Simple revocation
|
|
314
|
+
|
|
315
|
+
**Cons**:
|
|
316
|
+
- Requires server-side storage
|
|
317
|
+
- Harder to scale
|
|
318
|
+
- Session affinity required
|
|
319
|
+
- More complex with Azure AD
|
|
320
|
+
|
|
321
|
+
**Evidence**: Blazor Server documentation recommends session-based auth for
|
|
322
|
+
server-side rendering.
|
|
323
|
+
|
|
324
|
+
**Alternatives Considered**:
|
|
325
|
+
- JWT - Rejected due to Blazor Server architecture
|
|
326
|
+
- Hybrid - Rejected due to complexity
|
|
327
|
+
|
|
328
|
+
**Score**: 78
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
#### Dev
|
|
333
|
+
**Recommendation**: JWT tokens with Azure AD
|
|
334
|
+
|
|
335
|
+
**Rationale**: JWT is easier to implement with Azure AD and provides better
|
|
336
|
+
separation of concerns.
|
|
337
|
+
|
|
338
|
+
**Pros**:
|
|
339
|
+
- Easy Azure AD integration
|
|
340
|
+
- Standard libraries available
|
|
341
|
+
- Clear separation of auth logic
|
|
342
|
+
- Better for API calls
|
|
343
|
+
|
|
344
|
+
**Cons**:
|
|
345
|
+
- Token management complexity
|
|
346
|
+
- Refresh token handling
|
|
347
|
+
|
|
348
|
+
**Evidence**: Microsoft.Identity.Web library provides excellent JWT support
|
|
349
|
+
for Azure AD.
|
|
350
|
+
|
|
351
|
+
**Alternatives Considered**:
|
|
352
|
+
- Session-based - Rejected due to Azure AD complexity
|
|
353
|
+
|
|
354
|
+
**Score**: 88
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
### Scoring Summary
|
|
359
|
+
|
|
360
|
+
| Agent | Technical | Alignment | Security | Maintainability | Feasibility | Total |
|
|
361
|
+
|-------|-----------|-----------|----------|-----------------|-------------|-------|
|
|
362
|
+
| Security | 28 | 23 | 18 | 14 | 9 | 92 |
|
|
363
|
+
| Architect | 22 | 20 | 14 | 12 | 10 | 78 |
|
|
364
|
+
| Dev | 26 | 22 | 16 | 13 | 11 | 88 |
|
|
365
|
+
|
|
366
|
+
### Decision
|
|
367
|
+
**Winner**: Security
|
|
368
|
+
|
|
369
|
+
**Rationale**: JWT with Azure AD provides the best security posture, aligns
|
|
370
|
+
with industry standards, and has excellent Azure integration. The slight
|
|
371
|
+
complexity is outweighed by security benefits and scalability.
|
|
372
|
+
|
|
373
|
+
**Score**: 92
|
|
374
|
+
|
|
375
|
+
### Implementation
|
|
376
|
+
1. Configure Azure AD app registration
|
|
377
|
+
2. Implement JWT token validation middleware
|
|
378
|
+
3. Use Microsoft.Identity.Web library
|
|
379
|
+
4. Implement token refresh logic
|
|
380
|
+
5. Add token validation to API endpoints
|
|
381
|
+
|
|
382
|
+
### Next Steps
|
|
383
|
+
1. Create Azure AD app registration
|
|
384
|
+
2. Implement authentication middleware
|
|
385
|
+
3. Update Blazor Server configuration
|
|
386
|
+
4. Test authentication flow
|
|
387
|
+
5. Document authentication approach
|
|
388
|
+
|
|
389
|
+
### Timestamp
|
|
390
|
+
2024-01-15T10:15:00Z
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Debate Timeout
|
|
394
|
+
|
|
395
|
+
Set timeout for debates:
|
|
396
|
+
- Default: 5 minutes per agent
|
|
397
|
+
- Maximum: 30 minutes total
|
|
398
|
+
- If timeout, use available arguments
|
|
399
|
+
|
|
400
|
+
## Debate Cancellation
|
|
401
|
+
|
|
402
|
+
Cancel debate if:
|
|
403
|
+
- Question is unclear
|
|
404
|
+
- Insufficient context
|
|
405
|
+
- Emergency situation
|
|
406
|
+
- User intervention
|
|
407
|
+
|
|
408
|
+
## Debate Storage
|
|
409
|
+
|
|
410
|
+
Store debates in:
|
|
411
|
+
- `context.debates` array in save file
|
|
412
|
+
- Separate debate log file
|
|
413
|
+
- Decision history
|
|
414
|
+
|
|
415
|
+
## Debate Quality
|
|
416
|
+
|
|
417
|
+
Ensure debate quality:
|
|
418
|
+
- Clear questions
|
|
419
|
+
- Relevant participants
|
|
420
|
+
- Well-reasoned arguments
|
|
421
|
+
- Evidence-based decisions
|
|
422
|
+
- Proper documentation
|
|
423
|
+
|
|
424
|
+
## Debate Automation
|
|
425
|
+
|
|
426
|
+
Automate debate triggering:
|
|
427
|
+
- Detect complex decisions
|
|
428
|
+
- Select participants automatically
|
|
429
|
+
- Collect arguments
|
|
430
|
+
- Score and decide
|
|
431
|
+
- Document and implement
|
|
432
|
+
|
|
433
|
+
## Debate Review
|
|
434
|
+
|
|
435
|
+
Review debates periodically:
|
|
436
|
+
- Check decision quality
|
|
437
|
+
- Validate implementation
|
|
438
|
+
- Learn from outcomes
|
|
439
|
+
- Improve process
|
|
440
|
+
|
|
441
|
+
## Best Practices
|
|
442
|
+
|
|
443
|
+
1. **Clear Questions**: Be specific and provide context
|
|
444
|
+
2. **Right Participants**: Choose agents with relevant expertise
|
|
445
|
+
3. **Evidence-Based**: Use facts and experience
|
|
446
|
+
4. **Fair Scoring**: Use consistent criteria
|
|
447
|
+
5. **Document Everything**: Record full debate
|
|
448
|
+
6. **Implement Decisions**: Apply decisions consistently
|
|
449
|
+
7. **Review Outcomes**: Learn from results
|
|
450
|
+
8. **Time-Boxed**: Set reasonable timeouts
|
|
451
|
+
|
|
452
|
+
## Version
|
|
453
|
+
|
|
454
|
+
MDAN-AUTO Debate Protocol v1.0
|