moai-adk 0.25.4__py3-none-any.whl → 0.32.8__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +2 -5
- moai_adk/__main__.py +114 -82
- moai_adk/cli/__init__.py +6 -1
- moai_adk/cli/commands/__init__.py +1 -3
- moai_adk/cli/commands/analyze.py +5 -16
- moai_adk/cli/commands/doctor.py +6 -18
- moai_adk/cli/commands/init.py +56 -125
- moai_adk/cli/commands/language.py +14 -35
- moai_adk/cli/commands/status.py +9 -15
- moai_adk/cli/commands/update.py +1555 -190
- moai_adk/cli/prompts/init_prompts.py +112 -56
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +672 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +490 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +128 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/analysis/session_analyzer.py +17 -56
- moai_adk/core/claude_integration.py +26 -54
- moai_adk/core/command_helpers.py +10 -10
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/auto_spec_config.py +5 -11
- moai_adk/core/config/migration.py +19 -9
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +6 -12
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +725 -112
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -0
- moai_adk/core/git/branch_manager.py +3 -11
- moai_adk/core/git/checkpoint.py +1 -3
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/manager.py +91 -1
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/engine.py +6 -18
- moai_adk/core/integration/integration_tester.py +10 -9
- moai_adk/core/integration/utils.py +1 -1
- moai_adk/core/issue_creator.py +10 -28
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config_resolver.py +485 -0
- moai_adk/core/language_validator.py +28 -41
- moai_adk/core/mcp/setup.py +15 -12
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +78 -9
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +8 -17
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +6 -10
- moai_adk/core/migration/version_migrator.py +3 -3
- moai_adk/core/performance/cache_system.py +8 -10
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +1 -3
- moai_adk/core/project/initializer.py +135 -23
- moai_adk/core/project/phase_executor.py +54 -81
- moai_adk/core/project/validator.py +6 -12
- moai_adk/core/quality/trust_checker.py +9 -27
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +73 -148
- moai_adk/core/session_manager.py +10 -26
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +31 -100
- moai_adk/core/spec/ears_template_engine.py +351 -286
- moai_adk/core/spec/quality_validator.py +35 -69
- moai_adk/core/spec_status_manager.py +64 -74
- moai_adk/core/template/backup.py +45 -20
- moai_adk/core/template/config.py +112 -39
- moai_adk/core/template/merger.py +11 -19
- moai_adk/core/template/processor.py +253 -149
- moai_adk/core/template_engine.py +73 -40
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +4 -12
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +23 -72
- moai_adk/foundation/trust/validation_checklist.py +57 -162
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/alfred_detector.py +1 -3
- moai_adk/statusline/config.py +13 -4
- moai_adk/statusline/enhanced_output_style_detector.py +23 -15
- moai_adk/statusline/main.py +51 -15
- moai_adk/statusline/renderer.py +104 -48
- moai_adk/statusline/update_checker.py +3 -9
- moai_adk/statusline/version_reader.py +140 -46
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +103 -41
- moai_adk/templates/.git-hooks/pre-push +116 -21
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.gitignore +184 -44
- moai_adk/templates/.mcp.json +7 -9
- moai_adk/templates/.moai/cache/personalization.json +10 -0
- moai_adk/templates/.moai/config/config.yaml +344 -0
- moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
- moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
- moai_adk/templates/.moai/config/presets/team.yaml +33 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
- moai_adk/templates/.moai/config/sections/system.yaml +14 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +382 -501
- moai_adk/utils/__init__.py +24 -1
- moai_adk/utils/banner.py +7 -10
- moai_adk/utils/common.py +16 -30
- moai_adk/utils/link_validator.py +4 -12
- moai_adk/utils/safe_file_reader.py +2 -6
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.32.8.dist-info/METADATA +2478 -0
- moai_adk-0.32.8.dist-info/RECORD +396 -0
- {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
- {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -82
- moai_adk/cli/commands/improve_user_experience.py +0 -348
- moai_adk/cli/commands/migrate.py +0 -158
- moai_adk/cli/commands/validate_links.py +0 -118
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
- moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
- moai_adk/utils/user_experience.py +0 -531
- moai_adk-0.25.4.dist-info/METADATA +0 -2279
- moai_adk-0.25.4.dist-info/RECORD +0 -112
- {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-library-nextra/optimization
|
|
3
|
+
description: Performance optimization for Nextra sites, caching, static generation, and deployment
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Nextra Architecture Optimization (v5.0.0)
|
|
7
|
+
|
|
8
|
+
## Static Generation and Caching
|
|
9
|
+
|
|
10
|
+
### 1. Incremental Static Regeneration (ISR)
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
// pages/docs/[...slug].tsx
|
|
14
|
+
import { GetStaticProps, GetStaticPaths } from 'next';
|
|
15
|
+
|
|
16
|
+
interface DocsPageProps {
|
|
17
|
+
content: string;
|
|
18
|
+
meta: PageMetadata;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const getStaticPaths: GetStaticPaths = async () => {
|
|
22
|
+
// Generate paths for all documentation pages
|
|
23
|
+
const pages = await getAllDocumentationPages();
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
paths: pages.map(page => ({
|
|
27
|
+
params: { slug: page.path.split('/').filter(Boolean) }
|
|
28
|
+
})),
|
|
29
|
+
fallback: 'blocking' // Generate on-demand
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const getStaticProps: GetStaticProps<DocsPageProps> = async ({ params }) => {
|
|
34
|
+
const slug = Array.isArray(params?.slug) ? params.slug.join('/') : params?.slug;
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
const { content, meta } = await getDocumentationPage(slug);
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
props: { content, meta },
|
|
41
|
+
revalidate: 3600 // ISR: revalidate every hour
|
|
42
|
+
};
|
|
43
|
+
} catch (error) {
|
|
44
|
+
return {
|
|
45
|
+
notFound: true,
|
|
46
|
+
revalidate: 60 // Retry failed pages more frequently
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export default function DocsPage({ content, meta }: DocsPageProps) {
|
|
52
|
+
return (
|
|
53
|
+
<article>
|
|
54
|
+
<h1>{meta.title}</h1>
|
|
55
|
+
<div dangerouslySetInnerHTML={{ __html: content }} />
|
|
56
|
+
</article>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Build-Time Optimization
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
// next.config.js
|
|
65
|
+
module.exports = {
|
|
66
|
+
// Optimize images
|
|
67
|
+
images: {
|
|
68
|
+
formats: ['image/avif', 'image/webp'],
|
|
69
|
+
unoptimized: false
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
// Compression
|
|
73
|
+
compress: true,
|
|
74
|
+
poweredByHeader: false,
|
|
75
|
+
|
|
76
|
+
// SWC minification (faster than Terser)
|
|
77
|
+
swcMinify: true,
|
|
78
|
+
|
|
79
|
+
// React optimization
|
|
80
|
+
reactStrictMode: true,
|
|
81
|
+
|
|
82
|
+
// Font optimization
|
|
83
|
+
optimizeFonts: true,
|
|
84
|
+
|
|
85
|
+
// Experimental features for better performance
|
|
86
|
+
experimental: {
|
|
87
|
+
optimizePackageImports: [
|
|
88
|
+
'@mui/material',
|
|
89
|
+
'@mui/icons-material'
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
// Custom webpack config
|
|
94
|
+
webpack: (config, { isServer }) => {
|
|
95
|
+
// Tree shaking optimization
|
|
96
|
+
config.optimization.usedExports = true;
|
|
97
|
+
|
|
98
|
+
return config;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Content Caching Strategy
|
|
104
|
+
|
|
105
|
+
### 1. Multi-Layer Caching
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
class DocumentationCache {
|
|
109
|
+
private fileCache = new Map<string, CacheEntry>();
|
|
110
|
+
private renderCache = new Map<string, CacheEntry>();
|
|
111
|
+
|
|
112
|
+
async getDocumentationPage(slug: string): Promise<PageContent> {
|
|
113
|
+
// Layer 1: In-memory render cache (milliseconds)
|
|
114
|
+
const renderCached = this.renderCache.get(slug);
|
|
115
|
+
if (renderCached && !this.isExpired(renderCached)) {
|
|
116
|
+
return renderCached.data;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Layer 2: File system cache (seconds)
|
|
120
|
+
const fileCached = this.fileCache.get(slug);
|
|
121
|
+
if (fileCached && !this.isExpired(fileCached)) {
|
|
122
|
+
return fileCached.data;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Layer 3: Read from disk
|
|
126
|
+
const content = await this.readFromDisk(slug);
|
|
127
|
+
|
|
128
|
+
// Cache to all layers
|
|
129
|
+
this.fileCache.set(slug, {
|
|
130
|
+
data: content,
|
|
131
|
+
timestamp: Date.now(),
|
|
132
|
+
ttl: 3600000 // 1 hour
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
this.renderCache.set(slug, {
|
|
136
|
+
data: content,
|
|
137
|
+
timestamp: Date.now(),
|
|
138
|
+
ttl: 60000 // 1 minute
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
return content;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
private isExpired(entry: CacheEntry): boolean {
|
|
145
|
+
return Date.now() - entry.timestamp > entry.ttl;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Search Performance Optimization
|
|
151
|
+
|
|
152
|
+
### 1. Index Compression and Caching
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
class OptimizedSearchIndex {
|
|
156
|
+
async buildCompressedIndex(documents: SearchableContent[]): Promise<Buffer> {
|
|
157
|
+
// Create optimized index structure
|
|
158
|
+
const index = {
|
|
159
|
+
documents: documents.map(doc => ({
|
|
160
|
+
id: doc.id,
|
|
161
|
+
title: doc.title,
|
|
162
|
+
tokens: this.tokenize(doc.content)
|
|
163
|
+
})),
|
|
164
|
+
invertedIndex: this.buildInvertedIndex(documents),
|
|
165
|
+
metadata: {
|
|
166
|
+
version: 1,
|
|
167
|
+
generated: Date.now(),
|
|
168
|
+
count: documents.length
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// Compress with brotli (better compression than gzip)
|
|
173
|
+
const json = JSON.stringify(index);
|
|
174
|
+
const compressed = await this.brotliCompress(json);
|
|
175
|
+
|
|
176
|
+
// Cache compressed index
|
|
177
|
+
await this.cacheIndex(compressed);
|
|
178
|
+
|
|
179
|
+
return compressed;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
private buildInvertedIndex(
|
|
183
|
+
documents: SearchableContent[]
|
|
184
|
+
): Map<string, number[]> {
|
|
185
|
+
const invertedIndex = new Map<string, number[]>();
|
|
186
|
+
|
|
187
|
+
documents.forEach((doc, idx) => {
|
|
188
|
+
const tokens = this.tokenize(doc.content);
|
|
189
|
+
|
|
190
|
+
for (const token of tokens) {
|
|
191
|
+
if (!invertedIndex.has(token)) {
|
|
192
|
+
invertedIndex.set(token, []);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
invertedIndex.get(token)!.push(idx);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
return invertedIndex;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
private tokenize(text: string): string[] {
|
|
203
|
+
return text
|
|
204
|
+
.toLowerCase()
|
|
205
|
+
.match(/\b\w+\b/g) || [];
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
private async brotliCompress(data: string): Promise<Buffer> {
|
|
209
|
+
return new Promise((resolve, reject) => {
|
|
210
|
+
require('brotli').compress(Buffer.from(data), (err: any, output: Buffer) => {
|
|
211
|
+
if (err) reject(err);
|
|
212
|
+
else resolve(output);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Deployment Optimization
|
|
220
|
+
|
|
221
|
+
### 1. Vercel Deployment Configuration
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
// vercel.json
|
|
225
|
+
{
|
|
226
|
+
"buildCommand": "next build",
|
|
227
|
+
"outputDirectory": ".next",
|
|
228
|
+
"devCommand": "next dev",
|
|
229
|
+
"env": {
|
|
230
|
+
"SEARCH_ENABLED": "@search_enabled"
|
|
231
|
+
},
|
|
232
|
+
"functions": {
|
|
233
|
+
"pages/api/": {
|
|
234
|
+
"memory": 256,
|
|
235
|
+
"maxDuration": 30
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"redirects": [
|
|
239
|
+
{
|
|
240
|
+
"source": "/docs/:slug*",
|
|
241
|
+
"destination": "/:slug*"
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"headers": [
|
|
245
|
+
{
|
|
246
|
+
"source": "/(_next|public)/:path*",
|
|
247
|
+
"headers": [
|
|
248
|
+
{
|
|
249
|
+
"key": "Cache-Control",
|
|
250
|
+
"value": "public, max-age=31536000, immutable"
|
|
251
|
+
}
|
|
252
|
+
]
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"source": "/:path*",
|
|
256
|
+
"headers": [
|
|
257
|
+
{
|
|
258
|
+
"key": "Cache-Control",
|
|
259
|
+
"value": "public, max-age=3600, s-maxage=86400"
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
}
|
|
263
|
+
]
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### 2. Performance Monitoring
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
class NextraPerformanceMonitor {
|
|
271
|
+
async trackPageLoad(slug: string, duration: number) {
|
|
272
|
+
metrics.observe('page.load.duration', duration, {
|
|
273
|
+
page: slug,
|
|
274
|
+
bucket: this.getDurationBucket(duration)
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
// Alert if exceeds budget
|
|
278
|
+
if (duration > 3000) {
|
|
279
|
+
metrics.increment('page.load.slow');
|
|
280
|
+
logger.warn('Slow page load', { slug, duration });
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
async trackBuildTime(buildDuration: number) {
|
|
285
|
+
metrics.observe('build.duration', buildDuration);
|
|
286
|
+
|
|
287
|
+
if (buildDuration > 600000) { // 10 minutes
|
|
288
|
+
metrics.increment('build.slow');
|
|
289
|
+
logger.warn('Slow build detected', { buildDuration });
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
private getDurationBucket(duration: number): string {
|
|
294
|
+
if (duration < 1000) return 'fast';
|
|
295
|
+
if (duration < 3000) return 'normal';
|
|
296
|
+
return 'slow';
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
Version: 5.0.0 | Last Updated: 2025-11-22 | Enterprise Ready:
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-library-shadcn
|
|
3
|
+
aliases: [moai-library-shadcn]
|
|
4
|
+
category: library
|
|
5
|
+
description: Moai Lib Shadcn Ui - Professional implementation guide
|
|
6
|
+
version: 2.0.0
|
|
7
|
+
modularized: true
|
|
8
|
+
tags:
|
|
9
|
+
- library
|
|
10
|
+
- shadcn
|
|
11
|
+
- enterprise
|
|
12
|
+
- development
|
|
13
|
+
- ui
|
|
14
|
+
updated: 2025-11-27
|
|
15
|
+
status: active
|
|
16
|
+
## Quick Reference (30 seconds)
|
|
17
|
+
|
|
18
|
+
# Enterprise shadcn/ui Component Library Expert
|
|
19
|
+
|
|
20
|
+
Comprehensive shadcn/ui expertise with AI-powered design system architecture, Context7 integration, and intelligent component orchestration for modern React applications.
|
|
21
|
+
|
|
22
|
+
Core Capabilities:
|
|
23
|
+
- AI-Powered Component Architecture using Context7 MCP
|
|
24
|
+
- Intelligent Design System with automated theme customization
|
|
25
|
+
- Advanced Component Orchestration with accessibility and performance
|
|
26
|
+
- Enterprise UI Framework with zero-configuration design tokens
|
|
27
|
+
- Predictive Component Analytics with usage insights
|
|
28
|
+
|
|
29
|
+
When to Use:
|
|
30
|
+
- shadcn/ui component library discussions
|
|
31
|
+
- React component architecture planning
|
|
32
|
+
- Tailwind CSS integration and design tokens
|
|
33
|
+
- Accessibility implementation
|
|
34
|
+
- Design system customization
|
|
35
|
+
|
|
36
|
+
Module Organization:
|
|
37
|
+
- Core Concepts: This file (shadcn/ui overview, architecture, ecosystem)
|
|
38
|
+
- Components: [shadcn Components](modules/shadcn-components.md) (component library, advanced patterns)
|
|
39
|
+
- Theming: [shadcn Theming](modules/shadcn-theming.md) (theme system, customization)
|
|
40
|
+
- Advanced Patterns: [Advanced Patterns](modules/advanced-patterns.md) (complex implementations)
|
|
41
|
+
- Optimization: [Optimization](modules/optimization.md) (performance tuning)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Implementation Guide
|
|
46
|
+
|
|
47
|
+
### shadcn/ui Overview
|
|
48
|
+
|
|
49
|
+
What is shadcn/ui:
|
|
50
|
+
shadcn/ui is a collection of re-usable components built with Radix UI and Tailwind CSS. Unlike traditional component libraries, it's not an npm package but rather a collection of components you copy into your project.
|
|
51
|
+
|
|
52
|
+
Key Benefits:
|
|
53
|
+
- Full control and ownership of components
|
|
54
|
+
- Zero dependencies (only Radix UI primitives)
|
|
55
|
+
- Complete customization with Tailwind CSS
|
|
56
|
+
- TypeScript-first with excellent type safety
|
|
57
|
+
- Built-in accessibility with WCAG 2.1 AA compliance
|
|
58
|
+
|
|
59
|
+
Architecture Philosophy:
|
|
60
|
+
```
|
|
61
|
+
shadcn/ui Components
|
|
62
|
+
Radix UI Primitives (unstyled, accessible)
|
|
63
|
+
Tailwind CSS (utility-first styling)
|
|
64
|
+
TypeScript (type safety)
|
|
65
|
+
Your Customization (full control)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Core Component Categories
|
|
69
|
+
|
|
70
|
+
1. Form Components:
|
|
71
|
+
- Input, Select, Checkbox, Radio, Textarea
|
|
72
|
+
- Form validation with react-hook-form + Zod
|
|
73
|
+
- Accessibility with proper ARIA labels
|
|
74
|
+
|
|
75
|
+
2. Display Components:
|
|
76
|
+
- Card, Dialog, Sheet, Drawer, Popover
|
|
77
|
+
- Responsive design patterns
|
|
78
|
+
- Dark mode support
|
|
79
|
+
|
|
80
|
+
3. Navigation Components:
|
|
81
|
+
- Navigation Menu, Breadcrumb, Tabs, Pagination
|
|
82
|
+
- Keyboard navigation support
|
|
83
|
+
- Focus management
|
|
84
|
+
|
|
85
|
+
4. Data Components:
|
|
86
|
+
- Table, Calendar, DatePicker, Charts
|
|
87
|
+
- Virtual scrolling for large datasets
|
|
88
|
+
- TanStack Table integration
|
|
89
|
+
|
|
90
|
+
5. Feedback Components:
|
|
91
|
+
- Alert, Toast, Progress, Badge, Avatar
|
|
92
|
+
- Loading states and skeletons
|
|
93
|
+
- Error boundaries
|
|
94
|
+
|
|
95
|
+
### Installation & Setup
|
|
96
|
+
|
|
97
|
+
Step 1: Initialize shadcn/ui:
|
|
98
|
+
```bash
|
|
99
|
+
npx shadcn-ui@latest init
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Step 2: Configure components.json:
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"$schema": "https://ui.shadcn.com/schema.json",
|
|
106
|
+
"style": "default",
|
|
107
|
+
"rsc": true,
|
|
108
|
+
"tsx": true,
|
|
109
|
+
"tailwind": {
|
|
110
|
+
"config": "tailwind.config.js",
|
|
111
|
+
"css": "app/globals.css",
|
|
112
|
+
"baseColor": "slate",
|
|
113
|
+
"cssVariables": true,
|
|
114
|
+
"prefix": ""
|
|
115
|
+
},
|
|
116
|
+
"aliases": {
|
|
117
|
+
"components": "@/components",
|
|
118
|
+
"utils": "@/lib/utils",
|
|
119
|
+
"ui": "@/components/ui"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Step 3: Add Components:
|
|
125
|
+
```bash
|
|
126
|
+
npx shadcn-ui@latest add button
|
|
127
|
+
npx shadcn-ui@latest add form
|
|
128
|
+
npx shadcn-ui@latest add dialog
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Foundation Technologies (November 2025)
|
|
132
|
+
|
|
133
|
+
React 19:
|
|
134
|
+
- Server Components support
|
|
135
|
+
- Concurrent rendering features
|
|
136
|
+
- Automatic batching improvements
|
|
137
|
+
- Streaming SSR enhancements
|
|
138
|
+
|
|
139
|
+
TypeScript 5.5:
|
|
140
|
+
- Full type safety across components
|
|
141
|
+
- Improved inference for generics
|
|
142
|
+
- Better error messages
|
|
143
|
+
- Enhanced developer experience
|
|
144
|
+
|
|
145
|
+
Tailwind CSS 3.4:
|
|
146
|
+
- JIT (Just-In-Time) compilation
|
|
147
|
+
- CSS variable support
|
|
148
|
+
- Dark mode variants
|
|
149
|
+
- Container queries
|
|
150
|
+
|
|
151
|
+
Radix UI:
|
|
152
|
+
- Unstyled, accessible primitives
|
|
153
|
+
- Keyboard navigation
|
|
154
|
+
- Focus management
|
|
155
|
+
- ARIA attributes
|
|
156
|
+
|
|
157
|
+
Integration Stack:
|
|
158
|
+
- React Hook Form: Form state management
|
|
159
|
+
- Zod: Schema validation
|
|
160
|
+
- class-variance-authority: Variant management
|
|
161
|
+
- Framer Motion: Animation library
|
|
162
|
+
- Lucide React: Icon library
|
|
163
|
+
|
|
164
|
+
### AI-Powered Architecture Design
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
# AI-powered shadcn/ui architecture optimization with Context7
|
|
168
|
+
class ShadcnUIArchitectOptimizer:
|
|
169
|
+
def __init__(self):
|
|
170
|
+
self.context7_client = Context7Client()
|
|
171
|
+
self.component_analyzer = ComponentAnalyzer()
|
|
172
|
+
self.theme_optimizer = ThemeOptimizer()
|
|
173
|
+
|
|
174
|
+
async def design_optimal_shadcn_architecture(self,
|
|
175
|
+
requirements: DesignSystemRequirements) -> ShadcnUIArchitecture:
|
|
176
|
+
"""Design optimal shadcn/ui architecture using AI analysis."""
|
|
177
|
+
|
|
178
|
+
# Get latest shadcn/ui and React documentation via Context7
|
|
179
|
+
shadcn_docs = await self.context7_client.get_library_docs(
|
|
180
|
+
context7_library_id='/shadcn-ui/docs',
|
|
181
|
+
topic="component library design system theming accessibility 2025",
|
|
182
|
+
tokens=3000
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
react_docs = await self.context7_client.get_library_docs(
|
|
186
|
+
context7_library_id='/react/docs',
|
|
187
|
+
topic="hooks server-components performance optimization 2025",
|
|
188
|
+
tokens=2000
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
# Optimize component selection
|
|
192
|
+
component_selection = self.component_analyzer.optimize_component_selection(
|
|
193
|
+
requirements.ui_components,
|
|
194
|
+
requirements.user_needs,
|
|
195
|
+
shadcn_docs
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
# Optimize theme configuration
|
|
199
|
+
theme_configuration = self.theme_optimizer.optimize_theme_system(
|
|
200
|
+
requirements.brand_guidelines,
|
|
201
|
+
requirements.accessibility_requirements,
|
|
202
|
+
shadcn_docs
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
return ShadcnUIArchitecture(
|
|
206
|
+
component_library=component_selection,
|
|
207
|
+
theme_system=theme_configuration,
|
|
208
|
+
accessibility_compliance=self._ensure_accessibility_compliance(
|
|
209
|
+
requirements.accessibility_requirements
|
|
210
|
+
),
|
|
211
|
+
performance_optimization=self._optimize_component_performance(
|
|
212
|
+
component_selection
|
|
213
|
+
),
|
|
214
|
+
integration_patterns=self._design_integration_patterns(
|
|
215
|
+
requirements.framework_stack
|
|
216
|
+
),
|
|
217
|
+
customization_strategy=self._plan_customization_strategy(
|
|
218
|
+
requirements.customization_needs
|
|
219
|
+
)
|
|
220
|
+
)
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Best Practices
|
|
224
|
+
|
|
225
|
+
Requirements:
|
|
226
|
+
- Use CSS variables for theme customization
|
|
227
|
+
- Implement proper TypeScript types
|
|
228
|
+
- Follow accessibility guidelines (WCAG 2.1 AA)
|
|
229
|
+
- Use Radix UI primitives for complex interactions
|
|
230
|
+
- Test components with React Testing Library
|
|
231
|
+
- Optimize bundle size with tree-shaking
|
|
232
|
+
- Implement responsive design patterns
|
|
233
|
+
|
|
234
|
+
Critical Implementation Standards:
|
|
235
|
+
|
|
236
|
+
[HARD] Use CSS variables exclusively for color values
|
|
237
|
+
WHY: Enables dynamic theming, supports dark mode transitions, and maintains design system consistency across all components
|
|
238
|
+
IMPACT: Without CSS variables, theme changes require code modifications, dark mode fails, and brand customization becomes unmaintainable
|
|
239
|
+
|
|
240
|
+
[HARD] Include accessibility attributes on all interactive elements
|
|
241
|
+
WHY: Ensures WCAG 2.1 AA compliance, screen reader compatibility, and inclusive user experience for users with disabilities
|
|
242
|
+
IMPACT: Missing accessibility attributes excludes users with disabilities, violates legal compliance requirements, and reduces application usability by 15-20% of potential users
|
|
243
|
+
|
|
244
|
+
[HARD] Implement keyboard navigation for all interactive components
|
|
245
|
+
WHY: Provides essential navigation method for keyboard users, supports assistive technologies, and improves overall user experience efficiency
|
|
246
|
+
IMPACT: Without keyboard navigation, power users cannot efficiently use the application, accessibility compliance fails, and user productivity decreases by 30-40% for keyboard-dependent workflows
|
|
247
|
+
|
|
248
|
+
[SOFT] Provide loading states for asynchronous operations
|
|
249
|
+
WHY: Communicates operation progress to users, reduces perceived latency, and improves user confidence in application responsiveness
|
|
250
|
+
IMPACT: Missing loading states create user uncertainty, increase perceived application slowness by 2-3x, and lead to duplicate action submissions
|
|
251
|
+
|
|
252
|
+
[HARD] Implement error boundaries around component trees
|
|
253
|
+
WHY: Prevents entire application crashes from isolated component failures, enables graceful error recovery, and maintains application stability
|
|
254
|
+
IMPACT: Without error boundaries, single component failures crash the entire application, user data loss occurs, and recovery requires full page refresh
|
|
255
|
+
|
|
256
|
+
[HARD] Apply Tailwind CSS classes instead of inline styles
|
|
257
|
+
WHY: Maintains consistency with design system, enables JIT compilation benefits, supports responsive design variants, and improves bundle size optimization
|
|
258
|
+
IMPACT: Inline styles bypass Tailwind optimization, increase CSS bundle size by 40-60%, prevent design token usage, and break theme customization
|
|
259
|
+
|
|
260
|
+
[SOFT] Implement dark mode support across all components
|
|
261
|
+
WHY: Provides user preference respect, reduces eye strain in low-light environments, and aligns with modern UI expectations
|
|
262
|
+
IMPACT: Missing dark mode support limits usability in 60% of usage contexts, increases user eye strain, and reduces user satisfaction scores by 20-30%
|
|
263
|
+
|
|
264
|
+
### Performance Optimization
|
|
265
|
+
|
|
266
|
+
Bundle Size:
|
|
267
|
+
- Tree-shaking removes unused components
|
|
268
|
+
- Code splitting for large components
|
|
269
|
+
- Lazy loading with React.lazy
|
|
270
|
+
- Dynamic imports for heavy dependencies
|
|
271
|
+
|
|
272
|
+
Runtime Performance:
|
|
273
|
+
- React.memo for expensive components
|
|
274
|
+
- useMemo/useCallback for computations
|
|
275
|
+
- Virtual scrolling for large lists
|
|
276
|
+
- Debouncing user interactions
|
|
277
|
+
|
|
278
|
+
Accessibility:
|
|
279
|
+
- ARIA attributes for all interactive elements
|
|
280
|
+
- Keyboard navigation support
|
|
281
|
+
- Focus management
|
|
282
|
+
- Screen reader testing
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Advanced Patterns
|
|
287
|
+
|
|
288
|
+
### Component Composition
|
|
289
|
+
|
|
290
|
+
Composable Pattern:
|
|
291
|
+
```typescript
|
|
292
|
+
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card";
|
|
293
|
+
|
|
294
|
+
export function DashboardCard({ title, children }) {
|
|
295
|
+
return (
|
|
296
|
+
<Card>
|
|
297
|
+
<CardHeader>
|
|
298
|
+
<CardTitle>{title}</CardTitle>
|
|
299
|
+
</CardHeader>
|
|
300
|
+
<CardContent>
|
|
301
|
+
{children}
|
|
302
|
+
</CardContent>
|
|
303
|
+
</Card>
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Form Validation
|
|
309
|
+
|
|
310
|
+
Zod + React Hook Form:
|
|
311
|
+
```typescript
|
|
312
|
+
import { useForm } from "react-hook-form";
|
|
313
|
+
import { zodResolver } from "@hookform/resolvers/zod";
|
|
314
|
+
import { z } from "zod";
|
|
315
|
+
|
|
316
|
+
const formSchema = z.object({
|
|
317
|
+
email: z.string().email(),
|
|
318
|
+
password: z.string().min(8),
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
type FormValues = z.infer<typeof formSchema>;
|
|
322
|
+
|
|
323
|
+
export function LoginForm() {
|
|
324
|
+
const form = useForm<FormValues>({
|
|
325
|
+
resolver: zodResolver(formSchema),
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
return (
|
|
329
|
+
<form onSubmit={form.handleSubmit(onSubmit)}>
|
|
330
|
+
{/* Form fields */}
|
|
331
|
+
</form>
|
|
332
|
+
);
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Works Well With
|
|
339
|
+
|
|
340
|
+
- [shadcn Components](modules/shadcn-components.md) - Advanced component patterns and implementation
|
|
341
|
+
- [shadcn Theming](modules/shadcn-theming.md) - Theme system and customization strategies
|
|
342
|
+
- `moai-domain-uiux` - Design system architecture and principles
|
|
343
|
+
- `moai-lang-unified` - TypeScript best practices
|
|
344
|
+
- `code-frontend` - Frontend development patterns
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Context7 Integration
|
|
349
|
+
|
|
350
|
+
Related Libraries:
|
|
351
|
+
- [shadcn/ui](/shadcn-ui/ui): Re-usable components built with Radix UI and Tailwind
|
|
352
|
+
- [Radix UI](/radix-ui/primitives): Unstyled, accessible component primitives
|
|
353
|
+
- [Tailwind CSS](/tailwindlabs/tailwindcss): Utility-first CSS framework
|
|
354
|
+
|
|
355
|
+
Official Documentation:
|
|
356
|
+
- [shadcn/ui Documentation](https://ui.shadcn.com/docs)
|
|
357
|
+
- [API Reference](https://ui.shadcn.com/docs/components)
|
|
358
|
+
- [Radix UI Documentation](https://www.radix-ui.com/)
|
|
359
|
+
- [Tailwind CSS Documentation](https://tailwindcss.com/)
|
|
360
|
+
|
|
361
|
+
Latest Versions (November 2025):
|
|
362
|
+
- React 19
|
|
363
|
+
- TypeScript 5.5
|
|
364
|
+
- Tailwind CSS 3.4
|
|
365
|
+
- Radix UI Latest
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
Last Updated: 2025-11-21
|
|
370
|
+
Status: Production Ready
|