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,373 @@
|
|
|
1
|
+
name: moai-library-shadcn-theming
|
|
2
|
+
description: shadcn/ui theme system and design token customization
|
|
3
|
+
|
|
4
|
+
## Theme System Implementation
|
|
5
|
+
|
|
6
|
+
### Advanced Theme Provider
|
|
7
|
+
|
|
8
|
+
```typescript
|
|
9
|
+
// Advanced theme system with CSS variables and dark mode
|
|
10
|
+
import { createContext, useContext, useEffect, useState } from "react";
|
|
11
|
+
|
|
12
|
+
type Theme = "dark" | "light" | "system";
|
|
13
|
+
|
|
14
|
+
interface ThemeProviderProps {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
defaultTheme?: Theme;
|
|
17
|
+
storageKey?: string;
|
|
18
|
+
attribute?: string;
|
|
19
|
+
enableSystem?: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface ThemeProviderState {
|
|
23
|
+
theme: Theme;
|
|
24
|
+
setTheme: (theme: Theme) => void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const ThemeProviderContext = createContext<ThemeProviderState | undefined>(undefined);
|
|
28
|
+
|
|
29
|
+
export function ThemeProvider({
|
|
30
|
+
children,
|
|
31
|
+
defaultTheme = "system",
|
|
32
|
+
storageKey = "ui-theme",
|
|
33
|
+
attribute = "class",
|
|
34
|
+
enableSystem = true,
|
|
35
|
+
...props
|
|
36
|
+
}: ThemeProviderProps) {
|
|
37
|
+
const [theme, setTheme] = useState<Theme>(() => {
|
|
38
|
+
if (typeof window !== "undefined") {
|
|
39
|
+
return (localStorage.getItem(storageKey) as Theme) || defaultTheme;
|
|
40
|
+
}
|
|
41
|
+
return defaultTheme;
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
const root = window.document.documentElement;
|
|
46
|
+
|
|
47
|
+
root.classList.remove("light", "dark");
|
|
48
|
+
|
|
49
|
+
if (theme === "system" && enableSystem) {
|
|
50
|
+
const systemTheme = window.matchMedia("(prefers-color-scheme: dark)")
|
|
51
|
+
.matches
|
|
52
|
+
? "dark"
|
|
53
|
+
: "light";
|
|
54
|
+
|
|
55
|
+
root.classList.add(systemTheme);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
root.classList.add(theme);
|
|
60
|
+
}, [theme, enableSystem, attribute]);
|
|
61
|
+
|
|
62
|
+
const value = {
|
|
63
|
+
theme,
|
|
64
|
+
setTheme: (theme: Theme) => {
|
|
65
|
+
localStorage.setItem(storageKey, theme);
|
|
66
|
+
setTheme(theme);
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return (
|
|
71
|
+
<ThemeProviderContext.Provider {...props} value={value}>
|
|
72
|
+
{children}
|
|
73
|
+
</ThemeProviderContext.Provider>
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export const useTheme = () => {
|
|
78
|
+
const context = useContext(ThemeProviderContext);
|
|
79
|
+
|
|
80
|
+
if (context === undefined)
|
|
81
|
+
throw new Error("useTheme must be used within a ThemeProvider");
|
|
82
|
+
|
|
83
|
+
return context;
|
|
84
|
+
};
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Design Token Configuration
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
// Theme configuration with design tokens
|
|
91
|
+
export const theme = {
|
|
92
|
+
light: {
|
|
93
|
+
background: "hsl(0 0% 100%)",
|
|
94
|
+
foreground: "hsl(240 10% 3.9%)",
|
|
95
|
+
card: "hsl(0 0% 100%)",
|
|
96
|
+
cardForeground: "hsl(240 10% 3.9%)",
|
|
97
|
+
popover: "hsl(0 0% 100%)",
|
|
98
|
+
popoverForeground: "hsl(240 10% 3.9%)",
|
|
99
|
+
primary: "hsl(240 9% 10%)",
|
|
100
|
+
primaryForeground: "hsl(0 0% 98%)",
|
|
101
|
+
secondary: "hsl(240 4.8% 95.9%)",
|
|
102
|
+
secondaryForeground: "hsl(240 3.8% 46.1%)",
|
|
103
|
+
muted: "hsl(240 4.8% 95.9%)",
|
|
104
|
+
mutedForeground: "hsl(240 3.8% 46.1%)",
|
|
105
|
+
accent: "hsl(240 4.8% 95.9%)",
|
|
106
|
+
accentForeground: "hsl(240 5.9% 10%)",
|
|
107
|
+
destructive: "hsl(0 72.22% 50.59%)",
|
|
108
|
+
destructiveForeground: "hsl(0 0% 98%)",
|
|
109
|
+
border: "hsl(240 5.9% 90%)",
|
|
110
|
+
input: "hsl(240 5.9% 90%)",
|
|
111
|
+
ring: "hsl(240 5.9% 10%)",
|
|
112
|
+
},
|
|
113
|
+
dark: {
|
|
114
|
+
background: "hsl(240 10% 3.9%)",
|
|
115
|
+
foreground: "hsl(0 0% 98%)",
|
|
116
|
+
card: "hsl(240 10% 3.9%)",
|
|
117
|
+
cardForeground: "hsl(0 0% 98%)",
|
|
118
|
+
popover: "hsl(240 10% 3.9%)",
|
|
119
|
+
popoverForeground: "hsl(0 0% 98%)",
|
|
120
|
+
primary: "hsl(0 0% 98%)",
|
|
121
|
+
primaryForeground: "hsl(240 9% 10%)",
|
|
122
|
+
secondary: "hsl(240 3.7% 15.9%)",
|
|
123
|
+
secondaryForeground: "hsl(0 0% 98%)",
|
|
124
|
+
muted: "hsl(240 3.7% 15.9%)",
|
|
125
|
+
mutedForeground: "hsl(240 5% 64.9%)",
|
|
126
|
+
accent: "hsl(240 3.7% 15.9%)",
|
|
127
|
+
accentForeground: "hsl(0 0% 98%)",
|
|
128
|
+
destructive: "hsl(0 62.8% 30.6%)",
|
|
129
|
+
destructiveForeground: "hsl(0 0% 98%)",
|
|
130
|
+
border: "hsl(240 3.7% 15.9%)",
|
|
131
|
+
input: "hsl(240 3.7% 15.9%)",
|
|
132
|
+
ring: "hsl(240 4.9% 83.9%)",
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
// Apply theme CSS variables
|
|
137
|
+
export function applyThemeCSS() {
|
|
138
|
+
const root = document.documentElement;
|
|
139
|
+
|
|
140
|
+
Object.entries(theme.light).forEach(([key, value]) => {
|
|
141
|
+
root.style.setProperty(`--${key}`, value);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### CSS Variables in globals.css
|
|
147
|
+
|
|
148
|
+
```css
|
|
149
|
+
@tailwind base;
|
|
150
|
+
@tailwind components;
|
|
151
|
+
@tailwind utilities;
|
|
152
|
+
|
|
153
|
+
@layer base {
|
|
154
|
+
:root {
|
|
155
|
+
--background: 0 0% 100%;
|
|
156
|
+
--foreground: 240 10% 3.9%;
|
|
157
|
+
--card: 0 0% 100%;
|
|
158
|
+
--card-foreground: 240 10% 3.9%;
|
|
159
|
+
--popover: 0 0% 100%;
|
|
160
|
+
--popover-foreground: 240 10% 3.9%;
|
|
161
|
+
--primary: 240 9% 10%;
|
|
162
|
+
--primary-foreground: 0 0% 98%;
|
|
163
|
+
--secondary: 240 4.8% 95.9%;
|
|
164
|
+
--secondary-foreground: 240 3.8% 46.1%;
|
|
165
|
+
--muted: 240 4.8% 95.9%;
|
|
166
|
+
--muted-foreground: 240 3.8% 46.1%;
|
|
167
|
+
--accent: 240 4.8% 95.9%;
|
|
168
|
+
--accent-foreground: 240 5.9% 10%;
|
|
169
|
+
--destructive: 0 72.22% 50.59%;
|
|
170
|
+
--destructive-foreground: 0 0% 98%;
|
|
171
|
+
--border: 240 5.9% 90%;
|
|
172
|
+
--input: 240 5.9% 90%;
|
|
173
|
+
--ring: 240 5.9% 10%;
|
|
174
|
+
--radius: 0.5rem;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.dark {
|
|
178
|
+
--background: 240 10% 3.9%;
|
|
179
|
+
--foreground: 0 0% 98%;
|
|
180
|
+
--card: 240 10% 3.9%;
|
|
181
|
+
--card-foreground: 0 0% 98%;
|
|
182
|
+
--popover: 240 10% 3.9%;
|
|
183
|
+
--popover-foreground: 0 0% 98%;
|
|
184
|
+
--primary: 0 0% 98%;
|
|
185
|
+
--primary-foreground: 240 9% 10%;
|
|
186
|
+
--secondary: 240 3.7% 15.9%;
|
|
187
|
+
--secondary-foreground: 0 0% 98%;
|
|
188
|
+
--muted: 240 3.7% 15.9%;
|
|
189
|
+
--muted-foreground: 240 5% 64.9%;
|
|
190
|
+
--accent: 240 3.7% 15.9%;
|
|
191
|
+
--accent-foreground: 0 0% 98%;
|
|
192
|
+
--destructive: 0 62.8% 30.6%;
|
|
193
|
+
--destructive-foreground: 0 0% 98%;
|
|
194
|
+
--border: 240 3.7% 15.9%;
|
|
195
|
+
--input: 240 3.7% 15.9%;
|
|
196
|
+
--ring: 240 4.9% 83.9%;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
@layer base {
|
|
201
|
+
* {
|
|
202
|
+
@apply border-border;
|
|
203
|
+
}
|
|
204
|
+
body {
|
|
205
|
+
@apply bg-background text-foreground;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Custom Brand Theme
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
// Create custom brand theme
|
|
214
|
+
export function createBrandTheme(brandColors: {
|
|
215
|
+
primary: string;
|
|
216
|
+
secondary: string;
|
|
217
|
+
accent: string;
|
|
218
|
+
}) {
|
|
219
|
+
return {
|
|
220
|
+
light: {
|
|
221
|
+
...theme.light,
|
|
222
|
+
primary: brandColors.primary,
|
|
223
|
+
secondary: brandColors.secondary,
|
|
224
|
+
accent: brandColors.accent,
|
|
225
|
+
},
|
|
226
|
+
dark: {
|
|
227
|
+
...theme.dark,
|
|
228
|
+
primary: brandColors.primary,
|
|
229
|
+
secondary: brandColors.secondary,
|
|
230
|
+
accent: brandColors.accent,
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Apply custom brand theme
|
|
236
|
+
export function applyBrandTheme(brandTheme: typeof theme) {
|
|
237
|
+
const root = document.documentElement;
|
|
238
|
+
const currentTheme = root.classList.contains("dark") ? "dark" : "light";
|
|
239
|
+
|
|
240
|
+
Object.entries(brandTheme[currentTheme]).forEach(([key, value]) => {
|
|
241
|
+
root.style.setProperty(`--${key}`, value);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Theme Toggle Component
|
|
247
|
+
|
|
248
|
+
```typescript
|
|
249
|
+
// Theme toggle component
|
|
250
|
+
import { Moon, Sun } from "lucide-react";
|
|
251
|
+
import { Button } from "@/components/ui/button";
|
|
252
|
+
import {
|
|
253
|
+
DropdownMenu,
|
|
254
|
+
DropdownMenuContent,
|
|
255
|
+
DropdownMenuItem,
|
|
256
|
+
DropdownMenuTrigger,
|
|
257
|
+
} from "@/components/ui/dropdown-menu";
|
|
258
|
+
import { useTheme } from "@/components/theme-provider";
|
|
259
|
+
|
|
260
|
+
export function ThemeToggle() {
|
|
261
|
+
const { setTheme } = useTheme();
|
|
262
|
+
|
|
263
|
+
return (
|
|
264
|
+
<DropdownMenu>
|
|
265
|
+
<DropdownMenuTrigger asChild>
|
|
266
|
+
<Button variant="outline" size="icon">
|
|
267
|
+
<Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
|
|
268
|
+
<Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
|
|
269
|
+
<span className="sr-only">Toggle theme</span>
|
|
270
|
+
</Button>
|
|
271
|
+
</DropdownMenuTrigger>
|
|
272
|
+
<DropdownMenuContent align="end">
|
|
273
|
+
<DropdownMenuItem onClick={() => setTheme("light")}>
|
|
274
|
+
Light
|
|
275
|
+
</DropdownMenuItem>
|
|
276
|
+
<DropdownMenuItem onClick={() => setTheme("dark")}>
|
|
277
|
+
Dark
|
|
278
|
+
</DropdownMenuItem>
|
|
279
|
+
<DropdownMenuItem onClick={() => setTheme("system")}>
|
|
280
|
+
System
|
|
281
|
+
</DropdownMenuItem>
|
|
282
|
+
</DropdownMenuContent>
|
|
283
|
+
</DropdownMenu>
|
|
284
|
+
);
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Tailwind Configuration
|
|
289
|
+
|
|
290
|
+
```javascript
|
|
291
|
+
// tailwind.config.js
|
|
292
|
+
/ @type {import('tailwindcss').Config} */
|
|
293
|
+
module.exports = {
|
|
294
|
+
darkMode: ["class"],
|
|
295
|
+
content: [
|
|
296
|
+
'./pages//*.{ts,tsx}',
|
|
297
|
+
'./components//*.{ts,tsx}',
|
|
298
|
+
'./app//*.{ts,tsx}',
|
|
299
|
+
'./src//*.{ts,tsx}',
|
|
300
|
+
],
|
|
301
|
+
theme: {
|
|
302
|
+
container: {
|
|
303
|
+
center: true,
|
|
304
|
+
padding: "2rem",
|
|
305
|
+
screens: {
|
|
306
|
+
"2xl": "1400px",
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
extend: {
|
|
310
|
+
colors: {
|
|
311
|
+
border: "hsl(var(--border))",
|
|
312
|
+
input: "hsl(var(--input))",
|
|
313
|
+
ring: "hsl(var(--ring))",
|
|
314
|
+
background: "hsl(var(--background))",
|
|
315
|
+
foreground: "hsl(var(--foreground))",
|
|
316
|
+
primary: {
|
|
317
|
+
DEFAULT: "hsl(var(--primary))",
|
|
318
|
+
foreground: "hsl(var(--primary-foreground))",
|
|
319
|
+
},
|
|
320
|
+
secondary: {
|
|
321
|
+
DEFAULT: "hsl(var(--secondary))",
|
|
322
|
+
foreground: "hsl(var(--secondary-foreground))",
|
|
323
|
+
},
|
|
324
|
+
destructive: {
|
|
325
|
+
DEFAULT: "hsl(var(--destructive))",
|
|
326
|
+
foreground: "hsl(var(--destructive-foreground))",
|
|
327
|
+
},
|
|
328
|
+
muted: {
|
|
329
|
+
DEFAULT: "hsl(var(--muted))",
|
|
330
|
+
foreground: "hsl(var(--muted-foreground))",
|
|
331
|
+
},
|
|
332
|
+
accent: {
|
|
333
|
+
DEFAULT: "hsl(var(--accent))",
|
|
334
|
+
foreground: "hsl(var(--accent-foreground))",
|
|
335
|
+
},
|
|
336
|
+
popover: {
|
|
337
|
+
DEFAULT: "hsl(var(--popover))",
|
|
338
|
+
foreground: "hsl(var(--popover-foreground))",
|
|
339
|
+
},
|
|
340
|
+
card: {
|
|
341
|
+
DEFAULT: "hsl(var(--card))",
|
|
342
|
+
foreground: "hsl(var(--card-foreground))",
|
|
343
|
+
},
|
|
344
|
+
},
|
|
345
|
+
borderRadius: {
|
|
346
|
+
lg: "var(--radius)",
|
|
347
|
+
md: "calc(var(--radius) - 2px)",
|
|
348
|
+
sm: "calc(var(--radius) - 4px)",
|
|
349
|
+
},
|
|
350
|
+
keyframes: {
|
|
351
|
+
"accordion-down": {
|
|
352
|
+
from: { height: 0 },
|
|
353
|
+
to: { height: "var(--radix-accordion-content-height)" },
|
|
354
|
+
},
|
|
355
|
+
"accordion-up": {
|
|
356
|
+
from: { height: "var(--radix-accordion-content-height)" },
|
|
357
|
+
to: { height: 0 },
|
|
358
|
+
},
|
|
359
|
+
},
|
|
360
|
+
animation: {
|
|
361
|
+
"accordion-down": "accordion-down 0.2s ease-out",
|
|
362
|
+
"accordion-up": "accordion-up 0.2s ease-out",
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
},
|
|
366
|
+
plugins: [require("tailwindcss-animate")],
|
|
367
|
+
}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
Last Updated: 2025-11-26
|
|
373
|
+
Related: [Main Skill](../SKILL.md), [shadcn Components](shadcn-components.md)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
## API Reference
|
|
2
|
+
|
|
3
|
+
### Core shadcn/ui Operations
|
|
4
|
+
- `create_component(variant_config, props)` - Create new component
|
|
5
|
+
- `customize_theme(theme_config, colors)` - Customize theme
|
|
6
|
+
- `install_component(component_name)` - Install new component
|
|
7
|
+
- `setup_design_system(tokens, branding)` - Set up design system
|
|
8
|
+
- `optimize_components(performance_config)` - Optimize component performance
|
|
9
|
+
|
|
10
|
+
### Context7 Integration
|
|
11
|
+
- `get_latest_shadcn_docs()` - shadcn/ui docs via Context7
|
|
12
|
+
- `analyze_component_patterns()` - Component patterns via Context7
|
|
13
|
+
- `optimize_theme_system()` - Theme optimization via Context7
|
|
14
|
+
|
|
15
|
+
## Best Practices (November 2025)
|
|
16
|
+
|
|
17
|
+
### DO
|
|
18
|
+
- Use TypeScript for type safety and better developer experience
|
|
19
|
+
- Implement proper accessibility with ARIA attributes
|
|
20
|
+
- Customize themes using CSS variables for consistency
|
|
21
|
+
- Optimize component performance with memoization and lazy loading
|
|
22
|
+
- Use form validation with proper error handling
|
|
23
|
+
- Implement responsive design with Tailwind CSS
|
|
24
|
+
- Use Radix UI primitives for accessible components
|
|
25
|
+
- Test components across different browsers and devices
|
|
26
|
+
|
|
27
|
+
### DON'T
|
|
28
|
+
- Skip TypeScript type definitions and validations
|
|
29
|
+
- Ignore accessibility requirements and WCAG compliance
|
|
30
|
+
- Override component styles without understanding the CSS structure
|
|
31
|
+
- Forget to implement proper error handling and validation
|
|
32
|
+
- Skip performance optimization for large datasets
|
|
33
|
+
- Use inline styles instead of Tailwind CSS classes
|
|
34
|
+
- Forget to implement proper keyboard navigation
|
|
35
|
+
- Skip component testing and user experience validation
|
|
36
|
+
|
|
37
|
+
## Works Well With
|
|
38
|
+
|
|
39
|
+
- `moai-domain-frontend` (Frontend development patterns)
|
|
40
|
+
- `moai-baas-foundation` (Enterprise UI architecture)
|
|
41
|
+
- `moai-security-api` (UI security implementation)
|
|
42
|
+
- `moai-essentials-perf` (Performance optimization)
|
|
43
|
+
- `moai-foundation-trust` (Accessibility and compliance)
|
|
44
|
+
- `moai-domain-backend` (Backend integration)
|
|
45
|
+
- `moai-baas-vercel-ext` (Frontend deployment)
|
|
46
|
+
- `moai-domain-testing` (Component testing strategies)
|
|
47
|
+
|
|
48
|
+
## Changelog
|
|
49
|
+
|
|
50
|
+
- .0 (2025-11-13): Complete Enterprise rewrite with 40% content reduction, 4-layer Progressive Disclosure structure, Context7 integration, November 2025 shadcn/ui ecosystem updates, and advanced component patterns
|
|
51
|
+
- v2.0.0 (2025-11-11): Complete metadata structure, component patterns, theme system
|
|
52
|
+
- v1.0.0 (2025-11-11): Initial shadcn/ui component library
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
End of Skill | Updated 2025-11-13
|
|
57
|
+
|
|
58
|
+
## Design System Integration
|
|
59
|
+
|
|
60
|
+
### Enterprise Features
|
|
61
|
+
- Comprehensive component library with enterprise-grade features
|
|
62
|
+
- Advanced theming system with brand customization
|
|
63
|
+
- Performance optimization for large-scale applications
|
|
64
|
+
- Accessibility compliance with WCAG 2.1 AA standards
|
|
65
|
+
|
|
66
|
+
### Modern Development
|
|
67
|
+
- TypeScript-first development with full type safety
|
|
68
|
+
- Modern React patterns with hooks and server components
|
|
69
|
+
- Tailwind CSS integration for consistent styling
|
|
70
|
+
- Framer Motion for smooth animations and transitions
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
End of Enterprise shadcn/ui Component Library Expert
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# moai-platform-baas: Comprehensive BaaS Integration Hub
|
|
2
|
+
|
|
3
|
+
A unified skill for managing 9 major Backend-as-a-Service (BaaS) providers with AI-powered provider selection, cross-provider integration patterns, and automated migration assistance.
|
|
4
|
+
|
|
5
|
+
## Supported Providers
|
|
6
|
+
|
|
7
|
+
### Authentication (3 providers)
|
|
8
|
+
- Auth0: Enterprise SSO with 50+ connections, B2B SaaS features
|
|
9
|
+
- Clerk: Modern authentication with WebAuthn, organizations, and beautiful UI
|
|
10
|
+
- Firebase Auth: Google ecosystem integration with mobile-first design
|
|
11
|
+
|
|
12
|
+
### Database (4 providers)
|
|
13
|
+
- Supabase: PostgreSQL 16+ with RLS, real-time subscriptions, Edge Functions
|
|
14
|
+
- Neon: Serverless PostgreSQL with auto-scaling and instant branching
|
|
15
|
+
- Convex: Real-time reactive backend with optimistic updates and database branching
|
|
16
|
+
- Firebase Firestore: Mobile-first with offline sync and Google integration
|
|
17
|
+
|
|
18
|
+
### Deployment (2 providers)
|
|
19
|
+
- Vercel: Edge deployment optimization with Next.js performance
|
|
20
|
+
- Railway: Full-stack containers with multi-region support
|
|
21
|
+
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
### AI Provider Selection
|
|
25
|
+
```bash
|
|
26
|
+
# Use the AI provider selector
|
|
27
|
+
python scripts/provider-selector.py '{
|
|
28
|
+
"requirements": ["scalable", "real-time", "enterprise"],
|
|
29
|
+
"tech_stack": "Next.js",
|
|
30
|
+
"team_size": 5,
|
|
31
|
+
"budget": "$500/month"
|
|
32
|
+
}'
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Template Configuration
|
|
36
|
+
```bash
|
|
37
|
+
# Copy the stack template
|
|
38
|
+
cp templates/stack-config.yaml my-project-config.yaml
|
|
39
|
+
|
|
40
|
+
# Edit with your provider choices and configuration
|
|
41
|
+
vim my-project-config.yaml
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Basic Usage with Claude Code
|
|
45
|
+
```markdown
|
|
46
|
+
Use the skill: Skill("moai-platform-baas")
|
|
47
|
+
|
|
48
|
+
Example prompts:
|
|
49
|
+
- "Set up Clerk authentication with Next.js"
|
|
50
|
+
- "Migrate from Auth0 to Clerk with user data preservation"
|
|
51
|
+
- "Configure Supabase with Row-Level Security for multi-tenant app"
|
|
52
|
+
- "Optimize BaaS costs for my current setup"
|
|
53
|
+
- "Create Vercel + Clerk + Supabase integration for real-time app"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## File Structure
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
moai-platform-baas/
|
|
60
|
+
SKILL.md # Main skill documentation (275 lines)
|
|
61
|
+
README.md # This file - project overview
|
|
62
|
+
reference.md # Comprehensive provider documentation (500+ lines)
|
|
63
|
+
examples.md # Production-ready implementation examples (1000+ lines)
|
|
64
|
+
scripts/
|
|
65
|
+
provider-selector.py # AI-powered provider selection tool
|
|
66
|
+
templates/
|
|
67
|
+
stack-config.yaml # Stack configuration template
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Key Features
|
|
71
|
+
|
|
72
|
+
### AI Provider Selection
|
|
73
|
+
- Automated provider recommendations based on project requirements
|
|
74
|
+
- Weighted scoring across 9 providers
|
|
75
|
+
- Cost optimization analysis
|
|
76
|
+
- Performance considerations
|
|
77
|
+
|
|
78
|
+
### Cross-Provider Integration
|
|
79
|
+
- Seamless integration patterns between providers
|
|
80
|
+
- Environment variable management
|
|
81
|
+
- Webhook configuration
|
|
82
|
+
- Real-time data synchronization
|
|
83
|
+
|
|
84
|
+
### Migration Support
|
|
85
|
+
- Step-by-step migration guides
|
|
86
|
+
- Data transformation scripts
|
|
87
|
+
- User migration between auth providers
|
|
88
|
+
- Database migration with schema preservation
|
|
89
|
+
|
|
90
|
+
### Production Patterns
|
|
91
|
+
- Enterprise security configurations
|
|
92
|
+
- Multi-region deployment strategies
|
|
93
|
+
- Cost optimization engine
|
|
94
|
+
- Compliance frameworks (GDPR, HIPAA)
|
|
95
|
+
|
|
96
|
+
### Context7 Integration
|
|
97
|
+
- Latest API documentation for all providers
|
|
98
|
+
- Real-time updates on provider features
|
|
99
|
+
- Best practices and optimization patterns
|
|
100
|
+
|
|
101
|
+
## Provider Selection Matrix
|
|
102
|
+
|
|
103
|
+
| Use Case | Authentication | Database | Deployment | Cost Range |
|
|
104
|
+
|----------|----------------|----------|------------|------------|
|
|
105
|
+
| Enterprise SaaS | Auth0 | Supabase | Vercel | $800-1200/mo |
|
|
106
|
+
| Modern Web App | Clerk | Neon | Vercel | $200-400/mo |
|
|
107
|
+
| Real-time Platform | Clerk | Convex | Vercel | $300-600/mo |
|
|
108
|
+
| Mobile App | Firebase Auth | Firestore | Vercel | $150-350/mo |
|
|
109
|
+
| Cost-Optimized | Clerk | Neon | Railway | $100-250/mo |
|
|
110
|
+
|
|
111
|
+
## Advanced Features
|
|
112
|
+
|
|
113
|
+
### Migration Engine
|
|
114
|
+
```python
|
|
115
|
+
# Example: Auth0 to Clerk migration
|
|
116
|
+
from moai_baas_unified import AuthMigration
|
|
117
|
+
|
|
118
|
+
migration = AuthMigration()
|
|
119
|
+
result = await migration.migrate_from_auth0_to_clerk({
|
|
120
|
+
"auth0_config": {...},
|
|
121
|
+
"clerk_config": {...}
|
|
122
|
+
})
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Cost Optimization
|
|
126
|
+
```python
|
|
127
|
+
# Example: Cost analysis and optimization
|
|
128
|
+
from moai_baas_unified import BaaSCostOptimizer
|
|
129
|
+
|
|
130
|
+
optimizer = BaaSCostOptimizer()
|
|
131
|
+
analysis = await optimizer.analyze_costs(provider_configs)
|
|
132
|
+
print(f"Potential savings: ${analysis.potential_savings}/month")
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Security Compliance
|
|
136
|
+
```python
|
|
137
|
+
# Example: Configure enterprise security
|
|
138
|
+
from moai_baas_unified import BaaSSecurityFramework
|
|
139
|
+
|
|
140
|
+
security = BaaSSecurityFramework()
|
|
141
|
+
config = security.configure_enterprise_security(["GDPR", "HIPAA"])
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Integration Examples
|
|
145
|
+
|
|
146
|
+
See [examples.md](examples.md) for complete production-ready examples:
|
|
147
|
+
|
|
148
|
+
1. Enterprise SaaS: Auth0 + Supabase + Vercel
|
|
149
|
+
2. Modern Web App: Clerk + Neon + Vercel
|
|
150
|
+
3. Real-time Platform: Clerk + Convex + Vercel
|
|
151
|
+
|
|
152
|
+
## Reference Documentation
|
|
153
|
+
|
|
154
|
+
See [reference.md](reference.md) for:
|
|
155
|
+
- Complete provider API documentation
|
|
156
|
+
- Context7 integration mappings
|
|
157
|
+
- Migration scripts and templates
|
|
158
|
+
- Cost analysis tables
|
|
159
|
+
- Security compliance matrices
|
|
160
|
+
|
|
161
|
+
## Works Well With
|
|
162
|
+
|
|
163
|
+
- `moai-context7-integration` - Latest provider documentation
|
|
164
|
+
- `moai-domain-frontend` - Frontend integration patterns
|
|
165
|
+
- `moai-domain-backend` - Backend architecture patterns
|
|
166
|
+
- `moai-security-api` - Security best practices
|
|
167
|
+
- `moai-foundation-trust` - Quality validation
|
|
168
|
+
|
|
169
|
+
## Contributing
|
|
170
|
+
|
|
171
|
+
This skill follows MoAI-ADK standards:
|
|
172
|
+
- Progressive disclosure architecture
|
|
173
|
+
- 500-line limit for main SKILL.md
|
|
174
|
+
- Comprehensive examples and reference documentation
|
|
175
|
+
- Context7 integration for latest patterns
|
|
176
|
+
|
|
177
|
+
## License
|
|
178
|
+
|
|
179
|
+
Part of MoAI-ADK project. See main project license for details.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
Status: Production Ready (Enterprise)
|
|
184
|
+
Last Updated: 2025-11-25
|
|
185
|
+
Providers Covered: 9 major BaaS services
|
|
186
|
+
Generated with: MoAI-ADK Skill Factory v2.0
|