aiox-core 5.0.3 → 5.0.4
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/core/execution/predictive-pipeline.js +1283 -0
- package/.aiox-core/core/memory/decision-memory.js +564 -0
- package/.aiox-core/data/entity-registry.yaml +1068 -1028
- package/.aiox-core/data/registry-update-log.jsonl +2 -2
- package/.aiox-core/development/templates/service-template/README.md.hbs +158 -158
- package/.aiox-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
- package/.aiox-core/development/templates/service-template/client.ts.hbs +403 -403
- package/.aiox-core/development/templates/service-template/errors.ts.hbs +182 -182
- package/.aiox-core/development/templates/service-template/index.ts.hbs +120 -120
- package/.aiox-core/development/templates/service-template/package.json.hbs +87 -87
- package/.aiox-core/development/templates/service-template/types.ts.hbs +145 -145
- package/.aiox-core/development/templates/squad-template/LICENSE +21 -21
- package/.aiox-core/infrastructure/templates/aiox-sync.yaml.template +182 -182
- package/.aiox-core/infrastructure/templates/coderabbit.yaml.template +279 -279
- package/.aiox-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
- package/.aiox-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
- package/.aiox-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-aiox-base.tmpl +63 -63
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
- package/.aiox-core/install-manifest.yaml +63 -55
- package/.aiox-core/local-config.yaml.template +71 -71
- package/.aiox-core/monitor/hooks/lib/__init__.py +1 -1
- package/.aiox-core/monitor/hooks/lib/enrich.py +58 -58
- package/.aiox-core/monitor/hooks/lib/send_event.py +47 -47
- package/.aiox-core/monitor/hooks/notification.py +29 -29
- package/.aiox-core/monitor/hooks/post_tool_use.py +45 -45
- package/.aiox-core/monitor/hooks/pre_compact.py +29 -29
- package/.aiox-core/monitor/hooks/pre_tool_use.py +40 -40
- package/.aiox-core/monitor/hooks/stop.py +29 -29
- package/.aiox-core/monitor/hooks/subagent_stop.py +29 -29
- package/.aiox-core/monitor/hooks/user_prompt_submit.py +38 -38
- package/.aiox-core/product/templates/adr.hbs +125 -125
- package/.aiox-core/product/templates/dbdr.hbs +241 -241
- package/.aiox-core/product/templates/epic.hbs +212 -212
- package/.aiox-core/product/templates/pmdr.hbs +186 -186
- package/.aiox-core/product/templates/prd-v2.0.hbs +216 -216
- package/.aiox-core/product/templates/prd.hbs +201 -201
- package/.aiox-core/product/templates/story.hbs +263 -263
- package/.aiox-core/product/templates/task.hbs +170 -170
- package/.aiox-core/product/templates/tmpl-comment-on-examples.sql +158 -158
- package/.aiox-core/product/templates/tmpl-migration-script.sql +91 -91
- package/.aiox-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
- package/.aiox-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
- package/.aiox-core/product/templates/tmpl-rls-roles.sql +135 -135
- package/.aiox-core/product/templates/tmpl-rls-simple.sql +77 -77
- package/.aiox-core/product/templates/tmpl-rls-tenant.sql +152 -152
- package/.aiox-core/product/templates/tmpl-rollback-script.sql +77 -77
- package/.aiox-core/product/templates/tmpl-seed-data.sql +140 -140
- package/.aiox-core/product/templates/tmpl-smoke-test.sql +16 -16
- package/.aiox-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
- package/.aiox-core/product/templates/tmpl-stored-proc.sql +140 -140
- package/.aiox-core/product/templates/tmpl-trigger.sql +152 -152
- package/.aiox-core/product/templates/tmpl-view-materialized.sql +133 -133
- package/.aiox-core/product/templates/tmpl-view.sql +177 -177
- package/.aiox-core/scripts/pm.sh +0 -0
- package/.claude/hooks/enforce-architecture-first.py +196 -196
- package/.claude/hooks/mind-clone-governance.py +192 -192
- package/.claude/hooks/read-protection.py +151 -151
- package/.claude/hooks/slug-validation.py +176 -176
- package/.claude/hooks/sql-governance.py +182 -182
- package/.claude/hooks/write-path-validation.py +194 -194
- package/LICENSE +33 -33
- package/bin/aiox-graph.js +0 -0
- package/bin/aiox-minimal.js +0 -0
- package/bin/aiox.js +0 -0
- package/package.json +1 -1
- package/packages/aiox-install/bin/aiox-install.js +0 -0
- package/packages/aiox-install/bin/edmcp.js +0 -0
- package/packages/aiox-pro-cli/bin/aiox-pro.js +0 -0
- package/packages/installer/src/wizard/pro-setup.js +28 -0
- package/pro/README.md +66 -66
- package/pro/feature-registry.yaml +225 -223
- package/pro/license/license-api.js +701 -679
- package/pro/package.json +39 -39
- package/pro/pro-config.yaml +63 -63
- package/pro/squads/README.md +24 -24
- package/pro/squads/design/HEADLINE.md +3 -3
- package/pro/squads/design/README.md +109 -109
- package/pro/squads/design/agents/brad-frost.md +1097 -1097
- package/pro/squads/design/agents/dan-mall.md +857 -857
- package/pro/squads/design/agents/dave-malouf.md +2272 -2272
- package/pro/squads/design/agents/design-chief.md +114 -114
- package/pro/squads/design/agents/ds-foundations-lead.md +194 -194
- package/pro/squads/design/agents/ds-token-architect.md +361 -361
- package/pro/squads/design/agents/nano-banana-generator.md +162 -162
- package/pro/squads/design/agents/storybook-expert.md +809 -809
- package/pro/squads/design/checklists/atomic-refactor-checklist.md +299 -299
- package/pro/squads/design/checklists/component-adaptation-checklist.md +81 -81
- package/pro/squads/design/checklists/design-fidelity-checklist.md +283 -283
- package/pro/squads/design/checklists/design-handoff-checklist.md +55 -55
- package/pro/squads/design/checklists/design-team-health-checklist.md +454 -454
- package/pro/squads/design/checklists/designops-maturity-checklist.md +518 -518
- package/pro/squads/design/checklists/ds-a11y-release-gate-checklist.md +45 -45
- package/pro/squads/design/checklists/ds-accessibility-wcag-checklist.md +147 -147
- package/pro/squads/design/checklists/ds-component-quality-checklist.md +150 -150
- package/pro/squads/design/checklists/ds-critical-eye-review-checklist.md +147 -147
- package/pro/squads/design/checklists/ds-migration-readiness-checklist.md +99 -99
- package/pro/squads/design/checklists/ds-pattern-audit-checklist.md +164 -164
- package/pro/squads/design/checklists/reading-accessibility-checklist.md +275 -275
- package/pro/squads/design/checklists/token-mapping-checklist.md +107 -107
- package/pro/squads/design/config/coding-standards.md +286 -286
- package/pro/squads/design/config/source-tree.md +59 -59
- package/pro/squads/design/config/tech-stack.md +48 -48
- package/pro/squads/design/config.yaml +204 -204
- package/pro/squads/design/data/agentic-design-systems-guide.md +46 -46
- package/pro/squads/design/data/agentic-ds-principles.md +100 -100
- package/pro/squads/design/data/atomic-design-principles.md +108 -108
- package/pro/squads/design/data/atomic-refactor-rules.md +582 -582
- package/pro/squads/design/data/base-component-specs.md +972 -972
- package/pro/squads/design/data/brad-frost-analysis-extract-implicit.yaml +270 -270
- package/pro/squads/design/data/brad-frost-analysis-find-0.8.yaml +176 -176
- package/pro/squads/design/data/brad-frost-analysis-qa-report.yaml +168 -168
- package/pro/squads/design/data/brad-frost-dna.yaml +713 -713
- package/pro/squads/design/data/capability-tools.yaml +124 -124
- package/pro/squads/design/data/component-adaptation-changelog.md +318 -318
- package/pro/squads/design/data/consolidation-algorithms.md +168 -168
- package/pro/squads/design/data/critical-eye-scoring-rules.yaml +240 -240
- package/pro/squads/design/data/design-token-best-practices.md +107 -107
- package/pro/squads/design/data/design-tokens-spec.yaml +418 -418
- package/pro/squads/design/data/ds-reference-architectures.md +93 -93
- package/pro/squads/design/data/f2-qa-report.md +168 -168
- package/pro/squads/design/data/f3-derived-components-changelog.md +100 -100
- package/pro/squads/design/data/f3-qa-report.md +208 -208
- package/pro/squads/design/data/figma-base-components-raw.md +101 -101
- package/pro/squads/design/data/figma-tokens-raw.md +1548 -1548
- package/pro/squads/design/data/fluent2-design-principles.md +114 -114
- package/pro/squads/design/data/high-retention-reading-guide.md +349 -349
- package/pro/squads/design/data/integration-patterns.md +207 -207
- package/pro/squads/design/data/internal-quality-chain.yaml +48 -48
- package/pro/squads/design/data/motion-tokens-guide.md +202 -202
- package/pro/squads/design/data/roi-calculation-guide.md +142 -142
- package/pro/squads/design/data/token-mapping-reference.md +213 -213
- package/pro/squads/design/data/w3c-dtcg-spec-reference.md +149 -149
- package/pro/squads/design/data/wcag-compliance-guide.md +267 -267
- package/pro/squads/design/docs/AUDIT_REPORT.md +97 -97
- package/pro/squads/design/docs/DS-CURATION-PIPELINE-PROPOSAL.md +577 -577
- package/pro/squads/design/docs/UPGRADE_PLAN.md +618 -618
- package/pro/squads/design/docs/brad-frost-research-validation.md +372 -372
- package/pro/squads/design/docs/dave-malouf-research-validation.md +391 -391
- package/pro/squads/design/docs/tool-discovery-report.md +87 -87
- package/pro/squads/design/docs/tool-integration-plan.md +44 -44
- package/pro/squads/design/protocols/ai-first-governance.md +56 -56
- package/pro/squads/design/protocols/governance-execution-boundary.md +59 -59
- package/pro/squads/design/protocols/handoff.md +60 -60
- package/pro/squads/design/rules/.claude-rules.md +88 -88
- package/pro/squads/design/scripts/design-system/curate_colors.cjs +447 -447
- package/pro/squads/design/scripts/design-system/curate_components.cjs +217 -217
- package/pro/squads/design/scripts/design-system/curate_radius.cjs +190 -190
- package/pro/squads/design/scripts/design-system/curate_shadows.cjs +208 -208
- package/pro/squads/design/scripts/design-system/curate_spacing.cjs +243 -243
- package/pro/squads/design/scripts/design-system/curate_typography.cjs +404 -404
- package/pro/squads/design/scripts/design-system/design-system-metadata.test.js +49 -49
- package/pro/squads/design/scripts/design-system/design_manifest_lib.cjs +142 -142
- package/pro/squads/design/scripts/design-system/fetch_page_images.cjs +195 -195
- package/pro/squads/design/scripts/design-system/generate_components_metadata.cjs +114 -114
- package/pro/squads/design/scripts/design-system/generate_curation_report.cjs +258 -258
- package/pro/squads/design/scripts/design-system/generate_tokens.cjs +342 -342
- package/pro/squads/design/scripts/design-system/sync_design_manifest.cjs +27 -27
- package/pro/squads/design/scripts/design-system/test_mcp_tools.cjs +232 -232
- package/pro/squads/design/scripts/design-system/validate_components_metadata.cjs +96 -96
- package/pro/squads/design/scripts/design-system/validate_curation.cjs +226 -226
- package/pro/squads/design/scripts/design-system/validate_design_manifest_drift.cjs +72 -72
- package/pro/squads/design/scripts/design-system/validate_mcp_skeleton.cjs +38 -38
- package/pro/squads/design/scripts/design-system/validate_registry.cjs +186 -186
- package/pro/squads/design/scripts/design-system/validate_task_checklist_bindings.cjs +78 -78
- package/pro/squads/design/scripts/dissect-artifact.cjs +806 -806
- package/pro/squads/design/scripts/validate-a11y-integration.cjs +40 -40
- package/pro/squads/design/scripts/validate-design-squad.py +411 -411
- package/pro/squads/design/squad.yaml +714 -714
- package/pro/squads/design/tasks/a11y-audit.md +340 -340
- package/pro/squads/design/tasks/aria-audit.md +525 -525
- package/pro/squads/design/tasks/atomic-refactor-execute.md +391 -391
- package/pro/squads/design/tasks/atomic-refactor-plan.md +262 -262
- package/pro/squads/design/tasks/audit-reading-experience.md +350 -350
- package/pro/squads/design/tasks/audit-tailwind-config.md +101 -101
- package/pro/squads/design/tasks/bootstrap-shadcn-library.md +96 -96
- package/pro/squads/design/tasks/bundle-audit.md +245 -245
- package/pro/squads/design/tasks/contrast-matrix.md +373 -373
- package/pro/squads/design/tasks/create-doc.md +135 -135
- package/pro/squads/design/tasks/dead-code-detection.md +329 -329
- package/pro/squads/design/tasks/design-compare.md +414 -414
- package/pro/squads/design/tasks/design-process-optimization.md +407 -407
- package/pro/squads/design/tasks/design-review-orchestration.md +99 -99
- package/pro/squads/design/tasks/design-team-scaling.md +407 -407
- package/pro/squads/design/tasks/design-tooling-audit.md +404 -404
- package/pro/squads/design/tasks/design-triage.md +89 -89
- package/pro/squads/design/tasks/designops-maturity-assessment.md +364 -364
- package/pro/squads/design/tasks/designops-metrics-setup.md +465 -465
- package/pro/squads/design/tasks/ds-agentic-audit.md +100 -100
- package/pro/squads/design/tasks/ds-agentic-setup.md +103 -103
- package/pro/squads/design/tasks/ds-audit-codebase.md +273 -273
- package/pro/squads/design/tasks/ds-build-component.md +349 -349
- package/pro/squads/design/tasks/ds-build-mcp-server.md +84 -84
- package/pro/squads/design/tasks/ds-calculate-roi.md +282 -282
- package/pro/squads/design/tasks/ds-compose-molecule.md +106 -106
- package/pro/squads/design/tasks/ds-consolidate-patterns.md +253 -253
- package/pro/squads/design/tasks/ds-context-contract.md +194 -194
- package/pro/squads/design/tasks/ds-critical-eye-compare.md +130 -130
- package/pro/squads/design/tasks/ds-critical-eye-decide.md +139 -139
- package/pro/squads/design/tasks/ds-critical-eye-inventory.md +111 -111
- package/pro/squads/design/tasks/ds-critical-eye-report.md +101 -101
- package/pro/squads/design/tasks/ds-critical-eye-score.md +109 -109
- package/pro/squads/design/tasks/ds-designops.md +99 -99
- package/pro/squads/design/tasks/ds-extend-pattern.md +91 -91
- package/pro/squads/design/tasks/ds-extract-tokens.md +312 -312
- package/pro/squads/design/tasks/ds-figma-pipeline.md +95 -95
- package/pro/squads/design/tasks/ds-fluent-audit.md +105 -105
- package/pro/squads/design/tasks/ds-fluent-build.md +110 -110
- package/pro/squads/design/tasks/ds-generate-ai-metadata.md +81 -81
- package/pro/squads/design/tasks/ds-generate-cursor-rules.md +74 -74
- package/pro/squads/design/tasks/ds-generate-documentation.md +101 -101
- package/pro/squads/design/tasks/ds-generate-migration-strategy.md +331 -331
- package/pro/squads/design/tasks/ds-generate-shock-report.md +323 -323
- package/pro/squads/design/tasks/ds-govern-a11y-compliance.md +93 -93
- package/pro/squads/design/tasks/ds-governance.md +187 -187
- package/pro/squads/design/tasks/ds-health-metrics.md +278 -278
- package/pro/squads/design/tasks/ds-integrate-squad.md +130 -130
- package/pro/squads/design/tasks/ds-integrate-workspace.md +100 -100
- package/pro/squads/design/tasks/ds-legacy-modernization.md +302 -302
- package/pro/squads/design/tasks/ds-mcp-status.md +65 -65
- package/pro/squads/design/tasks/ds-motion-audit.md +118 -118
- package/pro/squads/design/tasks/ds-multi-framework.md +96 -96
- package/pro/squads/design/tasks/ds-parallelization-gate.md +246 -246
- package/pro/squads/design/tasks/ds-query.md +90 -90
- package/pro/squads/design/tasks/ds-rebuild-artifact.md +369 -369
- package/pro/squads/design/tasks/ds-reverse-engineer.md +194 -194
- package/pro/squads/design/tasks/ds-scan-artifact.md +131 -131
- package/pro/squads/design/tasks/ds-setup-design-system.md +297 -297
- package/pro/squads/design/tasks/ds-sync-registry.md +287 -287
- package/pro/squads/design/tasks/ds-theme-multi-brand.md +90 -90
- package/pro/squads/design/tasks/ds-token-modes.md +108 -108
- package/pro/squads/design/tasks/ds-token-w3c-extract.md +105 -105
- package/pro/squads/design/tasks/ds-validate-ai-readiness.md +69 -69
- package/pro/squads/design/tasks/ds-visual-regression.md +130 -130
- package/pro/squads/design/tasks/execute-checklist.md +141 -141
- package/pro/squads/design/tasks/export-design-tokens-dtcg.md +97 -97
- package/pro/squads/design/tasks/f1-apply-foundations.md +154 -154
- package/pro/squads/design/tasks/f1-ingest-figma-tokens.md +130 -130
- package/pro/squads/design/tasks/f1-map-tokens-to-shadcn.md +145 -145
- package/pro/squads/design/tasks/f1-qa-foundations.md +95 -95
- package/pro/squads/design/tasks/f2-adapt-shadcn-components.md +155 -155
- package/pro/squads/design/tasks/f2-ingest-base-components.md +148 -148
- package/pro/squads/design/tasks/f2-qa-base-components.md +98 -98
- package/pro/squads/design/tasks/f3-derive-components.md +145 -145
- package/pro/squads/design/tasks/f3-qa-derived-components.md +101 -101
- package/pro/squads/design/tasks/focus-order-audit.md +450 -450
- package/pro/squads/design/tasks/sb-brownfield-migrate.md +367 -367
- package/pro/squads/design/tasks/sb-brownfield-scan.md +318 -318
- package/pro/squads/design/tasks/sb-configure.md +230 -230
- package/pro/squads/design/tasks/sb-expand-shadcn.md +213 -213
- package/pro/squads/design/tasks/sb-generate-all-stories.md +288 -288
- package/pro/squads/design/tasks/sb-install.md +152 -152
- package/pro/squads/design/tasks/sb-sync-workspace.md +239 -239
- package/pro/squads/design/tasks/sb-verify.md +203 -203
- package/pro/squads/design/tasks/tailwind-upgrade.md +117 -117
- package/pro/squads/design/tasks/token-usage-analytics.md +262 -262
- package/pro/squads/design/tasks/ux-rewrite-sixth-grade.md +82 -82
- package/pro/squads/design/tasks/validate-design-fidelity.md +222 -222
- package/pro/squads/design/templates/agent-template.yaml +46 -46
- package/pro/squads/design/templates/clone-mind-template.md +352 -352
- package/pro/squads/design/templates/component-prompt-injection-tmpl.md +236 -236
- package/pro/squads/design/templates/component-visual-spec-tmpl.md +378 -378
- package/pro/squads/design/templates/critical-eye-cycle-report-tmpl.md +165 -165
- package/pro/squads/design/templates/design-fidelity-report-tmpl.md +155 -155
- package/pro/squads/design/templates/ds-ai-component-metadata-schema-tmpl.json +138 -138
- package/pro/squads/design/templates/ds-artifact-analysis.md +70 -70
- package/pro/squads/design/templates/ds-health-report-tmpl.md +236 -236
- package/pro/squads/design/templates/ds-migration-strategy-tmpl.md +524 -524
- package/pro/squads/design/templates/ds-state-persistence-tmpl.yaml +194 -194
- package/pro/squads/design/templates/ds-tokens-schema-tmpl.yaml +139 -139
- package/pro/squads/design/templates/migration-strategy-tmpl.md +524 -524
- package/pro/squads/design/templates/reading-design-tokens.css +26 -26
- package/pro/squads/design/templates/state-persistence-tmpl.yaml +219 -219
- package/pro/squads/design/templates/tokens-schema-tmpl.yaml +305 -305
- package/pro/squads/design/workflows/agentic-readiness.yaml +83 -83
- package/pro/squads/design/workflows/audit-only.yaml +198 -198
- package/pro/squads/design/workflows/brownfield-complete.yaml +257 -257
- package/pro/squads/design/workflows/critical-eye.yaml +184 -184
- package/pro/squads/design/workflows/dtcg-tokens-governance.yaml +64 -64
- package/pro/squads/design/workflows/foundations-pipeline.yaml +192 -192
- package/pro/squads/design/workflows/greenfield-new.yaml +192 -192
- package/pro/squads/design/workflows/motion-quality.yaml +65 -65
- package/pro/squads/design/workflows/self-healing-workflow.yaml +237 -237
- package/pro/squads/design/workflows/storybook-brownfield-migration.yaml +400 -400
- package/pro/squads/design/workflows/storybook-full-setup.yaml +280 -280
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/ARQUITETURA_COGNITIVA_DE_ALEX_HORMOZI_EXTRA/303/207/303/203O_COMPLETA.md +215 -0
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/A_Rotina_de_Alta_Performance_de_Alex_Hormozi_Arquitetura,_Motiva/303/247/303/265es_e_Replica/303/247/303/243o.md +309 -0
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/O_sistema_completo_de_cria/303/247/303/243o_de_conte/303/272do_de_Alex_Hormozi.md +416 -0
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/Processo_Cria/303/247/303/243o_Conte/303/272do_Hormozi.md +0 -0
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +1038 -0
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +797 -0
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +447 -0
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +190 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +1038 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +797 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +447 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +190 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_ELON_MUSK.md +291 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/ASSINATURA_LINGU/303/215STICA_ELON_MUSK.md +485 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/A_Arquitetura_Mental_de_Elon_Musk_Uma_An/303/241lise_Sistem/303/241tica_dos_Frameworks_de_Pensamento.md +907 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Dossi/303/252_Estrat/303/251gico_A_Arquitetura_Psicol/303/263gica_de_Elon_Musk.md +252 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Os_Padr/303/265es_de_Leitura_de_Elon_Musk_e_Sua_Influ/303/252ncia_Sistem/303/241tica.md +287 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Uma_an/303/241lise_psicol/303/263gica_abrangente.md +187 -0
- package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_EUGENE_M._SCHWARTZ.md +790 -0
- package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/An/303/241lise_Completa_Eugene_Schwartz_Arquitetura_Cognitiva_DEEP.md +210 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/5H_EXTRA/303/207/303/203O_COGNITIVA_COMPLETA_PEDRO_VAL/303/211RIO_LOPEZ.md +226 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_COMPARATIVA_REVISADA_PEDRO_VAL/303/211RIO_LOPEZ.md +246 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_LINGU/303/215STICA_CARIOCA_PEDRO_VAL/303/211RIO_LOPEZ.md +274 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_PSICOM/303/211TRICA_DEFINITIVA_PEDRO_VAL/303/211RIO_LOPEZ.md +821 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_PEDRO_VAL/303/211RIO.md +1844 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/C/303/201LCULO_DE_RARIDADE_ESTAT/303/215STICA_PEDRO_VAL/303/211RIO_LOPEZ.md +154 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/EXTRA/303/207/303/203O_PEDRO_VAL/303/211RIO.md +237 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/MAPEAMENTO_LINGU/303/215STICO_PROFUNDO.md +161 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/META_AXIOMAS_DE_PEDRO_VAL/303/211RIO.md +256 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/SISTEMA_IMUNOL/303/223GICO_COGNITIVO_PEDRO_VAL/303/211RIO_LOPEZ.md +586 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/SISTEMA_IMUNOL/303/223GICO_COGNITIVO_V2_/342/200/224_CLONE_IA.md +452 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/TABELA_COMPARATIVA_AN/303/201LISE_COMPLETA_DOS_CLONES_IA.md +102 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/WHATSAPP_PADR/303/225ES_LINGU/303/215STICOS_PEDRO_VAL/303/211RIO_LOPEZ.md +286 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/heur/303/255sticas_de_decis/303/243o_e_algoritmos_mentais_/303/272nicos.md +268 -0
- package/pro/squads/mmos-squad/minds/ray_kurzweil/sources/books/PROTOCOLO_COMPLETO_DE_INTERROGA/303/207/303/203O_-_NAVAL_RAVIKANT.md +3624 -0
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_JOBS.md +488 -0
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Framework_Cabe/303/247a_Steve.md +257 -0
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Relat/303/263rio_Abrangente_sobre_Steve_Jobs_para_Cria/303/247/303/243o_de_Clone_de_IA.md +370 -0
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Steve_Jobs_An/303/241lise_Psicol/303/263gica_Profunda_e_Valida/303/247/303/243o_Comportamental.md +65 -0
- package/pro/squads/squad-creator-pro/HEADLINE.md +3 -3
- package/pro/squads/squad-creator-pro/agents/oalanicolas.md +438 -438
- package/pro/squads/squad-creator-pro/agents/squad-chief.md +1651 -1651
- package/pro/squads/squad-creator-pro/agents/thiago_finch.md +976 -976
- package/pro/squads/squad-creator-pro/assessments/axioma-assessment-wf-create-squad.yaml +325 -325
- package/pro/squads/squad-creator-pro/checklists/create-agent-checklist.md +184 -184
- package/pro/squads/squad-creator-pro/checklists/create-squad-checklist.md +219 -219
- package/pro/squads/squad-creator-pro/checklists/create-workflow-checklist.md +224 -224
- package/pro/squads/squad-creator-pro/checklists/mental-model-integration-checklist.md +95 -95
- package/pro/squads/squad-creator-pro/checklists/squad-overview-checklist.md +393 -393
- package/pro/squads/squad-creator-pro/config/model-routing.yaml +693 -693
- package/pro/squads/squad-creator-pro/config/scoring-rubric.yaml +199 -199
- package/pro/squads/squad-creator-pro/config.yaml +35 -35
- package/pro/squads/squad-creator-pro/data/internal-infrastructure-library.yaml +99 -99
- package/pro/squads/squad-creator-pro/data/mental-model-task-matrix.yaml +692 -692
- package/pro/squads/squad-creator-pro/docs/ADR-001-model-tier-qualification.md +344 -344
- package/pro/squads/squad-creator-pro/docs/AGENT-COLLABORATION.md +609 -609
- package/pro/squads/squad-creator-pro/docs/MIGRATION-PLAN-AGENT-CONFORMITY.md +861 -861
- package/pro/squads/squad-creator-pro/docs/MODEL-TIER-QUALIFICATION.md +337 -337
- package/pro/squads/squad-creator-pro/docs/optimize-v4-proposal.md +354 -354
- package/pro/squads/squad-creator-pro/docs/task-optimization-framework.md +229 -229
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_010.md +240 -240
- package/pro/squads/squad-creator-pro/protocols/ai-first-governance.md +63 -63
- package/pro/squads/squad-creator-pro/scripts/assess-sources.sh +443 -443
- package/pro/squads/squad-creator-pro/scripts/clone-review.sh +394 -394
- package/pro/squads/squad-creator-pro/scripts/create-agent-preflight.py +243 -243
- package/pro/squads/squad-creator-pro/scripts/cross-provider/compare-results.js +281 -281
- package/pro/squads/squad-creator-pro/scripts/cross-provider/cross-provider-runner.js +462 -462
- package/pro/squads/squad-creator-pro/scripts/fidelity-score.sh +519 -519
- package/pro/squads/squad-creator-pro/scripts/generate-squad-guide.js +558 -558
- package/pro/squads/squad-creator-pro/scripts/lib/config-loader.js +151 -151
- package/pro/squads/squad-creator-pro/scripts/model-tier-validator.cjs +369 -369
- package/pro/squads/squad-creator-pro/scripts/model-usage-logger.cjs +245 -245
- package/pro/squads/squad-creator-pro/scripts/modernization-score.sh +308 -308
- package/pro/squads/squad-creator-pro/scripts/scaffold-squad.cjs +281 -281
- package/pro/squads/squad-creator-pro/scripts/security_scanner.py +378 -378
- package/pro/squads/squad-creator-pro/scripts/squad-context-loader.cjs +205 -205
- package/pro/squads/squad-creator-pro/scripts/squad-state-manager.cjs +451 -451
- package/pro/squads/squad-creator-pro/scripts/squad-workflow-runner.cjs +471 -471
- package/pro/squads/squad-creator-pro/scripts/squad_utils.py +261 -261
- package/pro/squads/squad-creator-pro/scripts/tests/run_bash_tests.sh +29 -29
- package/pro/squads/squad-creator-pro/scripts/tests/test_assess_sources.sh +216 -216
- package/pro/squads/squad-creator-pro/scripts/tests/test_clone_review.sh +239 -239
- package/pro/squads/squad-creator-pro/scripts/tests/test_coherence_validator.py +212 -212
- package/pro/squads/squad-creator-pro/scripts/tests/test_fidelity_score.sh +298 -298
- package/pro/squads/squad-creator-pro/scripts/tests/test_modernization_score.sh +211 -211
- package/pro/squads/squad-creator-pro/scripts/tests/test_security_scanner.py +354 -354
- package/pro/squads/squad-creator-pro/scripts/tests/test_validate_clone.sh +252 -252
- package/pro/squads/squad-creator-pro/squad.yaml +36 -36
- package/pro/squads/squad-creator-pro/tasks/an-compare-outputs.md +354 -354
- package/pro/squads/squad-creator-pro/tasks/create-squad.md +933 -933
- package/pro/squads/squad-creator-pro/tasks/detect-squad-context.md +81 -81
- package/pro/squads/squad-creator-pro/tasks/lookup-model.md +78 -78
- package/pro/squads/squad-creator-pro/tasks/next-squad.md +487 -487
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow.md +851 -851
- package/pro/squads/squad-creator-pro/tasks/parallel-discovery.md +58 -58
- package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment-wf-clone-mind.yaml +256 -256
- package/pro/squads/squad-creator-pro/tasks/qualify-task.md +265 -265
- package/pro/squads/squad-creator-pro/tasks/reexecute-squad-phase.md +64 -64
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing.md +167 -167
- package/pro/squads/squad-creator-pro/tasks/squad-overview.md +683 -683
- package/pro/squads/squad-creator-pro/tasks/validate-final-artifacts.md +80 -80
- package/pro/squads/squad-creator-pro/templates/orchestrator-tmpl.md +74 -74
- package/pro/squads/squad-creator-pro/test-cases/BATCH-PROGRESS.md +268 -268
- package/pro/squads/squad-creator-pro/test-cases/QUALIFICATION-DASHBOARD.yaml +13 -13
- package/pro/squads/squad-creator-pro/test-cases/_template.yaml +147 -147
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT-SUMMARY.md +275 -275
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT_SUMMARY.md +140 -140
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/CHECKPOINT_MATRIX.md +202 -202
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION-REPORT.md +413 -413
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION_NOTES.md +358 -358
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README-v2.2.2.md +299 -299
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README.md +320 -320
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/TEST-REPORT-v2.1.md +351 -351
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/VERIFICATION-CHECKLIST.txt +247 -247
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/formal-qualification-report.yaml +389 -389
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-output.yaml +366 -366
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.1-output.yaml +452 -452
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.1-output.yaml +281 -281
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.2-output.yaml +332 -332
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/opus-baseline.yaml +517 -517
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/qualification-report.yaml +213 -213
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/test-case.yaml +69 -69
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/haiku-round-1.yaml +213 -213
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/opus-baseline.yaml +566 -566
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/qualification-report.yaml +82 -82
- package/pro/squads/squad-creator-pro/test-cases/an-design-clone/test-case.yaml +102 -102
- package/pro/squads/squad-creator-pro/test-cases/an-extract-dna/test-case.yaml +105 -105
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/haiku-round-1.yaml +262 -262
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/opus-baseline.yaml +266 -266
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/qualification-report.yaml +94 -94
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/haiku-round-1.yaml +282 -282
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/opus-baseline.yaml +470 -470
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/qualification-report.yaml +106 -106
- package/pro/squads/squad-creator-pro/test-cases/collect-sources/test-case.yaml +105 -105
- package/pro/squads/squad-creator-pro/test-cases/create-task/test-case.yaml +104 -104
- package/pro/squads/squad-creator-pro/test-cases/cross-provider/DASHBOARD.yaml +11 -11
- package/pro/squads/squad-creator-pro/test-cases/pv-audit/test-case.yaml +106 -106
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/haiku-output.yaml +209 -209
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/opus-baseline.yaml +96 -96
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/sonnet-output.yaml +30 -30
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/test-case.yaml +129 -129
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/comparison-round-1.yaml +242 -242
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/haiku-round-1.yaml +393 -393
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/opus-baseline.yaml +488 -488
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/qualification-report.yaml +74 -74
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/haiku-round-1.yaml +292 -292
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/opus-baseline.yaml +603 -603
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/qualification-report.yaml +97 -97
- package/pro/squads/squad-creator-pro/test-cases/smoke-test-model-routing/test-case.yaml +100 -100
- package/pro/squads/squad-creator-pro/test-cases/upgrade-squad/test-case.yaml +106 -106
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/comparison-round-1.yaml +223 -223
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1-MINE.yaml +36 -36
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1.yaml +193 -193
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-2.yaml +303 -303
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-3-v4-task.yaml +149 -149
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-baseline.yaml +529 -529
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-round-3-v4-task.yaml +132 -132
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/qualification-report.yaml +104 -104
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output-v2-calibrated.yaml +200 -200
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output.yaml +183 -183
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/opus-baseline.yaml +112 -112
- package/pro/squads/squad-creator-pro/workflows/create-squad.yaml +348 -348
- package/pro/squads/squad-creator-pro/workflows/modules/module-discovery.yaml +16 -16
- package/pro/squads/squad-creator-pro/workflows/modules/module-integration.yaml +16 -16
- package/pro/squads/squad-creator-pro/workflows/modules/module-quality-gates.yaml +15 -15
- package/pro/squads/squad-creator-pro/workflows/wf-brownfield-upgrade-squad.yaml +46 -46
- package/pro/squads/squad-creator-pro/workflows/wf-context-aware-create-squad.yaml +47 -47
- package/pro/squads/squad-creator-pro/workflows/wf-create-squad.yaml +1619 -1619
- package/pro/squads/squad-creator-pro/workflows/wf-cross-provider-qualification.yaml +711 -711
- package/pro/squads/squad-creator-pro/workflows/wf-model-tier-qualification.yaml +800 -800
- package/pro/squads/squad-creator-pro/workflows/wf-optimize-squad.yaml +684 -684
- package/scripts/check-markdown-links.py +352 -352
- package/scripts/dashboard-parallel-dev.sh +0 -0
- package/scripts/dashboard-parallel-phase3.sh +0 -0
- package/scripts/dashboard-parallel-phase4.sh +0 -0
- package/scripts/install-monitor-hooks.sh +0 -0
- package/.claude/hooks/code-intel-pretool.cjs +0 -107
- package/docs/guides/aios-workflows/README.md +0 -247
- package/docs/guides/aios-workflows/bob-orchestrator-workflow.md +0 -1536
- package/scripts/glue/README.md +0 -355
- package/scripts/glue/compose-agent-prompt.cjs +0 -362
|
@@ -1,318 +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_
|
|
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_
|