aiox-core 5.0.2 → 5.0.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/.aiox-core/data/entity-registry.yaml +748 -763
- package/.aiox-core/install-manifest.yaml +4 -4
- package/package.json +6 -1
- package/pro/feature-registry.yaml +223 -0
- package/pro/package.json +39 -0
- package/pro/pro-config.yaml +63 -0
- package/pro/squads/README.md +24 -0
- package/pro/squads/design/HEADLINE.md +3 -0
- package/pro/squads/design/README.md +109 -0
- package/pro/squads/design/agents/brad-frost.md +1097 -0
- package/pro/squads/design/agents/dan-mall.md +857 -0
- package/pro/squads/design/agents/dave-malouf.md +2272 -0
- package/pro/squads/design/agents/design-chief.md +114 -0
- package/pro/squads/design/agents/ds-foundations-lead.md +194 -0
- package/pro/squads/design/agents/ds-token-architect.md +361 -0
- package/pro/squads/design/agents/nano-banana-generator.md +162 -0
- package/pro/squads/design/agents/storybook-expert.md +809 -0
- package/pro/squads/design/checklists/atomic-refactor-checklist.md +299 -0
- package/pro/squads/design/checklists/component-adaptation-checklist.md +81 -0
- package/pro/squads/design/checklists/design-fidelity-checklist.md +283 -0
- package/pro/squads/design/checklists/design-handoff-checklist.md +55 -0
- package/pro/squads/design/checklists/design-team-health-checklist.md +454 -0
- package/pro/squads/design/checklists/designops-maturity-checklist.md +518 -0
- package/pro/squads/design/checklists/ds-a11y-release-gate-checklist.md +45 -0
- package/pro/squads/design/checklists/ds-accessibility-wcag-checklist.md +147 -0
- package/pro/squads/design/checklists/ds-component-quality-checklist.md +150 -0
- package/pro/squads/design/checklists/ds-critical-eye-review-checklist.md +147 -0
- package/pro/squads/design/checklists/ds-migration-readiness-checklist.md +99 -0
- package/pro/squads/design/checklists/ds-pattern-audit-checklist.md +164 -0
- package/pro/squads/design/checklists/reading-accessibility-checklist.md +275 -0
- package/pro/squads/design/checklists/token-mapping-checklist.md +107 -0
- package/pro/squads/design/config/coding-standards.md +286 -0
- package/pro/squads/design/config/source-tree.md +59 -0
- package/pro/squads/design/config/tech-stack.md +48 -0
- package/pro/squads/design/config.yaml +204 -0
- package/pro/squads/design/data/agentic-design-systems-guide.md +46 -0
- package/pro/squads/design/data/agentic-ds-principles.md +100 -0
- package/pro/squads/design/data/atomic-design-principles.md +108 -0
- package/pro/squads/design/data/atomic-refactor-rules.md +582 -0
- package/pro/squads/design/data/base-component-specs.md +972 -0
- package/pro/squads/design/data/brad-frost-analysis-extract-implicit.yaml +270 -0
- package/pro/squads/design/data/brad-frost-analysis-find-0.8.yaml +176 -0
- package/pro/squads/design/data/brad-frost-analysis-qa-report.yaml +168 -0
- package/pro/squads/design/data/brad-frost-dna.yaml +713 -0
- package/pro/squads/design/data/capability-tools.yaml +124 -0
- package/pro/squads/design/data/component-adaptation-changelog.md +318 -0
- package/pro/squads/design/data/consolidation-algorithms.md +168 -0
- package/pro/squads/design/data/critical-eye-scoring-rules.yaml +240 -0
- package/pro/squads/design/data/design-token-best-practices.md +107 -0
- package/pro/squads/design/data/design-tokens-spec.yaml +418 -0
- package/pro/squads/design/data/ds-reference-architectures.md +93 -0
- package/pro/squads/design/data/f2-qa-report.md +168 -0
- package/pro/squads/design/data/f3-derived-components-changelog.md +100 -0
- package/pro/squads/design/data/f3-qa-report.md +208 -0
- package/pro/squads/design/data/figma-base-components-raw.md +102 -0
- package/pro/squads/design/data/figma-tokens-raw.md +1549 -0
- package/pro/squads/design/data/fluent2-design-principles.md +114 -0
- package/pro/squads/design/data/high-retention-reading-guide.md +349 -0
- package/pro/squads/design/data/integration-patterns.md +207 -0
- package/pro/squads/design/data/internal-quality-chain.yaml +48 -0
- package/pro/squads/design/data/motion-tokens-guide.md +202 -0
- package/pro/squads/design/data/roi-calculation-guide.md +142 -0
- package/pro/squads/design/data/token-mapping-reference.md +213 -0
- package/pro/squads/design/data/w3c-dtcg-spec-reference.md +149 -0
- package/pro/squads/design/data/wcag-compliance-guide.md +267 -0
- package/pro/squads/design/docs/AUDIT_REPORT.md +97 -0
- package/pro/squads/design/docs/DS-CURATION-PIPELINE-PROPOSAL.md +577 -0
- package/pro/squads/design/docs/UPGRADE_PLAN.md +618 -0
- package/pro/squads/design/docs/brad-frost-research-validation.md +372 -0
- package/pro/squads/design/docs/dave-malouf-research-validation.md +391 -0
- package/pro/squads/design/docs/tool-discovery-report.md +87 -0
- package/pro/squads/design/docs/tool-integration-plan.md +44 -0
- package/pro/squads/design/protocols/ai-first-governance.md +56 -0
- package/pro/squads/design/protocols/governance-execution-boundary.md +59 -0
- package/pro/squads/design/protocols/handoff.md +60 -0
- package/pro/squads/design/rules/.claude-rules.md +88 -0
- package/pro/squads/design/scripts/design-system/curate_colors.cjs +447 -0
- package/pro/squads/design/scripts/design-system/curate_components.cjs +217 -0
- package/pro/squads/design/scripts/design-system/curate_radius.cjs +190 -0
- package/pro/squads/design/scripts/design-system/curate_shadows.cjs +208 -0
- package/pro/squads/design/scripts/design-system/curate_spacing.cjs +243 -0
- package/pro/squads/design/scripts/design-system/curate_typography.cjs +404 -0
- package/pro/squads/design/scripts/design-system/design-system-metadata.test.js +49 -0
- package/pro/squads/design/scripts/design-system/design_manifest_lib.cjs +142 -0
- package/pro/squads/design/scripts/design-system/fetch_page_images.cjs +195 -0
- package/pro/squads/design/scripts/design-system/generate_components_metadata.cjs +114 -0
- package/pro/squads/design/scripts/design-system/generate_curation_report.cjs +258 -0
- package/pro/squads/design/scripts/design-system/generate_tokens.cjs +342 -0
- package/pro/squads/design/scripts/design-system/sync_design_manifest.cjs +27 -0
- package/pro/squads/design/scripts/design-system/test_mcp_tools.cjs +232 -0
- package/pro/squads/design/scripts/design-system/validate_components_metadata.cjs +96 -0
- package/pro/squads/design/scripts/design-system/validate_curation.cjs +226 -0
- package/pro/squads/design/scripts/design-system/validate_design_manifest_drift.cjs +72 -0
- package/pro/squads/design/scripts/design-system/validate_mcp_skeleton.cjs +38 -0
- package/pro/squads/design/scripts/design-system/validate_registry.cjs +186 -0
- package/pro/squads/design/scripts/design-system/validate_task_checklist_bindings.cjs +78 -0
- package/pro/squads/design/scripts/dissect-artifact.cjs +806 -0
- package/pro/squads/design/scripts/validate-a11y-integration.cjs +40 -0
- package/pro/squads/design/scripts/validate-design-squad.py +411 -0
- package/pro/squads/design/squad.yaml +714 -0
- package/pro/squads/design/tasks/a11y-audit.md +340 -0
- package/pro/squads/design/tasks/aria-audit.md +525 -0
- package/pro/squads/design/tasks/atomic-refactor-execute.md +391 -0
- package/pro/squads/design/tasks/atomic-refactor-plan.md +262 -0
- package/pro/squads/design/tasks/audit-reading-experience.md +350 -0
- package/pro/squads/design/tasks/audit-tailwind-config.md +101 -0
- package/pro/squads/design/tasks/bootstrap-shadcn-library.md +96 -0
- package/pro/squads/design/tasks/bundle-audit.md +245 -0
- package/pro/squads/design/tasks/contrast-matrix.md +373 -0
- package/pro/squads/design/tasks/create-doc.md +135 -0
- package/pro/squads/design/tasks/dead-code-detection.md +329 -0
- package/pro/squads/design/tasks/design-compare.md +414 -0
- package/pro/squads/design/tasks/design-process-optimization.md +407 -0
- package/pro/squads/design/tasks/design-review-orchestration.md +99 -0
- package/pro/squads/design/tasks/design-team-scaling.md +407 -0
- package/pro/squads/design/tasks/design-tooling-audit.md +404 -0
- package/pro/squads/design/tasks/design-triage.md +89 -0
- package/pro/squads/design/tasks/designops-maturity-assessment.md +364 -0
- package/pro/squads/design/tasks/designops-metrics-setup.md +465 -0
- package/pro/squads/design/tasks/ds-agentic-audit.md +100 -0
- package/pro/squads/design/tasks/ds-agentic-setup.md +103 -0
- package/pro/squads/design/tasks/ds-audit-codebase.md +273 -0
- package/pro/squads/design/tasks/ds-build-component.md +349 -0
- package/pro/squads/design/tasks/ds-build-mcp-server.md +84 -0
- package/pro/squads/design/tasks/ds-calculate-roi.md +282 -0
- package/pro/squads/design/tasks/ds-compose-molecule.md +106 -0
- package/pro/squads/design/tasks/ds-consolidate-patterns.md +253 -0
- package/pro/squads/design/tasks/ds-context-contract.md +194 -0
- package/pro/squads/design/tasks/ds-critical-eye-compare.md +130 -0
- package/pro/squads/design/tasks/ds-critical-eye-decide.md +139 -0
- package/pro/squads/design/tasks/ds-critical-eye-inventory.md +111 -0
- package/pro/squads/design/tasks/ds-critical-eye-report.md +101 -0
- package/pro/squads/design/tasks/ds-critical-eye-score.md +109 -0
- package/pro/squads/design/tasks/ds-designops.md +99 -0
- package/pro/squads/design/tasks/ds-extend-pattern.md +91 -0
- package/pro/squads/design/tasks/ds-extract-tokens.md +312 -0
- package/pro/squads/design/tasks/ds-figma-pipeline.md +95 -0
- package/pro/squads/design/tasks/ds-fluent-audit.md +105 -0
- package/pro/squads/design/tasks/ds-fluent-build.md +110 -0
- package/pro/squads/design/tasks/ds-generate-ai-metadata.md +81 -0
- package/pro/squads/design/tasks/ds-generate-cursor-rules.md +74 -0
- package/pro/squads/design/tasks/ds-generate-documentation.md +101 -0
- package/pro/squads/design/tasks/ds-generate-migration-strategy.md +331 -0
- package/pro/squads/design/tasks/ds-generate-shock-report.md +323 -0
- package/pro/squads/design/tasks/ds-govern-a11y-compliance.md +93 -0
- package/pro/squads/design/tasks/ds-governance.md +187 -0
- package/pro/squads/design/tasks/ds-health-metrics.md +278 -0
- package/pro/squads/design/tasks/ds-integrate-squad.md +130 -0
- package/pro/squads/design/tasks/ds-integrate-workspace.md +100 -0
- package/pro/squads/design/tasks/ds-legacy-modernization.md +302 -0
- package/pro/squads/design/tasks/ds-mcp-status.md +65 -0
- package/pro/squads/design/tasks/ds-motion-audit.md +118 -0
- package/pro/squads/design/tasks/ds-multi-framework.md +96 -0
- package/pro/squads/design/tasks/ds-parallelization-gate.md +246 -0
- package/pro/squads/design/tasks/ds-query.md +90 -0
- package/pro/squads/design/tasks/ds-rebuild-artifact.md +369 -0
- package/pro/squads/design/tasks/ds-reverse-engineer.md +194 -0
- package/pro/squads/design/tasks/ds-scan-artifact.md +131 -0
- package/pro/squads/design/tasks/ds-setup-design-system.md +297 -0
- package/pro/squads/design/tasks/ds-sync-registry.md +287 -0
- package/pro/squads/design/tasks/ds-theme-multi-brand.md +90 -0
- package/pro/squads/design/tasks/ds-token-modes.md +108 -0
- package/pro/squads/design/tasks/ds-token-w3c-extract.md +105 -0
- package/pro/squads/design/tasks/ds-validate-ai-readiness.md +69 -0
- package/pro/squads/design/tasks/ds-visual-regression.md +130 -0
- package/pro/squads/design/tasks/execute-checklist.md +141 -0
- package/pro/squads/design/tasks/export-design-tokens-dtcg.md +97 -0
- package/pro/squads/design/tasks/f1-apply-foundations.md +154 -0
- package/pro/squads/design/tasks/f1-ingest-figma-tokens.md +130 -0
- package/pro/squads/design/tasks/f1-map-tokens-to-shadcn.md +145 -0
- package/pro/squads/design/tasks/f1-qa-foundations.md +95 -0
- package/pro/squads/design/tasks/f2-adapt-shadcn-components.md +155 -0
- package/pro/squads/design/tasks/f2-ingest-base-components.md +148 -0
- package/pro/squads/design/tasks/f2-qa-base-components.md +98 -0
- package/pro/squads/design/tasks/f3-derive-components.md +145 -0
- package/pro/squads/design/tasks/f3-qa-derived-components.md +101 -0
- package/pro/squads/design/tasks/focus-order-audit.md +450 -0
- package/pro/squads/design/tasks/sb-brownfield-migrate.md +367 -0
- package/pro/squads/design/tasks/sb-brownfield-scan.md +318 -0
- package/pro/squads/design/tasks/sb-configure.md +230 -0
- package/pro/squads/design/tasks/sb-expand-shadcn.md +213 -0
- package/pro/squads/design/tasks/sb-generate-all-stories.md +288 -0
- package/pro/squads/design/tasks/sb-install.md +152 -0
- package/pro/squads/design/tasks/sb-sync-workspace.md +239 -0
- package/pro/squads/design/tasks/sb-verify.md +203 -0
- package/pro/squads/design/tasks/tailwind-upgrade.md +117 -0
- package/pro/squads/design/tasks/token-usage-analytics.md +262 -0
- package/pro/squads/design/tasks/ux-rewrite-sixth-grade.md +82 -0
- package/pro/squads/design/tasks/validate-design-fidelity.md +222 -0
- package/pro/squads/design/templates/agent-template.yaml +46 -0
- package/pro/squads/design/templates/clone-mind-template.md +352 -0
- package/pro/squads/design/templates/component-prompt-injection-tmpl.md +236 -0
- package/pro/squads/design/templates/component-visual-spec-tmpl.md +378 -0
- package/pro/squads/design/templates/critical-eye-cycle-report-tmpl.md +165 -0
- package/pro/squads/design/templates/design-fidelity-report-tmpl.md +155 -0
- package/pro/squads/design/templates/ds-ai-component-metadata-schema-tmpl.json +138 -0
- package/pro/squads/design/templates/ds-artifact-analysis.md +70 -0
- package/pro/squads/design/templates/ds-health-report-tmpl.md +236 -0
- package/pro/squads/design/templates/ds-migration-strategy-tmpl.md +524 -0
- package/pro/squads/design/templates/ds-state-persistence-tmpl.yaml +194 -0
- package/pro/squads/design/templates/ds-tokens-schema-tmpl.yaml +139 -0
- package/pro/squads/design/templates/migration-strategy-tmpl.md +524 -0
- package/pro/squads/design/templates/reading-design-tokens.css +26 -0
- package/pro/squads/design/templates/state-persistence-tmpl.yaml +219 -0
- package/pro/squads/design/templates/tokens-schema-tmpl.yaml +305 -0
- package/pro/squads/design/workflows/agentic-readiness.yaml +83 -0
- package/pro/squads/design/workflows/audit-only.yaml +198 -0
- package/pro/squads/design/workflows/brownfield-complete.yaml +257 -0
- package/pro/squads/design/workflows/critical-eye.yaml +184 -0
- package/pro/squads/design/workflows/dtcg-tokens-governance.yaml +64 -0
- package/pro/squads/design/workflows/foundations-pipeline.yaml +192 -0
- package/pro/squads/design/workflows/greenfield-new.yaml +192 -0
- package/pro/squads/design/workflows/motion-quality.yaml +65 -0
- package/pro/squads/design/workflows/self-healing-workflow.yaml +237 -0
- package/pro/squads/design/workflows/storybook-brownfield-migration.yaml +400 -0
- package/pro/squads/design/workflows/storybook-full-setup.yaml +280 -0
- package/pro/squads/index.js +145 -0
- package/pro/squads/squad-creator-pro/.state.json +32 -0
- package/pro/squads/squad-creator-pro/CHANGELOG.md +275 -0
- package/pro/squads/squad-creator-pro/HEADLINE.md +3 -0
- package/pro/squads/squad-creator-pro/README.md +1059 -0
- package/pro/squads/squad-creator-pro/agents/oalanicolas.md +438 -0
- package/pro/squads/squad-creator-pro/agents/pedro-valerio.md +449 -0
- package/pro/squads/squad-creator-pro/agents/squad-chief.md +1651 -0
- package/pro/squads/squad-creator-pro/agents/thiago_finch.md +976 -0
- package/pro/squads/squad-creator-pro/assessments/axioma-assessment-wf-create-squad.yaml +325 -0
- package/pro/squads/squad-creator-pro/checklists/.gitkeep +1 -0
- package/pro/squads/squad-creator-pro/checklists/agent-depth-checklist.md +244 -0
- package/pro/squads/squad-creator-pro/checklists/agent-quality-gate.md +434 -0
- package/pro/squads/squad-creator-pro/checklists/create-agent-checklist.md +184 -0
- package/pro/squads/squad-creator-pro/checklists/create-squad-checklist.md +219 -0
- package/pro/squads/squad-creator-pro/checklists/create-workflow-checklist.md +224 -0
- package/pro/squads/squad-creator-pro/checklists/deep-research-quality.md +506 -0
- package/pro/squads/squad-creator-pro/checklists/executor-matrix-checklist.md +260 -0
- package/pro/squads/squad-creator-pro/checklists/mental-model-integration-checklist.md +95 -0
- package/pro/squads/squad-creator-pro/checklists/mind-validation.md +374 -0
- package/pro/squads/squad-creator-pro/checklists/quality-gate-checklist.md +385 -0
- package/pro/squads/squad-creator-pro/checklists/smoke-test-agent.md +313 -0
- package/pro/squads/squad-creator-pro/checklists/sop-validation.md +250 -0
- package/pro/squads/squad-creator-pro/checklists/squad-checklist.md +1014 -0
- package/pro/squads/squad-creator-pro/checklists/squad-overview-checklist.md +393 -0
- package/pro/squads/squad-creator-pro/checklists/task-anatomy-checklist.md +626 -0
- package/pro/squads/squad-creator-pro/config/.gitkeep +1 -0
- package/pro/squads/squad-creator-pro/config/axioma-validator.yaml +371 -0
- package/pro/squads/squad-creator-pro/config/heuristics.yaml +753 -0
- package/pro/squads/squad-creator-pro/config/model-routing.yaml +693 -0
- package/pro/squads/squad-creator-pro/config/quality-gates.yaml +415 -0
- package/pro/squads/squad-creator-pro/config/scoring-rubric.yaml +199 -0
- package/pro/squads/squad-creator-pro/config/squad-config.yaml +165 -0
- package/pro/squads/squad-creator-pro/config/task-anatomy.yaml +263 -0
- package/pro/squads/squad-creator-pro/config/veto-conditions.yaml +455 -0
- package/pro/squads/squad-creator-pro/config.yaml +35 -0
- package/pro/squads/squad-creator-pro/data/.gitkeep +1 -0
- package/pro/squads/squad-creator-pro/data/an-anchor-words.yaml +78 -0
- package/pro/squads/squad-creator-pro/data/an-clone-anti-patterns.yaml +148 -0
- package/pro/squads/squad-creator-pro/data/an-clone-validation.yaml +190 -0
- package/pro/squads/squad-creator-pro/data/an-diagnostic-framework.yaml +164 -0
- package/pro/squads/squad-creator-pro/data/an-output-examples.yaml +102 -0
- package/pro/squads/squad-creator-pro/data/an-source-signals.yaml +98 -0
- package/pro/squads/squad-creator-pro/data/an-source-tiers.yaml +119 -0
- package/pro/squads/squad-creator-pro/data/best-practices.md +986 -0
- package/pro/squads/squad-creator-pro/data/core-heuristics.md +510 -0
- package/pro/squads/squad-creator-pro/data/decision-heuristics-framework.md +620 -0
- package/pro/squads/squad-creator-pro/data/executor-decision-tree.md +774 -0
- package/pro/squads/squad-creator-pro/data/executor-matrix-framework.md +441 -0
- package/pro/squads/squad-creator-pro/data/fusion-decision-points-analysis.md +397 -0
- package/pro/squads/squad-creator-pro/data/fusion-executor-analysis.md +677 -0
- package/pro/squads/squad-creator-pro/data/hybridops-patterns.md +1351 -0
- package/pro/squads/squad-creator-pro/data/internal-infrastructure-library.yaml +99 -0
- package/pro/squads/squad-creator-pro/data/mental-model-task-matrix.yaml +692 -0
- package/pro/squads/squad-creator-pro/data/pipeline-patterns.md +352 -0
- package/pro/squads/squad-creator-pro/data/pm-best-practices.md +440 -0
- package/pro/squads/squad-creator-pro/data/pv-anchor-words.yaml +64 -0
- package/pro/squads/squad-creator-pro/data/pv-authenticity-markers.yaml +200 -0
- package/pro/squads/squad-creator-pro/data/pv-meta-axiomas.yaml +162 -0
- package/pro/squads/squad-creator-pro/data/pv-output-examples.yaml +342 -0
- package/pro/squads/squad-creator-pro/data/pv-workflow-validation.yaml +318 -0
- package/pro/squads/squad-creator-pro/data/quality-dimensions-framework.md +405 -0
- package/pro/squads/squad-creator-pro/data/squad-analytics-guide.md +252 -0
- package/pro/squads/squad-creator-pro/data/squad-kb.md +987 -0
- package/pro/squads/squad-creator-pro/data/squad-registry.yaml +841 -0
- package/pro/squads/squad-creator-pro/data/squad-type-definitions.yaml +578 -0
- package/pro/squads/squad-creator-pro/data/tier-system-framework.md +475 -0
- package/pro/squads/squad-creator-pro/data/tool-evaluation-framework.md +847 -0
- package/pro/squads/squad-creator-pro/data/tool-registry.yaml +700 -0
- package/pro/squads/squad-creator-pro/docs/ADR-001-model-tier-qualification.md +344 -0
- package/pro/squads/squad-creator-pro/docs/AGENT-COLLABORATION.md +609 -0
- package/pro/squads/squad-creator-pro/docs/ARCHITECTURE-DIAGRAMS.md +1466 -0
- package/pro/squads/squad-creator-pro/docs/COMMANDS.md +544 -0
- package/pro/squads/squad-creator-pro/docs/CONCEPTS.md +584 -0
- package/pro/squads/squad-creator-pro/docs/FAQ.md +731 -0
- package/pro/squads/squad-creator-pro/docs/HITL-FLOW.md +255 -0
- package/pro/squads/squad-creator-pro/docs/MIGRATION-PLAN-AGENT-CONFORMITY.md +861 -0
- package/pro/squads/squad-creator-pro/docs/MIGRATION-ROADMAP-HYBRIDOPS.md +1161 -0
- package/pro/squads/squad-creator-pro/docs/MODEL-TIER-QUALIFICATION.md +337 -0
- package/pro/squads/squad-creator-pro/docs/PATTERN-LIBRARY.md +333 -0
- package/pro/squads/squad-creator-pro/docs/PEDRO-VALERIO-ARCHITECTURE.md +456 -0
- package/pro/squads/squad-creator-pro/docs/POR-ONDE-COMECAR.md +210 -0
- package/pro/squads/squad-creator-pro/docs/QUICK-START.md +205 -0
- package/pro/squads/squad-creator-pro/docs/RFC-001-deterministic-refactoring.md +463 -0
- package/pro/squads/squad-creator-pro/docs/TOOL-RECOMMENDATIONS.md +379 -0
- package/pro/squads/squad-creator-pro/docs/TROUBLESHOOTING.md +412 -0
- package/pro/squads/squad-creator-pro/docs/TUTORIAL-COMPLETO.md +458 -0
- package/pro/squads/squad-creator-pro/docs/optimize-v4-proposal.md +354 -0
- package/pro/squads/squad-creator-pro/docs/session-report-2026-02-01.md +411 -0
- package/pro/squads/squad-creator-pro/docs/sop-extraction-process.md +674 -0
- package/pro/squads/squad-creator-pro/docs/squad-chief-agent-flow.md +981 -0
- package/pro/squads/squad-creator-pro/docs/squad-creation-pipeline-workflow.md +937 -0
- package/pro/squads/squad-creator-pro/docs/task-optimization-framework.md +229 -0
- package/pro/squads/squad-creator-pro/docs/validation-report-2026-02-01.md +439 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/artifacts/HANDOFF_PROTOCOL.md +269 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/artifacts/SOURCE_CLASSIFICATION.md +258 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_001.md +166 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_002.md +206 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_003.md +239 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_004.md +153 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_005.md +161 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_006.md +166 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_007.md +190 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_008.md +191 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_009.md +234 -0
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_010.md +240 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/artifacts/Assinatura_Linguistica.md +355 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/artifacts/META_AXIOMAS.md +277 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_BS_001.md +144 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PA_001.md +174 -0
- package/pro/squads/squad-creator-pro/minds/pedro_valerio/heuristics/PV_PM_001.md +191 -0
- package/pro/squads/squad-creator-pro/package.json +26 -0
- package/pro/squads/squad-creator-pro/protocols/ai-first-governance.md +63 -0
- package/pro/squads/squad-creator-pro/scripts/README.md +246 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/dependency_check.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/inventory.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/naming_validator.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/quality_gate.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/scoring.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/__pycache__/yaml_validator.cpython-314.pyc +0 -0
- package/pro/squads/squad-creator-pro/scripts/assess-sources.sh +443 -0
- package/pro/squads/squad-creator-pro/scripts/checklist_validator.py +451 -0
- package/pro/squads/squad-creator-pro/scripts/clone-review.sh +394 -0
- package/pro/squads/squad-creator-pro/scripts/coherence-validator.py +836 -0
- package/pro/squads/squad-creator-pro/scripts/create-agent-preflight.py +243 -0
- package/pro/squads/squad-creator-pro/scripts/cross-provider/compare-results.js +281 -0
- package/pro/squads/squad-creator-pro/scripts/cross-provider/cross-provider-runner.js +462 -0
- package/pro/squads/squad-creator-pro/scripts/dependency_check.py +333 -0
- package/pro/squads/squad-creator-pro/scripts/fidelity-score.sh +519 -0
- package/pro/squads/squad-creator-pro/scripts/generate-squad-greeting.js +426 -0
- package/pro/squads/squad-creator-pro/scripts/generate-squad-guide.js +558 -0
- package/pro/squads/squad-creator-pro/scripts/inventory.py +269 -0
- package/pro/squads/squad-creator-pro/scripts/lib/config-loader.js +151 -0
- package/pro/squads/squad-creator-pro/scripts/model-tier-validator.cjs +369 -0
- package/pro/squads/squad-creator-pro/scripts/model-usage-logger.cjs +245 -0
- package/pro/squads/squad-creator-pro/scripts/modernization-score.sh +308 -0
- package/pro/squads/squad-creator-pro/scripts/naming_validator.py +299 -0
- package/pro/squads/squad-creator-pro/scripts/on-specialist-complete.py +98 -0
- package/pro/squads/squad-creator-pro/scripts/quality_gate.py +413 -0
- package/pro/squads/squad-creator-pro/scripts/refresh-registry.py +270 -0
- package/pro/squads/squad-creator-pro/scripts/save-session-metrics.py +136 -0
- package/pro/squads/squad-creator-pro/scripts/scaffold-squad.cjs +281 -0
- package/pro/squads/squad-creator-pro/scripts/scoring.py +395 -0
- package/pro/squads/squad-creator-pro/scripts/security_scanner.py +378 -0
- package/pro/squads/squad-creator-pro/scripts/squad-analytics.py +585 -0
- package/pro/squads/squad-creator-pro/scripts/squad-context-loader.cjs +205 -0
- package/pro/squads/squad-creator-pro/scripts/squad-state-manager.cjs +451 -0
- package/pro/squads/squad-creator-pro/scripts/squad-workflow-runner.cjs +471 -0
- package/pro/squads/squad-creator-pro/scripts/squad_utils.py +261 -0
- package/pro/squads/squad-creator-pro/scripts/sync-ide-command.py +590 -0
- package/pro/squads/squad-creator-pro/scripts/tests/__init__.py +1 -0
- package/pro/squads/squad-creator-pro/scripts/tests/conftest.py +309 -0
- package/pro/squads/squad-creator-pro/scripts/tests/run_bash_tests.sh +29 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_assess_sources.sh +216 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_checklist_validator.py +396 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_clone_review.sh +239 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_coherence_validator.py +212 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_dependency_check.py +361 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_fidelity_score.sh +298 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_inventory.py +307 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_modernization_score.sh +211 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_naming_validator.py +373 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_quality_gate.py +280 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_refresh_registry.py +338 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_scoring.py +366 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_security_scanner.py +354 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_squad_analytics.py +450 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_validate_clone.sh +252 -0
- package/pro/squads/squad-creator-pro/scripts/tests/test_yaml_validator.py +412 -0
- package/pro/squads/squad-creator-pro/scripts/validate-agent-output.py +115 -0
- package/pro/squads/squad-creator-pro/scripts/validate-all.sh +49 -0
- package/pro/squads/squad-creator-pro/scripts/validate-squad-structure.py +535 -0
- package/pro/squads/squad-creator-pro/scripts/validate-squad.sh +944 -0
- package/pro/squads/squad-creator-pro/scripts/yaml_validator.py +528 -0
- package/pro/squads/squad-creator-pro/skills/squad.md +301 -0
- package/pro/squads/squad-creator-pro/squad.yaml +36 -0
- package/pro/squads/squad-creator-pro/tasks/CHANGELOG.md +80 -0
- package/pro/squads/squad-creator-pro/tasks/an-assess-sources.md +78 -0
- package/pro/squads/squad-creator-pro/tasks/an-clone-review.md +104 -0
- package/pro/squads/squad-creator-pro/tasks/an-compare-outputs.md +354 -0
- package/pro/squads/squad-creator-pro/tasks/an-design-clone.md +79 -0
- package/pro/squads/squad-creator-pro/tasks/an-diagnose-clone.md +87 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-dna.md +90 -0
- package/pro/squads/squad-creator-pro/tasks/an-extract-framework.md +100 -0
- package/pro/squads/squad-creator-pro/tasks/an-fidelity-score.md +108 -0
- package/pro/squads/squad-creator-pro/tasks/an-validate-clone.md +96 -0
- package/pro/squads/squad-creator-pro/tasks/auto-acquire-sources.md +349 -0
- package/pro/squads/squad-creator-pro/tasks/collect-sources.md +533 -0
- package/pro/squads/squad-creator-pro/tasks/create-agent.md +768 -0
- package/pro/squads/squad-creator-pro/tasks/create-documentation.md +258 -0
- package/pro/squads/squad-creator-pro/tasks/create-pipeline.md +296 -0
- package/pro/squads/squad-creator-pro/tasks/create-squad.md +933 -0
- package/pro/squads/squad-creator-pro/tasks/create-task.md +1148 -0
- package/pro/squads/squad-creator-pro/tasks/create-template.md +474 -0
- package/pro/squads/squad-creator-pro/tasks/create-workflow.md +720 -0
- package/pro/squads/squad-creator-pro/tasks/deconstruct.md +167 -0
- package/pro/squads/squad-creator-pro/tasks/deep-research-pre-agent.md +566 -0
- package/pro/squads/squad-creator-pro/tasks/detect-squad-context.md +81 -0
- package/pro/squads/squad-creator-pro/tasks/discover-tools.md +944 -0
- package/pro/squads/squad-creator-pro/tasks/extract-implicit.md +352 -0
- package/pro/squads/squad-creator-pro/tasks/extract-knowledge.md +577 -0
- package/pro/squads/squad-creator-pro/tasks/extract-sop.md +320 -0
- package/pro/squads/squad-creator-pro/tasks/extract-thinking-dna.md +653 -0
- package/pro/squads/squad-creator-pro/tasks/extract-voice-dna.md +619 -0
- package/pro/squads/squad-creator-pro/tasks/find-0.8.md +222 -0
- package/pro/squads/squad-creator-pro/tasks/install-commands.md +373 -0
- package/pro/squads/squad-creator-pro/tasks/lookup-model.md +78 -0
- package/pro/squads/squad-creator-pro/tasks/migrate-workflows-to-yaml.md +259 -0
- package/pro/squads/squad-creator-pro/tasks/next-squad.md +487 -0
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow.md +851 -0
- package/pro/squads/squad-creator-pro/tasks/optimize.md +1082 -0
- package/pro/squads/squad-creator-pro/tasks/parallel-discovery.md +58 -0
- package/pro/squads/squad-creator-pro/tasks/pv-audit.md +244 -0
- package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment-wf-clone-mind.yaml +256 -0
- package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment.md +83 -0
- package/pro/squads/squad-creator-pro/tasks/pv-modernization-score.md +83 -0
- package/pro/squads/squad-creator-pro/tasks/qa-after-creation.md +475 -0
- package/pro/squads/squad-creator-pro/tasks/qualify-task.md +265 -0
- package/pro/squads/squad-creator-pro/tasks/reexecute-squad-phase.md +64 -0
- package/pro/squads/squad-creator-pro/tasks/refresh-registry.md +403 -0
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing.md +167 -0
- package/pro/squads/squad-creator-pro/tasks/squad-analytics.md +265 -0
- package/pro/squads/squad-creator-pro/tasks/squad-fusion.md +817 -0
- package/pro/squads/squad-creator-pro/tasks/squad-overview.md +683 -0
- package/pro/squads/squad-creator-pro/tasks/sync-ide-command.md +392 -0
- package/pro/squads/squad-creator-pro/tasks/update-mind.md +428 -0
- package/pro/squads/squad-creator-pro/tasks/upgrade-squad.md +919 -0
- package/pro/squads/squad-creator-pro/tasks/validate-extraction.md +209 -0
- package/pro/squads/squad-creator-pro/tasks/validate-final-artifacts.md +80 -0
- package/pro/squads/squad-creator-pro/tasks/validate-squad.md +1385 -0
- package/pro/squads/squad-creator-pro/templates/.gitkeep +1 -0
- package/pro/squads/squad-creator-pro/templates/agent-flow-doc-tmpl.md +512 -0
- package/pro/squads/squad-creator-pro/templates/agent-tmpl.md +697 -0
- package/pro/squads/squad-creator-pro/templates/config-tmpl.yaml +352 -0
- package/pro/squads/squad-creator-pro/templates/handoff-insumos-tmpl.yaml +112 -0
- package/pro/squads/squad-creator-pro/templates/orchestrator-tmpl.md +74 -0
- package/pro/squads/squad-creator-pro/templates/pipeline-progress-tmpl.py +373 -0
- package/pro/squads/squad-creator-pro/templates/pipeline-runner-tmpl.py +444 -0
- package/pro/squads/squad-creator-pro/templates/pipeline-state-tmpl.py +413 -0
- package/pro/squads/squad-creator-pro/templates/pop-extractor-prompt.md +549 -0
- package/pro/squads/squad-creator-pro/templates/quality-dashboard-tmpl.md +286 -0
- package/pro/squads/squad-creator-pro/templates/quality-gate-tmpl.yaml +589 -0
- package/pro/squads/squad-creator-pro/templates/readme-tmpl.md +231 -0
- package/pro/squads/squad-creator-pro/templates/research-output-tmpl.md +625 -0
- package/pro/squads/squad-creator-pro/templates/research-prompt-tmpl.md +479 -0
- package/pro/squads/squad-creator-pro/templates/squad-prd-tmpl.md +464 -0
- package/pro/squads/squad-creator-pro/templates/squad-readme-tmpl.md +170 -0
- package/pro/squads/squad-creator-pro/templates/story-create-agent-tmpl.md +284 -0
- package/pro/squads/squad-creator-pro/templates/task-tmpl.md +461 -0
- package/pro/squads/squad-creator-pro/templates/template-tmpl.yaml +227 -0
- package/pro/squads/squad-creator-pro/templates/workflow-doc-tmpl.md +860 -0
- package/pro/squads/squad-creator-pro/templates/workflow-tmpl.yaml +394 -0
- package/pro/squads/squad-creator-pro/test-cases/BATCH-PROGRESS.md +268 -0
- package/pro/squads/squad-creator-pro/test-cases/QUALIFICATION-DASHBOARD.yaml +13 -0
- package/pro/squads/squad-creator-pro/test-cases/_template.yaml +147 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT-SUMMARY.md +275 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT_SUMMARY.md +140 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/CHECKPOINT_MATRIX.md +202 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION-REPORT.md +413 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION_NOTES.md +358 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README-v2.2.2.md +299 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README.md +320 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/TEST-REPORT-v2.1.md +351 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/VERIFICATION-CHECKLIST.txt +247 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/formal-qualification-report.yaml +389 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-output.yaml +366 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.1-output.yaml +452 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.1-output.yaml +281 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.2-output.yaml +332 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/opus-baseline.yaml +517 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/qualification-report.yaml +213 -0
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/test-case.yaml +69 -0
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/haiku-round-1.yaml +213 -0
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/opus-baseline.yaml +566 -0
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/qualification-report.yaml +82 -0
- package/pro/squads/squad-creator-pro/test-cases/an-design-clone/test-case.yaml +102 -0
- package/pro/squads/squad-creator-pro/test-cases/an-extract-dna/test-case.yaml +105 -0
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/haiku-round-1.yaml +262 -0
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/opus-baseline.yaml +266 -0
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/qualification-report.yaml +94 -0
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/haiku-round-1.yaml +282 -0
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/opus-baseline.yaml +470 -0
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/qualification-report.yaml +106 -0
- package/pro/squads/squad-creator-pro/test-cases/collect-sources/test-case.yaml +105 -0
- package/pro/squads/squad-creator-pro/test-cases/create-task/test-case.yaml +104 -0
- package/pro/squads/squad-creator-pro/test-cases/cross-provider/DASHBOARD.yaml +11 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-audit/test-case.yaml +106 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/haiku-output.yaml +209 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/opus-baseline.yaml +96 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/sonnet-output.yaml +30 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/test-case.yaml +129 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/comparison-round-1.yaml +242 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/haiku-round-1.yaml +393 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/opus-baseline.yaml +488 -0
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/qualification-report.yaml +74 -0
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/haiku-round-1.yaml +292 -0
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/opus-baseline.yaml +603 -0
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/qualification-report.yaml +97 -0
- package/pro/squads/squad-creator-pro/test-cases/smoke-test-model-routing/test-case.yaml +100 -0
- package/pro/squads/squad-creator-pro/test-cases/upgrade-squad/test-case.yaml +106 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/comparison-round-1.yaml +223 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1-MINE.yaml +36 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1.yaml +193 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-2.yaml +303 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-3-v4-task.yaml +149 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-baseline.yaml +529 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-round-3-v4-task.yaml +132 -0
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/qualification-report.yaml +104 -0
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output-v2-calibrated.yaml +200 -0
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output.yaml +183 -0
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/opus-baseline.yaml +112 -0
- package/pro/squads/squad-creator-pro/utils/.gitkeep +1 -0
- package/pro/squads/squad-creator-pro/workflows/.gitkeep +1 -0
- package/pro/squads/squad-creator-pro/workflows/create-squad.yaml +348 -0
- package/pro/squads/squad-creator-pro/workflows/modules/module-discovery.yaml +16 -0
- package/pro/squads/squad-creator-pro/workflows/modules/module-integration.yaml +16 -0
- package/pro/squads/squad-creator-pro/workflows/modules/module-quality-gates.yaml +15 -0
- package/pro/squads/squad-creator-pro/workflows/validate-squad.yaml +582 -0
- package/pro/squads/squad-creator-pro/workflows/wf-auto-acquire-sources.yaml +518 -0
- package/pro/squads/squad-creator-pro/workflows/wf-brownfield-upgrade-squad.yaml +46 -0
- package/pro/squads/squad-creator-pro/workflows/wf-clone-mind.yaml +521 -0
- package/pro/squads/squad-creator-pro/workflows/wf-context-aware-create-squad.yaml +47 -0
- package/pro/squads/squad-creator-pro/workflows/wf-create-squad.yaml +1619 -0
- package/pro/squads/squad-creator-pro/workflows/wf-cross-provider-qualification.yaml +711 -0
- package/pro/squads/squad-creator-pro/workflows/wf-discover-tools.yaml +1439 -0
- package/pro/squads/squad-creator-pro/workflows/wf-extraction-pipeline.yaml +486 -0
- package/pro/squads/squad-creator-pro/workflows/wf-mind-research-loop.yaml +668 -0
- package/pro/squads/squad-creator-pro/workflows/wf-model-tier-qualification.yaml +800 -0
- package/pro/squads/squad-creator-pro/workflows/wf-optimize-squad.yaml +684 -0
- package/pro/squads/squad-creator-pro/workflows/wf-research-then-create-agent.yaml +921 -0
- package/pro/squads/squad-creator-pro/workflows/wf-squad-fusion.yaml +1684 -0
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# Migrate Brownfield Components
|
|
2
|
+
|
|
3
|
+
**Task ID:** `sb-brownfield-migrate`
|
|
4
|
+
**Pattern:** HO-TP-001 (Task Anatomy Standard)
|
|
5
|
+
**Version:** 1.0.0
|
|
6
|
+
**Last Updated:** 2026-02-25
|
|
7
|
+
|
|
8
|
+
## Task Anatomy
|
|
9
|
+
|
|
10
|
+
| Field | Value |
|
|
11
|
+
|-------|-------|
|
|
12
|
+
| **task_name** | Migrate Brownfield Components |
|
|
13
|
+
| **status** | `pending` |
|
|
14
|
+
| **responsible_executor** | @storybook-expert |
|
|
15
|
+
| **execution_type** | `Agent` |
|
|
16
|
+
| **input** | Component inventory, migration plan, dependency graph, target project |
|
|
17
|
+
| **output** | Story files for all brownfield components, adaptation report |
|
|
18
|
+
| **action_items** | 8 steps |
|
|
19
|
+
| **acceptance_criteria** | 6 criteria |
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Execute the migration plan produced by `sb-brownfield-scan`. For each component in dependency order: analyze its API, adapt it for Storybook isolation (mock providers, stub data, handle side effects), and generate a `.stories.tsx` file. Handles components ranging from simple atoms to complex organisms with context dependencies.
|
|
24
|
+
|
|
25
|
+
Supports two migration modes:
|
|
26
|
+
- **Same-project:** Components stay where they are, stories are added co-located
|
|
27
|
+
- **Cross-project:** Components are copied/adapted from source to target project
|
|
28
|
+
|
|
29
|
+
## Input
|
|
30
|
+
|
|
31
|
+
- **component_inventory** (JSON)
|
|
32
|
+
- Description: Full inventory from sb-brownfield-scan
|
|
33
|
+
- Required: Yes
|
|
34
|
+
- Source: `outputs/design-system/{project}/brownfield/component-inventory.json`
|
|
35
|
+
- **migration_plan** (Markdown)
|
|
36
|
+
- Description: Phased migration plan
|
|
37
|
+
- Required: Yes
|
|
38
|
+
- Source: `outputs/design-system/{project}/brownfield/migration-plan.md`
|
|
39
|
+
- **dependency_graph** (JSON)
|
|
40
|
+
- Description: Component dependency tree
|
|
41
|
+
- Required: Yes
|
|
42
|
+
- Source: `outputs/design-system/{project}/brownfield/dependency-graph.json`
|
|
43
|
+
- **migration_mode** (enum)
|
|
44
|
+
- Description: How to handle the migration
|
|
45
|
+
- Required: No
|
|
46
|
+
- Default: `same-project`
|
|
47
|
+
- Options:
|
|
48
|
+
- `same-project` — Add stories co-located with existing components
|
|
49
|
+
- `cross-project` — Copy components to target project, then add stories
|
|
50
|
+
- **target_path** (string)
|
|
51
|
+
- Description: Where to write stories (and components in cross-project mode)
|
|
52
|
+
- Required: Only for cross-project mode
|
|
53
|
+
- Default: Same directory as component
|
|
54
|
+
- **phase_filter** (string)
|
|
55
|
+
- Description: Which phases to execute (e.g., "1", "1-3", "all")
|
|
56
|
+
- Required: No
|
|
57
|
+
- Default: `all`
|
|
58
|
+
- **category_filter** (string)
|
|
59
|
+
- Description: Which category to migrate (e.g., "ui", "agents", "all")
|
|
60
|
+
- Required: No
|
|
61
|
+
- Default: `all`
|
|
62
|
+
- **component_filter** (string)
|
|
63
|
+
- Description: Specific component name to migrate
|
|
64
|
+
- Required: No
|
|
65
|
+
|
|
66
|
+
## Output
|
|
67
|
+
|
|
68
|
+
- **story_files** (list)
|
|
69
|
+
- Description: Generated `.stories.tsx` files
|
|
70
|
+
- Destination: Co-located with components or in target_path
|
|
71
|
+
- **adaptation_report** (Markdown)
|
|
72
|
+
- Description: Report of adaptations made per component
|
|
73
|
+
- Destination: `outputs/design-system/{project}/brownfield/adaptation-report.md`
|
|
74
|
+
- **mock_files** (list)
|
|
75
|
+
- Description: Mock/stub files created for context dependencies
|
|
76
|
+
- Destination: `.storybook/mocks/` or story decorators
|
|
77
|
+
|
|
78
|
+
## Action Items
|
|
79
|
+
|
|
80
|
+
### Step 1: Load Migration Context
|
|
81
|
+
|
|
82
|
+
- [ ] Read `component_inventory.json`
|
|
83
|
+
- [ ] Read `migration_plan.md`
|
|
84
|
+
- [ ] Read `dependency_graph.json`
|
|
85
|
+
- [ ] Apply filters (phase, category, component) to determine scope
|
|
86
|
+
- [ ] Report: "Migrating {N} components in {phases} phases"
|
|
87
|
+
|
|
88
|
+
### Step 2: Prepare Storybook Environment
|
|
89
|
+
|
|
90
|
+
If target project doesn't have Storybook yet:
|
|
91
|
+
- [ ] Run `sb-install` task (or delegate to workflow)
|
|
92
|
+
- [ ] Run `sb-configure` task
|
|
93
|
+
|
|
94
|
+
If Storybook exists:
|
|
95
|
+
- [ ] Verify `.storybook/main.ts` stories glob covers component locations
|
|
96
|
+
- [ ] Update glob if needed to include brownfield component paths
|
|
97
|
+
|
|
98
|
+
### Step 3: Process Phase by Phase
|
|
99
|
+
|
|
100
|
+
For each phase in the migration plan (respecting dependency order):
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Phase 1 (atoms) → Phase 2 (molecules) → Phase 3 (organisms) → ...
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Within each phase, process components in order of "most depended-on first" to maximize unblocking.
|
|
107
|
+
|
|
108
|
+
### Step 4: Analyze Each Component
|
|
109
|
+
|
|
110
|
+
For each component, determine story strategy based on complexity:
|
|
111
|
+
|
|
112
|
+
**4a. Simple Components (atoms, complexity 1-2)**
|
|
113
|
+
Strategy: Args-driven stories, minimal setup
|
|
114
|
+
```
|
|
115
|
+
Read component → extract props → generate meta + Default + Variants + Gallery
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**4b. Composite Components (molecules, complexity 3-5)**
|
|
119
|
+
Strategy: Render function stories with composition
|
|
120
|
+
```
|
|
121
|
+
Read component → identify sub-components → compose render → add interaction stories
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**4c. Complex Components (organisms, complexity 6-8)**
|
|
125
|
+
Strategy: Render function + decorators for context
|
|
126
|
+
```
|
|
127
|
+
Read component → identify context deps → create mock providers → compose stories
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**4d. Context-Dependent Components (complexity 8+)**
|
|
131
|
+
Strategy: Full isolation with mocks and stubs
|
|
132
|
+
|
|
133
|
+
Identify and handle:
|
|
134
|
+
- **Router dependency:** Wrap with `MemoryRouter` or mock `useRouter`
|
|
135
|
+
- **Auth context:** Provide mock user object
|
|
136
|
+
- **API calls:** Mock with `msw` handlers or `fn()` stubs
|
|
137
|
+
- **Global state:** Provide mock store/context
|
|
138
|
+
- **Feature flags:** Provide default flag values
|
|
139
|
+
|
|
140
|
+
Create decorator or wrapper:
|
|
141
|
+
```typescript
|
|
142
|
+
// .storybook/decorators/with-providers.tsx
|
|
143
|
+
export const withProviders = (Story) => (
|
|
144
|
+
<MockAuthProvider user={mockUser}>
|
|
145
|
+
<MockRouterProvider>
|
|
146
|
+
<Story />
|
|
147
|
+
</MockRouterProvider>
|
|
148
|
+
</MockAuthProvider>
|
|
149
|
+
);
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Step 5: Generate Story Files
|
|
153
|
+
|
|
154
|
+
For each component, generate story following CSF3 conventions:
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
import type { Meta, StoryObj } from "{framework_adapter}";
|
|
158
|
+
import { {Component} } from "{import_path}";
|
|
159
|
+
// Additional imports for sub-components, icons, etc.
|
|
160
|
+
|
|
161
|
+
const meta = {
|
|
162
|
+
title: "{Category}/{ComponentName}",
|
|
163
|
+
component: {Component},
|
|
164
|
+
tags: ["autodocs"],
|
|
165
|
+
// parameters: { layout: "padded" } for layout components
|
|
166
|
+
// decorators: [withProviders] for context-dependent components
|
|
167
|
+
} satisfies Meta<typeof {Component}>;
|
|
168
|
+
|
|
169
|
+
export default meta;
|
|
170
|
+
type Story = StoryObj<typeof meta>;
|
|
171
|
+
|
|
172
|
+
export const Default: Story = { /* ... */ };
|
|
173
|
+
// Variant stories, gallery, interaction tests as needed
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Title hierarchy for brownfield:**
|
|
177
|
+
|
|
178
|
+
| Atomic Level | Title Pattern | Example |
|
|
179
|
+
|-------------|---------------|---------|
|
|
180
|
+
| Atom | `Base Components/{Name}` | `Base Components/GlassButton` |
|
|
181
|
+
| Molecule | `Components/{Name}` | `Components/SearchBar` |
|
|
182
|
+
| Organism | `Features/{Category}/{Name}` | `Features/Agents/AgentCard` |
|
|
183
|
+
| Template | `Templates/{Name}` | `Templates/DashboardLayout` |
|
|
184
|
+
| Page | `Pages/{Name}` | `Pages/AgentExplorer` |
|
|
185
|
+
|
|
186
|
+
### Step 6: Handle Cross-Project Migration (if applicable)
|
|
187
|
+
|
|
188
|
+
When `migration_mode=cross-project`:
|
|
189
|
+
|
|
190
|
+
**6a. Copy component file to target:**
|
|
191
|
+
```bash
|
|
192
|
+
cp {source_path}/{component}.tsx {target_path}/components/{category}/{component}.tsx
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**6b. Adapt imports:**
|
|
196
|
+
- Rewrite relative imports to match new location
|
|
197
|
+
- Replace project-specific aliases (`@/` → new project alias)
|
|
198
|
+
- Verify all dependencies exist in target project
|
|
199
|
+
- Install missing npm packages
|
|
200
|
+
|
|
201
|
+
**6c. Resolve missing dependencies:**
|
|
202
|
+
- If component imports another component not yet in target → flag as blocked
|
|
203
|
+
- If component imports a util/hook → copy that too
|
|
204
|
+
- Track all copied files in adaptation_report
|
|
205
|
+
|
|
206
|
+
### Step 7: Verify Each Phase
|
|
207
|
+
|
|
208
|
+
After completing each phase:
|
|
209
|
+
|
|
210
|
+
- [ ] `npm run typecheck` — zero errors from new story files
|
|
211
|
+
- [ ] `npm run lint` — zero errors from new story files
|
|
212
|
+
- [ ] Storybook renders new stories without crashes
|
|
213
|
+
|
|
214
|
+
If errors found:
|
|
215
|
+
- Fix in the current phase before proceeding to next
|
|
216
|
+
- Document fixes in adaptation_report
|
|
217
|
+
|
|
218
|
+
### Step 8: Generate Adaptation Report
|
|
219
|
+
|
|
220
|
+
```markdown
|
|
221
|
+
# Brownfield Migration Report
|
|
222
|
+
|
|
223
|
+
## Summary
|
|
224
|
+
- **Total components scanned:** 95
|
|
225
|
+
- **Components migrated:** 95
|
|
226
|
+
- **Stories generated:** 95
|
|
227
|
+
- **Phases completed:** 10/10
|
|
228
|
+
- **Adaptations required:** 23
|
|
229
|
+
|
|
230
|
+
## Phase Results
|
|
231
|
+
|
|
232
|
+
### Phase 1: Atoms (18 components)
|
|
233
|
+
| Component | Story | Adaptations | Status |
|
|
234
|
+
|-----------|-------|-------------|--------|
|
|
235
|
+
| GlassButton | glass-button.stories.tsx | None | OK |
|
|
236
|
+
| Badge | badge.stories.tsx | None | OK |
|
|
237
|
+
...
|
|
238
|
+
|
|
239
|
+
### Phase 3: Organisms (30 components)
|
|
240
|
+
| Component | Story | Adaptations | Status |
|
|
241
|
+
|-----------|-------|-------------|--------|
|
|
242
|
+
| AgentCard | agent-card.stories.tsx | Mock: useAgentData hook | OK |
|
|
243
|
+
| ChatContainer | chat-container.stories.tsx | Mock: WebSocket, AuthContext | OK |
|
|
244
|
+
...
|
|
245
|
+
|
|
246
|
+
## Adaptations Applied
|
|
247
|
+
1. **AgentCard** — Mocked `useAgentData` hook with static fixture data
|
|
248
|
+
2. **ChatContainer** — Created `withChatProviders` decorator for WebSocket + Auth
|
|
249
|
+
3. **KanbanBoard** — Mocked drag-and-drop context (dnd-kit)
|
|
250
|
+
...
|
|
251
|
+
|
|
252
|
+
## Mock Files Created
|
|
253
|
+
- `.storybook/mocks/auth-provider.tsx`
|
|
254
|
+
- `.storybook/mocks/router-provider.tsx`
|
|
255
|
+
- `.storybook/mocks/agent-data.ts`
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Acceptance Criteria
|
|
259
|
+
|
|
260
|
+
- [ ] **AC-1:** Every component in the migration plan has a `.stories.tsx` file
|
|
261
|
+
- [ ] **AC-2:** Stories follow CSF3 with `satisfies Meta<typeof Component>`
|
|
262
|
+
- [ ] **AC-3:** `npm run typecheck` — zero errors
|
|
263
|
+
- [ ] **AC-4:** `npm run lint` — zero errors
|
|
264
|
+
- [ ] **AC-5:** All context-dependent components have mock decorators
|
|
265
|
+
- [ ] **AC-6:** Adaptation report documents every adaptation made
|
|
266
|
+
|
|
267
|
+
## Quality Gate
|
|
268
|
+
|
|
269
|
+
```yaml
|
|
270
|
+
quality_gate:
|
|
271
|
+
id: "SB-BF-QG-001"
|
|
272
|
+
name: "Brownfield Migration Gate"
|
|
273
|
+
placement: "exit"
|
|
274
|
+
type: "hybrid"
|
|
275
|
+
severity: "blocking"
|
|
276
|
+
|
|
277
|
+
criteria:
|
|
278
|
+
- check: "coverage_ratio"
|
|
279
|
+
field: "stories_generated / components_in_plan"
|
|
280
|
+
value: 1.0
|
|
281
|
+
operator: ">="
|
|
282
|
+
weight: 40
|
|
283
|
+
- check: "typecheck"
|
|
284
|
+
field: "typecheck_exit_code"
|
|
285
|
+
value: 0
|
|
286
|
+
operator: "=="
|
|
287
|
+
weight: 25
|
|
288
|
+
- check: "lint"
|
|
289
|
+
field: "lint_exit_code"
|
|
290
|
+
value: 0
|
|
291
|
+
operator: "=="
|
|
292
|
+
weight: 25
|
|
293
|
+
- check: "adaptation_documented"
|
|
294
|
+
field: "all_adaptations_in_report"
|
|
295
|
+
value: true
|
|
296
|
+
operator: "=="
|
|
297
|
+
weight: 10
|
|
298
|
+
|
|
299
|
+
thresholds:
|
|
300
|
+
pass: 100
|
|
301
|
+
review: 80
|
|
302
|
+
fail: 79
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## Error Handling
|
|
306
|
+
|
|
307
|
+
### Component Crashes in Storybook
|
|
308
|
+
- **Trigger:** Component throws error without required context/provider
|
|
309
|
+
- **Detection:** Storybook shows error overlay
|
|
310
|
+
- **Recovery:** Identify missing context, create mock decorator, retry
|
|
311
|
+
- **Prevention:** Step 4 context analysis should catch most cases
|
|
312
|
+
|
|
313
|
+
### Import Resolution Fails (Cross-Project)
|
|
314
|
+
- **Trigger:** Copied component imports module not in target project
|
|
315
|
+
- **Detection:** TypeScript "Cannot find module" error
|
|
316
|
+
- **Recovery:** Copy missing dependency, or install npm package, or create stub
|
|
317
|
+
- **Prevention:** Step 6c dependency resolution
|
|
318
|
+
|
|
319
|
+
### Component Has Side Effects
|
|
320
|
+
- **Trigger:** Component makes API calls, mutates global state on mount
|
|
321
|
+
- **Detection:** Network errors or state warnings in Storybook console
|
|
322
|
+
- **Recovery:** Mock API calls with `msw` or `fn()`, provide inert context
|
|
323
|
+
- **Prevention:** Step 4 complexity analysis flags side effects
|
|
324
|
+
|
|
325
|
+
### Drag-and-Drop / Canvas / WebGL Components
|
|
326
|
+
- **Trigger:** Components using canvas, WebGL, or complex DOM APIs
|
|
327
|
+
- **Detection:** Blank render or "not supported" errors
|
|
328
|
+
- **Recovery:** Skip render stories, create visual-only stories with screenshots
|
|
329
|
+
- **Prevention:** Flag in inventory with `migration_notes: ["requires-canvas-mock"]`
|
|
330
|
+
|
|
331
|
+
## Dependencies
|
|
332
|
+
|
|
333
|
+
### Depends On (Upstream)
|
|
334
|
+
- `sb-brownfield-scan` - Scan Brownfield Components
|
|
335
|
+
- Required output: component_inventory, migration_plan, dependency_graph
|
|
336
|
+
|
|
337
|
+
### Required By (Downstream)
|
|
338
|
+
- `sb-verify` - Verify Storybook Setup
|
|
339
|
+
- Uses output: story_files
|
|
340
|
+
|
|
341
|
+
## Handoff
|
|
342
|
+
|
|
343
|
+
| Attribute | Value |
|
|
344
|
+
|-----------|-------|
|
|
345
|
+
| **Next Task** | `sb-verify` |
|
|
346
|
+
| **Trigger** | All phases completed, adaptation report generated |
|
|
347
|
+
| **Executor** | @storybook-expert |
|
|
348
|
+
|
|
349
|
+
### Handoff Package
|
|
350
|
+
- **story_files**: List of all generated story file paths
|
|
351
|
+
- **mock_files**: List of mock/decorator files created
|
|
352
|
+
- **adaptation_report**: Full adaptation report
|
|
353
|
+
- **coverage**: Stories generated vs total components
|
|
354
|
+
|
|
355
|
+
## Veto Conditions
|
|
356
|
+
|
|
357
|
+
- Migrating organisms before their atom/molecule dependencies have stories
|
|
358
|
+
- Skipping context analysis for components with hooks
|
|
359
|
+
- Not documenting adaptations in the report
|
|
360
|
+
- Cross-project migration without resolving all import dependencies
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
_Task Version: 1.0.0_
|
|
365
|
+
_Pattern: HO-TP-001 (Task Anatomy Standard)_
|
|
366
|
+
_Last Updated: 2026-02-25_
|
|
367
|
+
_Compliant: Yes_
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# Scan Brownfield Components
|
|
2
|
+
|
|
3
|
+
**Task ID:** `sb-brownfield-scan`
|
|
4
|
+
**Pattern:** HO-TP-001 (Task Anatomy Standard)
|
|
5
|
+
**Version:** 1.0.0
|
|
6
|
+
**Last Updated:** 2026-02-25
|
|
7
|
+
|
|
8
|
+
## Task Anatomy
|
|
9
|
+
|
|
10
|
+
| Field | Value |
|
|
11
|
+
|-------|-------|
|
|
12
|
+
| **task_name** | Scan Brownfield Components |
|
|
13
|
+
| **status** | `pending` |
|
|
14
|
+
| **responsible_executor** | @storybook-expert |
|
|
15
|
+
| **execution_type** | `Agent` |
|
|
16
|
+
| **input** | Source codebase path, file extensions, exclusion patterns |
|
|
17
|
+
| **output** | Component inventory JSON with classification and dependency map |
|
|
18
|
+
| **action_items** | 7 steps |
|
|
19
|
+
| **acceptance_criteria** | 5 criteria |
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Walk an existing (brownfield) codebase and produce a complete component inventory. For each component: identify name, location, exported API (props), dependencies, atomic classification (atom/molecule/organism/template/page), and complexity score. This inventory feeds the migration pipeline that generates Storybook stories for every component.
|
|
24
|
+
|
|
25
|
+
Works on ANY React/Next.js codebase — source and target can be the same project or different projects.
|
|
26
|
+
|
|
27
|
+
## Input
|
|
28
|
+
|
|
29
|
+
- **source_path** (string)
|
|
30
|
+
- Description: Root path to scan for components (e.g., `./aios-platform/src/components`)
|
|
31
|
+
- Required: Yes
|
|
32
|
+
- **file_extensions** (list)
|
|
33
|
+
- Description: File extensions to include
|
|
34
|
+
- Required: No
|
|
35
|
+
- Default: `["tsx", "jsx"]`
|
|
36
|
+
- **exclude_patterns** (list)
|
|
37
|
+
- Description: Glob patterns to exclude from scan
|
|
38
|
+
- Required: No
|
|
39
|
+
- Default: `["*.stories.*", "*.test.*", "*.spec.*", "**/__tests__/**", "**/node_modules/**"]`
|
|
40
|
+
- **target_storybook** (string)
|
|
41
|
+
- Description: Path to the target Storybook project (can be same project or different)
|
|
42
|
+
- Required: No
|
|
43
|
+
- Default: Same project as source
|
|
44
|
+
- **scan_mode** (enum)
|
|
45
|
+
- Description: How deep to scan
|
|
46
|
+
- Required: No
|
|
47
|
+
- Default: `full`
|
|
48
|
+
- Options: `full` (all files), `components-only` (only files in `components/` dirs), `exports-only` (only files with React component exports)
|
|
49
|
+
|
|
50
|
+
## Output
|
|
51
|
+
|
|
52
|
+
- **component_inventory** (JSON)
|
|
53
|
+
- Description: Complete inventory of all components found
|
|
54
|
+
- Destination: `outputs/design-system/{project}/brownfield/component-inventory.json`
|
|
55
|
+
- Format: See schema below
|
|
56
|
+
- **migration_plan** (Markdown)
|
|
57
|
+
- Description: Prioritized migration plan with phases
|
|
58
|
+
- Destination: `outputs/design-system/{project}/brownfield/migration-plan.md`
|
|
59
|
+
- **dependency_graph** (JSON)
|
|
60
|
+
- Description: Component dependency tree
|
|
61
|
+
- Destination: `outputs/design-system/{project}/brownfield/dependency-graph.json`
|
|
62
|
+
|
|
63
|
+
### Output Schema: component_inventory
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"scan_metadata": {
|
|
68
|
+
"source_path": "string",
|
|
69
|
+
"scan_date": "ISO-8601",
|
|
70
|
+
"total_files_scanned": "number",
|
|
71
|
+
"total_components_found": "number",
|
|
72
|
+
"scan_duration_ms": "number"
|
|
73
|
+
},
|
|
74
|
+
"components": [
|
|
75
|
+
{
|
|
76
|
+
"name": "GlassCard",
|
|
77
|
+
"file_path": "src/components/ui/glass-card.tsx",
|
|
78
|
+
"exports": ["GlassCard", "GlassCardHeader", "GlassCardContent"],
|
|
79
|
+
"props": {
|
|
80
|
+
"GlassCard": {
|
|
81
|
+
"variant": { "type": "union", "values": ["default", "elevated", "flat"] },
|
|
82
|
+
"className": { "type": "string", "optional": true }
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"atomic_level": "molecule",
|
|
86
|
+
"category": "ui",
|
|
87
|
+
"dependencies": {
|
|
88
|
+
"internal": ["Button", "Badge"],
|
|
89
|
+
"external": ["@radix-ui/react-slot", "class-variance-authority"]
|
|
90
|
+
},
|
|
91
|
+
"has_variants": true,
|
|
92
|
+
"variant_count": 3,
|
|
93
|
+
"has_story": false,
|
|
94
|
+
"complexity_score": 3,
|
|
95
|
+
"lines_of_code": 85,
|
|
96
|
+
"migration_notes": []
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"categories": {
|
|
100
|
+
"ui": { "count": 18, "components": ["GlassCard", "GlassButton", "..."] },
|
|
101
|
+
"layout": { "count": 6, "components": ["Sidebar", "Header", "..."] },
|
|
102
|
+
"agents": { "count": 8, "components": ["AgentCard", "..."] }
|
|
103
|
+
},
|
|
104
|
+
"atomic_distribution": {
|
|
105
|
+
"atom": 12,
|
|
106
|
+
"molecule": 25,
|
|
107
|
+
"organism": 30,
|
|
108
|
+
"template": 8,
|
|
109
|
+
"page": 5
|
|
110
|
+
},
|
|
111
|
+
"migration_phases": [
|
|
112
|
+
{
|
|
113
|
+
"phase": 1,
|
|
114
|
+
"name": "Atoms & Primitives",
|
|
115
|
+
"components": ["Button", "Badge", "Avatar", "Input", "Label"],
|
|
116
|
+
"priority": "critical",
|
|
117
|
+
"rationale": "Foundation — other components depend on these"
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Action Items
|
|
124
|
+
|
|
125
|
+
### Step 1: Validate Source Path
|
|
126
|
+
|
|
127
|
+
- [ ] Verify `source_path` exists and is readable
|
|
128
|
+
- [ ] Count total files matching `file_extensions`
|
|
129
|
+
- [ ] Report: "Found {N} files to scan in {path}"
|
|
130
|
+
- [ ] If 0 files found, abort with guidance on correct path
|
|
131
|
+
|
|
132
|
+
### Step 2: Scan for Component Files
|
|
133
|
+
|
|
134
|
+
Walk the directory tree and identify files that export React components:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Find all TSX/JSX files (excluding test/story files)
|
|
138
|
+
find {source_path} -type f \( -name "*.tsx" -o -name "*.jsx" \) \
|
|
139
|
+
! -name "*.stories.*" ! -name "*.test.*" ! -name "*.spec.*" \
|
|
140
|
+
! -path "*/__tests__/*" ! -path "*/node_modules/*"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
For each file, determine if it exports a React component by checking for:
|
|
144
|
+
- `export function {Name}` or `export const {Name}` with JSX return
|
|
145
|
+
- `export default function` with JSX return
|
|
146
|
+
- `React.forwardRef` usage
|
|
147
|
+
- `React.FC` or `React.ComponentType` type annotations
|
|
148
|
+
|
|
149
|
+
### Step 3: Extract Component Metadata
|
|
150
|
+
|
|
151
|
+
For each component file, extract:
|
|
152
|
+
|
|
153
|
+
**3a. Exports:**
|
|
154
|
+
- Named exports: `export { Button, ButtonProps }`
|
|
155
|
+
- Default exports: `export default Button`
|
|
156
|
+
- Sub-component exports: `DialogTrigger`, `DialogContent`, etc.
|
|
157
|
+
|
|
158
|
+
**3b. Props Interface:**
|
|
159
|
+
- TypeScript interfaces/types for props
|
|
160
|
+
- CVA variants (if using class-variance-authority)
|
|
161
|
+
- Default prop values
|
|
162
|
+
|
|
163
|
+
**3c. Dependencies:**
|
|
164
|
+
- Internal imports: other components from the same project
|
|
165
|
+
- External imports: npm packages (Radix, etc.)
|
|
166
|
+
- Context dependencies: providers, hooks that need wrapping
|
|
167
|
+
|
|
168
|
+
**3d. Complexity Indicators:**
|
|
169
|
+
- Lines of code
|
|
170
|
+
- Number of hooks used
|
|
171
|
+
- Number of internal dependencies
|
|
172
|
+
- Uses context/providers
|
|
173
|
+
- Has side effects (API calls, subscriptions)
|
|
174
|
+
- Requires global state
|
|
175
|
+
|
|
176
|
+
### Step 4: Classify by Atomic Level
|
|
177
|
+
|
|
178
|
+
Apply atomic design classification heuristics:
|
|
179
|
+
|
|
180
|
+
| Level | Heuristics | Examples |
|
|
181
|
+
|-------|-----------|----------|
|
|
182
|
+
| **Atom** | No internal component deps, single responsibility, <80 LOC, 0-2 props | Button, Badge, Avatar, Input, Label, Separator, Skeleton |
|
|
183
|
+
| **Molecule** | Uses 2-3 atoms, single purpose, <150 LOC | InputWithLabel, CardHeader, NavItem, SearchBar |
|
|
184
|
+
| **Organism** | Uses multiple molecules/atoms, section-level, distinct business function | AgentCard, KanbanColumn, ChatContainer, Sidebar |
|
|
185
|
+
| **Template** | Layout skeleton, defines content areas, no business logic | AppLayout, DashboardLayout, AuthLayout |
|
|
186
|
+
| **Page** | Full page, connects to data, has routing context | AgentExplorer, KanbanBoard, DashboardPage |
|
|
187
|
+
|
|
188
|
+
**Classification Algorithm:**
|
|
189
|
+
```
|
|
190
|
+
IF internal_deps == 0 AND loc < 80 → atom
|
|
191
|
+
ELIF internal_deps <= 3 AND loc < 150 → molecule
|
|
192
|
+
ELIF internal_deps <= 8 AND has_business_logic → organism
|
|
193
|
+
ELIF is_layout AND defines_content_areas → template
|
|
194
|
+
ELIF connects_to_data OR has_routing → page
|
|
195
|
+
ELSE → organism (default)
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Step 5: Detect Existing Stories
|
|
199
|
+
|
|
200
|
+
Check if each component already has a `.stories.tsx` file:
|
|
201
|
+
- Co-located: `{component}.stories.tsx` next to component
|
|
202
|
+
- Separate dir: `stories/{component}.stories.tsx`
|
|
203
|
+
- Legacy: `__stories__/{component}.stories.tsx`
|
|
204
|
+
|
|
205
|
+
Mark `has_story: true/false` in inventory.
|
|
206
|
+
|
|
207
|
+
### Step 6: Build Dependency Graph
|
|
208
|
+
|
|
209
|
+
Map which components depend on which:
|
|
210
|
+
|
|
211
|
+
```json
|
|
212
|
+
{
|
|
213
|
+
"AgentCard": {
|
|
214
|
+
"depends_on": ["Badge", "Avatar", "Button"],
|
|
215
|
+
"depended_by": ["AgentList", "AgentExplorer"]
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
This determines migration order: atoms first (no deps), then molecules (depend on atoms), then organisms, etc.
|
|
221
|
+
|
|
222
|
+
### Step 7: Generate Migration Plan
|
|
223
|
+
|
|
224
|
+
Based on inventory + dependency graph, produce phased migration plan:
|
|
225
|
+
|
|
226
|
+
**Phase ordering rules:**
|
|
227
|
+
1. Components with 0 internal deps first (atoms)
|
|
228
|
+
2. Components whose ALL deps are already migrated (molecules)
|
|
229
|
+
3. Continue up the dependency tree (organisms → templates → pages)
|
|
230
|
+
4. Within each phase, sort by: most depended-on first (maximize unblocking)
|
|
231
|
+
|
|
232
|
+
**Categories:** Group components by domain (ui, layout, agents, chat, kanban, etc.) based on directory structure or naming patterns.
|
|
233
|
+
|
|
234
|
+
**Output format:**
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
# Brownfield Migration Plan
|
|
238
|
+
|
|
239
|
+
## Phase 1: Atoms & Primitives (18 components)
|
|
240
|
+
Priority: CRITICAL — foundation for all other components
|
|
241
|
+
|
|
242
|
+
| Component | File | Deps | Depended By | Complexity |
|
|
243
|
+
|-----------|------|------|-------------|------------|
|
|
244
|
+
| Button | src/ui/button.tsx | 0 | 42 | 2 |
|
|
245
|
+
| Badge | src/ui/badge.tsx | 0 | 15 | 1 |
|
|
246
|
+
...
|
|
247
|
+
|
|
248
|
+
## Phase 2: Molecules (25 components)
|
|
249
|
+
Priority: HIGH — compose atoms into reusable patterns
|
|
250
|
+
...
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Acceptance Criteria
|
|
254
|
+
|
|
255
|
+
- [ ] **AC-1:** `component-inventory.json` contains ALL component files in scan path
|
|
256
|
+
- [ ] **AC-2:** Each component has atomic_level classification
|
|
257
|
+
- [ ] **AC-3:** Each component has dependency map (internal + external)
|
|
258
|
+
- [ ] **AC-4:** `migration-plan.md` has phased plan ordered by dependency tree
|
|
259
|
+
- [ ] **AC-5:** `dependency-graph.json` is complete and acyclic
|
|
260
|
+
|
|
261
|
+
## Error Handling
|
|
262
|
+
|
|
263
|
+
### Circular Dependencies
|
|
264
|
+
- **Trigger:** Component A imports B, B imports A
|
|
265
|
+
- **Detection:** Graph cycle detection during Step 6
|
|
266
|
+
- **Recovery:** Flag circular pair, classify both at same phase level, note in migration_notes
|
|
267
|
+
- **Prevention:** Common in brownfield — expected, not a blocker
|
|
268
|
+
|
|
269
|
+
### Non-Component Files in Scan
|
|
270
|
+
- **Trigger:** File exports hooks, utils, types but no React component
|
|
271
|
+
- **Detection:** Step 2 JSX/component detection
|
|
272
|
+
- **Recovery:** Skip file, do not include in component inventory
|
|
273
|
+
- **Prevention:** Filter by component export patterns
|
|
274
|
+
|
|
275
|
+
### Very Large Codebases (500+ files)
|
|
276
|
+
- **Trigger:** Scan takes too long or produces unwieldy output
|
|
277
|
+
- **Detection:** File count > 500 in Step 1
|
|
278
|
+
- **Recovery:** Use `scan_mode=components-only` to focus on component directories
|
|
279
|
+
- **Prevention:** Ask user to narrow `source_path` to component directories
|
|
280
|
+
|
|
281
|
+
## Dependencies
|
|
282
|
+
|
|
283
|
+
### Depends On (Upstream)
|
|
284
|
+
- None (entry point task)
|
|
285
|
+
|
|
286
|
+
### Required By (Downstream)
|
|
287
|
+
- `sb-brownfield-migrate` - Migrate Brownfield Components
|
|
288
|
+
- Uses output: component_inventory, migration_plan, dependency_graph
|
|
289
|
+
|
|
290
|
+
## Handoff
|
|
291
|
+
|
|
292
|
+
| Attribute | Value |
|
|
293
|
+
|-----------|-------|
|
|
294
|
+
| **Next Task** | `sb-brownfield-migrate` |
|
|
295
|
+
| **Trigger** | Inventory and migration plan generated |
|
|
296
|
+
| **Executor** | @storybook-expert |
|
|
297
|
+
|
|
298
|
+
### Handoff Package
|
|
299
|
+
- **component_inventory**: Full JSON inventory
|
|
300
|
+
- **migration_plan**: Phased markdown plan
|
|
301
|
+
- **dependency_graph**: Component dependency tree
|
|
302
|
+
- **total_components**: Count of components found
|
|
303
|
+
- **total_with_stories**: Count that already have stories
|
|
304
|
+
- **migration_gap**: Components needing stories
|
|
305
|
+
|
|
306
|
+
## Veto Conditions
|
|
307
|
+
|
|
308
|
+
- Classifying ALL components as "organism" without heuristic analysis
|
|
309
|
+
- Ignoring dependency order in migration plan (atoms MUST come first)
|
|
310
|
+
- Skipping components because they "look complex"
|
|
311
|
+
- Generating migration plan without dependency graph
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
_Task Version: 1.0.0_
|
|
316
|
+
_Pattern: HO-TP-001 (Task Anatomy Standard)_
|
|
317
|
+
_Last Updated: 2026-02-25_
|
|
318
|
+
_Compliant: Yes_
|