whiteport-design-studio 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +27 -0
- package/README.md +196 -0
- package/docs/getting-started/MANUAL-INIT-GUIDE.md +251 -0
- package/docs/getting-started/about-wds.md +86 -0
- package/docs/getting-started/agent-activation/activation/step-01-load-agent-definition.md +28 -0
- package/docs/getting-started/agent-activation/activation/step-02-check-conversations.md +43 -0
- package/docs/getting-started/agent-activation/activation/step-03-check-activation-context.md +42 -0
- package/docs/getting-started/agent-activation/activation/step-04-handoff-presentation.md +30 -0
- package/docs/getting-started/agent-activation/activation/step-04-standard-presentation.md +27 -0
- package/docs/getting-started/agent-activation/activation/step-05-handoff-acknowledge.md +34 -0
- package/docs/getting-started/agent-activation/activation/step-05-standard-analysis.md +26 -0
- package/docs/getting-started/agent-activation/agent-launchers.md +134 -0
- package/docs/getting-started/agent-activation/wds-freya-ux.md +67 -0
- package/docs/getting-started/agent-activation/wds-idunn-pm.md +67 -0
- package/docs/getting-started/agent-activation/wds-mimir.md +78 -0
- package/docs/getting-started/agent-activation/wds-saga-analyst.md +65 -0
- package/docs/getting-started/getting-started-overview.md +112 -0
- package/docs/getting-started/installation.md +62 -0
- package/docs/getting-started/quick-start.md +125 -0
- package/docs/getting-started/where-to-go-next.md +137 -0
- package/docs/learn-wds/00-course-overview/00-getting-started-overview.md +66 -0
- package/docs/learn-wds/00-course-overview/01-prerequisites.md +98 -0
- package/docs/learn-wds/00-course-overview/02-learning-paths.md +99 -0
- package/docs/learn-wds/00-course-overview/03-support.md +128 -0
- package/docs/learn-wds/00-course-overview.md +211 -0
- package/docs/learn-wds/Webinars/2024-12-22-WDS-Jam-1-Say-Hello-to-AI-Agent-Framework.md +0 -0
- package/docs/learn-wds/Webinars/2024-12-22-WDS-Sessions-1-Say-Hello-to-WDS.md +174 -0
- package/docs/learn-wds/Webinars/2025-10-22-Webinar-WDS-v4.md +181 -0
- package/docs/learn-wds/Webinars/2026-01-15-WDS-Sessions-2-Strategy-in-Practice.md +159 -0
- package/docs/learn-wds/course-explainers/Module 00-transcript.srt +635 -0
- package/docs/learn-wds/course-explainers/Module 02-transcript.srt +807 -0
- package/docs/learn-wds/course-explainers/Module-00-notebook-lm-prompt.md +250 -0
- package/docs/learn-wds/course-explainers/Module-00-thumbnail-prompt.md +33 -0
- package/docs/learn-wds/course-explainers/Module-00-youtube-show-notes.md +78 -0
- package/docs/learn-wds/course-explainers/Module-01-notebook-lm-prompt.md +418 -0
- package/docs/learn-wds/course-explainers/Module-01-thumbnail-prompt.md +33 -0
- package/docs/learn-wds/course-explainers/Module-01-transcript.srt +731 -0
- package/docs/learn-wds/course-explainers/Module-02-notebook-lm-prompt.md +342 -0
- package/docs/learn-wds/course-explainers/Module-02-thumbnail-prompt.md +34 -0
- package/docs/learn-wds/course-explainers/Module-03-notebook-lm-prompt.md +745 -0
- package/docs/learn-wds/course-explainers/Module-03-thumbnail-prompt.md +33 -0
- package/docs/learn-wds/course-explainers/Module-03-transcript.srt +595 -0
- package/docs/learn-wds/course-explainers/Module-04-notebook-lm-prompt.md +163 -0
- package/docs/learn-wds/course-explainers/Module-04-thumbnail-prompt.md +36 -0
- package/docs/learn-wds/course-explainers/Module-04-youtube-show-notes.md +95 -0
- package/docs/learn-wds/course-explainers/Module-05-notebook-lm-prompt.md +274 -0
- package/docs/learn-wds/course-explainers/Module-05-thumbnail-prompt.md +40 -0
- package/docs/learn-wds/course-explainers/Module-05-youtube-show-notes.md +65 -0
- package/docs/learn-wds/course-explainers/module-01-YOUTUBE-SHOW-NOTES.md +75 -0
- package/docs/learn-wds/course-explainers/module-02-YOUTUBE-SHOW-NOTES.md +86 -0
- package/docs/learn-wds/course-explainers/module-03-YOUTUBE-SHOW-NOTES.md +82 -0
- package/docs/learn-wds/course-explainers/trigger-map-example.jpg +0 -0
- package/docs/learn-wds/module-01-why-wds-matters/lesson-01-the-problem.md +113 -0
- package/docs/learn-wds/module-01-why-wds-matters/lesson-02-the-solution.md +75 -0
- package/docs/learn-wds/module-01-why-wds-matters/lesson-03-the-path-forward.md +94 -0
- package/docs/learn-wds/module-01-why-wds-matters/module-01-overview.md +109 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-01-git-setup/01-lesson.md +124 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-01-git-setup/01-quick-checklist.md +63 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-01-git-setup/02-full-lesson.md +124 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-01-github-and-ide-setup/checklist.md +87 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-01-github-and-ide-setup/lesson.md +203 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-01-setting-up-github/checklist.md +70 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-git-configuration/checklist.md +40 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/01-quick-checklist.md +48 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/02-full-lesson.md +88 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/02-lesson.md +88 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-ide-installation/02-quick-checklist.md +48 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-install-ide/checklist.md +48 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-02-install-ide/tutorial.md +149 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/01-quick-checklist.md +51 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/02-full-lesson.md +111 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/03-lesson.md +111 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-03-git-cloning/03-quick-checklist.md +51 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-03-git-setup/checklist.md +41 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-03-git-setup/tutorial.md +159 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-04-clone-and-wds/checklist.md +93 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-04-clone-and-wds/tutorial.md +217 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/01-quick-checklist.md +73 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/02-full-lesson.md +206 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/04-lesson.md +206 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-04-wds-initialization/04-quick-checklist.md +73 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-05-initiate-mimir/checklist.md +79 -0
- package/docs/learn-wds/module-02-installation-setup/lesson-05-initiate-mimir/tutorial.md +244 -0
- package/docs/learn-wds/module-02-installation-setup/module-02-overview.md +77 -0
- package/docs/learn-wds/module-03-alignment-signoff/lesson-01-understanding-alignment.md +175 -0
- package/docs/learn-wds/module-03-alignment-signoff/lesson-02-creating-alignment-document.md +289 -0
- package/docs/learn-wds/module-03-alignment-signoff/lesson-03-negotiation-acceptance.md +115 -0
- package/docs/learn-wds/module-03-alignment-signoff/lesson-04-external-contracts.md +201 -0
- package/docs/learn-wds/module-03-alignment-signoff/lesson-05-internal-signoff.md +189 -0
- package/docs/learn-wds/module-03-alignment-signoff/module-03-overview.md +170 -0
- package/docs/learn-wds/module-03-alignment-signoff/tutorial-03.md +344 -0
- package/docs/learn-wds/module-04-product-brief/lesson-01-chaos-problem.md +193 -0
- package/docs/learn-wds/module-04-product-brief/lesson-02-five-questions.md +364 -0
- package/docs/learn-wds/module-04-product-brief/lesson-03-document-structure.md +388 -0
- package/docs/learn-wds/module-04-product-brief/lesson-04-wds-advantage.md +402 -0
- package/docs/learn-wds/module-04-product-brief/lesson-05-using-brief.md +491 -0
- package/docs/learn-wds/module-04-product-brief/lesson-06-additional-documents.md +645 -0
- package/docs/learn-wds/module-04-product-brief/module-04-overview.md +194 -0
- package/docs/learn-wds/module-04-product-brief/tutorial-04.md +400 -0
- package/docs/learn-wds/module-05-map-triggers-outcomes/tutorial-04.md +460 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-01-missing-link.md +237 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-02-heritage-evolution.md +364 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-03-five-workshops-overview.md +459 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-04-workshop-1-business-goals.md +274 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-05-workshop-2-target-groups.md +504 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-06-workshop-3-driving-forces.md +458 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-07-workshop-4-prioritization.md +313 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-08-workshop-5-feature-impact.md +474 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-09-positive-negative-drivers.md +348 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-10-visual-trigger-map.md +411 -0
- package/docs/learn-wds/module-05-trigger-mapping/lesson-11-feature-impact-scoring.md +403 -0
- package/docs/learn-wds/module-05-trigger-mapping/module-05-overview.md +283 -0
- package/docs/learn-wds/module-05-trigger-mapping/tutorial-05.md +595 -0
- package/docs/learn-wds/module-05-trigger-mapping/tutorial-05b-value-trigger-chain.md +393 -0
- package/docs/learn-wds/module-05-trigger-mapping/tutorial-05c-documentation-synthesis.md +475 -0
- package/docs/learn-wds/module-06-platform-architecture/tutorial-06.md +358 -0
- package/docs/learn-wds/module-08-initialize-scenario/tutorial-08.md +521 -0
- package/docs/learn-wds/module-09-design-system/tutorial-09.md +515 -0
- package/docs/learn-wds/module-10-design-delivery/tutorial-10.md +604 -0
- package/docs/learn-wds/module-12-conceptual-specs/tutorial-12.md +734 -0
- package/docs/method/content-creation-philosophy.md +311 -0
- package/docs/method/content-purpose-guide.md +436 -0
- package/docs/method/phase-1-product-exploration-guide.md +178 -0
- package/docs/method/phase-2-trigger-mapping-guide.md +399 -0
- package/docs/method/phase-3-prd-platform-guide.md +284 -0
- package/docs/method/phase-4-ux-design-guide.md +388 -0
- package/docs/method/phase-5-design-system-guide.md +916 -0
- package/docs/method/phase-6-prd-finalization-guide.md +510 -0
- package/docs/method/tone-of-voice-guide.md +466 -0
- package/docs/method/value-trigger-chain-guide.md +474 -0
- package/docs/method/wds-method-guide.md +378 -0
- package/docs/models/action-mapping.md +681 -0
- package/docs/models/customer-awareness-cycle.md +530 -0
- package/docs/models/golden-circle.md +532 -0
- package/docs/models/gtd-getting-things-done.md +193 -0
- package/docs/models/impact-effect-mapping.md +600 -0
- package/docs/models/kathy-sierra-badass-users.md +672 -0
- package/docs/models/models-guide.md +297 -0
- package/docs/models/smart-goals-model.md +294 -0
- package/docs/tools/cursor-windsurf.md +190 -0
- package/docs/tools/figma-mcp.md +453 -0
- package/docs/tools/figma.md +212 -0
- package/docs/tools/git.md +285 -0
- package/docs/tools/html-to-design.md +185 -0
- package/docs/tools/nanobanana.md +240 -0
- package/docs/tools/prepare-for-figma-export.md +690 -0
- package/docs/tools/wds-tools-guide.md +115 -0
- package/package.json +114 -0
- package/src/agents/freya-ux.agent.yaml +128 -0
- package/src/agents/idunn-pm.agent.yaml +94 -0
- package/src/agents/mimir-orchestrator.agent.yaml +139 -0
- package/src/agents/saga-analyst.agent.yaml +128 -0
- package/src/data/agent-guides/freya/agentic-development.md +200 -0
- package/src/data/agent-guides/freya/content-creation.md +270 -0
- package/src/data/agent-guides/freya/design-system.md +336 -0
- package/src/data/agent-guides/freya/meta-content-guide.md +483 -0
- package/src/data/agent-guides/freya/specification-quality.md +250 -0
- package/src/data/agent-guides/freya/strategic-design.md +118 -0
- package/src/data/agent-guides/idunn/design-handoffs.md +411 -0
- package/src/data/agent-guides/idunn/platform-requirements.md +351 -0
- package/src/data/agent-guides/mimir/emotional-intelligence.md +295 -0
- package/src/data/agent-guides/mimir/teaching-styles.md +286 -0
- package/src/data/agent-guides/mimir/wds-overview.md +369 -0
- package/src/data/agent-guides/saga/discovery-conversation.md +245 -0
- package/src/data/agent-guides/saga/strategic-documentation.md +456 -0
- package/src/data/agent-guides/saga/trigger-mapping.md +403 -0
- package/src/data/design-system/component-boundaries.md +318 -0
- package/src/data/design-system/figma-component-structure.md +697 -0
- package/src/data/design-system/naming-conventions.md +200 -0
- package/src/data/design-system/state-management.md +93 -0
- package/src/data/design-system/token-architecture.md +474 -0
- package/src/data/design-system/validation-patterns.md +74 -0
- package/src/data/presentations/freya-intro.md +275 -0
- package/src/data/presentations/freya-presentation.md +78 -0
- package/src/data/presentations/idunn-intro.md +231 -0
- package/src/data/presentations/idunn-presentation.md +80 -0
- package/src/data/presentations/mimir-presentation.md +123 -0
- package/src/data/presentations/saga-intro.md +285 -0
- package/src/data/presentations/saga-presentation.md +75 -0
- package/src/gems/eira-visual-designer.md +571 -0
- package/src/module.yaml +111 -0
- package/src/templates/design-delivery.template.yaml +104 -0
- package/src/templates/platform-requirements.template.yaml +69 -0
- package/src/templates/test-scenario.template.yaml +192 -0
- package/src/workflows/00-system/FILE-NAMING-CONVENTIONS.md +286 -0
- package/src/workflows/00-system/INSTRUCTION-FILE-GUIDELINES.md +284 -0
- package/src/workflows/00-system/SPECIFICATION-FORMATTING-STANDARDS.md +516 -0
- package/src/workflows/00-system/language-configuration-guide.md +472 -0
- package/src/workflows/00-system/language-flow-diagram.md +446 -0
- package/src/workflows/00-system/wds-workflow-status-template.yaml +106 -0
- package/src/workflows/1-project-brief/alignment-signoff/contract.template.md +297 -0
- package/src/workflows/1-project-brief/alignment-signoff/pitch.template.md +101 -0
- package/src/workflows/1-project-brief/alignment-signoff/section-guide.md +212 -0
- package/src/workflows/1-project-brief/alignment-signoff/service-agreement.template.md +277 -0
- package/src/workflows/1-project-brief/alignment-signoff/signoff.template.md +188 -0
- package/src/workflows/1-project-brief/alignment-signoff/steps-c/step-01-start.md +81 -0
- package/src/workflows/1-project-brief/alignment-signoff/steps-c/step-01.5-extract-communications.md +78 -0
- package/src/workflows/1-project-brief/alignment-signoff/steps-c/step-02-explore-sections.md +159 -0
- package/src/workflows/1-project-brief/alignment-signoff/steps-c/step-03-synthesize.md +48 -0
- package/src/workflows/1-project-brief/alignment-signoff/steps-c/step-03.5-generate-contract.md +87 -0
- package/src/workflows/1-project-brief/alignment-signoff/steps-c/step-04-present-for-approval.md +89 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/01-start-understand/01-understand-situation.md +27 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/01-start-understand/02-determine-if-needed.md +32 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/01-start-understand/03-offer-extract-communications.md +31 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/01-start-understand/04-extract-info.md +39 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/01-start-understand/05-detect-starting-point.md +34 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/06-explore-realization.md +45 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/07-explore-solution.md +25 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/08-explore-why-it-matters.md +33 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/09-explore-how-we-see-it-working.md +29 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/10-explore-paths-we-explored.md +28 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/11-explore-recommended-solution.md +26 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/12-explore-path-forward.md +38 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/13-explore-value-we-create.md +40 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/14-explore-cost-of-inaction.md +37 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/15-explore-our-commitment.md +33 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/02-explore-sections/16-explore-summary.md +26 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/03-synthesize-present/17-reflect-back.md +33 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/03-synthesize-present/18-synthesize-document.md +41 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/03-synthesize-present/18.5-create-vtc.md +76 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/03-synthesize-present/19-present-for-approval.md +44 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/04-generate-signoff/20-offer-signoff-document.md +38 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/04-generate-signoff/21-determine-business-model.md +50 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/22-build-section-01-project-overview.md +29 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/23-build-section-02-business-model.md +66 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/24-build-section-03-scope-of-work.md +46 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/25-build-section-04-payment-terms.md +81 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/26-build-section-05-timeline.md +31 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/27-build-section-06-availability.md +38 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/28-build-section-07-confidentiality.md +42 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/29-build-section-08-not-to-exceed.md +54 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/30-build-section-09-work-initiation.md +41 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/31-build-section-10-terms-and-conditions.md +38 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/32-build-section-11-approval.md +36 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/05-build-contract/33-finalize-contract.md +40 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/06-build-signoff-internal/34-build-internal-signoff.md +65 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/06-build-signoff-internal/35-finalize-signoff.md +39 -0
- package/src/workflows/1-project-brief/alignment-signoff/substeps/substeps-guide.md +81 -0
- package/src/workflows/1-project-brief/alignment-signoff/validation-report-alignment-signoff.md +360 -0
- package/src/workflows/1-project-brief/alignment-signoff/workflow.md +157 -0
- package/src/workflows/1-project-brief/complete/validation-report-complete.md +142 -0
- package/src/workflows/1-project-brief/complete/workflow.md +60 -0
- package/src/workflows/1-project-brief/handover/instructions.md +16 -0
- package/src/workflows/1-project-brief/handover/steps/step-01-analyze-brief.md +31 -0
- package/src/workflows/1-project-brief/handover/steps/step-02-create-summary.md +46 -0
- package/src/workflows/1-project-brief/handover/steps/step-03-provide-activation.md +44 -0
- package/src/workflows/1-project-brief/project-brief/complete/instructions.md +273 -0
- package/src/workflows/1-project-brief/project-brief/complete/project-brief.template.md +193 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-01-init.md +35 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-02-vision.md +43 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-03-positioning.md +34 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-04-create-vtc.md +118 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-05-business-model.md +26 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-06-business-customers.md +28 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-07-target-users.md +40 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-08-success-criteria.md +40 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-09-competitive-landscape.md +42 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-10-constraints.md +43 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-10a-platform-strategy.md +73 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-11-create-vtc.md +133 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-11-tone-of-voice.md +233 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/step-12-synthesize.md +44 -0
- package/src/workflows/1-project-brief/project-brief/complete/steps-c/substeps/11-tone-of-voice-example.md +52 -0
- package/src/workflows/1-project-brief/project-brief/complete/workflow.md +60 -0
- package/src/workflows/1-project-brief/project-brief/simplified/instructions.md +126 -0
- package/src/workflows/1-project-brief/project-brief/simplified/simplified-brief.template.md +44 -0
- package/src/workflows/1-project-brief/project-brief/validation-report-project-brief.md +343 -0
- package/src/workflows/1-project-brief/workflow.yaml +37 -0
- package/src/workflows/2-trigger-mapping/REVIEW-FINDINGS.md +160 -0
- package/src/workflows/2-trigger-mapping/document-generation/instructions.md +16 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-01-generate-hub.md +188 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-02-generate-business-goals.md +231 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-03a-generate-primary-persona.md +96 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-03b-generate-secondary-persona.md +104 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-03c-generate-tertiary-persona.md +96 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-04-generate-key-insights.md +88 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/step-05-quality-check.md +68 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/substeps/04-key-insights-structure.md +222 -0
- package/src/workflows/2-trigger-mapping/document-generation/steps-c/substeps/05-quality-checklist.md +212 -0
- package/src/workflows/2-trigger-mapping/document-generation/templates/persona-document-template.md +485 -0
- package/src/workflows/2-trigger-mapping/document-generation/validation-report-document-generation.md +321 -0
- package/src/workflows/2-trigger-mapping/document-generation/workflow.md +66 -0
- package/src/workflows/2-trigger-mapping/handover/instructions.md +15 -0
- package/src/workflows/2-trigger-mapping/handover/steps/step-01-finalize-hub.md +25 -0
- package/src/workflows/2-trigger-mapping/handover/steps/step-02-add-cross-references.md +27 -0
- package/src/workflows/2-trigger-mapping/handover/steps/step-03-quality-check.md +25 -0
- package/src/workflows/2-trigger-mapping/handover/steps/step-04-create-handover-package.md +73 -0
- package/src/workflows/2-trigger-mapping/handover/steps/step-05-provide-activation.md +64 -0
- package/src/workflows/2-trigger-mapping/instructions.md +159 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/instructions.md +28 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-01-initialize-structure.md +84 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-02-format-business-goals.md +86 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-03-format-platform.md +94 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-04-format-target-groups.md +113 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-05-format-driving-forces.md +118 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-06-create-connections.md +136 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-07-apply-styling.md +171 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/steps-c/step-08-quality-check.md +183 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/validation-report-mermaid-diagram.md +185 -0
- package/src/workflows/2-trigger-mapping/mermaid-diagram/workflow.md +70 -0
- package/src/workflows/2-trigger-mapping/micro-instructions-mermaid-diagram.md +262 -0
- package/src/workflows/2-trigger-mapping/templates/feature-impact.template.md +47 -0
- package/src/workflows/2-trigger-mapping/templates/trigger-map.template.md +169 -0
- package/src/workflows/2-trigger-mapping/workflow.yaml +55 -0
- package/src/workflows/2-trigger-mapping/workshops/0-documentation-synthesis/instructions.md +140 -0
- package/src/workflows/2-trigger-mapping/workshops/0-documentation-synthesis/step-01-business-goals.md +124 -0
- package/src/workflows/2-trigger-mapping/workshops/0-documentation-synthesis/step-02-target-groups.md +143 -0
- package/src/workflows/2-trigger-mapping/workshops/0-documentation-synthesis/step-03-driving-forces.md +133 -0
- package/src/workflows/2-trigger-mapping/workshops/0-documentation-synthesis/step-04-prioritization.md +130 -0
- package/src/workflows/2-trigger-mapping/workshops/0-documentation-synthesis/step-05-gap-analysis.md +141 -0
- package/src/workflows/2-trigger-mapping/workshops/1-business-goals/instructions.md +106 -0
- package/src/workflows/2-trigger-mapping/workshops/2-target-groups/instructions.md +106 -0
- package/src/workflows/2-trigger-mapping/workshops/3-driving-forces/instructions.md +130 -0
- package/src/workflows/2-trigger-mapping/workshops/4-prioritization/instructions.md +203 -0
- package/src/workflows/2-trigger-mapping/workshops/5-feature-impact/instructions.md +24 -0
- package/src/workflows/2-trigger-mapping/workshops/5-feature-impact/steps/step-01-extract-features.md +52 -0
- package/src/workflows/2-trigger-mapping/workshops/5-feature-impact/steps/step-02-confirm-assessment.md +41 -0
- package/src/workflows/2-trigger-mapping/workshops/5-feature-impact/steps/step-03-make-assessment.md +84 -0
- package/src/workflows/2-trigger-mapping/workshops/5-feature-impact/steps/step-04-generate-document.md +81 -0
- package/src/workflows/2-trigger-mapping/workshops/5-feature-impact/steps/step-05-wrap-up.md +55 -0
- package/src/workflows/3-prd-platform/handover/instructions.md +16 -0
- package/src/workflows/3-prd-platform/handover/steps/step-01-compile-deliverables.md +38 -0
- package/src/workflows/3-prd-platform/handover/steps/step-02-extract-epic-structure.md +30 -0
- package/src/workflows/3-prd-platform/handover/steps/step-03-prepare-prd-materials.md +31 -0
- package/src/workflows/3-prd-platform/handover/steps/step-04-create-handover-package.md +57 -0
- package/src/workflows/3-prd-platform/handover/steps/step-05-provide-activation.md +68 -0
- package/src/workflows/3-prd-platform/instructions.md +1161 -0
- package/src/workflows/3-prd-platform/templates/experimental-endpoints.template.md +221 -0
- package/src/workflows/3-prd-platform/templates/platform-architecture.template.md +159 -0
- package/src/workflows/3-prd-platform/templates/technical-constraints.template.md +191 -0
- package/src/workflows/3-prd-platform/workflow.yaml +39 -0
- package/src/workflows/4-ux-design/ARCHITECTURE.md +275 -0
- package/src/workflows/4-ux-design/COMPONENT-FILE-STRUCTURE.md +742 -0
- package/src/workflows/4-ux-design/CONCEPTUAL-SPECIFICATIONS.md +557 -0
- package/src/workflows/4-ux-design/CONTENT-PLACEMENT-GUIDE.md +552 -0
- package/src/workflows/4-ux-design/CROSS-PAGE-CONSISTENCY.md +301 -0
- package/src/workflows/4-ux-design/DOCUMENTATION-ARCHITECTURE.md +161 -0
- package/src/workflows/4-ux-design/HTML-VS-VISUAL-STYLES.md +243 -0
- package/src/workflows/4-ux-design/IMAGE-SKETCHING-BEST-PRACTICES.md +272 -0
- package/src/workflows/4-ux-design/PROACTIVE-TRANSLATION-WORKFLOW.md +447 -0
- package/src/workflows/4-ux-design/SKETCH-FIRST-IMPLEMENTATION-PLAN.md +617 -0
- package/src/workflows/4-ux-design/SKETCH-TEXT-ANALYSIS-GUIDE.md +532 -0
- package/src/workflows/4-ux-design/SKETCH-TEXT-QUICK-REFERENCE.md +222 -0
- package/src/workflows/4-ux-design/SKETCH-TEXT-STRATEGY.md +509 -0
- package/src/workflows/4-ux-design/STORYBOARD-INTEGRATION.md +714 -0
- package/src/workflows/4-ux-design/TRANSLATION-ORGANIZATION-GUIDE.md +513 -0
- package/src/workflows/4-ux-design/WDS-SPECIFICATION-PATTERN.md +436 -0
- package/src/workflows/4-ux-design/agentic-development/guides/AGENTIC-DEVELOPMENT-GUIDE.md +380 -0
- package/src/workflows/4-ux-design/agentic-development/guides/CREATION-GUIDE.md +1148 -0
- package/src/workflows/4-ux-design/agentic-development/guides/FILE-INDEX.md +212 -0
- package/src/workflows/4-ux-design/agentic-development/guides/PROTOTYPE-ANALYSIS.md +832 -0
- package/src/workflows/4-ux-design/agentic-development/guides/PROTOTYPE-INITIATION-DIALOG.md +409 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/1-prototype-setup.md +95 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/2-scenario-analysis.md +174 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/3-logical-view-breakdown.md +197 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4a-announce-and-gather.md +69 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4b-create-story-file.md +144 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4c-implement-section.md +113 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4d-present-for-testing.md +68 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4e-handle-issue.md +85 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4f-handle-improvement.md +104 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/4g-section-approved.md +146 -0
- package/src/workflows/4-ux-design/agentic-development/steps-c/5-finalization.md +158 -0
- package/src/workflows/4-ux-design/agentic-development/templates/PROTOTYPE-ROADMAP-template.md +382 -0
- package/src/workflows/4-ux-design/agentic-development/templates/components/DEV-MODE-GUIDE.md +189 -0
- package/src/workflows/4-ux-design/agentic-development/templates/components/dev-mode.css +164 -0
- package/src/workflows/4-ux-design/agentic-development/templates/components/dev-mode.html +18 -0
- package/src/workflows/4-ux-design/agentic-development/templates/components/dev-mode.js +430 -0
- package/src/workflows/4-ux-design/agentic-development/templates/demo-data-template.json +63 -0
- package/src/workflows/4-ux-design/agentic-development/templates/page-template.html +465 -0
- package/src/workflows/4-ux-design/agentic-development/templates/story-file-template.md +167 -0
- package/src/workflows/4-ux-design/agentic-development/templates/work-file-template.yaml +264 -0
- package/src/workflows/4-ux-design/agentic-development/validation-report-agentic-development.md +251 -0
- package/src/workflows/4-ux-design/agentic-development/workflow.md +631 -0
- package/src/workflows/4-ux-design/excalidraw-integration/guides/ai-collaboration.md +565 -0
- package/src/workflows/4-ux-design/excalidraw-integration/guides/excalidraw-guide.md +320 -0
- package/src/workflows/4-ux-design/excalidraw-integration/guides/excalidraw-setup.md +529 -0
- package/src/workflows/4-ux-design/excalidraw-integration/guides/export-workflow.md +563 -0
- package/src/workflows/4-ux-design/excalidraw-integration/guides/sketching-guide.md +693 -0
- package/src/workflows/4-ux-design/excalidraw-integration/validation-report-excalidraw-integration.md +208 -0
- package/src/workflows/4-ux-design/excalidraw-integration/workflow.md +226 -0
- package/src/workflows/4-ux-design/handover/instructions.md +15 -0
- package/src/workflows/4-ux-design/handover/steps/step-01-analyze-scenarios.md +32 -0
- package/src/workflows/4-ux-design/handover/steps/step-01-identify-delivery-scope.md +61 -0
- package/src/workflows/4-ux-design/handover/steps/step-02-create-summary.md +59 -0
- package/src/workflows/4-ux-design/handover/steps/step-02-extract-technical-needs.md +33 -0
- package/src/workflows/4-ux-design/handover/steps/step-03-create-delivery-package.md +79 -0
- package/src/workflows/4-ux-design/handover/steps/step-03-provide-activation.md +47 -0
- package/src/workflows/4-ux-design/handover/steps/step-04-log-delivery.md +41 -0
- package/src/workflows/4-ux-design/handover/steps/step-05-provide-activation.md +75 -0
- package/src/workflows/4-ux-design/modular-architecture/00-MODULAR-ARCHITECTURE-GUIDE.md +71 -0
- package/src/workflows/4-ux-design/modular-architecture/00-foundation/agent-designer-collaboration.md +488 -0
- package/src/workflows/4-ux-design/modular-architecture/01-core-concepts/complexity-detection.md +123 -0
- package/src/workflows/4-ux-design/modular-architecture/01-core-concepts/content-placement-rules.md +144 -0
- package/src/workflows/4-ux-design/modular-architecture/01-core-concepts/three-tier-overview.md +144 -0
- package/src/workflows/4-ux-design/modular-architecture/02-workflows/01-what-are-storyboards.md +70 -0
- package/src/workflows/4-ux-design/modular-architecture/02-workflows/01-when-to-use.md +68 -0
- package/src/workflows/4-ux-design/modular-architecture/02-workflows/02-file-structure.md +86 -0
- package/src/workflows/4-ux-design/modular-architecture/02-workflows/complexity-router-workflow.md +155 -0
- package/src/workflows/4-ux-design/modular-architecture/02-workflows/page-specification-workflow.md +312 -0
- package/src/workflows/4-ux-design/modular-architecture/02-workflows/storyboards-guide.md +75 -0
- package/src/workflows/4-ux-design/modular-architecture/03-quick-refs/benefits.md +128 -0
- package/src/workflows/4-ux-design/modular-architecture/03-quick-refs/decision-tree.md +67 -0
- package/src/workflows/4-ux-design/modular-architecture/validation-report-modular-architecture.md +220 -0
- package/src/workflows/4-ux-design/modular-architecture/workflow.md +289 -0
- package/src/workflows/4-ux-design/object-types/COMPLEXITY-ROUTER.md +842 -0
- package/src/workflows/4-ux-design/object-types/ROUTER-FLOW-DIAGRAM.md +275 -0
- package/src/workflows/4-ux-design/object-types/TEXT-DETECTION-PRIORITY.md +391 -0
- package/src/workflows/4-ux-design/object-types/object-router.md +349 -0
- package/src/workflows/4-ux-design/object-types/templates/button.md +345 -0
- package/src/workflows/4-ux-design/object-types/templates/heading-text.md +549 -0
- package/src/workflows/4-ux-design/object-types/templates/image.md +165 -0
- package/src/workflows/4-ux-design/object-types/templates/link.md +167 -0
- package/src/workflows/4-ux-design/object-types/templates/text-input.md +463 -0
- package/src/workflows/4-ux-design/object-types/validation-report-object-types.md +295 -0
- package/src/workflows/4-ux-design/object-types/workflow.md +439 -0
- package/src/workflows/4-ux-design/page-specification-quality/data/validation-standards.md +215 -0
- package/src/workflows/4-ux-design/page-specification-quality/instructions.md +32 -0
- package/src/workflows/4-ux-design/page-specification-quality/quality-guide.md +653 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-01-page-metadata.md +55 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-02-navigation.md +54 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-03-page-overview.md +47 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-04-page-sections.md +58 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-05-section-order.md +59 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-06-object-registry.md +52 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-07-design-system-separation.md +64 -0
- package/src/workflows/4-ux-design/page-specification-quality/steps-v/step-08-final-validation.md +92 -0
- package/src/workflows/4-ux-design/page-specification-quality/templates/diagnostic-report-template.md +227 -0
- package/src/workflows/4-ux-design/page-specification-quality/validation-report-page-specification-quality.md +357 -0
- package/src/workflows/4-ux-design/page-specification-quality/workflow.md +146 -0
- package/src/workflows/4-ux-design/scenario-init/SCENARIO-INIT-DIALOG.md +538 -0
- package/src/workflows/4-ux-design/scenario-init/SCENARIO-INIT-PROCESS.md +221 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/00-SCENARIO-INIT-GUIDE.md +76 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/01-platform-confirmation.md +167 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/02-feature-selection.md +70 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/03-entry-point.md +67 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/04-mental-state.md +74 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/05-mutual-success.md +69 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/06-shortest-path.md +92 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/07-create-vtc.md +132 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/examples/booking-example.md +64 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/examples/ecommerce-example.md +64 -0
- package/src/workflows/4-ux-design/scenario-init/steps-c/examples/saas-example.md +64 -0
- package/src/workflows/4-ux-design/scenario-init/validation-report-scenario-init.md +290 -0
- package/src/workflows/4-ux-design/scenario-init/workflow.md +117 -0
- package/src/workflows/4-ux-design/specification-audit-workflow.md +697 -0
- package/src/workflows/4-ux-design/steps/step-01-init.md +116 -0
- package/src/workflows/4-ux-design/steps/step-02-setup-scenario-structure.md +67 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/page-init-lightweight.md +355 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-01-page-context.md +61 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-02-page-name.md +26 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-03-page-purpose.md +25 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-04-entry-point.md +27 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-05-mental-state.md +22 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-06-desired-outcome.md +22 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-07-variants.md +29 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/step-08-create-page-structure.md +141 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/workshop-c-placeholder-pages.md +406 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/workshop-page-creation.md +578 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/page-init/workshop-page-process.md +333 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-01-core-feature.md +26 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-02-entry-point.md +26 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-03-mental-state.md +24 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-04-mutual-success.md +27 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-05-shortest-path.md +39 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-06-scenario-name.md +24 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/scenario-init/step-07-create-scenario-folder.md +145 -0
- package/src/workflows/4-ux-design/steps/step-02-substeps/substeps-guide.md +110 -0
- package/src/workflows/4-ux-design/steps/step-03-design-page.md +189 -0
- package/src/workflows/4-ux-design/steps/step-04-complete-scenario.md +59 -0
- package/src/workflows/4-ux-design/steps/step-05-next-steps.md +76 -0
- package/src/workflows/4-ux-design/stitch-generation/stitch-prompt.template.md +174 -0
- package/src/workflows/4-ux-design/stitch-generation/workflow.md +288 -0
- package/src/workflows/4-ux-design/substeps/4a-exploration.md +106 -0
- package/src/workflows/4-ux-design/substeps/4b-sketch-analysis.md +536 -0
- package/src/workflows/4-ux-design/substeps/4c-01-page-basics.md +59 -0
- package/src/workflows/4-ux-design/substeps/4c-02-layout-sections.md +66 -0
- package/src/workflows/4-ux-design/substeps/4c-03-components-objects.md +154 -0
- package/src/workflows/4-ux-design/substeps/4c-04-content-languages.md +83 -0
- package/src/workflows/4-ux-design/substeps/4c-05-interactions.md +82 -0
- package/src/workflows/4-ux-design/substeps/4c-06-states.md +125 -0
- package/src/workflows/4-ux-design/substeps/4c-07-validation.md +124 -0
- package/src/workflows/4-ux-design/substeps/4c-08-generate-spec.md +105 -0
- package/src/workflows/4-ux-design/substeps/4d-prototype.md +282 -0
- package/src/workflows/4-ux-design/substeps/4e-prd-update.md +139 -0
- package/src/workflows/4-ux-design/templates/audit-report.template.md +430 -0
- package/src/workflows/4-ux-design/templates/instructions/accessibility-audit.workflow.md +166 -0
- package/src/workflows/4-ux-design/templates/instructions/accessibility.instructions.md +102 -0
- package/src/workflows/4-ux-design/templates/instructions/data-api.instructions.md +69 -0
- package/src/workflows/4-ux-design/templates/instructions/form-validation.instructions.md +54 -0
- package/src/workflows/4-ux-design/templates/instructions/meta-content.instructions.md +37 -0
- package/src/workflows/4-ux-design/templates/instructions/open-questions.instructions.md +164 -0
- package/src/workflows/4-ux-design/templates/instructions/responsive.instructions.md +64 -0
- package/src/workflows/4-ux-design/templates/page-specification.template.md +227 -0
- package/src/workflows/4-ux-design/templates/scenario-overview.template.md +159 -0
- package/src/workflows/4-ux-design/templates/storyboard-specification.template.md +94 -0
- package/src/workflows/4-ux-design/ux-design-guide.md +223 -0
- package/src/workflows/4-ux-design/workflow-new.yaml +18 -0
- package/src/workflows/4-ux-design/workflow.md +61 -0
- package/src/workflows/4-ux-design/workflow.yaml +18 -0
- package/src/workflows/5-design-system/assessment/01-scan-existing.md +166 -0
- package/src/workflows/5-design-system/assessment/02-compare-attributes.md +287 -0
- package/src/workflows/5-design-system/assessment/03-calculate-similarity.md +357 -0
- package/src/workflows/5-design-system/assessment/04-identify-opportunities.md +339 -0
- package/src/workflows/5-design-system/assessment/05-identify-risks.md +357 -0
- package/src/workflows/5-design-system/assessment/06-present-decision.md +435 -0
- package/src/workflows/5-design-system/assessment/07-execute-decision.md +523 -0
- package/src/workflows/5-design-system/design-system-guide.md +353 -0
- package/src/workflows/5-design-system/design-system-router.md +370 -0
- package/src/workflows/5-design-system/figma-integration/INTEGRATION-SUMMARY.md +458 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-01-connection-check.md +118 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-01-substeps/substep-01-plugin-installation.md +37 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-01-substeps/substep-02-activate-plugin.md +37 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-01-substeps/substep-03-verify-mcp.md +51 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-02-identify-export-type.md +161 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-03-prepare-specifications.md +138 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-03-substeps/substep-01-analyze-code.md +62 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-03-substeps/substep-02-generate-ids.md +69 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-03-substeps/substep-03-create-spec.md +98 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-03-substeps/substep-04-review-spec.md +86 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-04-generate-validate.md +207 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/steps/step-05-execute-export.md +229 -0
- package/src/workflows/5-design-system/figma-integration/code-to-figma/workflow.md +64 -0
- package/src/workflows/5-design-system/figma-integration/figma-to-code/README.md +0 -0
- package/src/workflows/5-design-system/figma-integration/figma-to-code/figma-integration-guide.md +37 -0
- package/src/workflows/5-design-system/figma-integration/reference/figma-designer-guide.md +687 -0
- package/src/workflows/5-design-system/figma-integration/reference/figma-mcp-integration.md +661 -0
- package/src/workflows/5-design-system/figma-integration/reference/mcp-server-integration.md +922 -0
- package/src/workflows/5-design-system/figma-integration/reference/prototype-to-figma-workflow.md +933 -0
- package/src/workflows/5-design-system/figma-integration/reference/tools-reference.md +665 -0
- package/src/workflows/5-design-system/figma-integration/reference/when-to-extract-decision-guide.md +663 -0
- package/src/workflows/5-design-system/operations/add-variant.md +490 -0
- package/src/workflows/5-design-system/operations/create-new-component.md +711 -0
- package/src/workflows/5-design-system/operations/generate-catalog.md +686 -0
- package/src/workflows/5-design-system/operations/initialize-design-system.md +467 -0
- package/src/workflows/5-design-system/operations/update-component.md +600 -0
- package/src/workflows/5-design-system/templates/catalog.template.html +363 -0
- package/src/workflows/5-design-system/templates/component-library-config.template.md +65 -0
- package/src/workflows/5-design-system/templates/component.template.md +134 -0
- package/src/workflows/5-design-system/templates/design-tokens.template.md +168 -0
- package/src/workflows/5-design-system/workflow.yaml +22 -0
- package/src/workflows/6-design-deliveries/design-deliveries-guide.md +489 -0
- package/src/workflows/6-design-deliveries/steps/step-6.1-detect-completion.md +131 -0
- package/src/workflows/6-design-deliveries/steps/step-6.2-create-delivery.md +156 -0
- package/src/workflows/6-design-deliveries/steps/step-6.2-create-delivery.md.bak +309 -0
- package/src/workflows/6-design-deliveries/steps/step-6.3-create-test-scenario.md +155 -0
- package/src/workflows/6-design-deliveries/steps/step-6.3-create-test-scenario.md.bak +432 -0
- package/src/workflows/6-design-deliveries/steps/step-6.4-handoff-dialog.md +441 -0
- package/src/workflows/6-design-deliveries/steps/step-6.5-hand-off.md +327 -0
- package/src/workflows/6-design-deliveries/steps/step-6.6-continue.md +414 -0
- package/src/workflows/6-design-deliveries/workflow.md +67 -0
- package/src/workflows/7-testing/steps/step-7.1-receive-notification.md +261 -0
- package/src/workflows/7-testing/steps/step-7.2-prepare-testing.md +399 -0
- package/src/workflows/7-testing/steps/step-7.3-run-tests.md +683 -0
- package/src/workflows/7-testing/steps/step-7.4-create-issues.md +517 -0
- package/src/workflows/7-testing/steps/step-7.5-create-report.md +441 -0
- package/src/workflows/7-testing/steps/step-7.6-send-to-bmad.md +392 -0
- package/src/workflows/7-testing/steps/step-7.7-iterate-or-approve.md +596 -0
- package/src/workflows/7-testing/testing-guide.md +613 -0
- package/src/workflows/7-testing/workflow.md +79 -0
- package/src/workflows/8-ongoing-development/existing-product-guide.md +929 -0
- package/src/workflows/8-ongoing-development/steps/step-8.1-identify-opportunity.md +497 -0
- package/src/workflows/8-ongoing-development/steps/step-8.2-gather-context.md +380 -0
- package/src/workflows/8-ongoing-development/steps/step-8.3-design-update.md +495 -0
- package/src/workflows/8-ongoing-development/steps/step-8.4-create-delivery.md +402 -0
- package/src/workflows/8-ongoing-development/steps/step-8.5-hand-off.md +163 -0
- package/src/workflows/8-ongoing-development/steps/step-8.6-validate.md +265 -0
- package/src/workflows/8-ongoing-development/steps/step-8.7-monitor.md +432 -0
- package/src/workflows/8-ongoing-development/steps/step-8.8-iterate.md +547 -0
- package/src/workflows/8-ongoing-development/workflow.md +302 -0
- package/src/workflows/9-agent-dialogs/steps/step-01-initialize-dialog.md +244 -0
- package/src/workflows/9-agent-dialogs/steps/step-02-analyze-scope.md +195 -0
- package/src/workflows/9-agent-dialogs/steps/step-03-create-steps.md +186 -0
- package/src/workflows/9-agent-dialogs/steps/step-04-execute-steps.md +250 -0
- package/src/workflows/9-agent-dialogs/steps/step-05-complete-dialog.md +177 -0
- package/src/workflows/9-agent-dialogs/templates/dialog-capture.template.md +75 -0
- package/src/workflows/9-agent-dialogs/templates/dialog-types/INDEX.md +142 -0
- package/src/workflows/9-agent-dialogs/templates/dialog-types/bug-fix.template.md +164 -0
- package/src/workflows/9-agent-dialogs/templates/dialog-types/design-exploration.template.md +180 -0
- package/src/workflows/9-agent-dialogs/templates/dialog-types/prototype-implementation.template.md +292 -0
- package/src/workflows/9-agent-dialogs/templates/dialog-types/stitch-generation.template.md +311 -0
- package/src/workflows/9-agent-dialogs/templates/dialog.template.md +200 -0
- package/src/workflows/9-agent-dialogs/templates/step.template.md +118 -0
- package/src/workflows/9-agent-dialogs/workflow.md +401 -0
- package/src/workflows/PROJECT-STRUCTURE-SYSTEM.md +226 -0
- package/src/workflows/VALIDATION-SUMMARY-REPORT.md +329 -0
- package/src/workflows/paths/design-system-only.yaml +62 -0
- package/src/workflows/paths/digital-strategy.yaml +39 -0
- package/src/workflows/paths/feature-enhancement.yaml +93 -0
- package/src/workflows/paths/full-product.yaml +96 -0
- package/src/workflows/paths/landing-page.yaml +54 -0
- package/src/workflows/paths/quick-prototype.yaml +39 -0
- package/src/workflows/project-analysis/AGENT-INITIATION-FLOW.md +295 -0
- package/src/workflows/project-analysis/LINK-VERIFICATION.md +179 -0
- package/src/workflows/project-analysis/ROUTER-ARCHITECTURE.md +224 -0
- package/src/workflows/project-analysis/SYSTEM-GUIDE.md +105 -0
- package/src/workflows/project-analysis/agent-domains/freya-domain.md +144 -0
- package/src/workflows/project-analysis/agent-domains/idunn-domain.md +112 -0
- package/src/workflows/project-analysis/agent-domains/saga-domain.md +132 -0
- package/src/workflows/project-analysis/agent-handoff-guide.md +233 -0
- package/src/workflows/project-analysis/analysis-types/empty-project-response.md +141 -0
- package/src/workflows/project-analysis/analysis-types/folder-based-analysis.md +135 -0
- package/src/workflows/project-analysis/analysis-types/new-project-response.md +194 -0
- package/src/workflows/project-analysis/analysis-types/outline-based-analysis.md +207 -0
- package/src/workflows/project-analysis/analysis-types/unknown-structure-response.md +216 -0
- package/src/workflows/project-analysis/context-aware-activation.md +99 -0
- package/src/workflows/project-analysis/conversation-persistence/check-conversations.md +162 -0
- package/src/workflows/project-analysis/conversation-persistence/conversation-template.md +70 -0
- package/src/workflows/project-analysis/conversation-persistence/persistence-guide.md +81 -0
- package/src/workflows/project-analysis/conversation-persistence/save-conversation.md +146 -0
- package/src/workflows/project-analysis/instructions.md +30 -0
- package/src/workflows/project-analysis/project-analysis-router.md +76 -0
- package/src/workflows/project-analysis/task-reflection.md +303 -0
- package/src/workflows/project-analysis/validation/deep-validation-before-work.md +235 -0
- package/src/workflows/project-analysis/work-types/strategy-work.md +88 -0
- package/src/workflows/project-analysis/workflow.yaml +82 -0
- package/src/workflows/shared/content-creation-workshop/content-creation-workshop-guide.md +320 -0
- package/src/workflows/shared/content-creation-workshop/content-output.template.md +349 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/OPTIMIZATION-COMPLETE.md +143 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-00-define-purpose.md +196 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-01-load-vtc-context.md +126 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-02-awareness-strategy.md +245 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-03-action-filter.md +230 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-04-empowerment-frame.md +248 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-05-structural-order.md +227 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/step-06-generate-content.md +247 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/00-purpose-examples.md +131 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/03-action-filter-example.md +97 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/04-badass-users-principles.md +159 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/04-example-empowerment-frame.md +88 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/05-example-golden-circle.md +96 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/05-golden-circle-guide.md +160 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/06-example-hairdresser-newsletter.md +136 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/substeps/06-generation-instructions.md +95 -0
- package/src/workflows/shared/content-creation-workshop/steps-c/workflow.md +41 -0
- package/src/workflows/shared/content-creation-workshop/validation-report-content-creation-workshop.md +303 -0
- package/src/workflows/shared/content-creation-workshop/workflow.md +87 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-01-define-business-goal.md +115 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-02-identify-solution.md +105 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-03-describe-user.md +131 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-04-positive-driving-forces.md +150 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-05-negative-driving-forces.md +190 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-06-customer-awareness.md +256 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/step-07-review-and-save.md +233 -0
- package/src/workflows/shared/vtc-workshop/creation-steps-c/workflow.md +43 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-01-load-trigger-map.md +81 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-02-select-business-goal.md +84 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-03-select-user.md +88 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-04-select-driving-forces.md +100 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-05-define-solution.md +59 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-06-customer-awareness.md +75 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/step-07-review-and-save.md +151 -0
- package/src/workflows/shared/vtc-workshop/selection-steps-c/workflow.md +48 -0
- package/src/workflows/shared/vtc-workshop/validation-report-vtc-workshop.md +269 -0
- package/src/workflows/shared/vtc-workshop/vtc-creation-workshop.md +457 -0
- package/src/workflows/shared/vtc-workshop/vtc-selection-workshop.md +557 -0
- package/src/workflows/shared/vtc-workshop/vtc-template.yaml +210 -0
- package/src/workflows/shared/vtc-workshop/vtc-workshop-guide.md +418 -0
- package/src/workflows/shared/vtc-workshop/vtc-workshop-router.md +146 -0
- package/src/workflows/shared/vtc-workshop/workflow.md +174 -0
- package/src/workflows/workflow-init/COMPLETE-SYSTEM-SUMMARY.md +314 -0
- package/src/workflows/workflow-init/FINAL-SYSTEM-SUMMARY.md +321 -0
- package/src/workflows/workflow-init/PROJECT-OUTLINE-SYSTEM.md +240 -0
- package/src/workflows/workflow-init/excalidraw-setup-prompt.md +365 -0
- package/src/workflows/workflow-init/instructions.md +22 -0
- package/src/workflows/workflow-init/methodology-instructions/custom-methodology-template.md +299 -0
- package/src/workflows/workflow-init/methodology-instructions/methodology-guide.md +252 -0
- package/src/workflows/workflow-init/methodology-instructions/wds-v6-instructions.md +221 -0
- package/src/workflows/workflow-init/methodology-instructions/wps2c-v4-instructions.md +231 -0
- package/src/workflows/workflow-init/project-config.template.yaml +87 -0
- package/src/workflows/workflow-init/project-initiation-conversation.md +957 -0
- package/src/workflows/workflow-init/project-outline.template.yaml +429 -0
- package/src/workflows/workflow-init/project-type-selection.md +318 -0
- package/src/workflows/workflow-init/steps/step-02-project-structure.md +54 -0
- package/src/workflows/workflow-init/steps/step-03-delivery-config.md +76 -0
- package/src/workflows/workflow-init/steps/step-04-phases-selection.md +180 -0
- package/src/workflows/workflow-init/workflow.yaml +32 -0
- package/src/workflows/workflow-status/instructions.md +143 -0
- package/src/workflows/workflow-status/workflow.yaml +25 -0
- package/tools/cli/commands/install.js +34 -0
- package/tools/cli/lib/compiler.js +407 -0
- package/tools/cli/lib/ide-configs.js +104 -0
- package/tools/cli/lib/installer.js +257 -0
- package/tools/cli/lib/ui.js +127 -0
- package/tools/cli/wds-cli.js +43 -0
- package/tools/wds-npx-wrapper.js +37 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# WDS Workflow Status - Progress Check Instructions
|
|
2
|
+
|
|
3
|
+
<critical>You MUST have already loaded and processed: wds-workflow-status/workflow.yaml</critical>
|
|
4
|
+
<critical>Communicate in {communication_language} with {user_name}</critical>
|
|
5
|
+
|
|
6
|
+
<workflow>
|
|
7
|
+
|
|
8
|
+
<step n="1" goal="Check for status file">
|
|
9
|
+
<action>Look for {output_folder}/wds-workflow-status.yaml</action>
|
|
10
|
+
|
|
11
|
+
<check if="status_file not found">
|
|
12
|
+
<output>No WDS workflow tracking found for this project.
|
|
13
|
+
|
|
14
|
+
To get started, run the workflow-init:
|
|
15
|
+
`/bmad:wds:workflows:workflow-init`
|
|
16
|
+
|
|
17
|
+
Or activate any WDS agent (Saga, Idunn, or Freya) and describe your project.</output>
|
|
18
|
+
<action>Exit workflow</action>
|
|
19
|
+
</check>
|
|
20
|
+
|
|
21
|
+
<action>Load and parse wds-workflow-status.yaml</action>
|
|
22
|
+
</step>
|
|
23
|
+
|
|
24
|
+
<step n="2" goal="Analyze progress">
|
|
25
|
+
<action>For each phase in workflow_status:
|
|
26
|
+
- Check if folder exists in docs/
|
|
27
|
+
- Check if expected artifacts exist
|
|
28
|
+
- Update status (complete/in-progress/pending)
|
|
29
|
+
</action>
|
|
30
|
+
|
|
31
|
+
<action>Identify:
|
|
32
|
+
|
|
33
|
+
- completed_phases: Phases with all artifacts
|
|
34
|
+
- current_phase: First incomplete required phase
|
|
35
|
+
- next_agent: Agent for current phase
|
|
36
|
+
- blocked_phases: Phases waiting on dependencies
|
|
37
|
+
</action>
|
|
38
|
+
</step>
|
|
39
|
+
|
|
40
|
+
<step n="3" goal="Display status">
|
|
41
|
+
<output>**WDS Project Status** 🎨
|
|
42
|
+
|
|
43
|
+
**Project:** {{project_name}}
|
|
44
|
+
**Type:** {{project_type}}
|
|
45
|
+
**Design System:** {{include_design_system}}
|
|
46
|
+
|
|
47
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
48
|
+
|
|
49
|
+
{{#each phases}}
|
|
50
|
+
{{#if this.status == 'complete'}}✅{{/if}}
|
|
51
|
+
{{#if this.status == 'in-progress'}}🔄{{/if}}
|
|
52
|
+
{{#if this.status == 'pending'}}⏳{{/if}}
|
|
53
|
+
{{#if this.status == 'skipped'}}⏭️{{/if}}
|
|
54
|
+
**Phase {{this.number}}: {{this.name}}**
|
|
55
|
+
Agent: {{this.agent}}
|
|
56
|
+
Folder: `{{this.folder}}`
|
|
57
|
+
Status: {{this.status}}
|
|
58
|
+
{{#if this.artifacts}}
|
|
59
|
+
Artifacts: {{this.artifact_count}} created
|
|
60
|
+
{{/if}}
|
|
61
|
+
|
|
62
|
+
{{/each}}
|
|
63
|
+
|
|
64
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
65
|
+
|
|
66
|
+
**Progress:** {{completed_count}}/{{total_count}} phases complete
|
|
67
|
+
|
|
68
|
+
{{#if current_phase}}
|
|
69
|
+
**Current Focus:** Phase {{current_phase.number}} - {{current_phase.name}}
|
|
70
|
+
**Agent:** {{current_phase.agent}}
|
|
71
|
+
**Next Step:** {{current_phase.next_step}}
|
|
72
|
+
{{else}}
|
|
73
|
+
🎉 **All phases complete!** Your design work is ready for development handoff.
|
|
74
|
+
{{/if}}
|
|
75
|
+
</output>
|
|
76
|
+
</step>
|
|
77
|
+
|
|
78
|
+
<step n="4" goal="Offer next actions">
|
|
79
|
+
<check if="current_phase exists">
|
|
80
|
+
<ask>What would you like to do?
|
|
81
|
+
|
|
82
|
+
1. **Continue** {{current_phase.name}} with {{current_phase.agent}}
|
|
83
|
+
2. **Jump to** a different phase
|
|
84
|
+
3. **View** phase details
|
|
85
|
+
4. **Exit** - I'll come back later
|
|
86
|
+
|
|
87
|
+
Choice [1/2/3/4]:</ask>
|
|
88
|
+
|
|
89
|
+
<check if="choice == 1">
|
|
90
|
+
<output>To continue with **{{current_phase.name}}**:
|
|
91
|
+
|
|
92
|
+
1. Activate **{{current_phase.agent}}** agent
|
|
93
|
+
2. Run: `/bmad:wds:workflows:{{current_phase.workflow_id}}`
|
|
94
|
+
3. Or just tell {{current_phase.agent}} what you want to work on
|
|
95
|
+
|
|
96
|
+
Happy designing! 🎨</output>
|
|
97
|
+
</check>
|
|
98
|
+
|
|
99
|
+
<check if="choice == 2">
|
|
100
|
+
<ask>Which phase?
|
|
101
|
+
{{#each available_phases}}
|
|
102
|
+
{{this.number}}. {{this.name}} ({{this.status}})
|
|
103
|
+
{{/each}}
|
|
104
|
+
|
|
105
|
+
Choice:</ask>
|
|
106
|
+
<output>To work on **Phase {{selected_phase.number}}: {{selected_phase.name}}**:
|
|
107
|
+
|
|
108
|
+
Agent: **{{selected_phase.agent}}**
|
|
109
|
+
Folder: `{{selected_phase.folder}}`
|
|
110
|
+
Command: `/bmad:wds:workflows:{{selected_phase.workflow_id}}`</output>
|
|
111
|
+
</check>
|
|
112
|
+
|
|
113
|
+
<check if="choice == 3">
|
|
114
|
+
<ask>Which phase to view?
|
|
115
|
+
{{#each phases}}
|
|
116
|
+
{{this.number}}. {{this.name}}
|
|
117
|
+
{{/each}}
|
|
118
|
+
|
|
119
|
+
Choice:</ask>
|
|
120
|
+
<output>**Phase {{selected.number}}: {{selected.name}}**
|
|
121
|
+
|
|
122
|
+
**Purpose:** {{selected.description}}
|
|
123
|
+
**Agent:** {{selected.agent}}
|
|
124
|
+
**Output Folder:** `{{selected.folder}}`
|
|
125
|
+
**Status:** {{selected.status}}
|
|
126
|
+
|
|
127
|
+
{{#if selected.artifacts}}
|
|
128
|
+
**Artifacts created:**
|
|
129
|
+
{{#each selected.artifacts}}
|
|
130
|
+
|
|
131
|
+
- {{this}}
|
|
132
|
+
{{/each}}
|
|
133
|
+
{{else}}
|
|
134
|
+
**Artifacts:** None yet
|
|
135
|
+
{{/if}}
|
|
136
|
+
|
|
137
|
+
**What this phase produces:**
|
|
138
|
+
{{selected.produces}}</output>
|
|
139
|
+
</check>
|
|
140
|
+
</check>
|
|
141
|
+
</step>
|
|
142
|
+
|
|
143
|
+
</workflow>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: WDS Workflow Status
|
|
3
|
+
description: Check WDS project progress - answers 'what should I do now?' for any agent
|
|
4
|
+
web_bundle: true
|
|
5
|
+
---
|
|
6
|
+
# WDS Workflow Status - Progress Checker
|
|
7
|
+
name: wds-workflow-status
|
|
8
|
+
author: "Whiteport Design Studio"
|
|
9
|
+
|
|
10
|
+
# Critical variables from config
|
|
11
|
+
config_source: "{project-root}/{bmad_folder}/wds/config.yaml"
|
|
12
|
+
output_folder: "{config_source}:output_folder"
|
|
13
|
+
user_name: "{config_source}:user_name"
|
|
14
|
+
communication_language: "{config_source}:communication_language"
|
|
15
|
+
date: system-generated
|
|
16
|
+
|
|
17
|
+
# Workflow components
|
|
18
|
+
installed_path: "{project-root}/{bmad_folder}/wds/workflows/workflow-status"
|
|
19
|
+
instructions: "{installed_path}/instructions.md"
|
|
20
|
+
|
|
21
|
+
# Status file location
|
|
22
|
+
default_output_file: "{output_folder}/wds-workflow-status.yaml"
|
|
23
|
+
|
|
24
|
+
standalone: true
|
|
25
|
+
web_bundle: false
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const chalk = require('chalk');
|
|
2
|
+
const { Installer } = require('../lib/installer');
|
|
3
|
+
const { UI } = require('../lib/ui');
|
|
4
|
+
|
|
5
|
+
const installer = new Installer();
|
|
6
|
+
const ui = new UI();
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
command: 'install',
|
|
10
|
+
description: 'Install WDS agents and workflows into your project',
|
|
11
|
+
options: [],
|
|
12
|
+
action: async () => {
|
|
13
|
+
try {
|
|
14
|
+
const config = await ui.promptInstall();
|
|
15
|
+
|
|
16
|
+
if (config.cancelled) {
|
|
17
|
+
console.log(chalk.yellow('\nInstallation cancelled.'));
|
|
18
|
+
process.exit(0);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const result = await installer.install(config);
|
|
23
|
+
|
|
24
|
+
if (result && result.success) {
|
|
25
|
+
ui.displaySuccess(config.wdsFolder);
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.error(chalk.red('\nInstallation failed:'), error.message);
|
|
30
|
+
console.error(chalk.dim(error.stack));
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
};
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WDS Agent Compiler
|
|
3
|
+
* Simplified agent YAML-to-MD compiler for standalone WDS installation.
|
|
4
|
+
* Ports core XML builder functions from BMAD's compiler and inlines
|
|
5
|
+
* the activation block (replacing BMAD's fragment-loading system).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const yaml = require('js-yaml');
|
|
9
|
+
const fs = require('node:fs');
|
|
10
|
+
const path = require('node:path');
|
|
11
|
+
|
|
12
|
+
// --- XML Utility ---
|
|
13
|
+
|
|
14
|
+
function escapeXml(text) {
|
|
15
|
+
if (!text) return '';
|
|
16
|
+
return text.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>').replaceAll('"', '"').replaceAll("'", ''');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// --- XML Builder Functions (ported from BMAD compiler.js) ---
|
|
20
|
+
|
|
21
|
+
function buildFrontmatter(metadata, agentName) {
|
|
22
|
+
const nameFromFile = agentName.replaceAll('-', ' ');
|
|
23
|
+
const description = metadata.title || 'WDS Agent';
|
|
24
|
+
|
|
25
|
+
return `---
|
|
26
|
+
name: "${nameFromFile}"
|
|
27
|
+
description: "${description}"
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
31
|
+
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function buildPersonaXml(persona) {
|
|
36
|
+
if (!persona) return '';
|
|
37
|
+
|
|
38
|
+
let xml = ' <persona>\n';
|
|
39
|
+
|
|
40
|
+
if (persona.role) {
|
|
41
|
+
const roleText = persona.role.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' ');
|
|
42
|
+
xml += ` <role>${escapeXml(roleText)}</role>\n`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (persona.identity) {
|
|
46
|
+
const identityText = persona.identity.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' ');
|
|
47
|
+
xml += ` <identity>${escapeXml(identityText)}</identity>\n`;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (persona.communication_style) {
|
|
51
|
+
const styleText = persona.communication_style.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' ');
|
|
52
|
+
xml += ` <communication_style>${escapeXml(styleText)}</communication_style>\n`;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (persona.working_style) {
|
|
56
|
+
const workingText = persona.working_style.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' ');
|
|
57
|
+
xml += ` <working_style>${escapeXml(workingText)}</working_style>\n`;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (persona.principles) {
|
|
61
|
+
let principlesText;
|
|
62
|
+
if (Array.isArray(persona.principles)) {
|
|
63
|
+
principlesText = persona.principles.join(' ');
|
|
64
|
+
} else {
|
|
65
|
+
principlesText = persona.principles.trim().replaceAll(/\n+/g, ' ');
|
|
66
|
+
}
|
|
67
|
+
xml += ` <principles>${escapeXml(principlesText)}</principles>\n`;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
xml += ' </persona>\n';
|
|
71
|
+
return xml;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function buildPromptsXml(prompts) {
|
|
75
|
+
if (!prompts || prompts.length === 0) return '';
|
|
76
|
+
|
|
77
|
+
let xml = ' <prompts>\n';
|
|
78
|
+
for (const prompt of prompts) {
|
|
79
|
+
xml += ` <prompt id="${prompt.id || ''}">\n`;
|
|
80
|
+
xml += ` <content>\n`;
|
|
81
|
+
xml += `${prompt.content || ''}\n`;
|
|
82
|
+
xml += ` </content>\n`;
|
|
83
|
+
xml += ` </prompt>\n`;
|
|
84
|
+
}
|
|
85
|
+
xml += ' </prompts>\n';
|
|
86
|
+
return xml;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function buildMemoriesXml(memories) {
|
|
90
|
+
if (!memories || memories.length === 0) return '';
|
|
91
|
+
|
|
92
|
+
let xml = ' <memories>\n';
|
|
93
|
+
for (const memory of memories) {
|
|
94
|
+
xml += ` <memory>${escapeXml(String(memory))}</memory>\n`;
|
|
95
|
+
}
|
|
96
|
+
xml += ' </memories>\n';
|
|
97
|
+
return xml;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function processExecArray(execArray) {
|
|
101
|
+
const result = {
|
|
102
|
+
description: '',
|
|
103
|
+
route: null,
|
|
104
|
+
workflow: null,
|
|
105
|
+
data: null,
|
|
106
|
+
action: null,
|
|
107
|
+
type: null,
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
if (!Array.isArray(execArray)) return result;
|
|
111
|
+
|
|
112
|
+
for (const exec of execArray) {
|
|
113
|
+
if (exec.input) result.description = exec.input;
|
|
114
|
+
if (exec.route) {
|
|
115
|
+
if (exec.route.endsWith('.yaml') || exec.route.endsWith('.yml')) {
|
|
116
|
+
result.workflow = exec.route;
|
|
117
|
+
} else {
|
|
118
|
+
result.route = exec.route;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (exec.data !== null && exec.data !== undefined) result.data = exec.data;
|
|
122
|
+
if (exec.action) result.action = exec.action;
|
|
123
|
+
if (exec.type) result.type = exec.type;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function buildNestedHandlers(triggers) {
|
|
130
|
+
let xml = '';
|
|
131
|
+
for (const triggerGroup of triggers) {
|
|
132
|
+
for (const [, execArray] of Object.entries(triggerGroup)) {
|
|
133
|
+
const execData = processExecArray(execArray);
|
|
134
|
+
const attrs = [`match="${escapeXml(execData.description || '')}"`];
|
|
135
|
+
|
|
136
|
+
if (execData.route) attrs.push(`exec="${execData.route}"`);
|
|
137
|
+
if (execData.workflow) attrs.push(`workflow="${execData.workflow}"`);
|
|
138
|
+
if (execData.action) attrs.push(`action="${execData.action}"`);
|
|
139
|
+
if (execData.data) attrs.push(`data="${execData.data}"`);
|
|
140
|
+
if (execData.type && execData.type !== 'exec') attrs.push(`type="${execData.type}"`);
|
|
141
|
+
|
|
142
|
+
xml += ` <handler ${attrs.join(' ')}></handler>\n`;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return xml;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function buildMenuXml(menuItems, wdsFolder) {
|
|
149
|
+
let xml = ' <menu>\n';
|
|
150
|
+
|
|
151
|
+
// Standard menu items
|
|
152
|
+
xml += ` <item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>\n`;
|
|
153
|
+
|
|
154
|
+
// User-defined menu items
|
|
155
|
+
if (menuItems && menuItems.length > 0) {
|
|
156
|
+
for (const item of menuItems) {
|
|
157
|
+
// Skip party-mode items (requires BMAD core)
|
|
158
|
+
if (item.trigger === 'party-mode') continue;
|
|
159
|
+
// Skip items referencing core or bmm paths (standalone mode)
|
|
160
|
+
if (item.exec && (item.exec.includes('/core/') || item.exec.includes('/bmm/'))) continue;
|
|
161
|
+
if (item.workflow && item.workflow.includes('/bmm/')) continue;
|
|
162
|
+
|
|
163
|
+
// Handle multi format
|
|
164
|
+
if (item.multi && item.triggers && Array.isArray(item.triggers)) {
|
|
165
|
+
// Filter out party-mode from multi triggers
|
|
166
|
+
const filteredTriggers = item.triggers.filter((tg) => {
|
|
167
|
+
const keys = Object.keys(tg);
|
|
168
|
+
return !keys.includes('party-mode');
|
|
169
|
+
});
|
|
170
|
+
if (filteredTriggers.length === 0) continue;
|
|
171
|
+
|
|
172
|
+
// Rebuild multi description without party-mode reference
|
|
173
|
+
let multiDesc = item.multi;
|
|
174
|
+
multiDesc = multiDesc.replace(/\[SPM\] Start Party Mode \(optionally suggest attendees and topic\),?\s*/g, '').trim();
|
|
175
|
+
if (!multiDesc) multiDesc = '[CH] Chat';
|
|
176
|
+
|
|
177
|
+
xml += ` <item type="multi">${escapeXml(multiDesc)}\n`;
|
|
178
|
+
xml += buildNestedHandlers(filteredTriggers);
|
|
179
|
+
xml += ` </item>\n`;
|
|
180
|
+
}
|
|
181
|
+
// Handle legacy format
|
|
182
|
+
else if (item.trigger) {
|
|
183
|
+
const attrs = [`cmd="${item.trigger}"`];
|
|
184
|
+
if (item.workflow) attrs.push(`workflow="${item.workflow}"`);
|
|
185
|
+
if (item.exec) attrs.push(`exec="${item.exec}"`);
|
|
186
|
+
if (item.data) attrs.push(`data="${item.data}"`);
|
|
187
|
+
if (item.action) attrs.push(`action="${escapeXml(typeof item.action === 'string' ? item.action : JSON.stringify(item.action))}"`);
|
|
188
|
+
|
|
189
|
+
xml += ` <item ${attrs.join(' ')}>${escapeXml(item.description || '')}</item>\n`;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
xml += ` <item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>\n`;
|
|
195
|
+
xml += ' </menu>\n';
|
|
196
|
+
return xml;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// --- Activation Block (inlined, replaces BMAD's fragment system) ---
|
|
200
|
+
|
|
201
|
+
function detectUsedHandlers(menuItems) {
|
|
202
|
+
const used = new Set();
|
|
203
|
+
if (!menuItems) return used;
|
|
204
|
+
|
|
205
|
+
for (const item of menuItems) {
|
|
206
|
+
if (item.workflow) used.add('workflow');
|
|
207
|
+
if (item.exec) used.add('exec');
|
|
208
|
+
if (item.data) used.add('data');
|
|
209
|
+
if (item.action) used.add('action');
|
|
210
|
+
if (item.multi) used.add('multi');
|
|
211
|
+
}
|
|
212
|
+
return used;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function buildActivationBlock(agent, wdsFolder) {
|
|
216
|
+
const meta = agent.metadata;
|
|
217
|
+
const criticalActions = agent.critical_actions || [];
|
|
218
|
+
|
|
219
|
+
let stepNum = 4;
|
|
220
|
+
let agentSteps = '';
|
|
221
|
+
for (const action of criticalActions) {
|
|
222
|
+
agentSteps += ` <step n="${stepNum}">${action}</step>\n`;
|
|
223
|
+
stepNum++;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const menuStep = stepNum;
|
|
227
|
+
const haltStep = stepNum + 1;
|
|
228
|
+
const inputStep = stepNum + 2;
|
|
229
|
+
const executeStep = stepNum + 3;
|
|
230
|
+
|
|
231
|
+
let xml = ` <activation critical="MANDATORY">
|
|
232
|
+
<step n="1">Load persona from this current agent file (already in context)</step>
|
|
233
|
+
<step n="2">IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
|
|
234
|
+
- Load and read {project-root}/${wdsFolder}/config.yaml NOW
|
|
235
|
+
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
|
|
236
|
+
- VERIFY: If config not loaded, STOP and report error to user
|
|
237
|
+
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
|
|
238
|
+
</step>
|
|
239
|
+
<step n="3">Remember: user's name is {user_name}</step>
|
|
240
|
+
${agentSteps} <step n="${menuStep}">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
|
|
241
|
+
<step n="${haltStep}">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
|
|
242
|
+
<step n="${inputStep}">On user input: Number -> execute menu item[n] | Text -> case-insensitive substring match | Multiple matches -> ask user to clarify | No match -> show "Not recognized"</step>
|
|
243
|
+
<step n="${executeStep}">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, data, action) and follow the corresponding handler instructions</step>
|
|
244
|
+
|
|
245
|
+
<menu-handlers>
|
|
246
|
+
<handlers>
|
|
247
|
+
`;
|
|
248
|
+
|
|
249
|
+
// Include only handlers used by this agent's menu items
|
|
250
|
+
const used = detectUsedHandlers(agent.menu);
|
|
251
|
+
|
|
252
|
+
if (used.has('workflow')) {
|
|
253
|
+
xml += ` <handler type="workflow">
|
|
254
|
+
When menu item has: workflow="path/to/workflow.yaml":
|
|
255
|
+
1. Load and read the complete workflow YAML file at the specified path
|
|
256
|
+
2. Follow all steps and instructions within the workflow file precisely
|
|
257
|
+
3. Save outputs after completing EACH workflow step (never batch multiple steps together)
|
|
258
|
+
4. If workflow path is "todo", inform user the workflow hasn't been implemented yet
|
|
259
|
+
</handler>
|
|
260
|
+
`;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (used.has('exec')) {
|
|
264
|
+
xml += ` <handler type="exec">
|
|
265
|
+
When menu item or handler has: exec="path/to/file.md":
|
|
266
|
+
1. Actually LOAD and read the entire file and EXECUTE the file at that path - do not improvise
|
|
267
|
+
2. Read the complete file and follow all instructions within it
|
|
268
|
+
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
|
|
269
|
+
</handler>
|
|
270
|
+
`;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (used.has('data')) {
|
|
274
|
+
xml += ` <handler type="data">
|
|
275
|
+
When menu item has: data="path/to/file.json|yaml|yml|csv|xml"
|
|
276
|
+
Load the file first, parse according to extension
|
|
277
|
+
Make available as {data} variable to subsequent handler operations
|
|
278
|
+
</handler>
|
|
279
|
+
`;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if (used.has('action')) {
|
|
283
|
+
xml += ` <handler type="action">
|
|
284
|
+
When menu item has: action="#id" -> Find prompt with id="id" in current agent XML, execute its content
|
|
285
|
+
When menu item has: action="text" -> Execute the text directly as an inline instruction
|
|
286
|
+
</handler>
|
|
287
|
+
`;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
if (used.has('multi')) {
|
|
291
|
+
xml += ` <handler type="multi">
|
|
292
|
+
When menu item has: type="multi" with nested handlers
|
|
293
|
+
1. Display the multi item text as a single menu option
|
|
294
|
+
2. Parse all nested handlers within the multi item
|
|
295
|
+
3. For each nested handler:
|
|
296
|
+
- Use the 'match' attribute for fuzzy matching user input (or Exact Match of character code in brackets [])
|
|
297
|
+
- Execute based on handler attributes (exec, workflow, action)
|
|
298
|
+
4. When user input matches a handler's 'match' pattern:
|
|
299
|
+
- For exec="path/to/file.md": follow the handler type="exec" instructions
|
|
300
|
+
- For workflow="path/to/workflow.yaml": follow the handler type="workflow" instructions
|
|
301
|
+
- For action="...": Perform the specified action directly
|
|
302
|
+
5. Support both exact matches and fuzzy matching based on the match attribute
|
|
303
|
+
6. If no handler matches, prompt user to choose from available options
|
|
304
|
+
</handler>
|
|
305
|
+
`;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
xml += ` </handlers>
|
|
309
|
+
</menu-handlers>
|
|
310
|
+
|
|
311
|
+
<rules>
|
|
312
|
+
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
|
|
313
|
+
<r>Stay in character until exit selected</r>
|
|
314
|
+
<r>Display Menu items as the item dictates and in the order given.</r>
|
|
315
|
+
<r>Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
|
|
316
|
+
</rules>
|
|
317
|
+
</activation>
|
|
318
|
+
`;
|
|
319
|
+
|
|
320
|
+
return xml;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// --- Path Rewriting ---
|
|
324
|
+
|
|
325
|
+
function rewritePaths(content, wdsFolder) {
|
|
326
|
+
// Replace {bmad_folder}/wds/ with the standalone WDS folder path
|
|
327
|
+
// In BMAD: {project-root}/{bmad_folder}/wds/workflows/...
|
|
328
|
+
// Standalone: {project-root}/_wds/workflows/...
|
|
329
|
+
let result = content;
|
|
330
|
+
result = result.replaceAll('{bmad_folder}/wds/', `${wdsFolder}/`);
|
|
331
|
+
result = result.replaceAll('{project-root}/{bmad_folder}/wds/', `{project-root}/${wdsFolder}/`);
|
|
332
|
+
return result;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// --- Main Compilation ---
|
|
336
|
+
|
|
337
|
+
function compileAgentFile(yamlPath, options = {}) {
|
|
338
|
+
const wdsFolder = options.wdsFolder || '_wds';
|
|
339
|
+
const rawContent = fs.readFileSync(yamlPath, 'utf8');
|
|
340
|
+
|
|
341
|
+
// Rewrite paths before parsing
|
|
342
|
+
const rewrittenContent = rewritePaths(rawContent, wdsFolder);
|
|
343
|
+
const agentYaml = yaml.load(rewrittenContent);
|
|
344
|
+
const agent = agentYaml.agent;
|
|
345
|
+
const meta = agent.metadata;
|
|
346
|
+
|
|
347
|
+
// Derive agent name from filename
|
|
348
|
+
const basename = path.basename(yamlPath, '.agent.yaml');
|
|
349
|
+
|
|
350
|
+
let output = '';
|
|
351
|
+
|
|
352
|
+
// Frontmatter
|
|
353
|
+
output += buildFrontmatter(meta, meta.name || basename);
|
|
354
|
+
|
|
355
|
+
// Start XML code fence
|
|
356
|
+
output += '```xml\n';
|
|
357
|
+
|
|
358
|
+
// Agent opening tag
|
|
359
|
+
const agentId = `${wdsFolder}/agents/${basename}.md`;
|
|
360
|
+
const agentAttrs = [
|
|
361
|
+
`id="${agentId}"`,
|
|
362
|
+
`name="${meta.name || ''}"`,
|
|
363
|
+
`title="${meta.title || ''}"`,
|
|
364
|
+
`icon="${meta.icon || ''}"`,
|
|
365
|
+
];
|
|
366
|
+
output += `<agent ${agentAttrs.join(' ')}>\n`;
|
|
367
|
+
|
|
368
|
+
// Activation block (inlined)
|
|
369
|
+
output += buildActivationBlock(agent, wdsFolder);
|
|
370
|
+
|
|
371
|
+
// Persona
|
|
372
|
+
output += buildPersonaXml(agent.persona);
|
|
373
|
+
|
|
374
|
+
// Prompts
|
|
375
|
+
if (agent.prompts && agent.prompts.length > 0) {
|
|
376
|
+
output += buildPromptsXml(agent.prompts);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// Memories
|
|
380
|
+
if (agent.memories && agent.memories.length > 0) {
|
|
381
|
+
output += buildMemoriesXml(agent.memories);
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// Menu
|
|
385
|
+
output += buildMenuXml(agent.menu || [], wdsFolder);
|
|
386
|
+
|
|
387
|
+
// Close
|
|
388
|
+
output += '</agent>\n';
|
|
389
|
+
output += '```\n';
|
|
390
|
+
|
|
391
|
+
// Write output
|
|
392
|
+
const outputPath = options.outputPath || yamlPath.replace('.agent.yaml', '.md');
|
|
393
|
+
fs.writeFileSync(outputPath, output, 'utf8');
|
|
394
|
+
|
|
395
|
+
return { outputPath, metadata: meta, agentName: basename };
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
module.exports = {
|
|
399
|
+
compileAgentFile,
|
|
400
|
+
escapeXml,
|
|
401
|
+
buildFrontmatter,
|
|
402
|
+
buildPersonaXml,
|
|
403
|
+
buildPromptsXml,
|
|
404
|
+
buildMemoriesXml,
|
|
405
|
+
buildMenuXml,
|
|
406
|
+
buildActivationBlock,
|
|
407
|
+
};
|