aios-core 2.1.6 โ 2.2.1
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/.aios-core/core/README.md +229 -229
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/core/data/aios-kb.md +923 -923
- package/.aios-core/core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/core/docs/component-creation-guide.md +457 -457
- package/.aios-core/core/docs/session-update-pattern.md +307 -307
- package/.aios-core/core/docs/template-syntax.md +266 -266
- package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
- package/.aios-core/core/index.esm.js +42 -42
- package/.aios-core/core/index.js +1 -1
- package/.aios-core/core/migration/migration-config.yaml +83 -83
- package/.aios-core/core/migration/module-mapping.yaml +89 -89
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
- package/.aios-core/core/registry/README.md +179 -179
- package/.aios-core/core/utils/security-utils.js +1 -1
- package/.aios-core/core-config.yaml +391 -382
- package/.aios-core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/data/aios-kb.md +923 -923
- package/.aios-core/data/technical-preferences.md +3 -3
- package/.aios-core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/development/README.md +142 -142
- package/.aios-core/development/agent-teams/team-all.yaml +15 -15
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
- package/.aios-core/development/agents/aios-master.md +339 -339
- package/.aios-core/development/agents/analyst.md +195 -195
- package/.aios-core/development/agents/architect.md +359 -359
- package/.aios-core/development/agents/data-engineer.md +468 -468
- package/.aios-core/development/agents/dev.md +390 -390
- package/.aios-core/development/agents/devops.md +398 -398
- package/.aios-core/development/agents/pm.md +198 -198
- package/.aios-core/development/agents/po.md +256 -256
- package/.aios-core/development/agents/qa.md +312 -312
- package/.aios-core/development/agents/sm.md +220 -220
- package/.aios-core/development/agents/ux-design-expert.md +451 -451
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
- package/.aios-core/development/tasks/add-mcp.md +319 -319
- package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
- package/.aios-core/development/tasks/analyze-framework.md +696 -696
- package/.aios-core/development/tasks/analyze-performance.md +637 -637
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
- package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
- package/.aios-core/development/tasks/audit-codebase.md +429 -429
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
- package/.aios-core/development/tasks/audit-utilities.md +358 -358
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
- package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
- package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
- package/.aios-core/development/tasks/build-component.md +478 -478
- package/.aios-core/development/tasks/calculate-roi.md +455 -455
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
- package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
- package/.aios-core/development/tasks/compose-molecule.md +284 -284
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
- package/.aios-core/development/tasks/correct-course.md +279 -279
- package/.aios-core/development/tasks/create-agent.md +321 -321
- package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
- package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
- package/.aios-core/development/tasks/create-doc.md +316 -316
- package/.aios-core/development/tasks/create-next-story.md +774 -774
- package/.aios-core/development/tasks/create-suite.md +283 -283
- package/.aios-core/development/tasks/create-task.md +371 -371
- package/.aios-core/development/tasks/create-workflow.md +370 -370
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
- package/.aios-core/development/tasks/db-apply-migration.md +381 -381
- package/.aios-core/development/tasks/db-bootstrap.md +642 -642
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
- package/.aios-core/development/tasks/db-dry-run.md +293 -293
- package/.aios-core/development/tasks/db-env-check.md +260 -260
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
- package/.aios-core/development/tasks/db-explain.md +631 -631
- package/.aios-core/development/tasks/db-impersonate.md +495 -495
- package/.aios-core/development/tasks/db-load-csv.md +593 -593
- package/.aios-core/development/tasks/db-policy-apply.md +653 -653
- package/.aios-core/development/tasks/db-rls-audit.md +411 -411
- package/.aios-core/development/tasks/db-rollback.md +739 -739
- package/.aios-core/development/tasks/db-run-sql.md +613 -613
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
- package/.aios-core/development/tasks/db-seed.md +390 -390
- package/.aios-core/development/tasks/db-smoke-test.md +351 -351
- package/.aios-core/development/tasks/db-snapshot.md +569 -569
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
- package/.aios-core/development/tasks/db-verify-order.md +515 -515
- package/.aios-core/development/tasks/deprecate-component.md +956 -956
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
- package/.aios-core/development/tasks/dev-develop-story.md +846 -846
- package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
- package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
- package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
- package/.aios-core/development/tasks/document-project.md +552 -552
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
- package/.aios-core/development/tasks/execute-checklist.md +301 -301
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
- package/.aios-core/development/tasks/extend-pattern.md +269 -269
- package/.aios-core/development/tasks/extract-tokens.md +467 -467
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
- package/.aios-core/development/tasks/generate-documentation.md +284 -284
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
- package/.aios-core/development/tasks/generate-shock-report.md +501 -501
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
- package/.aios-core/development/tasks/improve-self.md +822 -822
- package/.aios-core/development/tasks/index-docs.md +387 -387
- package/.aios-core/development/tasks/init-project-status.md +506 -506
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
- package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
- package/.aios-core/development/tasks/learn-patterns.md +900 -900
- package/.aios-core/development/tasks/mcp-workflow.md +437 -437
- package/.aios-core/development/tasks/modify-agent.md +381 -381
- package/.aios-core/development/tasks/modify-task.md +424 -424
- package/.aios-core/development/tasks/modify-workflow.md +465 -465
- package/.aios-core/development/tasks/po-backlog-add.md +370 -370
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
- package/.aios-core/development/tasks/po-pull-story.md +316 -316
- package/.aios-core/development/tasks/po-stories-index.md +351 -351
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
- package/.aios-core/development/tasks/po-sync-story.md +303 -303
- package/.aios-core/development/tasks/pr-automation.md +701 -701
- package/.aios-core/development/tasks/propose-modification.md +842 -842
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
- package/.aios-core/development/tasks/qa-gate.md +373 -373
- package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
- package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
- package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
- package/.aios-core/development/tasks/qa-review-story.md +682 -682
- package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
- package/.aios-core/development/tasks/qa-run-tests.md +277 -277
- package/.aios-core/development/tasks/qa-test-design.md +387 -387
- package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
- package/.aios-core/development/tasks/release-management.md +723 -723
- package/.aios-core/development/tasks/security-audit.md +554 -554
- package/.aios-core/development/tasks/security-scan.md +790 -790
- package/.aios-core/development/tasks/setup-database.md +741 -741
- package/.aios-core/development/tasks/setup-design-system.md +462 -462
- package/.aios-core/development/tasks/setup-github.md +874 -874
- package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
- package/.aios-core/development/tasks/setup-project-docs.md +1 -1
- package/.aios-core/development/tasks/shard-doc.md +537 -537
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
- package/.aios-core/development/tasks/sync-documentation.md +864 -864
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
- package/.aios-core/development/tasks/test-as-user.md +621 -621
- package/.aios-core/development/tasks/test-validation-task.md +171 -171
- package/.aios-core/development/tasks/undo-last.md +346 -346
- package/.aios-core/development/tasks/update-manifest.md +409 -409
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
- package/.aios-core/development/tasks/ux-user-research.md +559 -559
- package/.aios-core/development/tasks/validate-next-story.md +422 -422
- package/.aios-core/development/workflows/README.md +83 -83
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/docs/component-creation-guide.md +457 -457
- package/.aios-core/docs/session-update-pattern.md +307 -307
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
- package/.aios-core/docs/template-syntax.md +266 -266
- package/.aios-core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/index.esm.js +15 -15
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/README.md +126 -126
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
- package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
- package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
- package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
- package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
- package/.aios-core/infrastructure/scripts/component-search.js +1 -1
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
- package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
- package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
- package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
- package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
- package/.aios-core/infrastructure/tools/README.md +222 -222
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
- package/.aios-core/install-manifest.yaml +347 -347
- package/.aios-core/product/README.md +56 -56
- package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
- package/.aios-core/product/checklists/architect-checklist.md +443 -443
- package/.aios-core/product/checklists/change-checklist.md +182 -182
- package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -119
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
- package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
- package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
- package/.aios-core/product/checklists/pm-checklist.md +375 -375
- package/.aios-core/product/checklists/po-master-checklist.md +441 -441
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
- package/.aios-core/product/checklists/release-checklist.md +122 -122
- package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
- package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
- package/.aios-core/product/data/atomic-design-principles.md +108 -0
- package/.aios-core/product/data/brainstorming-techniques.md +36 -36
- package/.aios-core/product/data/consolidation-algorithms.md +142 -0
- package/.aios-core/product/data/database-best-practices.md +182 -0
- package/.aios-core/product/data/design-token-best-practices.md +107 -0
- package/.aios-core/product/data/elicitation-methods.md +134 -134
- package/.aios-core/product/data/integration-patterns.md +207 -0
- package/.aios-core/product/data/migration-safety-guide.md +329 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
- package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
- package/.aios-core/product/data/rls-security-patterns.md +333 -0
- package/.aios-core/product/data/roi-calculation-guide.md +142 -0
- package/.aios-core/product/data/supabase-patterns.md +330 -0
- package/.aios-core/product/data/test-levels-framework.md +148 -148
- package/.aios-core/product/data/test-priorities-matrix.md +174 -174
- package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -225
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
- package/.aios-core/product/templates/activation-instructions-template.md +258 -258
- package/.aios-core/product/templates/agent-template.yaml +120 -120
- package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
- package/.aios-core/product/templates/changelog-template.md +134 -134
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
- package/.aios-core/product/templates/github-pr-template.md +67 -67
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
- package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
- package/.aios-core/product/templates/mcp-workflow.js +271 -271
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
- package/.aios-core/product/templates/personalized-agent-template.md +258 -258
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
- package/.aios-core/product/templates/personalized-task-template.md +344 -344
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
- package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
- package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
- package/.aios-core/product/templates/story-tmpl.yaml +331 -331
- package/.aios-core/product/templates/task-execution-report.md +495 -495
- package/.aios-core/product/templates/task-template.md +122 -122
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
- package/.aios-core/product/templates/workflow-template.yaml +133 -133
- package/.aios-core/scripts/README.md +354 -354
- package/.aios-core/scripts/aios-doc-template.md +325 -325
- package/.aios-core/scripts/elicitation-engine.js +1 -1
- package/.aios-core/scripts/test-template-system.js +1 -1
- package/.aios-core/scripts/workflow-management.md +69 -69
- package/.aios-core/user-guide.md +1413 -1413
- package/.aios-core/working-in-the-brownfield.md +361 -361
- package/LICENSE +1 -1
- package/README.md +704 -703
- package/bin/aios-init-old.js +3 -3
- package/bin/aios-init-v4.js +1 -1
- package/bin/aios-init.backup-v1.1.4.js +1 -1
- package/bin/aios-init.js +3 -3
- package/bin/aios.js +279 -279
- package/bin/utils/install-errors.js +339 -339
- package/bin/utils/install-transaction.js +445 -445
- package/index.d.ts +18 -18
- package/index.esm.js +20 -20
- package/index.js +6 -6
- package/package.json +8 -11
- package/packages/installer/src/config/templates/env-template.js +27 -4
- package/packages/installer/src/detection/detect-project-type.js +81 -81
- package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
- package/packages/installer/tests/unit/env-template.test.js +8 -8
- package/src/config/ide-configs.js +1 -1
- package/src/wizard/feedback.js +2 -2
- package/src/wizard/index.js +1 -1
- package/src/wizard/validation/report-generator.js +1 -1
- package/src/wizard/validation/troubleshooting-system.js +13 -13
- package/tools/diagnose-installation.js +266 -0
- package/tools/diagnose-npx-issue.ps1 +96 -0
- package/tools/quick-diagnose.cmd +85 -0
- package/tools/quick-diagnose.ps1 +117 -0
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
- package/.aios-core/tasks/find-component.md.legacy +0 -391
- package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
- package/.aios-core/tasks/generate-migration.md.legacy +0 -382
- package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
- package/.aios-core/tasks/update-tests.md.legacy +0 -283
|
@@ -1,478 +1,478 @@
|
|
|
1
|
-
# Build Production-Ready Component
|
|
2
|
-
|
|
3
|
-
> Task ID: atlas-build-component
|
|
4
|
-
> Agent: Atlas (Design System Builder)
|
|
5
|
-
> Version: 1.0.0
|
|
6
|
-
|
|
7
|
-
## Execution Modes
|
|
8
|
-
|
|
9
|
-
**Choose your execution mode:**
|
|
10
|
-
|
|
11
|
-
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
12
|
-
- Autonomous decision making with logging
|
|
13
|
-
- Minimal user interaction
|
|
14
|
-
- **Best for:** Simple, deterministic tasks
|
|
15
|
-
|
|
16
|
-
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
17
|
-
- Explicit decision checkpoints
|
|
18
|
-
- Educational explanations
|
|
19
|
-
- **Best for:** Learning, complex decisions
|
|
20
|
-
|
|
21
|
-
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
22
|
-
- Task analysis phase (identify all ambiguities)
|
|
23
|
-
- Zero ambiguity execution
|
|
24
|
-
- **Best for:** Ambiguous requirements, critical work
|
|
25
|
-
|
|
26
|
-
**Parameter:** `mode` (optional, default: `interactive`)
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Task Definition (AIOS Task Format V1.0)
|
|
31
|
-
|
|
32
|
-
```yaml
|
|
33
|
-
task: buildComponent()
|
|
34
|
-
responsรกvel: Uma (Empathizer)
|
|
35
|
-
responsavel_type: Agente
|
|
36
|
-
atomic_layer: Molecule
|
|
37
|
-
|
|
38
|
-
**Entrada:**
|
|
39
|
-
- campo: name
|
|
40
|
-
tipo: string
|
|
41
|
-
origem: User Input
|
|
42
|
-
obrigatรณrio: true
|
|
43
|
-
validaรงรฃo: Must be non-empty, lowercase, kebab-case
|
|
44
|
-
|
|
45
|
-
- campo: options
|
|
46
|
-
tipo: object
|
|
47
|
-
origem: User Input
|
|
48
|
-
obrigatรณrio: false
|
|
49
|
-
validaรงรฃo: Valid JSON object with allowed keys
|
|
50
|
-
|
|
51
|
-
- campo: force
|
|
52
|
-
tipo: boolean
|
|
53
|
-
origem: User Input
|
|
54
|
-
obrigatรณrio: false
|
|
55
|
-
validaรงรฃo: Default: false
|
|
56
|
-
|
|
57
|
-
**Saรญda:**
|
|
58
|
-
- campo: created_file
|
|
59
|
-
tipo: string
|
|
60
|
-
destino: File system
|
|
61
|
-
persistido: true
|
|
62
|
-
|
|
63
|
-
- campo: validation_report
|
|
64
|
-
tipo: object
|
|
65
|
-
destino: Memory
|
|
66
|
-
persistido: false
|
|
67
|
-
|
|
68
|
-
- campo: success
|
|
69
|
-
tipo: boolean
|
|
70
|
-
destino: Return value
|
|
71
|
-
persistido: false
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Pre-Conditions
|
|
77
|
-
|
|
78
|
-
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
79
|
-
|
|
80
|
-
**Checklist:**
|
|
81
|
-
|
|
82
|
-
```yaml
|
|
83
|
-
pre-conditions:
|
|
84
|
-
- [ ] Target does not already exist; required inputs provided; permissions granted
|
|
85
|
-
tipo: pre-condition
|
|
86
|
-
blocker: true
|
|
87
|
-
validaรงรฃo: |
|
|
88
|
-
Check target does not already exist; required inputs provided; permissions granted
|
|
89
|
-
error_message: "Pre-condition failed: Target does not already exist; required inputs provided; permissions granted"
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Post-Conditions
|
|
95
|
-
|
|
96
|
-
**Purpose:** Validate execution success AFTER task completes
|
|
97
|
-
|
|
98
|
-
**Checklist:**
|
|
99
|
-
|
|
100
|
-
```yaml
|
|
101
|
-
post-conditions:
|
|
102
|
-
- [ ] Resource created successfully; validation passed; no errors logged
|
|
103
|
-
tipo: post-condition
|
|
104
|
-
blocker: true
|
|
105
|
-
validaรงรฃo: |
|
|
106
|
-
Verify resource created successfully; validation passed; no errors logged
|
|
107
|
-
error_message: "Post-condition failed: Resource created successfully; validation passed; no errors logged"
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Acceptance Criteria
|
|
113
|
-
|
|
114
|
-
**Purpose:** Definitive pass/fail criteria for task completion
|
|
115
|
-
|
|
116
|
-
**Checklist:**
|
|
117
|
-
|
|
118
|
-
```yaml
|
|
119
|
-
acceptance-criteria:
|
|
120
|
-
- [ ] Resource exists and is valid; no duplicate resources created
|
|
121
|
-
tipo: acceptance-criterion
|
|
122
|
-
blocker: true
|
|
123
|
-
validaรงรฃo: |
|
|
124
|
-
Assert resource exists and is valid; no duplicate resources created
|
|
125
|
-
error_message: "Acceptance criterion not met: Resource exists and is valid; no duplicate resources created"
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## Tools
|
|
131
|
-
|
|
132
|
-
**External/shared resources used by this task:**
|
|
133
|
-
|
|
134
|
-
- **Tool:** component-generator
|
|
135
|
-
- **Purpose:** Generate new components from templates
|
|
136
|
-
- **Source:** .aios-core/scripts/component-generator.js
|
|
137
|
-
|
|
138
|
-
- **Tool:** file-system
|
|
139
|
-
- **Purpose:** File creation and validation
|
|
140
|
-
- **Source:** Node.js fs module
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## Scripts
|
|
145
|
-
|
|
146
|
-
**Agent-specific code for this task:**
|
|
147
|
-
|
|
148
|
-
- **Script:** create-component.js
|
|
149
|
-
- **Purpose:** Component creation workflow
|
|
150
|
-
- **Language:** JavaScript
|
|
151
|
-
- **Location:** .aios-core/scripts/create-component.js
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## Error Handling
|
|
156
|
-
|
|
157
|
-
**Strategy:** retry
|
|
158
|
-
|
|
159
|
-
**Common Errors:**
|
|
160
|
-
|
|
161
|
-
1. **Error:** Resource Already Exists
|
|
162
|
-
- **Cause:** Target file/resource already exists in system
|
|
163
|
-
- **Resolution:** Use force flag or choose different name
|
|
164
|
-
- **Recovery:** Prompt user for alternative name or force overwrite
|
|
165
|
-
|
|
166
|
-
2. **Error:** Invalid Input
|
|
167
|
-
- **Cause:** Input name contains invalid characters or format
|
|
168
|
-
- **Resolution:** Validate input against naming rules (kebab-case, lowercase, no special chars)
|
|
169
|
-
- **Recovery:** Sanitize input or reject with clear error message
|
|
170
|
-
|
|
171
|
-
3. **Error:** Permission Denied
|
|
172
|
-
- **Cause:** Insufficient permissions to create resource
|
|
173
|
-
- **Resolution:** Check file system permissions, run with elevated privileges if needed
|
|
174
|
-
- **Recovery:** Log error, notify user, suggest permission fix
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Performance
|
|
179
|
-
|
|
180
|
-
**Expected Metrics:**
|
|
181
|
-
|
|
182
|
-
```yaml
|
|
183
|
-
duration_expected: 2-5 min (estimated)
|
|
184
|
-
cost_estimated: $0.001-0.003
|
|
185
|
-
token_usage: ~1,000-3,000 tokens
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**Optimization Notes:**
|
|
189
|
-
- Parallelize independent operations; reuse atom results; implement early exits
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Metadata
|
|
194
|
-
|
|
195
|
-
```yaml
|
|
196
|
-
story: N/A
|
|
197
|
-
version: 1.0.0
|
|
198
|
-
dependencies:
|
|
199
|
-
- N/A
|
|
200
|
-
tags:
|
|
201
|
-
- automation
|
|
202
|
-
- workflow
|
|
203
|
-
updated_at: 2025-11-17
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
## Description
|
|
210
|
-
|
|
211
|
-
Generate production-ready React TypeScript component from design tokens. Output follows Shadcn-style Tailwind utility patterns with `cva` variants, optional Radix composition, tests, Storybook stories, and documentation. All styling uses tokens/variables (zero hardcoded values) and supports loading/accessibility states out of the box.
|
|
212
|
-
|
|
213
|
-
## Prerequisites
|
|
214
|
-
|
|
215
|
-
- Setup completed (*setup command run successfully)
|
|
216
|
-
- Tokens loaded and accessible
|
|
217
|
-
- React and TypeScript configured
|
|
218
|
-
|
|
219
|
-
## Workflow
|
|
220
|
-
|
|
221
|
-
### Interactive Elicitation
|
|
222
|
-
|
|
223
|
-
This task uses interactive elicitation to configure component.
|
|
224
|
-
|
|
225
|
-
1. **Select Component Type**
|
|
226
|
-
- Atomic level (atom, molecule, organism)
|
|
227
|
-
- Component name (Button, Input, Card, etc)
|
|
228
|
-
- Confirm token availability for this component
|
|
229
|
-
|
|
230
|
-
2. **Configure Component Features**
|
|
231
|
-
- Variants needed (primary, secondary, destructive)
|
|
232
|
-
- Sizes needed (sm, md, lg)
|
|
233
|
-
- States needed (hover, disabled, loading, error)
|
|
234
|
-
- Additional props
|
|
235
|
-
|
|
236
|
-
3. **Review Generation Plan**
|
|
237
|
-
- Show files to be generated
|
|
238
|
-
- Confirm test coverage requirements
|
|
239
|
-
- Ask for Storybook stories (if enabled)
|
|
240
|
-
|
|
241
|
-
### Steps
|
|
242
|
-
|
|
243
|
-
1. **Validate Prerequisites**
|
|
244
|
-
- Check tokens are loaded
|
|
245
|
-
- Verify component doesn't already exist (or confirm overwrite)
|
|
246
|
-
- Validate component name (PascalCase)
|
|
247
|
-
- Validation: Ready to generate
|
|
248
|
-
|
|
249
|
-
2. **Load Token References**
|
|
250
|
-
- Identify which tokens this component needs
|
|
251
|
-
- Validate token availability
|
|
252
|
-
- Generate token import statements
|
|
253
|
-
- Validation: All required tokens exist
|
|
254
|
-
|
|
255
|
-
3. **Generate Component File**
|
|
256
|
-
- Create React component using `React.forwardRef` + `Slot` (Radix pattern)
|
|
257
|
-
- Import `cva` + `cn` helpers (`class-variance-authority`, `tailwind-merge`)
|
|
258
|
-
- Implement variants, sizes, density, and loading states
|
|
259
|
-
- Wire ARIA attributes, keyboard handling, dark mode parity
|
|
260
|
-
- Validation: Valid TypeScript (strict), lint clean, no hardcoded CSS values
|
|
261
|
-
|
|
262
|
-
4. **Author Variant Catalogue**
|
|
263
|
-
- Define `cva` config (base classes, variants, compound variants, defaults)
|
|
264
|
-
- Map variant classes to tokens (Tailwind utilities referencing design tokens)
|
|
265
|
-
- Generate story-friendly helper types (VariantProps)
|
|
266
|
-
- Validation: Variants align with consolidated tokens and atomic level
|
|
267
|
-
|
|
268
|
-
5. **Generate Unit Tests**
|
|
269
|
-
- Create test file ({Component}.test.tsx) with RTL + jest-axe
|
|
270
|
-
- Snapshot default render, variant permutations, responsive classes
|
|
271
|
-
- Test loading/disabled state interactions and event handlers
|
|
272
|
-
- Aim for >85% coverage including accessibility assertions
|
|
273
|
-
- Validation: Tests pass locally (npm test) with coverage gated
|
|
274
|
-
|
|
275
|
-
6. **Generate Storybook Stories (Optional)**
|
|
276
|
-
- If Storybook enabled, create {Component}.stories.tsx (Storybook 8 syntax)
|
|
277
|
-
- Provide CSF stories for each variant/size & loading state
|
|
278
|
-
- Configure controls, play functions, a11y addon
|
|
279
|
-
- Validation: `npm run storybook` renders without warnings
|
|
280
|
-
|
|
281
|
-
7. **Run Accessibility Checks**
|
|
282
|
-
- Validate ARIA attributes + keyboard flows (Tab/Shift+Tab/Space/Enter)
|
|
283
|
-
- Check WCAG 2.2 AA + APCA contrast, including dark mode tokens
|
|
284
|
-
- Ensure focus-visible styles present and themable
|
|
285
|
-
- Validation: jest-axe passes, manual keyboard traversal verified
|
|
286
|
-
|
|
287
|
-
8. **Generate Component Documentation**
|
|
288
|
-
- Create {Component}.md in docs/ with overview + variant tables
|
|
289
|
-
- Document props, TypeScript types, default variants, composition notes
|
|
290
|
-
- Include usage for light/dark themes, loading state, accessibility guidance
|
|
291
|
-
- Validation: Docs align with generated code and tokens
|
|
292
|
-
|
|
293
|
-
9. **Update Component Index**
|
|
294
|
-
- Add to design-system/index.ts
|
|
295
|
-
- Export component for easy import
|
|
296
|
-
- Update barrel exports
|
|
297
|
-
- Validation: Component importable
|
|
298
|
-
|
|
299
|
-
10. **Update State File**
|
|
300
|
-
- Add component to patterns_built in .state.yaml
|
|
301
|
-
- Record atomic level, variants, test coverage
|
|
302
|
-
- Increment component count
|
|
303
|
-
- Validation: State tracking updated
|
|
304
|
-
|
|
305
|
-
## Output
|
|
306
|
-
|
|
307
|
-
- **{Component}.tsx**: React TypeScript component (forwardRef + cva)
|
|
308
|
-
- **{Component}.test.tsx**: Unit + accessibility tests
|
|
309
|
-
- **{Component}.stories.tsx**: Storybook stories (optional)
|
|
310
|
-
- **{Component}.md**: Component reference documentation
|
|
311
|
-
- **ui/index.ts**: Barrel export updated
|
|
312
|
-
- **.state.yaml**: Updated with component metadata + variant catalog
|
|
313
|
-
|
|
314
|
-
### Output Format
|
|
315
|
-
|
|
316
|
-
```typescript
|
|
317
|
-
// button.tsx
|
|
318
|
-
import * as React from 'react';
|
|
319
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
320
|
-
import { cva, type VariantProps } from 'class-variance-authority';
|
|
321
|
-
import { cn } from '@/lib/utils';
|
|
322
|
-
import { Spinner } from '@/components/ui/spinner';
|
|
323
|
-
|
|
324
|
-
export const buttonVariants = cva(
|
|
325
|
-
'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-70',
|
|
326
|
-
{
|
|
327
|
-
variants: {
|
|
328
|
-
variant: {
|
|
329
|
-
primary: 'bg-primary text-primary-foreground hover:bg-primary/90',
|
|
330
|
-
secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/90',
|
|
331
|
-
outline: 'border border-border bg-transparent hover:bg-muted'
|
|
332
|
-
},
|
|
333
|
-
size: {
|
|
334
|
-
sm: 'h-9 px-3',
|
|
335
|
-
md: 'h-10 px-4',
|
|
336
|
-
lg: 'h-12 px-6 text-base',
|
|
337
|
-
icon: 'h-10 w-10'
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
|
-
defaultVariants: {
|
|
341
|
-
variant: 'primary',
|
|
342
|
-
size: 'md'
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
);
|
|
346
|
-
|
|
347
|
-
export interface ButtonProps
|
|
348
|
-
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
349
|
-
VariantProps<typeof buttonVariants> {
|
|
350
|
-
asChild?: boolean;
|
|
351
|
-
isLoading?: boolean;
|
|
352
|
-
loadingIcon?: React.ReactNode;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
356
|
-
(
|
|
357
|
-
{ className, variant, size, asChild = false, isLoading = false, loadingIcon, children, ...props },
|
|
358
|
-
ref
|
|
359
|
-
) => {
|
|
360
|
-
const Comp = asChild ? Slot : 'button';
|
|
361
|
-
|
|
362
|
-
return (
|
|
363
|
-
<Comp
|
|
364
|
-
ref={ref}
|
|
365
|
-
className={cn(buttonVariants({ variant, size }), className, isLoading && 'pointer-events-none')}
|
|
366
|
-
data-state={isLoading ? 'loading' : props['data-state']}
|
|
367
|
-
aria-busy={isLoading}
|
|
368
|
-
{...props}
|
|
369
|
-
>
|
|
370
|
-
{isLoading && (loadingIcon ?? <Spinner className="mr-2 h-4 w-4 animate-spin" />)}
|
|
371
|
-
<span className="inline-flex items-center gap-1">{children}</span>
|
|
372
|
-
</Comp>
|
|
373
|
-
);
|
|
374
|
-
}
|
|
375
|
-
);
|
|
376
|
-
Button.displayName = 'Button';
|
|
377
|
-
|
|
378
|
-
export { Button };
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
## Success Criteria
|
|
382
|
-
|
|
383
|
-
- [ ] Component compiles without TypeScript errors (strict) and passes lint
|
|
384
|
-
- [ ] Variants implemented via `cva` with token-backed Tailwind utilities
|
|
385
|
-
- [ ] Props fully typed (VariantProps + custom props) with TSDoc
|
|
386
|
-
- [ ] Loading/disabled states, accessibility attributes, and dark mode supported
|
|
387
|
-
- [ ] Unit + jest-axe tests pass with โฅ85% coverage
|
|
388
|
-
- [ ] Storybook stories render (if enabled) with controls + docs tab
|
|
389
|
-
- [ ] Component documentation published with variant/density tables
|
|
390
|
-
- [ ] .state.yaml updated with variant catalogue + QA status
|
|
391
|
-
|
|
392
|
-
## Error Handling
|
|
393
|
-
|
|
394
|
-
- **Token not found**: Report which token is missing, suggest alternatives
|
|
395
|
-
- **Component exists**: Ask to overwrite or use different name
|
|
396
|
-
- **TypeScript errors**: Display errors, suggest fixes
|
|
397
|
-
- **Test failures**: Show failing tests, don't complete until fixed
|
|
398
|
-
- **Accessibility violations**: Warn and suggest improvements
|
|
399
|
-
|
|
400
|
-
## Security Considerations
|
|
401
|
-
|
|
402
|
-
- Sanitize component name (prevent injection)
|
|
403
|
-
- Validate token references
|
|
404
|
-
- Escape user content in examples
|
|
405
|
-
- No eval() or dynamic code execution
|
|
406
|
-
|
|
407
|
-
## Examples
|
|
408
|
-
|
|
409
|
-
### Example 1: Build Button Component
|
|
410
|
-
|
|
411
|
-
```bash
|
|
412
|
-
*build button
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
Output:
|
|
416
|
-
```
|
|
417
|
-
๐๏ธ Atlas: Building Button component...
|
|
418
|
-
|
|
419
|
-
๐ Configuration:
|
|
420
|
-
- Type: Atom
|
|
421
|
-
- Variants: primary, secondary, outline
|
|
422
|
-
- Sizes: sm, md, lg, icon
|
|
423
|
-
- Loading state: enabled (spinner)
|
|
424
|
-
- Tests: RTL + jest-axe (>85% coverage)
|
|
425
|
-
- Storybook: Yes
|
|
426
|
-
|
|
427
|
-
โ Generated button.tsx (Shadcn-style, cva variants)
|
|
428
|
-
โ Generated button.test.tsx (22 tests, jest-axe assertions)
|
|
429
|
-
โ Generated button.stories.tsx (8 stories, controls + docs)
|
|
430
|
-
โ Generated button.md (usage + theming guidance)
|
|
431
|
-
|
|
432
|
-
๐งช Running tests...
|
|
433
|
-
โ renders default button (matches snapshot)
|
|
434
|
-
โ applies variant classes via cva
|
|
435
|
-
โ shows spinner + disables interactions when loading
|
|
436
|
-
โ passes accessibility audit (jest-axe)
|
|
437
|
-
โ supports asChild slot rendering
|
|
438
|
-
Coverage: 96.4%
|
|
439
|
-
|
|
440
|
-
โฟ Accessibility check:
|
|
441
|
-
โ ARIA attributes present
|
|
442
|
-
โ Color contrast: 4.8:1 (WCAG AA โ)
|
|
443
|
-
โ Keyboard navigable
|
|
444
|
-
โ Focus indicators visible
|
|
445
|
-
|
|
446
|
-
โ
Button component ready!
|
|
447
|
-
|
|
448
|
-
Import: `import { Button } from '@/components/ui/button';`
|
|
449
|
-
Usage: `<Button variant="primary" isLoading>Saving</Button>`
|
|
450
|
-
|
|
451
|
-
Atlas says: "Built right. Built once."
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
### Example 2: Build Input Component
|
|
455
|
-
|
|
456
|
-
```bash
|
|
457
|
-
*build input
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
Output includes additional features:
|
|
461
|
-
- Validation states (error, success)
|
|
462
|
-
- Helper text prop
|
|
463
|
-
- Label integration
|
|
464
|
-
- Icon slots
|
|
465
|
-
|
|
466
|
-
## Notes
|
|
467
|
-
|
|
468
|
-
- All components strictly typed with TypeScript
|
|
469
|
-
- Zero hardcoded values enforced (tokens only)
|
|
470
|
-
- Accessibility is non-negotiable (WCAG AA minimum)
|
|
471
|
-
- Test coverage >80% required
|
|
472
|
-
- Tailwind utilities + tokens ensure zero hardcoded values
|
|
473
|
-
- Variants and sizes extend via `cva` without editing component body
|
|
474
|
-
- Components are tree-shakeable and server-component friendly
|
|
475
|
-
- Storybook stories enable visual + interaction testing
|
|
476
|
-
- Documentation mirrors props/types for instant onboarding
|
|
477
|
-
- Components follow Atomic Design principles
|
|
478
|
-
- Atlas ensures quality at every step
|
|
1
|
+
# Build Production-Ready Component
|
|
2
|
+
|
|
3
|
+
> Task ID: atlas-build-component
|
|
4
|
+
> Agent: Atlas (Design System Builder)
|
|
5
|
+
> Version: 1.0.0
|
|
6
|
+
|
|
7
|
+
## Execution Modes
|
|
8
|
+
|
|
9
|
+
**Choose your execution mode:**
|
|
10
|
+
|
|
11
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
12
|
+
- Autonomous decision making with logging
|
|
13
|
+
- Minimal user interaction
|
|
14
|
+
- **Best for:** Simple, deterministic tasks
|
|
15
|
+
|
|
16
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
17
|
+
- Explicit decision checkpoints
|
|
18
|
+
- Educational explanations
|
|
19
|
+
- **Best for:** Learning, complex decisions
|
|
20
|
+
|
|
21
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
22
|
+
- Task analysis phase (identify all ambiguities)
|
|
23
|
+
- Zero ambiguity execution
|
|
24
|
+
- **Best for:** Ambiguous requirements, critical work
|
|
25
|
+
|
|
26
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
task: buildComponent()
|
|
34
|
+
responsรกvel: Uma (Empathizer)
|
|
35
|
+
responsavel_type: Agente
|
|
36
|
+
atomic_layer: Molecule
|
|
37
|
+
|
|
38
|
+
**Entrada:**
|
|
39
|
+
- campo: name
|
|
40
|
+
tipo: string
|
|
41
|
+
origem: User Input
|
|
42
|
+
obrigatรณrio: true
|
|
43
|
+
validaรงรฃo: Must be non-empty, lowercase, kebab-case
|
|
44
|
+
|
|
45
|
+
- campo: options
|
|
46
|
+
tipo: object
|
|
47
|
+
origem: User Input
|
|
48
|
+
obrigatรณrio: false
|
|
49
|
+
validaรงรฃo: Valid JSON object with allowed keys
|
|
50
|
+
|
|
51
|
+
- campo: force
|
|
52
|
+
tipo: boolean
|
|
53
|
+
origem: User Input
|
|
54
|
+
obrigatรณrio: false
|
|
55
|
+
validaรงรฃo: Default: false
|
|
56
|
+
|
|
57
|
+
**Saรญda:**
|
|
58
|
+
- campo: created_file
|
|
59
|
+
tipo: string
|
|
60
|
+
destino: File system
|
|
61
|
+
persistido: true
|
|
62
|
+
|
|
63
|
+
- campo: validation_report
|
|
64
|
+
tipo: object
|
|
65
|
+
destino: Memory
|
|
66
|
+
persistido: false
|
|
67
|
+
|
|
68
|
+
- campo: success
|
|
69
|
+
tipo: boolean
|
|
70
|
+
destino: Return value
|
|
71
|
+
persistido: false
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Pre-Conditions
|
|
77
|
+
|
|
78
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
79
|
+
|
|
80
|
+
**Checklist:**
|
|
81
|
+
|
|
82
|
+
```yaml
|
|
83
|
+
pre-conditions:
|
|
84
|
+
- [ ] Target does not already exist; required inputs provided; permissions granted
|
|
85
|
+
tipo: pre-condition
|
|
86
|
+
blocker: true
|
|
87
|
+
validaรงรฃo: |
|
|
88
|
+
Check target does not already exist; required inputs provided; permissions granted
|
|
89
|
+
error_message: "Pre-condition failed: Target does not already exist; required inputs provided; permissions granted"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Post-Conditions
|
|
95
|
+
|
|
96
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
97
|
+
|
|
98
|
+
**Checklist:**
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
post-conditions:
|
|
102
|
+
- [ ] Resource created successfully; validation passed; no errors logged
|
|
103
|
+
tipo: post-condition
|
|
104
|
+
blocker: true
|
|
105
|
+
validaรงรฃo: |
|
|
106
|
+
Verify resource created successfully; validation passed; no errors logged
|
|
107
|
+
error_message: "Post-condition failed: Resource created successfully; validation passed; no errors logged"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Acceptance Criteria
|
|
113
|
+
|
|
114
|
+
**Purpose:** Definitive pass/fail criteria for task completion
|
|
115
|
+
|
|
116
|
+
**Checklist:**
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
acceptance-criteria:
|
|
120
|
+
- [ ] Resource exists and is valid; no duplicate resources created
|
|
121
|
+
tipo: acceptance-criterion
|
|
122
|
+
blocker: true
|
|
123
|
+
validaรงรฃo: |
|
|
124
|
+
Assert resource exists and is valid; no duplicate resources created
|
|
125
|
+
error_message: "Acceptance criterion not met: Resource exists and is valid; no duplicate resources created"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Tools
|
|
131
|
+
|
|
132
|
+
**External/shared resources used by this task:**
|
|
133
|
+
|
|
134
|
+
- **Tool:** component-generator
|
|
135
|
+
- **Purpose:** Generate new components from templates
|
|
136
|
+
- **Source:** .aios-core/scripts/component-generator.js
|
|
137
|
+
|
|
138
|
+
- **Tool:** file-system
|
|
139
|
+
- **Purpose:** File creation and validation
|
|
140
|
+
- **Source:** Node.js fs module
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Scripts
|
|
145
|
+
|
|
146
|
+
**Agent-specific code for this task:**
|
|
147
|
+
|
|
148
|
+
- **Script:** create-component.js
|
|
149
|
+
- **Purpose:** Component creation workflow
|
|
150
|
+
- **Language:** JavaScript
|
|
151
|
+
- **Location:** .aios-core/scripts/create-component.js
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Error Handling
|
|
156
|
+
|
|
157
|
+
**Strategy:** retry
|
|
158
|
+
|
|
159
|
+
**Common Errors:**
|
|
160
|
+
|
|
161
|
+
1. **Error:** Resource Already Exists
|
|
162
|
+
- **Cause:** Target file/resource already exists in system
|
|
163
|
+
- **Resolution:** Use force flag or choose different name
|
|
164
|
+
- **Recovery:** Prompt user for alternative name or force overwrite
|
|
165
|
+
|
|
166
|
+
2. **Error:** Invalid Input
|
|
167
|
+
- **Cause:** Input name contains invalid characters or format
|
|
168
|
+
- **Resolution:** Validate input against naming rules (kebab-case, lowercase, no special chars)
|
|
169
|
+
- **Recovery:** Sanitize input or reject with clear error message
|
|
170
|
+
|
|
171
|
+
3. **Error:** Permission Denied
|
|
172
|
+
- **Cause:** Insufficient permissions to create resource
|
|
173
|
+
- **Resolution:** Check file system permissions, run with elevated privileges if needed
|
|
174
|
+
- **Recovery:** Log error, notify user, suggest permission fix
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Performance
|
|
179
|
+
|
|
180
|
+
**Expected Metrics:**
|
|
181
|
+
|
|
182
|
+
```yaml
|
|
183
|
+
duration_expected: 2-5 min (estimated)
|
|
184
|
+
cost_estimated: $0.001-0.003
|
|
185
|
+
token_usage: ~1,000-3,000 tokens
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Optimization Notes:**
|
|
189
|
+
- Parallelize independent operations; reuse atom results; implement early exits
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Metadata
|
|
194
|
+
|
|
195
|
+
```yaml
|
|
196
|
+
story: N/A
|
|
197
|
+
version: 1.0.0
|
|
198
|
+
dependencies:
|
|
199
|
+
- N/A
|
|
200
|
+
tags:
|
|
201
|
+
- automation
|
|
202
|
+
- workflow
|
|
203
|
+
updated_at: 2025-11-17
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## Description
|
|
210
|
+
|
|
211
|
+
Generate production-ready React TypeScript component from design tokens. Output follows Shadcn-style Tailwind utility patterns with `cva` variants, optional Radix composition, tests, Storybook stories, and documentation. All styling uses tokens/variables (zero hardcoded values) and supports loading/accessibility states out of the box.
|
|
212
|
+
|
|
213
|
+
## Prerequisites
|
|
214
|
+
|
|
215
|
+
- Setup completed (*setup command run successfully)
|
|
216
|
+
- Tokens loaded and accessible
|
|
217
|
+
- React and TypeScript configured
|
|
218
|
+
|
|
219
|
+
## Workflow
|
|
220
|
+
|
|
221
|
+
### Interactive Elicitation
|
|
222
|
+
|
|
223
|
+
This task uses interactive elicitation to configure component.
|
|
224
|
+
|
|
225
|
+
1. **Select Component Type**
|
|
226
|
+
- Atomic level (atom, molecule, organism)
|
|
227
|
+
- Component name (Button, Input, Card, etc)
|
|
228
|
+
- Confirm token availability for this component
|
|
229
|
+
|
|
230
|
+
2. **Configure Component Features**
|
|
231
|
+
- Variants needed (primary, secondary, destructive)
|
|
232
|
+
- Sizes needed (sm, md, lg)
|
|
233
|
+
- States needed (hover, disabled, loading, error)
|
|
234
|
+
- Additional props
|
|
235
|
+
|
|
236
|
+
3. **Review Generation Plan**
|
|
237
|
+
- Show files to be generated
|
|
238
|
+
- Confirm test coverage requirements
|
|
239
|
+
- Ask for Storybook stories (if enabled)
|
|
240
|
+
|
|
241
|
+
### Steps
|
|
242
|
+
|
|
243
|
+
1. **Validate Prerequisites**
|
|
244
|
+
- Check tokens are loaded
|
|
245
|
+
- Verify component doesn't already exist (or confirm overwrite)
|
|
246
|
+
- Validate component name (PascalCase)
|
|
247
|
+
- Validation: Ready to generate
|
|
248
|
+
|
|
249
|
+
2. **Load Token References**
|
|
250
|
+
- Identify which tokens this component needs
|
|
251
|
+
- Validate token availability
|
|
252
|
+
- Generate token import statements
|
|
253
|
+
- Validation: All required tokens exist
|
|
254
|
+
|
|
255
|
+
3. **Generate Component File**
|
|
256
|
+
- Create React component using `React.forwardRef` + `Slot` (Radix pattern)
|
|
257
|
+
- Import `cva` + `cn` helpers (`class-variance-authority`, `tailwind-merge`)
|
|
258
|
+
- Implement variants, sizes, density, and loading states
|
|
259
|
+
- Wire ARIA attributes, keyboard handling, dark mode parity
|
|
260
|
+
- Validation: Valid TypeScript (strict), lint clean, no hardcoded CSS values
|
|
261
|
+
|
|
262
|
+
4. **Author Variant Catalogue**
|
|
263
|
+
- Define `cva` config (base classes, variants, compound variants, defaults)
|
|
264
|
+
- Map variant classes to tokens (Tailwind utilities referencing design tokens)
|
|
265
|
+
- Generate story-friendly helper types (VariantProps)
|
|
266
|
+
- Validation: Variants align with consolidated tokens and atomic level
|
|
267
|
+
|
|
268
|
+
5. **Generate Unit Tests**
|
|
269
|
+
- Create test file ({Component}.test.tsx) with RTL + jest-axe
|
|
270
|
+
- Snapshot default render, variant permutations, responsive classes
|
|
271
|
+
- Test loading/disabled state interactions and event handlers
|
|
272
|
+
- Aim for >85% coverage including accessibility assertions
|
|
273
|
+
- Validation: Tests pass locally (npm test) with coverage gated
|
|
274
|
+
|
|
275
|
+
6. **Generate Storybook Stories (Optional)**
|
|
276
|
+
- If Storybook enabled, create {Component}.stories.tsx (Storybook 8 syntax)
|
|
277
|
+
- Provide CSF stories for each variant/size & loading state
|
|
278
|
+
- Configure controls, play functions, a11y addon
|
|
279
|
+
- Validation: `npm run storybook` renders without warnings
|
|
280
|
+
|
|
281
|
+
7. **Run Accessibility Checks**
|
|
282
|
+
- Validate ARIA attributes + keyboard flows (Tab/Shift+Tab/Space/Enter)
|
|
283
|
+
- Check WCAG 2.2 AA + APCA contrast, including dark mode tokens
|
|
284
|
+
- Ensure focus-visible styles present and themable
|
|
285
|
+
- Validation: jest-axe passes, manual keyboard traversal verified
|
|
286
|
+
|
|
287
|
+
8. **Generate Component Documentation**
|
|
288
|
+
- Create {Component}.md in docs/ with overview + variant tables
|
|
289
|
+
- Document props, TypeScript types, default variants, composition notes
|
|
290
|
+
- Include usage for light/dark themes, loading state, accessibility guidance
|
|
291
|
+
- Validation: Docs align with generated code and tokens
|
|
292
|
+
|
|
293
|
+
9. **Update Component Index**
|
|
294
|
+
- Add to design-system/index.ts
|
|
295
|
+
- Export component for easy import
|
|
296
|
+
- Update barrel exports
|
|
297
|
+
- Validation: Component importable
|
|
298
|
+
|
|
299
|
+
10. **Update State File**
|
|
300
|
+
- Add component to patterns_built in .state.yaml
|
|
301
|
+
- Record atomic level, variants, test coverage
|
|
302
|
+
- Increment component count
|
|
303
|
+
- Validation: State tracking updated
|
|
304
|
+
|
|
305
|
+
## Output
|
|
306
|
+
|
|
307
|
+
- **{Component}.tsx**: React TypeScript component (forwardRef + cva)
|
|
308
|
+
- **{Component}.test.tsx**: Unit + accessibility tests
|
|
309
|
+
- **{Component}.stories.tsx**: Storybook stories (optional)
|
|
310
|
+
- **{Component}.md**: Component reference documentation
|
|
311
|
+
- **ui/index.ts**: Barrel export updated
|
|
312
|
+
- **.state.yaml**: Updated with component metadata + variant catalog
|
|
313
|
+
|
|
314
|
+
### Output Format
|
|
315
|
+
|
|
316
|
+
```typescript
|
|
317
|
+
// button.tsx
|
|
318
|
+
import * as React from 'react';
|
|
319
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
320
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
321
|
+
import { cn } from '@/lib/utils';
|
|
322
|
+
import { Spinner } from '@/components/ui/spinner';
|
|
323
|
+
|
|
324
|
+
export const buttonVariants = cva(
|
|
325
|
+
'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-70',
|
|
326
|
+
{
|
|
327
|
+
variants: {
|
|
328
|
+
variant: {
|
|
329
|
+
primary: 'bg-primary text-primary-foreground hover:bg-primary/90',
|
|
330
|
+
secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/90',
|
|
331
|
+
outline: 'border border-border bg-transparent hover:bg-muted'
|
|
332
|
+
},
|
|
333
|
+
size: {
|
|
334
|
+
sm: 'h-9 px-3',
|
|
335
|
+
md: 'h-10 px-4',
|
|
336
|
+
lg: 'h-12 px-6 text-base',
|
|
337
|
+
icon: 'h-10 w-10'
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
defaultVariants: {
|
|
341
|
+
variant: 'primary',
|
|
342
|
+
size: 'md'
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
);
|
|
346
|
+
|
|
347
|
+
export interface ButtonProps
|
|
348
|
+
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
349
|
+
VariantProps<typeof buttonVariants> {
|
|
350
|
+
asChild?: boolean;
|
|
351
|
+
isLoading?: boolean;
|
|
352
|
+
loadingIcon?: React.ReactNode;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
356
|
+
(
|
|
357
|
+
{ className, variant, size, asChild = false, isLoading = false, loadingIcon, children, ...props },
|
|
358
|
+
ref
|
|
359
|
+
) => {
|
|
360
|
+
const Comp = asChild ? Slot : 'button';
|
|
361
|
+
|
|
362
|
+
return (
|
|
363
|
+
<Comp
|
|
364
|
+
ref={ref}
|
|
365
|
+
className={cn(buttonVariants({ variant, size }), className, isLoading && 'pointer-events-none')}
|
|
366
|
+
data-state={isLoading ? 'loading' : props['data-state']}
|
|
367
|
+
aria-busy={isLoading}
|
|
368
|
+
{...props}
|
|
369
|
+
>
|
|
370
|
+
{isLoading && (loadingIcon ?? <Spinner className="mr-2 h-4 w-4 animate-spin" />)}
|
|
371
|
+
<span className="inline-flex items-center gap-1">{children}</span>
|
|
372
|
+
</Comp>
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
);
|
|
376
|
+
Button.displayName = 'Button';
|
|
377
|
+
|
|
378
|
+
export { Button };
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
## Success Criteria
|
|
382
|
+
|
|
383
|
+
- [ ] Component compiles without TypeScript errors (strict) and passes lint
|
|
384
|
+
- [ ] Variants implemented via `cva` with token-backed Tailwind utilities
|
|
385
|
+
- [ ] Props fully typed (VariantProps + custom props) with TSDoc
|
|
386
|
+
- [ ] Loading/disabled states, accessibility attributes, and dark mode supported
|
|
387
|
+
- [ ] Unit + jest-axe tests pass with โฅ85% coverage
|
|
388
|
+
- [ ] Storybook stories render (if enabled) with controls + docs tab
|
|
389
|
+
- [ ] Component documentation published with variant/density tables
|
|
390
|
+
- [ ] .state.yaml updated with variant catalogue + QA status
|
|
391
|
+
|
|
392
|
+
## Error Handling
|
|
393
|
+
|
|
394
|
+
- **Token not found**: Report which token is missing, suggest alternatives
|
|
395
|
+
- **Component exists**: Ask to overwrite or use different name
|
|
396
|
+
- **TypeScript errors**: Display errors, suggest fixes
|
|
397
|
+
- **Test failures**: Show failing tests, don't complete until fixed
|
|
398
|
+
- **Accessibility violations**: Warn and suggest improvements
|
|
399
|
+
|
|
400
|
+
## Security Considerations
|
|
401
|
+
|
|
402
|
+
- Sanitize component name (prevent injection)
|
|
403
|
+
- Validate token references
|
|
404
|
+
- Escape user content in examples
|
|
405
|
+
- No eval() or dynamic code execution
|
|
406
|
+
|
|
407
|
+
## Examples
|
|
408
|
+
|
|
409
|
+
### Example 1: Build Button Component
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
*build button
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
Output:
|
|
416
|
+
```
|
|
417
|
+
๐๏ธ Atlas: Building Button component...
|
|
418
|
+
|
|
419
|
+
๐ Configuration:
|
|
420
|
+
- Type: Atom
|
|
421
|
+
- Variants: primary, secondary, outline
|
|
422
|
+
- Sizes: sm, md, lg, icon
|
|
423
|
+
- Loading state: enabled (spinner)
|
|
424
|
+
- Tests: RTL + jest-axe (>85% coverage)
|
|
425
|
+
- Storybook: Yes
|
|
426
|
+
|
|
427
|
+
โ Generated button.tsx (Shadcn-style, cva variants)
|
|
428
|
+
โ Generated button.test.tsx (22 tests, jest-axe assertions)
|
|
429
|
+
โ Generated button.stories.tsx (8 stories, controls + docs)
|
|
430
|
+
โ Generated button.md (usage + theming guidance)
|
|
431
|
+
|
|
432
|
+
๐งช Running tests...
|
|
433
|
+
โ renders default button (matches snapshot)
|
|
434
|
+
โ applies variant classes via cva
|
|
435
|
+
โ shows spinner + disables interactions when loading
|
|
436
|
+
โ passes accessibility audit (jest-axe)
|
|
437
|
+
โ supports asChild slot rendering
|
|
438
|
+
Coverage: 96.4%
|
|
439
|
+
|
|
440
|
+
โฟ Accessibility check:
|
|
441
|
+
โ ARIA attributes present
|
|
442
|
+
โ Color contrast: 4.8:1 (WCAG AA โ)
|
|
443
|
+
โ Keyboard navigable
|
|
444
|
+
โ Focus indicators visible
|
|
445
|
+
|
|
446
|
+
โ
Button component ready!
|
|
447
|
+
|
|
448
|
+
Import: `import { Button } from '@/components/ui/button';`
|
|
449
|
+
Usage: `<Button variant="primary" isLoading>Saving</Button>`
|
|
450
|
+
|
|
451
|
+
Atlas says: "Built right. Built once."
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### Example 2: Build Input Component
|
|
455
|
+
|
|
456
|
+
```bash
|
|
457
|
+
*build input
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
Output includes additional features:
|
|
461
|
+
- Validation states (error, success)
|
|
462
|
+
- Helper text prop
|
|
463
|
+
- Label integration
|
|
464
|
+
- Icon slots
|
|
465
|
+
|
|
466
|
+
## Notes
|
|
467
|
+
|
|
468
|
+
- All components strictly typed with TypeScript
|
|
469
|
+
- Zero hardcoded values enforced (tokens only)
|
|
470
|
+
- Accessibility is non-negotiable (WCAG AA minimum)
|
|
471
|
+
- Test coverage >80% required
|
|
472
|
+
- Tailwind utilities + tokens ensure zero hardcoded values
|
|
473
|
+
- Variants and sizes extend via `cva` without editing component body
|
|
474
|
+
- Components are tree-shakeable and server-component friendly
|
|
475
|
+
- Storybook stories enable visual + interaction testing
|
|
476
|
+
- Documentation mirrors props/types for instant onboarding
|
|
477
|
+
- Components follow Atomic Design principles
|
|
478
|
+
- Atlas ensures quality at every step
|