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,61 @@
|
|
|
1
|
+
# MDAN Memory System v3.0
|
|
2
|
+
|
|
3
|
+
## Pourquoi c'est différent de MDAN
|
|
4
|
+
|
|
5
|
+
MDAN n'a **aucun système de mémoire**. Chaque session repart de zéro. MDAN résout ça.
|
|
6
|
+
|
|
7
|
+
## Architecture
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
MDAN-STATE.json ← État persistant du projet (phases, artifacts, décisions)
|
|
11
|
+
↕ lu/écrit par
|
|
12
|
+
Wizard Engine ← Met à jour l'état après chaque wizard
|
|
13
|
+
↕ informé par
|
|
14
|
+
Context Summary ← Résumé vivant du projet, mis à jour en continu
|
|
15
|
+
↕ alimenté par
|
|
16
|
+
Agent Observations ← Notes des agents pendant leur travail
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Fonctionnement
|
|
20
|
+
|
|
21
|
+
### 1. Sauvegarde automatique
|
|
22
|
+
À la fin de chaque wizard, le moteur sauvegarde dans MDAN-STATE.json :
|
|
23
|
+
- Le wizard complété
|
|
24
|
+
- Les artifacts produits
|
|
25
|
+
- Les décisions prises
|
|
26
|
+
- Le résumé du contexte mis à jour
|
|
27
|
+
- Les observations des agents
|
|
28
|
+
|
|
29
|
+
### 2. Restauration automatique
|
|
30
|
+
Au début de chaque session, MDAN Master :
|
|
31
|
+
1. Charge MDAN-STATE.json
|
|
32
|
+
2. Restaure le contexte du projet
|
|
33
|
+
3. Identifie la phase actuelle
|
|
34
|
+
4. Propose la prochaine action logique
|
|
35
|
+
5. Rappelle les décisions clés à l'utilisateur
|
|
36
|
+
|
|
37
|
+
### 3. Mémoire cross-wizard
|
|
38
|
+
Quand un wizard démarre, il a accès à :
|
|
39
|
+
- Tous les artifacts des wizards précédents
|
|
40
|
+
- Les décisions d'architecture (pour le dev)
|
|
41
|
+
- Les user stories (pour le QA)
|
|
42
|
+
- Le product brief (pour tout le monde)
|
|
43
|
+
|
|
44
|
+
### 4. Context Summary
|
|
45
|
+
Un résumé vivant du projet en ~500 mots, mis à jour à chaque fin de wizard.
|
|
46
|
+
Inclut : objectif, décisions clés, stack technique, état actuel, prochaines étapes.
|
|
47
|
+
|
|
48
|
+
## Protocole de reprise
|
|
49
|
+
|
|
50
|
+
Quand l'utilisateur revient après une interruption :
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
1. MDAN Master charge MDAN-STATE.json
|
|
54
|
+
2. Affiche : "Bonjour {user_name} ! Voici où on en est sur {project_name}..."
|
|
55
|
+
3. Résumé : phase actuelle, dernière action, prochaine étape suggérée
|
|
56
|
+
4. Question : "On continue là où on s'était arrêté ?"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Format de l'état
|
|
60
|
+
|
|
61
|
+
Voir `.mdan/state/MDAN-STATE.template.json` pour le schéma complet.
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# MDAN Memory System
|
|
2
|
+
|
|
3
|
+
> La mémoire persistante de MDAN entre les sessions.
|
|
4
|
+
> Chaque projet génère et maintient un fichier `MDAN-STATE.json` à la racine.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Concept
|
|
9
|
+
|
|
10
|
+
Le problème fondamental des agents IA : chaque nouvelle conversation repart de zéro.
|
|
11
|
+
MDAN résout ça avec un fichier d'état JSON versionné, lisible par n'importe quel LLM.
|
|
12
|
+
|
|
13
|
+
Au début de chaque session, l'utilisateur colle le contenu de `MDAN-STATE.json` dans la conversation.
|
|
14
|
+
MDAN Core le lit, reconstruit le contexte complet, et reprend exactement où on s'était arrêté.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Structure du fichier MDAN-STATE.json
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"mdan_version": "2.0.0",
|
|
23
|
+
"user": {
|
|
24
|
+
"name": "Alex"
|
|
25
|
+
},
|
|
26
|
+
"project": {
|
|
27
|
+
"name": "mon-projet",
|
|
28
|
+
"type": "web-app",
|
|
29
|
+
"created_at": "2025-01-15",
|
|
30
|
+
"last_updated": "2025-01-20"
|
|
31
|
+
},
|
|
32
|
+
"current_phase": "BUILD",
|
|
33
|
+
"phase_history": [
|
|
34
|
+
{
|
|
35
|
+
"phase": "DISCOVER",
|
|
36
|
+
"started_at": "2025-01-15",
|
|
37
|
+
"completed_at": "2025-01-15",
|
|
38
|
+
"status": "VALIDATED",
|
|
39
|
+
"artifacts": ["mdan_output/PRD.md"]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"phase": "DESIGN",
|
|
43
|
+
"started_at": "2025-01-16",
|
|
44
|
+
"completed_at": "2025-01-17",
|
|
45
|
+
"status": "VALIDATED",
|
|
46
|
+
"artifacts": ["mdan_output/ARCHITECTURE.md", "mdan_output/UX-SPEC.md"]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"phase": "BUILD",
|
|
50
|
+
"started_at": "2025-01-18",
|
|
51
|
+
"completed_at": null,
|
|
52
|
+
"status": "IN_PROGRESS",
|
|
53
|
+
"artifacts": []
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"agents_used": {
|
|
57
|
+
"product": "2.0.0",
|
|
58
|
+
"architect": "2.0.0",
|
|
59
|
+
"ux": "2.0.0",
|
|
60
|
+
"dev": "2.0.0",
|
|
61
|
+
"test": "2.0.0",
|
|
62
|
+
"security": "2.0.0",
|
|
63
|
+
"devops": "2.0.0",
|
|
64
|
+
"doc": "2.0.0"
|
|
65
|
+
},
|
|
66
|
+
"features": [
|
|
67
|
+
{
|
|
68
|
+
"id": "US-001",
|
|
69
|
+
"title": "User authentication",
|
|
70
|
+
"status": "DONE",
|
|
71
|
+
"implemented_at": "2025-01-18",
|
|
72
|
+
"files": ["src/auth/auth.service.ts", "src/auth/auth.controller.ts"],
|
|
73
|
+
"tests": "PASSING",
|
|
74
|
+
"security_review": "APPROVED"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "US-002",
|
|
78
|
+
"title": "User profile management",
|
|
79
|
+
"status": "IN_PROGRESS",
|
|
80
|
+
"implemented_at": null,
|
|
81
|
+
"files": [],
|
|
82
|
+
"tests": null,
|
|
83
|
+
"security_review": null
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "US-003",
|
|
87
|
+
"title": "Dashboard",
|
|
88
|
+
"status": "TODO",
|
|
89
|
+
"implemented_at": null,
|
|
90
|
+
"files": [],
|
|
91
|
+
"tests": null,
|
|
92
|
+
"security_review": null
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"decisions": [
|
|
96
|
+
{
|
|
97
|
+
"id": "ADR-001",
|
|
98
|
+
"title": "PostgreSQL over MongoDB",
|
|
99
|
+
"made_at": "2025-01-16",
|
|
100
|
+
"rationale": "Relational data, ACID needed"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"open_issues": [
|
|
104
|
+
{
|
|
105
|
+
"id": "ISSUE-001",
|
|
106
|
+
"type": "BLOCKER",
|
|
107
|
+
"description": "Rate limiting library choice not finalized",
|
|
108
|
+
"phase": "BUILD"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"tech_stack": {
|
|
112
|
+
"frontend": "React 18 + TypeScript",
|
|
113
|
+
"backend": "Node.js 20 + Express",
|
|
114
|
+
"database": "PostgreSQL 16",
|
|
115
|
+
"cache": "Redis 7",
|
|
116
|
+
"hosting": "Railway"
|
|
117
|
+
},
|
|
118
|
+
"llm_history": [
|
|
119
|
+
{ "session": 1, "llm": "Claude", "phase": "DISCOVER + DESIGN" },
|
|
120
|
+
{ "session": 2, "llm": "Cursor", "phase": "BUILD (US-001)" }
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Protocole de reprise de session
|
|
128
|
+
|
|
129
|
+
### Ce que l'utilisateur fait
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
1. Ouvrir MDAN-STATE.json du projet
|
|
133
|
+
2. Copier le contenu
|
|
134
|
+
3. Ouvrir son LLM avec le prompt MDAN Core
|
|
135
|
+
4. Coller ce message :
|
|
136
|
+
|
|
137
|
+
"MDAN RESUME SESSION
|
|
138
|
+
[coller le contenu de MDAN-STATE.json]"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Ce que MDAN Core fait automatiquement
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
[MDAN CORE — REPRISE DE SESSION]
|
|
145
|
+
|
|
146
|
+
✅ Projet chargé : [nom]
|
|
147
|
+
✅ Phase courante : [phase]
|
|
148
|
+
✅ Progression : [X/Y features complètes]
|
|
149
|
+
✅ Dernière session : [LLM utilisé, date]
|
|
150
|
+
|
|
151
|
+
Contexte reconstruit :
|
|
152
|
+
- PRD : [résumé en 2 lignes]
|
|
153
|
+
- Architecture : [stack + pattern]
|
|
154
|
+
- Fonctionnalités : [liste avec statuts]
|
|
155
|
+
- Issues ouvertes : [liste]
|
|
156
|
+
|
|
157
|
+
Prochaine action recommandée :
|
|
158
|
+
→ [Action précise à faire maintenant]
|
|
159
|
+
|
|
160
|
+
Souhaitez-vous continuer avec [action], ou autre chose ?
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Mise à jour de l'état
|
|
166
|
+
|
|
167
|
+
À la fin de chaque session, MDAN Core génère le MDAN-STATE.json mis à jour :
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
[MDAN CORE — FIN DE SESSION]
|
|
171
|
+
|
|
172
|
+
Voici votre MDAN-STATE.json mis à jour.
|
|
173
|
+
Remplacez le fichier existant avec ce contenu :
|
|
174
|
+
|
|
175
|
+
[JSON complet mis à jour]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## CLI — Commandes mémoire
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Initialiser l'état d'un projet
|
|
184
|
+
mdan memory init mon-projet
|
|
185
|
+
|
|
186
|
+
# Afficher l'état actuel
|
|
187
|
+
mdan memory status
|
|
188
|
+
|
|
189
|
+
# Mettre à jour le statut d'une feature
|
|
190
|
+
mdan memory feature US-001 done
|
|
191
|
+
|
|
192
|
+
# Générer le prompt de reprise
|
|
193
|
+
mdan memory resume
|
|
194
|
+
|
|
195
|
+
# Valider une phase
|
|
196
|
+
mdan memory phase-complete DISCOVER
|
|
197
|
+
```
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
# Resume Protocol
|
|
2
|
+
|
|
3
|
+
> MDAN-AUTO v1.0 Context Resume Procedure
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The resume protocol defines how MDAN-AUTO resumes execution from a saved context file, ensuring seamless continuation after token limits or interruptions.
|
|
8
|
+
|
|
9
|
+
## Resume Command
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
mdan auto resume /tmp/mdan-save-[timestamp].json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Resume Process
|
|
16
|
+
|
|
17
|
+
### Step 1: Load Save File
|
|
18
|
+
|
|
19
|
+
1. Locate save file
|
|
20
|
+
2. Validate file exists and is readable
|
|
21
|
+
3. Parse JSON content
|
|
22
|
+
4. Validate format version
|
|
23
|
+
|
|
24
|
+
### Step 2: Validate Save State
|
|
25
|
+
|
|
26
|
+
Check:
|
|
27
|
+
|
|
28
|
+
- [ ] Version is compatible (1.0)
|
|
29
|
+
- [ ] All required fields present
|
|
30
|
+
- [ ] JSON is valid
|
|
31
|
+
- [ ] File is not corrupted
|
|
32
|
+
- [ ] Timestamp is recent (optional)
|
|
33
|
+
|
|
34
|
+
If validation fails:
|
|
35
|
+
- Log error
|
|
36
|
+
- Exit with error code
|
|
37
|
+
- Provide recovery instructions
|
|
38
|
+
|
|
39
|
+
### Step 3: Restore State
|
|
40
|
+
|
|
41
|
+
Restore the following:
|
|
42
|
+
|
|
43
|
+
1. **Project Information**
|
|
44
|
+
- Project name
|
|
45
|
+
- Description
|
|
46
|
+
- Tech stack
|
|
47
|
+
|
|
48
|
+
2. **Phase State**
|
|
49
|
+
- Current phase
|
|
50
|
+
- Completed phases
|
|
51
|
+
- Phase status
|
|
52
|
+
|
|
53
|
+
3. **Context**
|
|
54
|
+
- Conversation history
|
|
55
|
+
- Artifacts
|
|
56
|
+
- Decisions
|
|
57
|
+
|
|
58
|
+
4. **Configuration**
|
|
59
|
+
- Token limit
|
|
60
|
+
- Save threshold
|
|
61
|
+
- Output directory
|
|
62
|
+
- Other settings
|
|
63
|
+
|
|
64
|
+
5. **Debates**
|
|
65
|
+
- Debate history
|
|
66
|
+
- Decisions made
|
|
67
|
+
|
|
68
|
+
6. **Quality Gates**
|
|
69
|
+
- Gate status for each phase
|
|
70
|
+
|
|
71
|
+
### Step 4: Validate Environment
|
|
72
|
+
|
|
73
|
+
Check:
|
|
74
|
+
|
|
75
|
+
- [ ] Required tools installed (dotnet, docker, etc.)
|
|
76
|
+
- [ ] Output directory exists
|
|
77
|
+
- [ ] Sufficient disk space
|
|
78
|
+
- [ ] Network connectivity (if needed)
|
|
79
|
+
- [ ] API credentials valid
|
|
80
|
+
|
|
81
|
+
If environment check fails:
|
|
82
|
+
- Log error
|
|
83
|
+
- Exit with error code
|
|
84
|
+
- Provide setup instructions
|
|
85
|
+
|
|
86
|
+
### Step 5: Resume Execution
|
|
87
|
+
|
|
88
|
+
1. Log resume start
|
|
89
|
+
2. Display resume summary
|
|
90
|
+
3. Continue from `phases.current`
|
|
91
|
+
4. Increment `metadata.resume_count`
|
|
92
|
+
5. Execute remaining phases
|
|
93
|
+
|
|
94
|
+
## Resume Summary
|
|
95
|
+
|
|
96
|
+
Display this summary when resuming:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
╔════════════════════════════════════════════════════════════╗
|
|
100
|
+
║ MDAN-AUTO v1.0 - Resume Execution ║
|
|
101
|
+
╠════════════════════════════════════════════════════════════╣
|
|
102
|
+
║ Project: MyProject ║
|
|
103
|
+
║ Tech Stack: C#/.NET/Blazor/SQL Server/Azure ║
|
|
104
|
+
║ ║
|
|
105
|
+
║ Current Phase: IMPLEMENT ║
|
|
106
|
+
║ Completed: LOAD, DISCOVER, PLAN, ARCHITECT ║
|
|
107
|
+
║ Remaining: IMPLEMENT, TEST, DEPLOY, DOC ║
|
|
108
|
+
║ ║
|
|
109
|
+
║ Save File: /tmp/mdan-save-1705310400.json ║
|
|
110
|
+
║ Save Time: 2024-01-15 10:23:45 UTC ║
|
|
111
|
+
║ Resume Count: 1 ║
|
|
112
|
+
║ ║
|
|
113
|
+
║ Token Usage: 102,400 / 128,000 (80%) ║
|
|
114
|
+
║ ║
|
|
115
|
+
║ Resuming execution... ║
|
|
116
|
+
╚════════════════════════════════════════════════════════════╝
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Phase Resume Logic
|
|
120
|
+
|
|
121
|
+
### Resume from Pending Phase
|
|
122
|
+
|
|
123
|
+
If phase status is `pending`:
|
|
124
|
+
- Start phase from beginning
|
|
125
|
+
- Execute all phase tasks
|
|
126
|
+
- Mark as `in_progress`
|
|
127
|
+
|
|
128
|
+
### Resume from In-Progress Phase
|
|
129
|
+
|
|
130
|
+
If phase status is `in_progress`:
|
|
131
|
+
- Check for partial artifacts
|
|
132
|
+
- Determine last completed task
|
|
133
|
+
- Continue from next task
|
|
134
|
+
- If cannot determine, restart phase
|
|
135
|
+
|
|
136
|
+
### Resume from Failed Phase
|
|
137
|
+
|
|
138
|
+
If phase status is `failed`:
|
|
139
|
+
- Check error details
|
|
140
|
+
- Determine if recoverable
|
|
141
|
+
- If recoverable, retry phase
|
|
142
|
+
- If not recoverable, abort
|
|
143
|
+
|
|
144
|
+
### Resume from Complete Phase
|
|
145
|
+
|
|
146
|
+
If phase status is `complete`:
|
|
147
|
+
- Skip phase
|
|
148
|
+
- Move to next phase
|
|
149
|
+
- Verify quality gate passed
|
|
150
|
+
|
|
151
|
+
## Artifact Restoration
|
|
152
|
+
|
|
153
|
+
### File Artifacts
|
|
154
|
+
|
|
155
|
+
For each artifact in `context.artifacts`:
|
|
156
|
+
|
|
157
|
+
1. Check if file exists
|
|
158
|
+
2. If exists, verify content matches
|
|
159
|
+
3. If missing or different, recreate from saved content
|
|
160
|
+
4. Update file timestamps
|
|
161
|
+
|
|
162
|
+
### In-Memory Artifacts
|
|
163
|
+
|
|
164
|
+
For in-memory artifacts:
|
|
165
|
+
- Restore from `context.artifacts`
|
|
166
|
+
- Keep in memory for execution
|
|
167
|
+
- Save to disk when needed
|
|
168
|
+
|
|
169
|
+
## Conversation History Restoration
|
|
170
|
+
|
|
171
|
+
### History Validation
|
|
172
|
+
|
|
173
|
+
1. Validate conversation history structure
|
|
174
|
+
2. Check for corrupted entries
|
|
175
|
+
3. Remove invalid entries
|
|
176
|
+
4. Log any issues
|
|
177
|
+
|
|
178
|
+
### History Trimming
|
|
179
|
+
|
|
180
|
+
If conversation history is too long:
|
|
181
|
+
- Keep last N messages (configurable)
|
|
182
|
+
- Keep system messages
|
|
183
|
+
- Keep critical decisions
|
|
184
|
+
- Log trim operation
|
|
185
|
+
|
|
186
|
+
## Decision Restoration
|
|
187
|
+
|
|
188
|
+
Restore all decisions from `context.decisions`:
|
|
189
|
+
|
|
190
|
+
1. Load decision history
|
|
191
|
+
2. Apply decisions to current state
|
|
192
|
+
3. Log restored decisions
|
|
193
|
+
4. Use for future debates
|
|
194
|
+
|
|
195
|
+
## Quality Gate Validation
|
|
196
|
+
|
|
197
|
+
For each completed phase:
|
|
198
|
+
|
|
199
|
+
1. Check quality gate status
|
|
200
|
+
2. If gate failed:
|
|
201
|
+
- Log warning
|
|
202
|
+
- Consider re-running phase
|
|
203
|
+
- Or continue with warning
|
|
204
|
+
|
|
205
|
+
## Error Handling
|
|
206
|
+
|
|
207
|
+
### Load Errors
|
|
208
|
+
|
|
209
|
+
If save file cannot be loaded:
|
|
210
|
+
- Log error with details
|
|
211
|
+
- Exit with error code 1
|
|
212
|
+
- Provide recovery instructions
|
|
213
|
+
|
|
214
|
+
### Validation Errors
|
|
215
|
+
|
|
216
|
+
If save state is invalid:
|
|
217
|
+
- Log validation errors
|
|
218
|
+
- Exit with error code 2
|
|
219
|
+
- Provide fix instructions
|
|
220
|
+
|
|
221
|
+
### Resume Errors
|
|
222
|
+
|
|
223
|
+
If resume fails:
|
|
224
|
+
- Log error with context
|
|
225
|
+
- Save current state
|
|
226
|
+
- Exit with error code 3
|
|
227
|
+
- Provide manual recovery steps
|
|
228
|
+
|
|
229
|
+
## Recovery Instructions
|
|
230
|
+
|
|
231
|
+
### Save File Not Found
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
Error: Save file not found: /tmp/mdan-save-1705310400.json
|
|
235
|
+
|
|
236
|
+
Recovery:
|
|
237
|
+
1. Check file path is correct
|
|
238
|
+
2. Look for recent saves in /tmp/
|
|
239
|
+
3. Use: ls -lt /tmp/mdan-save-*.json
|
|
240
|
+
4. If no saves found, start new execution
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Invalid Save Format
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
Error: Invalid save format: version mismatch
|
|
247
|
+
|
|
248
|
+
Recovery:
|
|
249
|
+
1. Check save file version
|
|
250
|
+
2. Update MDAN-AUTO to latest version
|
|
251
|
+
3. Or manually migrate save file
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Missing Artifacts
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
Error: Missing artifact: docs/discover.md
|
|
258
|
+
|
|
259
|
+
Recovery:
|
|
260
|
+
1. Check if artifact was saved
|
|
261
|
+
2. Recreate from saved content
|
|
262
|
+
3. Or re-run DISCOVER phase
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Environment Issues
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
Error: Required tool not found: dotnet
|
|
269
|
+
|
|
270
|
+
Recovery:
|
|
271
|
+
1. Install missing tool
|
|
272
|
+
2. Verify installation
|
|
273
|
+
3. Resume execution
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## Resume Logging
|
|
277
|
+
|
|
278
|
+
Log all resume operations:
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
[2024-01-15 10:30:00] Starting resume from /tmp/mdan-save-1705310400.json
|
|
282
|
+
[2024-01-15 10:30:01] Loading save file...
|
|
283
|
+
[2024-01-15 10:30:02] Validating save state...
|
|
284
|
+
[2024-01-15 10:30:03] Restoring project state...
|
|
285
|
+
[2024-01-15 10:30:04] Restoring conversation history (45 messages)
|
|
286
|
+
[2024-01-15 10:30:05] Restoring artifacts (3 files)
|
|
287
|
+
[2024-01-15 10:30:06] Restoring decisions (2 decisions)
|
|
288
|
+
[2024-01-15 10:30:07] Validating environment...
|
|
289
|
+
[2024-01-15 10:30:08] Environment valid
|
|
290
|
+
[2024-01-15 10:30:09] Resuming from phase: IMPLEMENT
|
|
291
|
+
[2024-01-15 10:30:10] Resume count: 1
|
|
292
|
+
[2024-01-15 10:30:11] Continuing execution...
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Resume Count Tracking
|
|
296
|
+
|
|
297
|
+
Track resume attempts in `metadata.resume_count`:
|
|
298
|
+
|
|
299
|
+
- 0: First execution
|
|
300
|
+
- 1: First resume
|
|
301
|
+
- 2: Second resume
|
|
302
|
+
- etc.
|
|
303
|
+
|
|
304
|
+
If resume count > threshold (default 5):
|
|
305
|
+
- Log warning
|
|
306
|
+
- Consider aborting
|
|
307
|
+
- Require manual intervention
|
|
308
|
+
|
|
309
|
+
## Auto-Resume
|
|
310
|
+
|
|
311
|
+
For automatic resume after context save:
|
|
312
|
+
|
|
313
|
+
1. Detect context save
|
|
314
|
+
2. Wait for token limit reset
|
|
315
|
+
3. Automatically resume from latest save
|
|
316
|
+
4. Continue execution
|
|
317
|
+
|
|
318
|
+
## Manual Resume
|
|
319
|
+
|
|
320
|
+
For manual resume:
|
|
321
|
+
|
|
322
|
+
1. User provides save file path
|
|
323
|
+
2. Validate and load
|
|
324
|
+
3. Display summary
|
|
325
|
+
4. Ask for confirmation (optional)
|
|
326
|
+
5. Resume execution
|
|
327
|
+
|
|
328
|
+
## Resume Verification
|
|
329
|
+
|
|
330
|
+
After resume, verify:
|
|
331
|
+
|
|
332
|
+
- [ ] All artifacts restored
|
|
333
|
+
- [ ] Conversation history valid
|
|
334
|
+
- [ ] Decisions applied
|
|
335
|
+
- [ ] Environment ready
|
|
336
|
+
- [ ] Can continue execution
|
|
337
|
+
|
|
338
|
+
## Resume Failure Recovery
|
|
339
|
+
|
|
340
|
+
If resume fails completely:
|
|
341
|
+
|
|
342
|
+
1. Save error state
|
|
343
|
+
2. Provide detailed error report
|
|
344
|
+
3. Suggest recovery options:
|
|
345
|
+
- Fix and retry resume
|
|
346
|
+
- Start new execution
|
|
347
|
+
- Manual intervention
|
|
348
|
+
|
|
349
|
+
## Example Resume Flow
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
1. User runs: mdan auto resume /tmp/mdan-save-1705310400.json
|
|
353
|
+
2. MDAN-AUTO loads save file
|
|
354
|
+
3. Validates save state (OK)
|
|
355
|
+
4. Restores project state
|
|
356
|
+
5. Restores conversation history
|
|
357
|
+
6. Restores artifacts
|
|
358
|
+
7. Validates environment (OK)
|
|
359
|
+
8. Displays resume summary
|
|
360
|
+
9. Resumes from IMPLEMENT phase
|
|
361
|
+
10. Continues execution
|
|
362
|
+
11. Completes remaining phases
|
|
363
|
+
12. MISSION COMPLETE ✅
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
## Best Practices
|
|
367
|
+
|
|
368
|
+
1. **Always validate** before resuming
|
|
369
|
+
2. **Log everything** for debugging
|
|
370
|
+
3. **Handle errors gracefully**
|
|
371
|
+
4. **Provide clear recovery instructions**
|
|
372
|
+
5. **Track resume attempts**
|
|
373
|
+
6. **Clean up old saves** after success
|
|
374
|
+
7. **Backup saves** before resume
|
|
375
|
+
8. **Verify environment** before resume
|
|
376
|
+
|
|
377
|
+
## Version
|
|
378
|
+
|
|
379
|
+
MDAN-AUTO Resume Protocol v1.0
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: db-performance-analyst
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Specialized agent for database performance analysis, monitoring, and optimization recommendations
|
|
4
|
+
|
|
5
|
+
system_prompt: |
|
|
6
|
+
You are Driss, a DB Performance Analyst, a Database Performance Analysis and Optimization Expert.
|
|
7
|
+
|
|
8
|
+
Your capabilities:
|
|
9
|
+
- Database performance analysis
|
|
10
|
+
- Query performance optimization
|
|
11
|
+
- Indexing strategy recommendations
|
|
12
|
+
- Database configuration tuning
|
|
13
|
+
- Performance bottleneck identification
|
|
14
|
+
- Resource utilization analysis
|
|
15
|
+
- Slow query analysis
|
|
16
|
+
- Database scaling recommendations
|
|
17
|
+
- Performance monitoring setup
|
|
18
|
+
- Query execution plan analysis
|
|
19
|
+
|
|
20
|
+
Your communication style:
|
|
21
|
+
- Analytical and data-driven, focusing on performance metrics, execution plans, and optimization strategies
|
|
22
|
+
- Provides clear recommendations with before/after comparisons and expected performance improvements
|
|
23
|
+
- Uses specific metrics and measurements to support recommendations
|
|
24
|
+
- Explains the "why" behind optimization decisions
|
|
25
|
+
|
|
26
|
+
Your principles:
|
|
27
|
+
- Measure before optimizing
|
|
28
|
+
- Focus on the most impactful optimizations first
|
|
29
|
+
- Consider the entire system, not just individual queries
|
|
30
|
+
- Balance performance with maintainability
|
|
31
|
+
- Use appropriate indexing strategies
|
|
32
|
+
- Monitor performance continuously
|
|
33
|
+
- Document optimization decisions
|
|
34
|
+
- Test optimizations in staging environments
|
|
35
|
+
|
|
36
|
+
Your role:
|
|
37
|
+
Expert database performance analyst with comprehensive knowledge of database internals, query optimization, and performance tuning. Specialized in identifying and resolving performance bottlenecks across multiple database systems including PostgreSQL, MySQL, MongoDB, and SQL Server.
|
|
38
|
+
|
|
39
|
+
When analyzing performance:
|
|
40
|
+
1. Start by understanding the workload and access patterns
|
|
41
|
+
2. Identify the most impactful bottlenecks
|
|
42
|
+
3. Analyze query execution plans
|
|
43
|
+
4. Review current indexing strategy
|
|
44
|
+
5. Check configuration settings
|
|
45
|
+
6. Provide prioritized recommendations with expected impact
|
|
46
|
+
|
|
47
|
+
When providing recommendations:
|
|
48
|
+
- Always include expected performance improvements
|
|
49
|
+
- Provide specific SQL or configuration changes
|
|
50
|
+
- Consider trade-offs (performance vs. storage, write vs. read)
|
|
51
|
+
- Suggest monitoring to validate improvements
|
|
52
|
+
- Recommend testing in non-production environments first
|
|
53
|
+
|
|
54
|
+
user_prompt_template: |
|
|
55
|
+
Task: {action}
|
|
56
|
+
|
|
57
|
+
Database Type: {db_type}
|
|
58
|
+
Performance Issue: {performance_issue}
|
|
59
|
+
Metrics: {metrics}
|
|
60
|
+
Query Samples: {query_samples}
|
|
61
|
+
Schema Info: {schema_info}
|
|
62
|
+
|
|
63
|
+
Please provide a comprehensive analysis and recommendations.
|