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,299 +1,299 @@
|
|
|
1
|
-
# Atomic Design Refactoring Checklist
|
|
2
|
-
|
|
3
|
-
> Use este checklist para cada componente refatorado.
|
|
4
|
-
> Referência: `app/components/ops/users/` (OpsUsersTemplate)
|
|
5
|
-
>
|
|
6
|
-
> **v2.0 - Jan/2026:** Adicionados gates anti-over-engineering.
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## ⛔ GATE 0: Devo Atomizar? (ANTES DE TUDO)
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
wc -l {arquivo}
|
|
14
|
-
grep -c "useState" {arquivo}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
| Linhas | useState | Decisão |
|
|
18
|
-
|--------|----------|---------|
|
|
19
|
-
| >800 | qualquer | **SIM** |
|
|
20
|
-
| 500-800 | >7 | **SIM** |
|
|
21
|
-
| 500-800 | ≤7 | **TALVEZ** - só se hooks reusáveis |
|
|
22
|
-
| <500 | qualquer | **NÃO** - organizar inline |
|
|
23
|
-
|
|
24
|
-
- [ ] Componente passa no GATE 0? Se **NÃO** → pare aqui, apenas organize inline
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Pre-Flight (Antes de Começar)
|
|
29
|
-
|
|
30
|
-
### Análise do Componente
|
|
31
|
-
- [ ] Ler arquivo COMPLETO (não só o início)
|
|
32
|
-
- [ ] Contar linhas totais: `wc -l {arquivo}`
|
|
33
|
-
- [ ] Listar todos `useState` (quantos? _____)
|
|
34
|
-
- [ ] Listar todas funções `render{X}()` (quantas? _____)
|
|
35
|
-
- [ ] Identificar padrões JSX repetidos (2+ vezes)
|
|
36
|
-
- [ ] Mapear dependências externas (hooks, utils, types)
|
|
37
|
-
|
|
38
|
-
### Verificar Shared Components
|
|
39
|
-
- [ ] Checar `app/components/shared/hooks/` - hook já existe?
|
|
40
|
-
- [ ] Checar `app/components/shared/molecules/` - molecule já existe?
|
|
41
|
-
- [ ] Checar `app/components/ui/` - componente UI existe?
|
|
42
|
-
- [ ] Se precisar de novo shared → adicionar em `docs/refactoring/SHARED_REQUESTS.md`
|
|
43
|
-
|
|
44
|
-
### Confirmar Domínio
|
|
45
|
-
- [ ] Identificar domínio correto: `{domain}/{feature}/`
|
|
46
|
-
- [ ] Verificar que não existe pasta com mesmo nome
|
|
47
|
-
- [ ] Confirmar que não vai tocar arquivos de OUTRO domínio
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Estrutura (Criar Pastas/Arquivos)
|
|
52
|
-
|
|
53
|
-
### Criar Estrutura Base
|
|
54
|
-
```
|
|
55
|
-
app/components/{domain}/{feature}/
|
|
56
|
-
├── types.ts
|
|
57
|
-
├── index.ts
|
|
58
|
-
├── {Feature}Template.tsx
|
|
59
|
-
├── hooks/
|
|
60
|
-
│ └── index.ts
|
|
61
|
-
├── molecules/
|
|
62
|
-
│ └── index.ts
|
|
63
|
-
└── organisms/
|
|
64
|
-
└── index.ts
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
- [ ] Criar pasta `{domain}/{feature}/`
|
|
68
|
-
- [ ] Criar `types.ts` com interfaces
|
|
69
|
-
- [ ] Criar `index.ts` (barrel export)
|
|
70
|
-
- [ ] Criar pasta `hooks/` + `index.ts`
|
|
71
|
-
- [ ] Criar pasta `molecules/` + `index.ts` (se necessário)
|
|
72
|
-
- [ ] Criar pasta `organisms/` + `index.ts`
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Extração (Decompor o Componente)
|
|
77
|
-
|
|
78
|
-
### 1. Types (types.ts) - CRÍTICO ⚠️
|
|
79
|
-
- [ ] Mover/criar todas interfaces de Props
|
|
80
|
-
- [ ] Mover/criar tipos de dados (enums, unions)
|
|
81
|
-
- [ ] Mover/criar configurações (COLORS, ICONS, etc.)
|
|
82
|
-
- [ ] Exportar tudo com `export`
|
|
83
|
-
- [ ] **VALIDAÇÃO OBRIGATÓRIA:** Após criar `data/*.ts`, verificar que TODOS os types importados existem em `types.ts`
|
|
84
|
-
```bash
|
|
85
|
-
# Listar types importados em data/
|
|
86
|
-
grep -h "from '../types'" {pasta}/data/*.ts | grep -oE "{ [^}]+ }"
|
|
87
|
-
# Verificar se existem em types.ts
|
|
88
|
-
grep "export interface\|export type" {pasta}/types.ts
|
|
89
|
-
```
|
|
90
|
-
**Se algum type estiver faltando → ADICIONAR antes de continuar**
|
|
91
|
-
|
|
92
|
-
### 2. Hooks (hooks/) - ⚠️ GATE 1 POR HOOK
|
|
93
|
-
|
|
94
|
-
**Para CADA hook que você vai criar, responda:**
|
|
95
|
-
```
|
|
96
|
-
Esse hook será usado em OUTRO componente?
|
|
97
|
-
[ ] SIM - onde: ____________
|
|
98
|
-
[ ] NÃO → NÃO crie, mantenha useState inline
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
- [ ] **GATE 1 passou para todos os hooks?**
|
|
102
|
-
- [ ] Agrupar `useState` relacionados em hooks customizados
|
|
103
|
-
- [ ] Naming: `use{Feature}{Concern}.ts`
|
|
104
|
-
- Dados: `use{Feature}Data.ts`
|
|
105
|
-
- Filtros: `use{Feature}Filters.ts`
|
|
106
|
-
- Dialogs: `use{Dialog}Dialog.ts`
|
|
107
|
-
- [ ] Cada hook retorna objeto com estado + setters
|
|
108
|
-
- [ ] Exportar no `hooks/index.ts`
|
|
109
|
-
|
|
110
|
-
### 3. Molecules (molecules/) - Se Necessário
|
|
111
|
-
- [ ] Extrair padrões JSX repetidos 2+ vezes
|
|
112
|
-
- [ ] Componentes pequenos, stateless
|
|
113
|
-
- [ ] Props bem definidas em types.ts
|
|
114
|
-
- [ ] Exportar no `molecules/index.ts`
|
|
115
|
-
|
|
116
|
-
### 4. Organisms (organisms/)
|
|
117
|
-
- [ ] Cada `render{X}()` vira `{X}View.tsx` ou `{X}Section.tsx`
|
|
118
|
-
- [ ] Recebe props, não usa hooks diretamente (exceto UI state)
|
|
119
|
-
- [ ] Naming consistente: `{Feature}Header.tsx`, `{Feature}ListView.tsx`
|
|
120
|
-
- [ ] Exportar no `organisms/index.ts`
|
|
121
|
-
|
|
122
|
-
### 5. Template Orchestrator
|
|
123
|
-
- [ ] Importar todos hooks
|
|
124
|
-
- [ ] Importar todos organisms
|
|
125
|
-
- [ ] Apenas composição (sem lógica de negócio)
|
|
126
|
-
- [ ] Layout e ordem dos organisms
|
|
127
|
-
- [ ] Passar props para cada organism
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Validação (Pós-Extração)
|
|
132
|
-
|
|
133
|
-
### TypeScript
|
|
134
|
-
- [ ] `npx tsc --noEmit` - 0 erros
|
|
135
|
-
- [ ] Sem `any` types (exceto quando inevitável)
|
|
136
|
-
- [ ] Props tipadas corretamente
|
|
137
|
-
|
|
138
|
-
### Contagem de Linhas
|
|
139
|
-
- [ ] Template orchestrator: **≤100 linhas** (sem estado, só composição)
|
|
140
|
-
- [ ] Cada hook: ≤150 linhas
|
|
141
|
-
- [ ] Cada molecule: ≤100 linhas
|
|
142
|
-
- [ ] Cada organism: ≤200 linhas (exceções documentadas)
|
|
143
|
-
- [ ] types.ts: sem limite (configs podem ser grandes)
|
|
144
|
-
|
|
145
|
-
### Imports - CRÍTICO ⚠️
|
|
146
|
-
|
|
147
|
-
**REGRA: SEMPRE usar aliases `@/`, NUNCA paths relativos para UI**
|
|
148
|
-
|
|
149
|
-
```typescript
|
|
150
|
-
// ✅ CORRETO
|
|
151
|
-
import { Icon } from '@/components/ui/icon';
|
|
152
|
-
import { Button } from '@/components/ui/button';
|
|
153
|
-
import { Card } from '@/components/ui/card';
|
|
154
|
-
|
|
155
|
-
// ❌ ERRADO - NÃO usar
|
|
156
|
-
import { Icon } from '../../../ui/icon';
|
|
157
|
-
import { Button } from '../../shared/ui/button';
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
- [ ] **Validação obrigatória antes de concluir:**
|
|
161
|
-
```bash
|
|
162
|
-
grep -rn "from '\.\./\.\./\.\." {pasta-criada}/
|
|
163
|
-
```
|
|
164
|
-
Se retornar resultados → **CORRIGIR antes de reportar conclusão**
|
|
165
|
-
|
|
166
|
-
- [ ] Todos imports de `@/components/ui/*` usam alias
|
|
167
|
-
- [ ] Sem imports circulares
|
|
168
|
-
- [ ] Barrel exports funcionando (`import { X } from './hooks'`)
|
|
169
|
-
- [ ] Paths relativos OK apenas para arquivos do mesmo módulo
|
|
170
|
-
|
|
171
|
-
### Funcionalidade
|
|
172
|
-
- [ ] Testar no browser - renderiza igual ao original?
|
|
173
|
-
- [ ] Testar interações - botões, forms, dialogs funcionam?
|
|
174
|
-
- [ ] Testar edge cases - loading, empty, error states
|
|
175
|
-
|
|
176
|
-
### Consistência com Padrão
|
|
177
|
-
- [ ] Comparar estrutura com `ops/users/`
|
|
178
|
-
- [ ] Naming conventions seguidas
|
|
179
|
-
- [ ] Barrel exports no mesmo padrão
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## Finalização
|
|
184
|
-
|
|
185
|
-
### Documentação
|
|
186
|
-
- [ ] Atualizar `docs/refactoring/COMPONENT_REFACTORING_ROADMAP.md`
|
|
187
|
-
- [ ] Marcar status como ✅ Done
|
|
188
|
-
- [ ] Adicionar linha count (antes → depois)
|
|
189
|
-
- [ ] Adicionar estrutura de arquivos criados
|
|
190
|
-
- [ ] Se criou shared component → documentar uso
|
|
191
|
-
|
|
192
|
-
### Git
|
|
193
|
-
- [ ] `git add` apenas arquivos do domínio refatorado
|
|
194
|
-
- [ ] Commit message: `refactor({domain}): decompose {Component} ({antes}→{depois} lines)`
|
|
195
|
-
- [ ] Não commitar arquivos de outros domínios
|
|
196
|
-
|
|
197
|
-
### Cleanup
|
|
198
|
-
- [ ] Deletar arquivo original (se moveu para nova pasta)
|
|
199
|
-
- [ ] Atualizar imports em arquivos que usavam o componente
|
|
200
|
-
- [ ] Verificar que nenhum import quebrou
|
|
201
|
-
|
|
202
|
-
### AppRoutes.tsx - CRÍTICO ⚠️
|
|
203
|
-
|
|
204
|
-
**Se o componente mudou de path (ex: `templates/X.tsx` → `x-feature/X.tsx`):**
|
|
205
|
-
|
|
206
|
-
- [ ] **OBRIGATÓRIO:** Atualizar import em `app/components/AppRoutes.tsx`
|
|
207
|
-
```bash
|
|
208
|
-
# Verificar se AppRoutes importa o componente antigo
|
|
209
|
-
grep "{ComponentName}" app/components/AppRoutes.tsx
|
|
210
|
-
```
|
|
211
|
-
- [ ] Corrigir o path do import lazy:
|
|
212
|
-
```typescript
|
|
213
|
-
// ANTES (path antigo)
|
|
214
|
-
const MyTemplate = React.lazy(() => import('./domain/templates/MyTemplate'));
|
|
215
|
-
|
|
216
|
-
// DEPOIS (novo path)
|
|
217
|
-
const MyTemplate = React.lazy(() => import('./domain/my-feature/MyTemplate'));
|
|
218
|
-
```
|
|
219
|
-
- [ ] **Validar:** `npm run typecheck` não deve ter erro `Cannot find module`
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## ⛔ GATE 2: Validação Final (OBRIGATÓRIO)
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
# Contar linhas TOTAIS da pasta criada
|
|
227
|
-
find {pasta-criada} -name "*.ts" -o -name "*.tsx" | xargs wc -l | tail -1
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
| Métrica | Limite | Se Falhar |
|
|
231
|
-
|---------|--------|-----------|
|
|
232
|
-
| Linhas totais | ≤ original | Simplificar ou reverter |
|
|
233
|
-
| Arquivos criados | ≤7 | Consolidar |
|
|
234
|
-
| Hooks sem uso externo | 0 | Mover inline |
|
|
235
|
-
|
|
236
|
-
- [ ] **GATE 2 passou?** Se não → simplificar antes de commitar
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## Métricas de Sucesso
|
|
241
|
-
|
|
242
|
-
| Métrica | Critério | Check |
|
|
243
|
-
|---------|----------|-------|
|
|
244
|
-
| **GATE 2: Linhas totais** | **≤ original** | [ ] |
|
|
245
|
-
| **GATE 2: Arquivos** | **≤7** | [ ] |
|
|
246
|
-
| **GATE 2: Hooks órfãos** | **0** | [ ] |
|
|
247
|
-
| Redução de linhas no template | ≥70% | [ ] |
|
|
248
|
-
| Template orchestrator | **≤100 linhas** | [ ] |
|
|
249
|
-
| Maior organism | ≤200 linhas | [ ] |
|
|
250
|
-
| TypeScript errors | 0 | [ ] |
|
|
251
|
-
| Import validation | 0 `../../../` | [ ] |
|
|
252
|
-
| Types consistency | Todos types em data/ existem em types.ts | [ ] |
|
|
253
|
-
| AppRoutes.tsx | Import atualizado (se mudou path) | [ ] |
|
|
254
|
-
| Funcionalidade | 100% igual | [ ] |
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## Quick Reference
|
|
259
|
-
|
|
260
|
-
### Naming Conventions
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
Hooks: use{Feature}{Concern}.ts → useCoursesData.ts
|
|
264
|
-
Molecules: {Pattern}.tsx → StatCard.tsx
|
|
265
|
-
Organisms: {Feature}{Type}.tsx → CoursesListView.tsx
|
|
266
|
-
Template: {Feature}Template.tsx → CoursesTemplate.tsx
|
|
267
|
-
Types: types.ts → types.ts
|
|
268
|
-
Index: index.ts → index.ts
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
### Extração de useState
|
|
272
|
-
|
|
273
|
-
```typescript
|
|
274
|
-
// ANTES (no template)
|
|
275
|
-
const [search, setSearch] = useState('');
|
|
276
|
-
const [filters, setFilters] = useState({});
|
|
277
|
-
|
|
278
|
-
// DEPOIS (em hooks/useFilters.ts)
|
|
279
|
-
export function useFilters() {
|
|
280
|
-
const [search, setSearch] = useState('');
|
|
281
|
-
const [filters, setFilters] = useState({});
|
|
282
|
-
return { search, setSearch, filters, setFilters };
|
|
283
|
-
}
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### Extração de render{X}
|
|
287
|
-
|
|
288
|
-
```typescript
|
|
289
|
-
// ANTES (no template)
|
|
290
|
-
const renderHeader = () => <div>...</div>;
|
|
291
|
-
|
|
292
|
-
// DEPOIS (em organisms/Header.tsx)
|
|
293
|
-
export const Header: React.FC<HeaderProps> = (props) => <div>...</div>;
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
*Checklist v1.2 - Adicionadas validações críticas: types consistency e AppRoutes.tsx*
|
|
299
|
-
*Baseado em 18+ componentes refatorados com 91% de redução média*
|
|
1
|
+
# Atomic Design Refactoring Checklist
|
|
2
|
+
|
|
3
|
+
> Use este checklist para cada componente refatorado.
|
|
4
|
+
> Referência: `app/components/ops/users/` (OpsUsersTemplate)
|
|
5
|
+
>
|
|
6
|
+
> **v2.0 - Jan/2026:** Adicionados gates anti-over-engineering.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ⛔ GATE 0: Devo Atomizar? (ANTES DE TUDO)
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
wc -l {arquivo}
|
|
14
|
+
grep -c "useState" {arquivo}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| Linhas | useState | Decisão |
|
|
18
|
+
|--------|----------|---------|
|
|
19
|
+
| >800 | qualquer | **SIM** |
|
|
20
|
+
| 500-800 | >7 | **SIM** |
|
|
21
|
+
| 500-800 | ≤7 | **TALVEZ** - só se hooks reusáveis |
|
|
22
|
+
| <500 | qualquer | **NÃO** - organizar inline |
|
|
23
|
+
|
|
24
|
+
- [ ] Componente passa no GATE 0? Se **NÃO** → pare aqui, apenas organize inline
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Pre-Flight (Antes de Começar)
|
|
29
|
+
|
|
30
|
+
### Análise do Componente
|
|
31
|
+
- [ ] Ler arquivo COMPLETO (não só o início)
|
|
32
|
+
- [ ] Contar linhas totais: `wc -l {arquivo}`
|
|
33
|
+
- [ ] Listar todos `useState` (quantos? _____)
|
|
34
|
+
- [ ] Listar todas funções `render{X}()` (quantas? _____)
|
|
35
|
+
- [ ] Identificar padrões JSX repetidos (2+ vezes)
|
|
36
|
+
- [ ] Mapear dependências externas (hooks, utils, types)
|
|
37
|
+
|
|
38
|
+
### Verificar Shared Components
|
|
39
|
+
- [ ] Checar `app/components/shared/hooks/` - hook já existe?
|
|
40
|
+
- [ ] Checar `app/components/shared/molecules/` - molecule já existe?
|
|
41
|
+
- [ ] Checar `app/components/ui/` - componente UI existe?
|
|
42
|
+
- [ ] Se precisar de novo shared → adicionar em `docs/refactoring/SHARED_REQUESTS.md`
|
|
43
|
+
|
|
44
|
+
### Confirmar Domínio
|
|
45
|
+
- [ ] Identificar domínio correto: `{domain}/{feature}/`
|
|
46
|
+
- [ ] Verificar que não existe pasta com mesmo nome
|
|
47
|
+
- [ ] Confirmar que não vai tocar arquivos de OUTRO domínio
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Estrutura (Criar Pastas/Arquivos)
|
|
52
|
+
|
|
53
|
+
### Criar Estrutura Base
|
|
54
|
+
```
|
|
55
|
+
app/components/{domain}/{feature}/
|
|
56
|
+
├── types.ts
|
|
57
|
+
├── index.ts
|
|
58
|
+
├── {Feature}Template.tsx
|
|
59
|
+
├── hooks/
|
|
60
|
+
│ └── index.ts
|
|
61
|
+
├── molecules/
|
|
62
|
+
│ └── index.ts
|
|
63
|
+
└── organisms/
|
|
64
|
+
└── index.ts
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- [ ] Criar pasta `{domain}/{feature}/`
|
|
68
|
+
- [ ] Criar `types.ts` com interfaces
|
|
69
|
+
- [ ] Criar `index.ts` (barrel export)
|
|
70
|
+
- [ ] Criar pasta `hooks/` + `index.ts`
|
|
71
|
+
- [ ] Criar pasta `molecules/` + `index.ts` (se necessário)
|
|
72
|
+
- [ ] Criar pasta `organisms/` + `index.ts`
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Extração (Decompor o Componente)
|
|
77
|
+
|
|
78
|
+
### 1. Types (types.ts) - CRÍTICO ⚠️
|
|
79
|
+
- [ ] Mover/criar todas interfaces de Props
|
|
80
|
+
- [ ] Mover/criar tipos de dados (enums, unions)
|
|
81
|
+
- [ ] Mover/criar configurações (COLORS, ICONS, etc.)
|
|
82
|
+
- [ ] Exportar tudo com `export`
|
|
83
|
+
- [ ] **VALIDAÇÃO OBRIGATÓRIA:** Após criar `data/*.ts`, verificar que TODOS os types importados existem em `types.ts`
|
|
84
|
+
```bash
|
|
85
|
+
# Listar types importados em data/
|
|
86
|
+
grep -h "from '../types'" {pasta}/data/*.ts | grep -oE "{ [^}]+ }"
|
|
87
|
+
# Verificar se existem em types.ts
|
|
88
|
+
grep "export interface\|export type" {pasta}/types.ts
|
|
89
|
+
```
|
|
90
|
+
**Se algum type estiver faltando → ADICIONAR antes de continuar**
|
|
91
|
+
|
|
92
|
+
### 2. Hooks (hooks/) - ⚠️ GATE 1 POR HOOK
|
|
93
|
+
|
|
94
|
+
**Para CADA hook que você vai criar, responda:**
|
|
95
|
+
```
|
|
96
|
+
Esse hook será usado em OUTRO componente?
|
|
97
|
+
[ ] SIM - onde: ____________
|
|
98
|
+
[ ] NÃO → NÃO crie, mantenha useState inline
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
- [ ] **GATE 1 passou para todos os hooks?**
|
|
102
|
+
- [ ] Agrupar `useState` relacionados em hooks customizados
|
|
103
|
+
- [ ] Naming: `use{Feature}{Concern}.ts`
|
|
104
|
+
- Dados: `use{Feature}Data.ts`
|
|
105
|
+
- Filtros: `use{Feature}Filters.ts`
|
|
106
|
+
- Dialogs: `use{Dialog}Dialog.ts`
|
|
107
|
+
- [ ] Cada hook retorna objeto com estado + setters
|
|
108
|
+
- [ ] Exportar no `hooks/index.ts`
|
|
109
|
+
|
|
110
|
+
### 3. Molecules (molecules/) - Se Necessário
|
|
111
|
+
- [ ] Extrair padrões JSX repetidos 2+ vezes
|
|
112
|
+
- [ ] Componentes pequenos, stateless
|
|
113
|
+
- [ ] Props bem definidas em types.ts
|
|
114
|
+
- [ ] Exportar no `molecules/index.ts`
|
|
115
|
+
|
|
116
|
+
### 4. Organisms (organisms/)
|
|
117
|
+
- [ ] Cada `render{X}()` vira `{X}View.tsx` ou `{X}Section.tsx`
|
|
118
|
+
- [ ] Recebe props, não usa hooks diretamente (exceto UI state)
|
|
119
|
+
- [ ] Naming consistente: `{Feature}Header.tsx`, `{Feature}ListView.tsx`
|
|
120
|
+
- [ ] Exportar no `organisms/index.ts`
|
|
121
|
+
|
|
122
|
+
### 5. Template Orchestrator
|
|
123
|
+
- [ ] Importar todos hooks
|
|
124
|
+
- [ ] Importar todos organisms
|
|
125
|
+
- [ ] Apenas composição (sem lógica de negócio)
|
|
126
|
+
- [ ] Layout e ordem dos organisms
|
|
127
|
+
- [ ] Passar props para cada organism
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Validação (Pós-Extração)
|
|
132
|
+
|
|
133
|
+
### TypeScript
|
|
134
|
+
- [ ] `npx tsc --noEmit` - 0 erros
|
|
135
|
+
- [ ] Sem `any` types (exceto quando inevitável)
|
|
136
|
+
- [ ] Props tipadas corretamente
|
|
137
|
+
|
|
138
|
+
### Contagem de Linhas
|
|
139
|
+
- [ ] Template orchestrator: **≤100 linhas** (sem estado, só composição)
|
|
140
|
+
- [ ] Cada hook: ≤150 linhas
|
|
141
|
+
- [ ] Cada molecule: ≤100 linhas
|
|
142
|
+
- [ ] Cada organism: ≤200 linhas (exceções documentadas)
|
|
143
|
+
- [ ] types.ts: sem limite (configs podem ser grandes)
|
|
144
|
+
|
|
145
|
+
### Imports - CRÍTICO ⚠️
|
|
146
|
+
|
|
147
|
+
**REGRA: SEMPRE usar aliases `@/`, NUNCA paths relativos para UI**
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
// ✅ CORRETO
|
|
151
|
+
import { Icon } from '@/components/ui/icon';
|
|
152
|
+
import { Button } from '@/components/ui/button';
|
|
153
|
+
import { Card } from '@/components/ui/card';
|
|
154
|
+
|
|
155
|
+
// ❌ ERRADO - NÃO usar
|
|
156
|
+
import { Icon } from '../../../ui/icon';
|
|
157
|
+
import { Button } from '../../shared/ui/button';
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
- [ ] **Validação obrigatória antes de concluir:**
|
|
161
|
+
```bash
|
|
162
|
+
grep -rn "from '\.\./\.\./\.\." {pasta-criada}/
|
|
163
|
+
```
|
|
164
|
+
Se retornar resultados → **CORRIGIR antes de reportar conclusão**
|
|
165
|
+
|
|
166
|
+
- [ ] Todos imports de `@/components/ui/*` usam alias
|
|
167
|
+
- [ ] Sem imports circulares
|
|
168
|
+
- [ ] Barrel exports funcionando (`import { X } from './hooks'`)
|
|
169
|
+
- [ ] Paths relativos OK apenas para arquivos do mesmo módulo
|
|
170
|
+
|
|
171
|
+
### Funcionalidade
|
|
172
|
+
- [ ] Testar no browser - renderiza igual ao original?
|
|
173
|
+
- [ ] Testar interações - botões, forms, dialogs funcionam?
|
|
174
|
+
- [ ] Testar edge cases - loading, empty, error states
|
|
175
|
+
|
|
176
|
+
### Consistência com Padrão
|
|
177
|
+
- [ ] Comparar estrutura com `ops/users/`
|
|
178
|
+
- [ ] Naming conventions seguidas
|
|
179
|
+
- [ ] Barrel exports no mesmo padrão
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Finalização
|
|
184
|
+
|
|
185
|
+
### Documentação
|
|
186
|
+
- [ ] Atualizar `docs/refactoring/COMPONENT_REFACTORING_ROADMAP.md`
|
|
187
|
+
- [ ] Marcar status como ✅ Done
|
|
188
|
+
- [ ] Adicionar linha count (antes → depois)
|
|
189
|
+
- [ ] Adicionar estrutura de arquivos criados
|
|
190
|
+
- [ ] Se criou shared component → documentar uso
|
|
191
|
+
|
|
192
|
+
### Git
|
|
193
|
+
- [ ] `git add` apenas arquivos do domínio refatorado
|
|
194
|
+
- [ ] Commit message: `refactor({domain}): decompose {Component} ({antes}→{depois} lines)`
|
|
195
|
+
- [ ] Não commitar arquivos de outros domínios
|
|
196
|
+
|
|
197
|
+
### Cleanup
|
|
198
|
+
- [ ] Deletar arquivo original (se moveu para nova pasta)
|
|
199
|
+
- [ ] Atualizar imports em arquivos que usavam o componente
|
|
200
|
+
- [ ] Verificar que nenhum import quebrou
|
|
201
|
+
|
|
202
|
+
### AppRoutes.tsx - CRÍTICO ⚠️
|
|
203
|
+
|
|
204
|
+
**Se o componente mudou de path (ex: `templates/X.tsx` → `x-feature/X.tsx`):**
|
|
205
|
+
|
|
206
|
+
- [ ] **OBRIGATÓRIO:** Atualizar import em `app/components/AppRoutes.tsx`
|
|
207
|
+
```bash
|
|
208
|
+
# Verificar se AppRoutes importa o componente antigo
|
|
209
|
+
grep "{ComponentName}" app/components/AppRoutes.tsx
|
|
210
|
+
```
|
|
211
|
+
- [ ] Corrigir o path do import lazy:
|
|
212
|
+
```typescript
|
|
213
|
+
// ANTES (path antigo)
|
|
214
|
+
const MyTemplate = React.lazy(() => import('./domain/templates/MyTemplate'));
|
|
215
|
+
|
|
216
|
+
// DEPOIS (novo path)
|
|
217
|
+
const MyTemplate = React.lazy(() => import('./domain/my-feature/MyTemplate'));
|
|
218
|
+
```
|
|
219
|
+
- [ ] **Validar:** `npm run typecheck` não deve ter erro `Cannot find module`
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## ⛔ GATE 2: Validação Final (OBRIGATÓRIO)
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Contar linhas TOTAIS da pasta criada
|
|
227
|
+
find {pasta-criada} -name "*.ts" -o -name "*.tsx" | xargs wc -l | tail -1
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
| Métrica | Limite | Se Falhar |
|
|
231
|
+
|---------|--------|-----------|
|
|
232
|
+
| Linhas totais | ≤ original | Simplificar ou reverter |
|
|
233
|
+
| Arquivos criados | ≤7 | Consolidar |
|
|
234
|
+
| Hooks sem uso externo | 0 | Mover inline |
|
|
235
|
+
|
|
236
|
+
- [ ] **GATE 2 passou?** Se não → simplificar antes de commitar
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Métricas de Sucesso
|
|
241
|
+
|
|
242
|
+
| Métrica | Critério | Check |
|
|
243
|
+
|---------|----------|-------|
|
|
244
|
+
| **GATE 2: Linhas totais** | **≤ original** | [ ] |
|
|
245
|
+
| **GATE 2: Arquivos** | **≤7** | [ ] |
|
|
246
|
+
| **GATE 2: Hooks órfãos** | **0** | [ ] |
|
|
247
|
+
| Redução de linhas no template | ≥70% | [ ] |
|
|
248
|
+
| Template orchestrator | **≤100 linhas** | [ ] |
|
|
249
|
+
| Maior organism | ≤200 linhas | [ ] |
|
|
250
|
+
| TypeScript errors | 0 | [ ] |
|
|
251
|
+
| Import validation | 0 `../../../` | [ ] |
|
|
252
|
+
| Types consistency | Todos types em data/ existem em types.ts | [ ] |
|
|
253
|
+
| AppRoutes.tsx | Import atualizado (se mudou path) | [ ] |
|
|
254
|
+
| Funcionalidade | 100% igual | [ ] |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Quick Reference
|
|
259
|
+
|
|
260
|
+
### Naming Conventions
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
Hooks: use{Feature}{Concern}.ts → useCoursesData.ts
|
|
264
|
+
Molecules: {Pattern}.tsx → StatCard.tsx
|
|
265
|
+
Organisms: {Feature}{Type}.tsx → CoursesListView.tsx
|
|
266
|
+
Template: {Feature}Template.tsx → CoursesTemplate.tsx
|
|
267
|
+
Types: types.ts → types.ts
|
|
268
|
+
Index: index.ts → index.ts
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Extração de useState
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
// ANTES (no template)
|
|
275
|
+
const [search, setSearch] = useState('');
|
|
276
|
+
const [filters, setFilters] = useState({});
|
|
277
|
+
|
|
278
|
+
// DEPOIS (em hooks/useFilters.ts)
|
|
279
|
+
export function useFilters() {
|
|
280
|
+
const [search, setSearch] = useState('');
|
|
281
|
+
const [filters, setFilters] = useState({});
|
|
282
|
+
return { search, setSearch, filters, setFilters };
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Extração de render{X}
|
|
287
|
+
|
|
288
|
+
```typescript
|
|
289
|
+
// ANTES (no template)
|
|
290
|
+
const renderHeader = () => <div>...</div>;
|
|
291
|
+
|
|
292
|
+
// DEPOIS (em organisms/Header.tsx)
|
|
293
|
+
export const Header: React.FC<HeaderProps> = (props) => <div>...</div>;
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
*Checklist v1.2 - Adicionadas validações críticas: types consistency e AppRoutes.tsx*
|
|
299
|
+
*Baseado em 18+ componentes refatorados com 91% de redução média*
|