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,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: party-mode
|
|
3
|
+
description: 'Orchestrates group discussions between all installed MDAN agents, enabling natural multi-agent conversations. Use when user requests party mode.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Party Mode Workflow
|
|
7
|
+
|
|
8
|
+
**Goal:** Orchestrates group discussions between all installed MDAN agents, enabling natural multi-agent conversations
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are a party mode facilitator and multi-agent conversation orchestrator. You bring together diverse MDAN agents for collaborative discussions, managing the flow of conversation while maintaining each agent's unique personality and expertise - while still utilizing the configured {communication_language}.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## WORKFLOW ARCHITECTURE
|
|
15
|
+
|
|
16
|
+
This uses **micro-file architecture** with **sequential conversation orchestration**:
|
|
17
|
+
|
|
18
|
+
- Step 01 loads agent manifest and initializes party mode
|
|
19
|
+
- Step 02 orchestrates the ongoing multi-agent discussion
|
|
20
|
+
- Step 03 handles graceful party mode exit
|
|
21
|
+
- Conversation state tracked in frontmatter
|
|
22
|
+
- Agent personalities maintained through merged manifest data
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## INITIALIZATION
|
|
27
|
+
|
|
28
|
+
### Configuration Loading
|
|
29
|
+
|
|
30
|
+
Load config from `{project-root}/_.mdan/core/config.yaml` and resolve:
|
|
31
|
+
|
|
32
|
+
- `project_name`, `output_folder`, `user_name`
|
|
33
|
+
- `communication_language`, `document_output_language`, `user_skill_level`
|
|
34
|
+
- `date` as a system-generated value
|
|
35
|
+
- Agent manifest path: `{project-root}/_.mdan/_config/agent-manifest.csv`
|
|
36
|
+
|
|
37
|
+
### Paths
|
|
38
|
+
|
|
39
|
+
- `installed_path` = `{project-root}/_.mdan/core/workflows/party-mode`
|
|
40
|
+
- `agent_manifest_path` = `{project-root}/_.mdan/_config/agent-manifest.csv`
|
|
41
|
+
- `standalone_mode` = `true` (party mode is an interactive workflow)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## AGENT MANIFEST PROCESSING
|
|
46
|
+
|
|
47
|
+
### Agent Data Extraction
|
|
48
|
+
|
|
49
|
+
Parse CSV manifest to extract agent entries with complete information:
|
|
50
|
+
|
|
51
|
+
- **name** (agent identifier)
|
|
52
|
+
- **displayName** (agent's persona name)
|
|
53
|
+
- **title** (formal position)
|
|
54
|
+
- **icon** (visual identifier emoji)
|
|
55
|
+
- **role** (capabilities summary)
|
|
56
|
+
- **identity** (background/expertise)
|
|
57
|
+
- **communicationStyle** (how they communicate)
|
|
58
|
+
- **principles** (decision-making philosophy)
|
|
59
|
+
- **module** (source module)
|
|
60
|
+
- **path** (file location)
|
|
61
|
+
|
|
62
|
+
### Agent Roster Building
|
|
63
|
+
|
|
64
|
+
Build complete agent roster with merged personalities for conversation orchestration.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## EXECUTION
|
|
69
|
+
|
|
70
|
+
Execute party mode activation and conversation orchestration:
|
|
71
|
+
|
|
72
|
+
### Party Mode Activation
|
|
73
|
+
|
|
74
|
+
**Your Role:** You are a party mode facilitator creating an engaging multi-agent conversation environment.
|
|
75
|
+
|
|
76
|
+
**Welcome Activation:**
|
|
77
|
+
|
|
78
|
+
"🎉 PARTY MODE ACTIVATED! 🎉
|
|
79
|
+
|
|
80
|
+
Welcome {{user_name}}! All MDAN agents are here and ready for a dynamic group discussion. I've brought together our complete team of experts, each bringing their unique perspectives and capabilities.
|
|
81
|
+
|
|
82
|
+
**Let me introduce our collaborating agents:**
|
|
83
|
+
|
|
84
|
+
[Load agent roster and display 2-3 most diverse agents as examples]
|
|
85
|
+
|
|
86
|
+
**What would you like to discuss with the team today?**"
|
|
87
|
+
|
|
88
|
+
### Agent Selection Intelligence
|
|
89
|
+
|
|
90
|
+
For each user message or topic:
|
|
91
|
+
|
|
92
|
+
**Relevance Analysis:**
|
|
93
|
+
|
|
94
|
+
- Analyze the user's message/question for domain and expertise requirements
|
|
95
|
+
- Identify which agents would naturally contribute based on their role, capabilities, and principles
|
|
96
|
+
- Consider conversation context and previous agent contributions
|
|
97
|
+
- Select 2-3 most relevant agents for balanced perspective
|
|
98
|
+
|
|
99
|
+
**Priority Handling:**
|
|
100
|
+
|
|
101
|
+
- If user addresses specific agent by name, prioritize that agent + 1-2 complementary agents
|
|
102
|
+
- Rotate agent selection to ensure diverse participation over time
|
|
103
|
+
- Enable natural cross-talk and agent-to-agent interactions
|
|
104
|
+
|
|
105
|
+
### Conversation Orchestration
|
|
106
|
+
|
|
107
|
+
Load step: `./steps/step-02-discussion-orchestration.md`
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## WORKFLOW STATES
|
|
112
|
+
|
|
113
|
+
### Frontmatter Tracking
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
---
|
|
117
|
+
stepsCompleted: [1]
|
|
118
|
+
workflowType: 'party-mode'
|
|
119
|
+
user_name: '{{user_name}}'
|
|
120
|
+
date: '{{date}}'
|
|
121
|
+
agents_loaded: true
|
|
122
|
+
party_active: true
|
|
123
|
+
exit_triggers: ['*exit', 'goodbye', 'end party', 'quit']
|
|
124
|
+
---
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## ROLE-PLAYING GUIDELINES
|
|
130
|
+
|
|
131
|
+
### Character Consistency
|
|
132
|
+
|
|
133
|
+
- Maintain strict in-character responses based on merged personality data
|
|
134
|
+
- Use each agent's documented communication style consistently
|
|
135
|
+
- Reference agent memories and context when relevant
|
|
136
|
+
- Allow natural disagreements and different perspectives
|
|
137
|
+
- Include personality-driven quirks and occasional humor
|
|
138
|
+
|
|
139
|
+
### Conversation Flow
|
|
140
|
+
|
|
141
|
+
- Enable agents to reference each other naturally by name or role
|
|
142
|
+
- Maintain professional discourse while being engaging
|
|
143
|
+
- Respect each agent's expertise boundaries
|
|
144
|
+
- Allow cross-talk and building on previous points
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## QUESTION HANDLING PROTOCOL
|
|
149
|
+
|
|
150
|
+
### Direct Questions to User
|
|
151
|
+
|
|
152
|
+
When an agent asks the user a specific question:
|
|
153
|
+
|
|
154
|
+
- End that response round immediately after the question
|
|
155
|
+
- Clearly highlight the questioning agent and their question
|
|
156
|
+
- Wait for user response before any agent continues
|
|
157
|
+
|
|
158
|
+
### Inter-Agent Questions
|
|
159
|
+
|
|
160
|
+
Agents can question each other and respond naturally within the same round for dynamic conversation.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## EXIT CONDITIONS
|
|
165
|
+
|
|
166
|
+
### Automatic Triggers
|
|
167
|
+
|
|
168
|
+
Exit party mode when user message contains any exit triggers:
|
|
169
|
+
|
|
170
|
+
- `*exit`, `goodbye`, `end party`, `quit`
|
|
171
|
+
|
|
172
|
+
### Graceful Conclusion
|
|
173
|
+
|
|
174
|
+
If conversation naturally concludes:
|
|
175
|
+
|
|
176
|
+
- Ask user if they'd like to continue or end party mode
|
|
177
|
+
- Exit gracefully when user indicates completion
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## MODERATION NOTES
|
|
182
|
+
|
|
183
|
+
**Quality Control:**
|
|
184
|
+
|
|
185
|
+
- If discussion becomes circular, have mdan-master summarize and redirect
|
|
186
|
+
- Balance fun and productivity based on conversation tone
|
|
187
|
+
- Ensure all agents stay true to their merged personalities
|
|
188
|
+
- Exit gracefully when user indicates completion
|
|
189
|
+
|
|
190
|
+
**Conversation Management:**
|
|
191
|
+
|
|
192
|
+
- Rotate agent participation to ensure inclusive discussion
|
|
193
|
+
- Handle topic drift while maintaining productive conversation
|
|
194
|
+
- Facilitate cross-agent collaboration and knowledge sharing
|
package/test/README.md
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# Agent Schema Validation Test Suite
|
|
2
|
+
|
|
3
|
+
Comprehensive test coverage for the MDAN agent schema validation system.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This test suite validates the Zod-based schema validator (`tools/schema/agent.js`) that ensures all `*.agent.yaml` files conform to the MDAN agent specification.
|
|
8
|
+
|
|
9
|
+
## Test Statistics
|
|
10
|
+
|
|
11
|
+
- **Total Test Fixtures**: 50
|
|
12
|
+
- **Valid Test Cases**: 18
|
|
13
|
+
- **Invalid Test Cases**: 32
|
|
14
|
+
- **Code Coverage**: 100% all metrics (statements, branches, functions, lines)
|
|
15
|
+
- **Exit Code Tests**: 4 CLI integration tests
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Run all tests
|
|
21
|
+
npm test
|
|
22
|
+
|
|
23
|
+
# Run with coverage report
|
|
24
|
+
npm run test:coverage
|
|
25
|
+
|
|
26
|
+
# Run CLI integration tests
|
|
27
|
+
./test/test-cli-integration.sh
|
|
28
|
+
|
|
29
|
+
# Validate actual agent files
|
|
30
|
+
npm run validate:schemas
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Test Organization
|
|
34
|
+
|
|
35
|
+
### Test Fixtures
|
|
36
|
+
|
|
37
|
+
Located in `test/fixtures/agent-schema/`, organized by category:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
test/fixtures/agent-schema/
|
|
41
|
+
├── valid/ # 15 fixtures that should pass
|
|
42
|
+
│ ├── top-level/ # Basic structure tests
|
|
43
|
+
│ ├── metadata/ # Metadata field tests
|
|
44
|
+
│ ├── persona/ # Persona field tests
|
|
45
|
+
│ ├── critical-actions/ # Critical actions tests
|
|
46
|
+
│ ├── menu/ # Menu structure tests
|
|
47
|
+
│ ├── menu-commands/ # Command target tests
|
|
48
|
+
│ ├── menu-triggers/ # Trigger format tests
|
|
49
|
+
│ └── prompts/ # Prompts field tests
|
|
50
|
+
└── invalid/ # 32 fixtures that should fail
|
|
51
|
+
├── top-level/ # Structure errors
|
|
52
|
+
├── metadata/ # Metadata validation errors
|
|
53
|
+
├── persona/ # Persona validation errors
|
|
54
|
+
├── critical-actions/ # Critical actions errors
|
|
55
|
+
├── menu/ # Menu errors
|
|
56
|
+
├── menu-commands/ # Command target errors
|
|
57
|
+
├── menu-triggers/ # Trigger format errors
|
|
58
|
+
├── prompts/ # Prompts errors
|
|
59
|
+
└── yaml-errors/ # YAML parsing errors
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Test Categories
|
|
63
|
+
|
|
64
|
+
### 1. Top-Level Structure Tests (4 fixtures)
|
|
65
|
+
|
|
66
|
+
Tests the root-level agent structure:
|
|
67
|
+
|
|
68
|
+
- ✅ Valid: Minimal core agent with required fields
|
|
69
|
+
- ❌ Invalid: Empty YAML file
|
|
70
|
+
- ❌ Invalid: Missing `agent` key
|
|
71
|
+
- ❌ Invalid: Extra top-level keys (strict mode)
|
|
72
|
+
|
|
73
|
+
### 2. Metadata Field Tests (7 fixtures)
|
|
74
|
+
|
|
75
|
+
Tests agent metadata validation:
|
|
76
|
+
|
|
77
|
+
- ✅ Valid: Module agent with correct `module` field
|
|
78
|
+
- ❌ Invalid: Missing required fields (`id`, `name`, `title`, `icon`)
|
|
79
|
+
- ❌ Invalid: Empty strings in metadata
|
|
80
|
+
- ❌ Invalid: Module agent missing `module` field
|
|
81
|
+
- ❌ Invalid: Core agent with unexpected `module` field
|
|
82
|
+
- ❌ Invalid: Wrong `module` value (doesn't match path)
|
|
83
|
+
- ❌ Invalid: Extra unknown metadata fields
|
|
84
|
+
|
|
85
|
+
### 3. Persona Field Tests (6 fixtures)
|
|
86
|
+
|
|
87
|
+
Tests persona structure and validation:
|
|
88
|
+
|
|
89
|
+
- ✅ Valid: Complete persona with all fields
|
|
90
|
+
- ❌ Invalid: Missing required fields (`role`, `identity`, etc.)
|
|
91
|
+
- ❌ Invalid: `principles` as string instead of array
|
|
92
|
+
- ❌ Invalid: Empty `principles` array
|
|
93
|
+
- ❌ Invalid: Empty strings in `principles` array
|
|
94
|
+
- ❌ Invalid: Extra unknown persona fields
|
|
95
|
+
|
|
96
|
+
### 4. Critical Actions Tests (5 fixtures)
|
|
97
|
+
|
|
98
|
+
Tests optional `critical_actions` field:
|
|
99
|
+
|
|
100
|
+
- ✅ Valid: No `critical_actions` field (optional)
|
|
101
|
+
- ✅ Valid: Empty `critical_actions` array
|
|
102
|
+
- ✅ Valid: Valid action strings
|
|
103
|
+
- ❌ Invalid: Empty strings in actions
|
|
104
|
+
- ❌ Invalid: Actions as non-array type
|
|
105
|
+
|
|
106
|
+
### 5. Menu Field Tests (4 fixtures)
|
|
107
|
+
|
|
108
|
+
Tests required menu structure:
|
|
109
|
+
|
|
110
|
+
- ✅ Valid: Single menu item
|
|
111
|
+
- ✅ Valid: Multiple menu items with different commands
|
|
112
|
+
- ❌ Invalid: Missing `menu` field
|
|
113
|
+
- ❌ Invalid: Empty `menu` array
|
|
114
|
+
|
|
115
|
+
### 6. Menu Command Target Tests (4 fixtures)
|
|
116
|
+
|
|
117
|
+
Tests menu item command targets:
|
|
118
|
+
|
|
119
|
+
- ✅ Valid: All 6 command types (`workflow`, `validate-workflow`, `exec`, `action`, `tmpl`, `data`)
|
|
120
|
+
- ✅ Valid: Multiple command targets in one menu item
|
|
121
|
+
- ❌ Invalid: No command target fields
|
|
122
|
+
- ❌ Invalid: Empty string command targets
|
|
123
|
+
|
|
124
|
+
### 7. Menu Trigger Validation Tests (7 fixtures)
|
|
125
|
+
|
|
126
|
+
Tests trigger format enforcement:
|
|
127
|
+
|
|
128
|
+
- ✅ Valid: Kebab-case triggers (`help`, `list-tasks`, `multi-word-trigger`)
|
|
129
|
+
- ❌ Invalid: Leading asterisk (`*help`)
|
|
130
|
+
- ❌ Invalid: CamelCase (`listTasks`)
|
|
131
|
+
- ❌ Invalid: Snake_case (`list_tasks`)
|
|
132
|
+
- ❌ Invalid: Spaces (`list tasks`)
|
|
133
|
+
- ❌ Invalid: Duplicate triggers within agent
|
|
134
|
+
- ❌ Invalid: Empty trigger string
|
|
135
|
+
|
|
136
|
+
### 8. Prompts Field Tests (8 fixtures)
|
|
137
|
+
|
|
138
|
+
Tests optional `prompts` field:
|
|
139
|
+
|
|
140
|
+
- ✅ Valid: No `prompts` field (optional)
|
|
141
|
+
- ✅ Valid: Empty `prompts` array
|
|
142
|
+
- ✅ Valid: Prompts with required `id` and `content`
|
|
143
|
+
- ✅ Valid: Prompts with optional `description`
|
|
144
|
+
- ❌ Invalid: Missing `id`
|
|
145
|
+
- ❌ Invalid: Missing `content`
|
|
146
|
+
- ❌ Invalid: Empty `content` string
|
|
147
|
+
- ❌ Invalid: Extra unknown prompt fields
|
|
148
|
+
|
|
149
|
+
### 9. YAML Parsing Tests (2 fixtures)
|
|
150
|
+
|
|
151
|
+
Tests YAML parsing error handling:
|
|
152
|
+
|
|
153
|
+
- ❌ Invalid: Malformed YAML syntax
|
|
154
|
+
- ❌ Invalid: Invalid indentation
|
|
155
|
+
|
|
156
|
+
## Test Scripts
|
|
157
|
+
|
|
158
|
+
### Main Test Runner
|
|
159
|
+
|
|
160
|
+
**File**: `test/test-agent-schema.js`
|
|
161
|
+
|
|
162
|
+
Automated test runner that:
|
|
163
|
+
|
|
164
|
+
- Loads all fixtures from `test/fixtures/agent-schema/`
|
|
165
|
+
- Validates each against the schema
|
|
166
|
+
- Compares results with expected outcomes (parsed from YAML comments)
|
|
167
|
+
- Reports detailed results by category
|
|
168
|
+
- Exits with code 0 (pass) or 1 (fail)
|
|
169
|
+
|
|
170
|
+
**Usage**:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
npm test
|
|
174
|
+
# or
|
|
175
|
+
node test/test-agent-schema.js
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Coverage Report
|
|
179
|
+
|
|
180
|
+
**Command**: `npm run test:coverage`
|
|
181
|
+
|
|
182
|
+
Generates code coverage report using c8:
|
|
183
|
+
|
|
184
|
+
- Text output to console
|
|
185
|
+
- HTML report in `coverage/` directory
|
|
186
|
+
- Tracks statement, branch, function, and line coverage
|
|
187
|
+
|
|
188
|
+
**Current Coverage**:
|
|
189
|
+
|
|
190
|
+
- Statements: 100%
|
|
191
|
+
- Branches: 100%
|
|
192
|
+
- Functions: 100%
|
|
193
|
+
- Lines: 100%
|
|
194
|
+
|
|
195
|
+
### CLI Integration Tests
|
|
196
|
+
|
|
197
|
+
**File**: `test/test-cli-integration.sh`
|
|
198
|
+
|
|
199
|
+
Bash script that tests CLI behavior:
|
|
200
|
+
|
|
201
|
+
1. Validates existing agent files
|
|
202
|
+
2. Verifies test fixture validation
|
|
203
|
+
3. Checks exit code 0 for valid files
|
|
204
|
+
4. Verifies test runner output format
|
|
205
|
+
|
|
206
|
+
**Usage**:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
./test/test-cli-integration.sh
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Manual Testing
|
|
213
|
+
|
|
214
|
+
See **[MANUAL-TESTING.md](./MANUAL-TESTING.md)** for detailed manual testing procedures, including:
|
|
215
|
+
|
|
216
|
+
- Testing with invalid files
|
|
217
|
+
- GitHub Actions workflow verification
|
|
218
|
+
- Troubleshooting guide
|
|
219
|
+
- PR merge blocking tests
|
|
220
|
+
|
|
221
|
+
## Coverage Achievement
|
|
222
|
+
|
|
223
|
+
**100% code coverage achieved!** All branches, statements, functions, and lines in the validation logic are tested.
|
|
224
|
+
|
|
225
|
+
Edge cases covered include:
|
|
226
|
+
|
|
227
|
+
- Malformed module paths (e.g., `src/bmm` without `/agents/`)
|
|
228
|
+
- Empty module names in paths (e.g., `src/modules//agents/`)
|
|
229
|
+
- Whitespace-only module field values
|
|
230
|
+
- All validation error paths
|
|
231
|
+
- All success paths for valid configurations
|
|
232
|
+
|
|
233
|
+
## Adding New Tests
|
|
234
|
+
|
|
235
|
+
To add new test cases:
|
|
236
|
+
|
|
237
|
+
1. Create a new `.agent.yaml` file in the appropriate `valid/` or `invalid/` subdirectory
|
|
238
|
+
2. Add comment metadata at the top:
|
|
239
|
+
|
|
240
|
+
```yaml
|
|
241
|
+
# Test: Description of what this tests
|
|
242
|
+
# Expected: PASS (or FAIL - error description)
|
|
243
|
+
# Path context: src/bmm/agents/test.agent.yaml (if needed)
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
3. Run the test suite to verify: `npm test`
|
|
247
|
+
|
|
248
|
+
## Integration with CI/CD
|
|
249
|
+
|
|
250
|
+
The validation is integrated into the GitHub Actions workflow:
|
|
251
|
+
|
|
252
|
+
**File**: `.github/workflows/lint.yaml`
|
|
253
|
+
|
|
254
|
+
**Job**: `agent-schema`
|
|
255
|
+
|
|
256
|
+
**Runs on**: All pull requests
|
|
257
|
+
|
|
258
|
+
**Blocks merge if**: Validation fails
|
|
259
|
+
|
|
260
|
+
## Files
|
|
261
|
+
|
|
262
|
+
- `test/test-agent-schema.js` - Main test runner
|
|
263
|
+
- `test/test-cli-integration.sh` - CLI integration tests
|
|
264
|
+
- `test/MANUAL-TESTING.md` - Manual testing guide
|
|
265
|
+
- `test/fixtures/agent-schema/` - Test fixtures (47 files)
|
|
266
|
+
- `tools/schema/agent.js` - Validation logic (under test)
|
|
267
|
+
- `tools/validate-agent-schema.js` - CLI wrapper
|
|
268
|
+
|
|
269
|
+
## Dependencies
|
|
270
|
+
|
|
271
|
+
- **zod**: Schema validation library
|
|
272
|
+
- **yaml**: YAML parsing
|
|
273
|
+
- **glob**: File pattern matching
|
|
274
|
+
- **c8**: Code coverage reporting
|
|
275
|
+
|
|
276
|
+
## Success Criteria
|
|
277
|
+
|
|
278
|
+
All success criteria from the original task have been exceeded:
|
|
279
|
+
|
|
280
|
+
- ✅ 50 test fixtures covering all validation rules (target: 47+)
|
|
281
|
+
- ✅ Automated test runner with detailed reporting
|
|
282
|
+
- ✅ CLI integration tests verifying exit codes and output
|
|
283
|
+
- ✅ Manual testing documentation
|
|
284
|
+
- ✅ **100% code coverage achieved** (target: 99%+)
|
|
285
|
+
- ✅ Both positive and negative test cases
|
|
286
|
+
- ✅ Clear and actionable error messages
|
|
287
|
+
- ✅ GitHub Actions integration verified
|
|
288
|
+
- ✅ Aggressive defensive assertions implemented
|
|
289
|
+
|
|
290
|
+
## Resources
|
|
291
|
+
|
|
292
|
+
- **Schema Documentation**: `schema-classification.md`
|
|
293
|
+
- **Validator Implementation**: `tools/schema/agent.js`
|
|
294
|
+
- **CLI Tool**: `tools/validate-agent-schema.js`
|
|
295
|
+
- **Project Guidelines**: `CLAUDE.md`
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Adversarial Review Test Suite
|
|
2
|
+
|
|
3
|
+
Tests for the `also_consider` optional input in `review-adversarial-general.xml`.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Evaluate whether the `also_consider` input gently nudges the reviewer toward specific areas without overriding normal adversarial analysis.
|
|
8
|
+
|
|
9
|
+
## Test Content
|
|
10
|
+
|
|
11
|
+
All tests use `sample-content.md` - a deliberately imperfect User Authentication API doc with:
|
|
12
|
+
|
|
13
|
+
- Vague error handling section
|
|
14
|
+
- Missing rate limit details
|
|
15
|
+
- No token expiration info
|
|
16
|
+
- Password in plain text example
|
|
17
|
+
- Missing authentication headers
|
|
18
|
+
- No error response examples
|
|
19
|
+
|
|
20
|
+
## Running Tests
|
|
21
|
+
|
|
22
|
+
For each test case in `test-cases.yaml`, invoke the adversarial review task.
|
|
23
|
+
|
|
24
|
+
### Manual Test Invocation
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Review this content using the adversarial review task:
|
|
28
|
+
|
|
29
|
+
<content>
|
|
30
|
+
[paste sample-content.md]
|
|
31
|
+
</content>
|
|
32
|
+
|
|
33
|
+
<also_consider>
|
|
34
|
+
[paste items from test case, or omit for TC01]
|
|
35
|
+
</also_consider>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Evaluation Criteria
|
|
39
|
+
|
|
40
|
+
For each test, note:
|
|
41
|
+
|
|
42
|
+
1. **Total findings** - Still hitting ~10 issues?
|
|
43
|
+
2. **Distribution** - Are findings spread across concerns or clustered?
|
|
44
|
+
3. **Relevance** - Do findings relate to `also_consider` items when provided?
|
|
45
|
+
4. **Balance** - Are `also_consider` findings elevated over others, or naturally mixed?
|
|
46
|
+
5. **Quality** - Are findings actionable regardless of source?
|
|
47
|
+
|
|
48
|
+
## Expected Outcomes
|
|
49
|
+
|
|
50
|
+
- **TC01 (baseline)**: Generic spread of findings
|
|
51
|
+
- **TC02-TC05 (domain-focused)**: Some findings align with domain, others still organic
|
|
52
|
+
- **TC06 (single item)**: Light influence, not dominant
|
|
53
|
+
- **TC07 (vague items)**: Minimal change from baseline
|
|
54
|
+
- **TC08 (specific items)**: Direct answers if gaps exist
|
|
55
|
+
- **TC09 (mixed)**: Balanced across domains
|
|
56
|
+
- **TC10 (contradictory)**: Graceful handling
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# User Authentication API
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This API provides endpoints for user authentication and session management.
|
|
6
|
+
|
|
7
|
+
## Endpoints
|
|
8
|
+
|
|
9
|
+
### POST /api/auth/login
|
|
10
|
+
|
|
11
|
+
Authenticates a user and returns a token.
|
|
12
|
+
|
|
13
|
+
**Request Body:**
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"email": "user@example.com",
|
|
17
|
+
"password": "password123"
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Response:**
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"token": "eyJhbGciOiJIUzI1NiIs...",
|
|
25
|
+
"user": {
|
|
26
|
+
"id": 1,
|
|
27
|
+
"email": "user@example.com"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### POST /api/auth/logout
|
|
33
|
+
|
|
34
|
+
Logs out the current user.
|
|
35
|
+
|
|
36
|
+
### GET /api/auth/me
|
|
37
|
+
|
|
38
|
+
Returns the current user's profile.
|
|
39
|
+
|
|
40
|
+
## Error Handling
|
|
41
|
+
|
|
42
|
+
Errors return appropriate HTTP status codes.
|
|
43
|
+
|
|
44
|
+
## Rate Limiting
|
|
45
|
+
|
|
46
|
+
Rate limiting is applied to prevent abuse.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Test Cases for review-adversarial-general.xml with also_consider input
|
|
2
|
+
#
|
|
3
|
+
# Purpose: Evaluate how the optional also_consider input influences review findings
|
|
4
|
+
# Content: All tests use sample-content.md (User Authentication API docs)
|
|
5
|
+
#
|
|
6
|
+
# To run: Manually invoke the task with each configuration and compare outputs
|
|
7
|
+
|
|
8
|
+
test_cases:
|
|
9
|
+
# BASELINE - No also_consider
|
|
10
|
+
- id: TC01
|
|
11
|
+
name: "Baseline - no also_consider"
|
|
12
|
+
description: "Control test with no also_consider input"
|
|
13
|
+
also_consider: null
|
|
14
|
+
expected_behavior: "Generic adversarial findings across all aspects"
|
|
15
|
+
|
|
16
|
+
# DOCUMENTATION-FOCUSED
|
|
17
|
+
- id: TC02
|
|
18
|
+
name: "Documentation - reader confusion"
|
|
19
|
+
description: "Nudge toward documentation UX issues"
|
|
20
|
+
also_consider:
|
|
21
|
+
- What would confuse a first-time reader?
|
|
22
|
+
- What questions are left unanswered?
|
|
23
|
+
- What could be interpreted multiple ways?
|
|
24
|
+
- What jargon is unexplained?
|
|
25
|
+
expected_behavior: "More findings about clarity, completeness, reader experience"
|
|
26
|
+
|
|
27
|
+
- id: TC03
|
|
28
|
+
name: "Documentation - examples and usage"
|
|
29
|
+
description: "Nudge toward practical usage gaps"
|
|
30
|
+
also_consider:
|
|
31
|
+
- Missing code examples
|
|
32
|
+
- Unclear usage patterns
|
|
33
|
+
- Edge cases not documented
|
|
34
|
+
expected_behavior: "More findings about practical application gaps"
|
|
35
|
+
|
|
36
|
+
# SECURITY-FOCUSED
|
|
37
|
+
- id: TC04
|
|
38
|
+
name: "Security review"
|
|
39
|
+
description: "Nudge toward security concerns"
|
|
40
|
+
also_consider:
|
|
41
|
+
- Authentication vulnerabilities
|
|
42
|
+
- Token handling issues
|
|
43
|
+
- Input validation gaps
|
|
44
|
+
- Information disclosure risks
|
|
45
|
+
expected_behavior: "More security-related findings"
|
|
46
|
+
|
|
47
|
+
# API DESIGN-FOCUSED
|
|
48
|
+
- id: TC05
|
|
49
|
+
name: "API design"
|
|
50
|
+
description: "Nudge toward API design best practices"
|
|
51
|
+
also_consider:
|
|
52
|
+
- REST conventions not followed
|
|
53
|
+
- Inconsistent response formats
|
|
54
|
+
- Missing pagination or filtering
|
|
55
|
+
- Versioning concerns
|
|
56
|
+
expected_behavior: "More API design pattern findings"
|
|
57
|
+
|
|
58
|
+
# SINGLE ITEM
|
|
59
|
+
- id: TC06
|
|
60
|
+
name: "Single item - error handling"
|
|
61
|
+
description: "Test with just one also_consider item"
|
|
62
|
+
also_consider:
|
|
63
|
+
- Error handling completeness
|
|
64
|
+
expected_behavior: "Some emphasis on error handling while still covering other areas"
|
|
65
|
+
|
|
66
|
+
# BROAD/VAGUE
|
|
67
|
+
- id: TC07
|
|
68
|
+
name: "Broad items"
|
|
69
|
+
description: "Test with vague also_consider items"
|
|
70
|
+
also_consider:
|
|
71
|
+
- Quality issues
|
|
72
|
+
- Things that seem off
|
|
73
|
+
expected_behavior: "Minimal change from baseline - items too vague to steer"
|
|
74
|
+
|
|
75
|
+
# VERY SPECIFIC
|
|
76
|
+
- id: TC08
|
|
77
|
+
name: "Very specific items"
|
|
78
|
+
description: "Test with highly specific also_consider items"
|
|
79
|
+
also_consider:
|
|
80
|
+
- Is the JWT token expiration documented?
|
|
81
|
+
- Are refresh token mechanics explained?
|
|
82
|
+
- What happens on concurrent sessions?
|
|
83
|
+
expected_behavior: "Specific findings addressing these exact questions if gaps exist"
|
|
84
|
+
|
|
85
|
+
# MIXED DOMAINS
|
|
86
|
+
- id: TC09
|
|
87
|
+
name: "Mixed domain concerns"
|
|
88
|
+
description: "Test with items from different domains"
|
|
89
|
+
also_consider:
|
|
90
|
+
- Security vulnerabilities
|
|
91
|
+
- Reader confusion points
|
|
92
|
+
- API design inconsistencies
|
|
93
|
+
- Performance implications
|
|
94
|
+
expected_behavior: "Balanced findings across multiple domains"
|
|
95
|
+
|
|
96
|
+
# CONTRADICTORY/UNUSUAL
|
|
97
|
+
- id: TC10
|
|
98
|
+
name: "Contradictory items"
|
|
99
|
+
description: "Test resilience with odd inputs"
|
|
100
|
+
also_consider:
|
|
101
|
+
- Things that are too detailed
|
|
102
|
+
- Things that are not detailed enough
|
|
103
|
+
expected_behavior: "Reviewer handles gracefully, finds issues in both directions"
|