moai-adk 0.15.1__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 -6
- moai_adk/__main__.py +136 -21
- moai_adk/cli/__init__.py +6 -2
- moai_adk/cli/commands/__init__.py +1 -4
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +17 -5
- moai_adk/cli/commands/init.py +105 -47
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +8 -13
- moai_adk/cli/commands/update.py +1734 -65
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +144 -91
- 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/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +147 -16
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +2 -10
- moai_adk/core/git/checkpoint.py +1 -7
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +91 -2
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +20 -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.py +202 -0
- moai_adk/core/language_config_resolver.py +485 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- 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 +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +17 -39
- moai_adk/core/project/initializer.py +170 -33
- moai_adk/core/project/phase_executor.py +398 -68
- moai_adk/core/project/validator.py +7 -32
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +37 -101
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +82 -17
- moai_adk/core/template/config.py +112 -40
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +75 -26
- moai_adk/core/template/processor.py +750 -72
- moai_adk/core/template_engine.py +90 -48
- 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 +557 -0
- 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 +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- 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/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +373 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +264 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +383 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- 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/{alfred/shared/core → moai/lib}/checkpoint.py +9 -36
- 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/{alfred/shared/core → moai/lib}/project.py +63 -44
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/timeout.py +40 -16
- 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 +78 -50
- 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 +312 -283
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +291 -94
- 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 +469 -101
- 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 +128 -0
- moai_adk/templates/.git-hooks/pre-push +220 -13
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +197 -13
- moai_adk/templates/.mcp.json +20 -0
- 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 +310 -1050
- moai_adk/utils/__init__.py +24 -2
- moai_adk/utils/banner.py +7 -11
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/{templates/.claude/hooks/alfred/utils → utils}/timeout.py +8 -9
- 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.15.1.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -80
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -419
- moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.1.dist-info/METADATA +0 -3094
- moai_adk-0.15.1.dist-info/RECORD +0 -365
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"""
|
|
2
|
+
AI-Powered Playwright Testing Examples
|
|
3
|
+
Context7 MCP integration with intelligent test generation
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import asyncio
|
|
7
|
+
import json
|
|
8
|
+
from typing import Dict, List, Optional
|
|
9
|
+
|
|
10
|
+
from playwright.sync_api import Page, expect, sync_playwright
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AITestGenerator:
|
|
14
|
+
"""AI-powered test generation with Context7 integration"""
|
|
15
|
+
|
|
16
|
+
def __init__(self, context7_client=None):
|
|
17
|
+
self.context7_client = context7_client
|
|
18
|
+
self.ai_patterns = {}
|
|
19
|
+
|
|
20
|
+
async def generate_smart_selectors(self, page: Page) -> Dict[str, str]:
|
|
21
|
+
"""Generate intelligent CSS selectors using AI pattern recognition"""
|
|
22
|
+
|
|
23
|
+
# Get all interactive elements
|
|
24
|
+
buttons = page.locator("button").all()
|
|
25
|
+
page.locator("input").all()
|
|
26
|
+
page.locator("a[href]").all()
|
|
27
|
+
|
|
28
|
+
smart_selectors = {}
|
|
29
|
+
|
|
30
|
+
# AI-powered selector generation
|
|
31
|
+
for i, button in enumerate(buttons):
|
|
32
|
+
text = button.text_content()
|
|
33
|
+
if text:
|
|
34
|
+
# Generate robust selector
|
|
35
|
+
selector = f"button:has-text('{text.strip()}')"
|
|
36
|
+
smart_selectors[f"button_{i}"] = {
|
|
37
|
+
"selector": selector,
|
|
38
|
+
"text": text.strip(),
|
|
39
|
+
"type": "button",
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return smart_selectors
|
|
43
|
+
|
|
44
|
+
def generate_test_script(self, selectors: Dict, actions: List[str]) -> str:
|
|
45
|
+
"""Generate automated test script using AI patterns"""
|
|
46
|
+
|
|
47
|
+
script_template = '''
|
|
48
|
+
from playwright.sync_api import sync_playwright, expect
|
|
49
|
+
|
|
50
|
+
def test_ai_generated_workflow():
|
|
51
|
+
"""AI-generated test case with Context7 best practices"""
|
|
52
|
+
|
|
53
|
+
with sync_playwright() as p:
|
|
54
|
+
browser = p.chromium.launch(headless=False)
|
|
55
|
+
page = browser.new_page()
|
|
56
|
+
|
|
57
|
+
# Navigate and wait for content
|
|
58
|
+
page.goto('https://example.com')
|
|
59
|
+
page.wait_for_load_state('networkidle')
|
|
60
|
+
|
|
61
|
+
# AI-generated interactions
|
|
62
|
+
{interactions}
|
|
63
|
+
|
|
64
|
+
# AI-powered assertions
|
|
65
|
+
{assertions}
|
|
66
|
+
|
|
67
|
+
browser.close()
|
|
68
|
+
|
|
69
|
+
if __name__ == "__main__":
|
|
70
|
+
test_ai_generated_workflow()
|
|
71
|
+
'''
|
|
72
|
+
|
|
73
|
+
interactions = []
|
|
74
|
+
assertions = []
|
|
75
|
+
|
|
76
|
+
for action in actions:
|
|
77
|
+
if "click" in action:
|
|
78
|
+
for name, info in selectors.items():
|
|
79
|
+
if info["type"] == "button":
|
|
80
|
+
interactions.append(f" page.locator('{info['selector']}').click()")
|
|
81
|
+
assertions.append(f" expect(page.locator('{info['selector']}')).to_be_visible()")
|
|
82
|
+
|
|
83
|
+
return script_template.format(interactions="\n".join(interactions), assertions="\n".join(assertions))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class Context7TestEnhancer:
|
|
87
|
+
"""Context7 MCP integration for enhanced testing"""
|
|
88
|
+
|
|
89
|
+
async def get_latest_patterns(self, topic: str) -> Dict:
|
|
90
|
+
"""Fetch latest Playwright patterns from Context7"""
|
|
91
|
+
|
|
92
|
+
# Simulate Context7 integration (would use actual Context7 client)
|
|
93
|
+
patterns = {
|
|
94
|
+
"visual_regression": {
|
|
95
|
+
"screenshot_comparison": True,
|
|
96
|
+
"ignore_regions": ["dynamic-content", "timestamps"],
|
|
97
|
+
"threshold": 0.1,
|
|
98
|
+
"wait_before_capture": 1000,
|
|
99
|
+
},
|
|
100
|
+
"cross_browser": {
|
|
101
|
+
"browsers": ["chromium", "firefox", "webkit"],
|
|
102
|
+
"viewports": [
|
|
103
|
+
{"width": 1920, "height": 1080},
|
|
104
|
+
{"width": 375, "height": 667},
|
|
105
|
+
],
|
|
106
|
+
"devices": ["Desktop Chrome", "iPhone 12"],
|
|
107
|
+
},
|
|
108
|
+
"performance_testing": {
|
|
109
|
+
"metrics": ["FCP", "LCP", "TTI", "CLS"],
|
|
110
|
+
"thresholds": {"FCP": 1.8, "LCP": 2.5, "CLS": 0.1},
|
|
111
|
+
},
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return patterns.get(topic, {})
|
|
115
|
+
|
|
116
|
+
def apply_context7_patterns(self, test_config: Dict) -> Dict:
|
|
117
|
+
"""Apply Context7 best practices to test configuration"""
|
|
118
|
+
|
|
119
|
+
enhanced_config = test_config.copy()
|
|
120
|
+
|
|
121
|
+
# Apply Context7 patterns
|
|
122
|
+
enhanced_config["screenshot_options"] = {
|
|
123
|
+
"full_page": True,
|
|
124
|
+
"animations": "disabled",
|
|
125
|
+
"caret": "hide",
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
enhanced_config["wait_strategies"] = {
|
|
129
|
+
"networkidle": True,
|
|
130
|
+
"element_visible": True,
|
|
131
|
+
"timeout": 10000,
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return enhanced_config
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class VisualRegressionTester:
|
|
138
|
+
"""AI-powered visual regression testing"""
|
|
139
|
+
|
|
140
|
+
def __init__(self, baseline_dir: str = "./baseline"):
|
|
141
|
+
self.baseline_dir = baseline_dir
|
|
142
|
+
self.current_dir = "./current"
|
|
143
|
+
self.diff_dir = "./diff"
|
|
144
|
+
|
|
145
|
+
async def capture_screenshot(self, page: Page, name: str, selector: Optional[str] = None):
|
|
146
|
+
"""Capture intelligent screenshot with Context7 patterns"""
|
|
147
|
+
|
|
148
|
+
# Wait for dynamic content
|
|
149
|
+
page.wait_for_load_state("networkidle")
|
|
150
|
+
await page.wait_for_timeout(1000) # Allow animations
|
|
151
|
+
|
|
152
|
+
# Capture full page or specific element
|
|
153
|
+
if selector:
|
|
154
|
+
element = page.locator(selector)
|
|
155
|
+
screenshot_path = f"{self.current_dir}/{name}_element.png"
|
|
156
|
+
element.screenshot(path=screenshot_path)
|
|
157
|
+
else:
|
|
158
|
+
screenshot_path = f"{self.current_dir}/{name}_full.png"
|
|
159
|
+
page.screenshot(path=screenshot_path, full_page=True)
|
|
160
|
+
|
|
161
|
+
return screenshot_path
|
|
162
|
+
|
|
163
|
+
def compare_screenshots(self, baseline: str, current: str, diff: str) -> Dict:
|
|
164
|
+
"""AI-powered screenshot comparison"""
|
|
165
|
+
|
|
166
|
+
# Simulate AI comparison (would use actual image comparison library)
|
|
167
|
+
comparison_result = {
|
|
168
|
+
"passed": True,
|
|
169
|
+
"diff_pixels": 0,
|
|
170
|
+
"diff_percentage": 0.0,
|
|
171
|
+
"regions_with_diff": [],
|
|
172
|
+
"recommendations": [],
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return comparison_result
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
class CrossBrowserOrchestrator:
|
|
179
|
+
"""AI-coordinated cross-browser testing"""
|
|
180
|
+
|
|
181
|
+
def __init__(self):
|
|
182
|
+
self.browsers = ["chromium", "firefox", "webkit"]
|
|
183
|
+
self.results = {}
|
|
184
|
+
|
|
185
|
+
async def run_cross_browser_test(self, test_script: str) -> Dict:
|
|
186
|
+
"""Execute test across multiple browsers with AI coordination"""
|
|
187
|
+
|
|
188
|
+
results = {}
|
|
189
|
+
|
|
190
|
+
for browser_name in self.browsers:
|
|
191
|
+
try:
|
|
192
|
+
with sync_playwright() as p:
|
|
193
|
+
browser = getattr(p, browser_name).launch(headless=True)
|
|
194
|
+
page = browser.new_page()
|
|
195
|
+
|
|
196
|
+
# Execute test
|
|
197
|
+
test_result = await self.execute_test_in_browser(page, test_script)
|
|
198
|
+
|
|
199
|
+
results[browser_name] = {
|
|
200
|
+
"status": "passed",
|
|
201
|
+
"execution_time": test_result["time"],
|
|
202
|
+
"assertions": test_result["assertions"],
|
|
203
|
+
"issues": test_result.get("issues", []),
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
browser.close()
|
|
207
|
+
|
|
208
|
+
except Exception as e:
|
|
209
|
+
results[browser_name] = {"status": "failed", "error": str(e)}
|
|
210
|
+
|
|
211
|
+
return results
|
|
212
|
+
|
|
213
|
+
async def execute_test_in_browser(self, page: Page, test_script: str) -> Dict:
|
|
214
|
+
"""Execute test script and capture results"""
|
|
215
|
+
|
|
216
|
+
import time
|
|
217
|
+
|
|
218
|
+
start_time = time.time()
|
|
219
|
+
|
|
220
|
+
# Simulate test execution
|
|
221
|
+
page.goto("https://example.com")
|
|
222
|
+
page.wait_for_load_state("networkidle")
|
|
223
|
+
|
|
224
|
+
# Perform assertions
|
|
225
|
+
assertions_passed = 0
|
|
226
|
+
assertions_total = 3
|
|
227
|
+
|
|
228
|
+
# Basic assertions
|
|
229
|
+
try:
|
|
230
|
+
expect(page.locator("h1")).to_be_visible()
|
|
231
|
+
assertions_passed += 1
|
|
232
|
+
except Exception:
|
|
233
|
+
pass
|
|
234
|
+
|
|
235
|
+
execution_time = time.time() - start_time
|
|
236
|
+
|
|
237
|
+
return {
|
|
238
|
+
"time": execution_time,
|
|
239
|
+
"assertions": f"{assertions_passed}/{assertions_total}",
|
|
240
|
+
"issues": [],
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
# Example usage and integration
|
|
245
|
+
async def main():
|
|
246
|
+
"""Main AI-powered testing workflow"""
|
|
247
|
+
|
|
248
|
+
# Initialize components
|
|
249
|
+
ai_generator = AITestGenerator()
|
|
250
|
+
context7_enhancer = Context7TestEnhancer()
|
|
251
|
+
visual_tester = VisualRegressionTester()
|
|
252
|
+
cross_browser = CrossBrowserOrchestrator()
|
|
253
|
+
|
|
254
|
+
# Enhanced test configuration
|
|
255
|
+
test_config = {
|
|
256
|
+
"url": "https://example.com",
|
|
257
|
+
"browsers": ["chromium", "firefox"],
|
|
258
|
+
"viewports": [{"width": 1920, "height": 1080}],
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
# Apply Context7 patterns
|
|
262
|
+
enhanced_config = context7_enhancer.apply_context7_patterns(test_config)
|
|
263
|
+
|
|
264
|
+
print("🚀 AI-Powered Testing Workflow Started")
|
|
265
|
+
print(f"📋 Enhanced Configuration: {json.dumps(enhanced_config, indent=2)}")
|
|
266
|
+
|
|
267
|
+
# Generate and execute tests
|
|
268
|
+
with sync_playwright() as p:
|
|
269
|
+
browser = p.chromium.launch(headless=True)
|
|
270
|
+
page = browser.new_page()
|
|
271
|
+
|
|
272
|
+
# Navigate and analyze
|
|
273
|
+
page.goto("https://example.com")
|
|
274
|
+
page.wait_for_load_state("networkidle")
|
|
275
|
+
|
|
276
|
+
# AI-powered analysis
|
|
277
|
+
smart_selectors = await ai_generator.generate_smart_selectors(page)
|
|
278
|
+
print(f"🧠 AI Generated Selectors: {len(smart_selectors)} elements found")
|
|
279
|
+
|
|
280
|
+
# Visual regression
|
|
281
|
+
await visual_tester.capture_screenshot(page, "homepage")
|
|
282
|
+
print("📸 Visual regression screenshot captured")
|
|
283
|
+
|
|
284
|
+
browser.close()
|
|
285
|
+
|
|
286
|
+
# Cross-browser testing
|
|
287
|
+
cross_browser_results = await cross_browser.run_cross_browser_test("test_script")
|
|
288
|
+
print(f"🌐 Cross-browser results: {json.dumps(cross_browser_results, indent=2)}")
|
|
289
|
+
|
|
290
|
+
print("✅ AI-powered testing workflow completed")
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
if __name__ == "__main__":
|
|
294
|
+
asyncio.run(main())
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from playwright.sync_api import sync_playwright
|
|
2
|
+
|
|
3
|
+
# Example: Capturing console logs during browser automation
|
|
4
|
+
|
|
5
|
+
url = "http://localhost:5173" # Replace with your URL
|
|
6
|
+
|
|
7
|
+
console_logs = []
|
|
8
|
+
|
|
9
|
+
with sync_playwright() as p:
|
|
10
|
+
browser = p.chromium.launch(headless=True)
|
|
11
|
+
page = browser.new_page(viewport={"width": 1920, "height": 1080})
|
|
12
|
+
|
|
13
|
+
# Set up console log capture
|
|
14
|
+
def handle_console_message(msg):
|
|
15
|
+
console_logs.append(f"[{msg.type}] {msg.text}")
|
|
16
|
+
print(f"Console: [{msg.type}] {msg.text}")
|
|
17
|
+
|
|
18
|
+
page.on("console", handle_console_message)
|
|
19
|
+
|
|
20
|
+
# Navigate to page
|
|
21
|
+
page.goto(url)
|
|
22
|
+
page.wait_for_load_state("networkidle")
|
|
23
|
+
|
|
24
|
+
# Interact with the page (triggers console logs)
|
|
25
|
+
page.click("text=Dashboard")
|
|
26
|
+
page.wait_for_timeout(1000)
|
|
27
|
+
|
|
28
|
+
browser.close()
|
|
29
|
+
|
|
30
|
+
# Save console logs to file
|
|
31
|
+
with open("/mnt/user-data/outputs/console.log", "w") as f:
|
|
32
|
+
f.write("\n".join(console_logs))
|
|
33
|
+
|
|
34
|
+
print(f"\nCaptured {len(console_logs)} console messages")
|
|
35
|
+
print("Logs saved to: /mnt/user-data/outputs/console.log")
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from playwright.sync_api import sync_playwright
|
|
2
|
+
|
|
3
|
+
# Example: Discovering buttons and other elements on a page
|
|
4
|
+
|
|
5
|
+
with sync_playwright() as p:
|
|
6
|
+
browser = p.chromium.launch(headless=True)
|
|
7
|
+
page = browser.new_page()
|
|
8
|
+
|
|
9
|
+
# Navigate to page and wait for it to fully load
|
|
10
|
+
page.goto("http://localhost:5173")
|
|
11
|
+
page.wait_for_load_state("networkidle")
|
|
12
|
+
|
|
13
|
+
# Discover all buttons on the page
|
|
14
|
+
buttons = page.locator("button").all()
|
|
15
|
+
print(f"Found {len(buttons)} buttons:")
|
|
16
|
+
for i, button in enumerate(buttons):
|
|
17
|
+
text = button.inner_text() if button.is_visible() else "[hidden]"
|
|
18
|
+
print(f" [{i}] {text}")
|
|
19
|
+
|
|
20
|
+
# Discover links
|
|
21
|
+
links = page.locator("a[href]").all()
|
|
22
|
+
print(f"\nFound {len(links)} links:")
|
|
23
|
+
for link in links[:5]: # Show first 5
|
|
24
|
+
text = link.inner_text().strip()
|
|
25
|
+
href = link.get_attribute("href")
|
|
26
|
+
print(f" - {text} -> {href}")
|
|
27
|
+
|
|
28
|
+
# Discover input fields
|
|
29
|
+
inputs = page.locator("input, textarea, select").all()
|
|
30
|
+
print(f"\nFound {len(inputs)} input fields:")
|
|
31
|
+
for input_elem in inputs:
|
|
32
|
+
name = input_elem.get_attribute("name") or input_elem.get_attribute("id") or "[unnamed]"
|
|
33
|
+
input_type = input_elem.get_attribute("type") or "text"
|
|
34
|
+
print(f" - {name} ({input_type})")
|
|
35
|
+
|
|
36
|
+
# Take screenshot for visual reference
|
|
37
|
+
page.screenshot(path="/tmp/page_discovery.png", full_page=True)
|
|
38
|
+
print("\nScreenshot saved to /tmp/page_discovery.png")
|
|
39
|
+
|
|
40
|
+
browser.close()
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
from playwright.sync_api import sync_playwright
|
|
4
|
+
|
|
5
|
+
# Example: Automating interaction with static HTML files using file:// URLs
|
|
6
|
+
|
|
7
|
+
html_file_path = os.path.abspath("path/to/your/file.html")
|
|
8
|
+
file_url = f"file://{html_file_path}"
|
|
9
|
+
|
|
10
|
+
with sync_playwright() as p:
|
|
11
|
+
browser = p.chromium.launch(headless=True)
|
|
12
|
+
page = browser.new_page(viewport={"width": 1920, "height": 1080})
|
|
13
|
+
|
|
14
|
+
# Navigate to local HTML file
|
|
15
|
+
page.goto(file_url)
|
|
16
|
+
|
|
17
|
+
# Take screenshot
|
|
18
|
+
page.screenshot(path="/mnt/user-data/outputs/static_page.png", full_page=True)
|
|
19
|
+
|
|
20
|
+
# Interact with elements
|
|
21
|
+
page.click("text=Click Me")
|
|
22
|
+
page.fill("#name", "John Doe")
|
|
23
|
+
page.fill("#email", "john@example.com")
|
|
24
|
+
|
|
25
|
+
# Submit form
|
|
26
|
+
page.click('button[type="submit"]')
|
|
27
|
+
page.wait_for_timeout(500)
|
|
28
|
+
|
|
29
|
+
# Take final screenshot
|
|
30
|
+
page.screenshot(path="/mnt/user-data/outputs/after_submit.png", full_page=True)
|
|
31
|
+
|
|
32
|
+
browser.close()
|
|
33
|
+
|
|
34
|
+
print("Static HTML automation completed!")
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# Development Workflow Testing Modules
|
|
2
|
+
|
|
3
|
+
> Purpose: Advanced implementation modules for comprehensive development workflow management
|
|
4
|
+
> Structure: Modular architecture with focused, in-depth implementations
|
|
5
|
+
> Compliance: Progressive disclosure with main SKILL.md under 500 lines
|
|
6
|
+
|
|
7
|
+
## Module Overview
|
|
8
|
+
|
|
9
|
+
This modules directory contains detailed implementation modules for the moai-workflow-testing skill. Each module provides comprehensive code examples, advanced features, and integration patterns that extend the core functionality described in the main SKILL.md file.
|
|
10
|
+
|
|
11
|
+
## Available Modules
|
|
12
|
+
|
|
13
|
+
### [AI-Powered Debugging](./ai-debugging.md)
|
|
14
|
+
Complexity: Advanced | Time: 20+ minutes | Dependencies: Python 3.8+, Context7 MCP
|
|
15
|
+
|
|
16
|
+
- Intelligent error classification with Context7 patterns
|
|
17
|
+
- AI-driven solution generation with confidence scoring
|
|
18
|
+
- Learning debugger that improves from previous fixes
|
|
19
|
+
- Real-time error pattern recognition and prevention strategies
|
|
20
|
+
|
|
21
|
+
Key Features:
|
|
22
|
+
- Context7 integration for latest debugging patterns
|
|
23
|
+
- Error frequency tracking and analysis
|
|
24
|
+
- Automated solution generation with multiple approaches
|
|
25
|
+
- Performance-aware debugging with minimal overhead
|
|
26
|
+
|
|
27
|
+
### [Smart Refactoring](./smart-refactoring.md)
|
|
28
|
+
Complexity: Advanced | Time: 25+ minutes | Dependencies: Python 3.8+, Rope, AST, Context7 MCP
|
|
29
|
+
|
|
30
|
+
- Technical debt analysis with comprehensive code scanning
|
|
31
|
+
- Safe automated refactoring with risk assessment
|
|
32
|
+
- AI-driven refactoring suggestions with Context7 patterns
|
|
33
|
+
- Dependency-aware refactoring with impact analysis
|
|
34
|
+
|
|
35
|
+
Key Features:
|
|
36
|
+
- Context7 refactoring patterns integration
|
|
37
|
+
- Safe transformation planning with rollback strategies
|
|
38
|
+
- Technical debt prioritization and quantification
|
|
39
|
+
- Project-aware refactoring with convention detection
|
|
40
|
+
|
|
41
|
+
### [Performance Optimization](./performance-optimization.md)
|
|
42
|
+
Complexity: Advanced | Time: 30+ minutes | Dependencies: Python 3.8+, cProfile, memory_profiler, psutil
|
|
43
|
+
|
|
44
|
+
- Real-time performance monitoring with configurable sampling
|
|
45
|
+
- Bottleneck detection with AI-powered analysis
|
|
46
|
+
- Automated optimization plan generation
|
|
47
|
+
- Memory leak detection and optimization strategies
|
|
48
|
+
|
|
49
|
+
Key Features:
|
|
50
|
+
- Multi-dimensional performance analysis
|
|
51
|
+
- Intelligent optimization suggestions with Context7 patterns
|
|
52
|
+
- Continuous monitoring with alerting capabilities
|
|
53
|
+
- Performance regression detection and prevention
|
|
54
|
+
|
|
55
|
+
### [TDD with Context7](./tdd-context7.md)
|
|
56
|
+
Complexity: Advanced | Time: 25+ minutes | Dependencies: Python 3.8+, pytest, Context7 MCP
|
|
57
|
+
|
|
58
|
+
- RED-GREEN-REFACTOR cycle automation with AI assistance
|
|
59
|
+
- Context7-enhanced test generation and pattern matching
|
|
60
|
+
- Intelligent test case generation from specifications
|
|
61
|
+
- Automated test suite optimization and maintenance
|
|
62
|
+
|
|
63
|
+
Key Features:
|
|
64
|
+
- Context7 testing patterns and best practices
|
|
65
|
+
- AI-powered test case generation with coverage optimization
|
|
66
|
+
- Comprehensive test specification management
|
|
67
|
+
- Automated test execution with quality validation
|
|
68
|
+
|
|
69
|
+
### [Automated Code Review](./automated-code-review.md)
|
|
70
|
+
Complexity: Advanced | Time: 35+ minutes | Dependencies: Python 3.8+, pylint, flake8, bandit, mypy
|
|
71
|
+
|
|
72
|
+
- TRUST 5 framework validation with AI analysis
|
|
73
|
+
- Multi-tool static analysis integration and aggregation
|
|
74
|
+
- Context7 security patterns and vulnerability detection
|
|
75
|
+
- Automated fix suggestions with diff generation
|
|
76
|
+
|
|
77
|
+
Key Features:
|
|
78
|
+
- Comprehensive TRUST 5 category scoring
|
|
79
|
+
- Context7 security and quality pattern integration
|
|
80
|
+
- Automated issue detection with prioritization
|
|
81
|
+
- Integration with CI/CD pipelines and quality gates
|
|
82
|
+
|
|
83
|
+
## Module Integration
|
|
84
|
+
|
|
85
|
+
### Using Individual Modules
|
|
86
|
+
|
|
87
|
+
Each module can be used independently or as part of the unified workflow system:
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
# Import specific module components
|
|
91
|
+
from moai_workflow_testing.modules.ai_debugging import AIDebugger
|
|
92
|
+
from moai_workflow_testing.modules.performance_optimization import PerformanceProfiler
|
|
93
|
+
|
|
94
|
+
# Use modules independently
|
|
95
|
+
debugger = AIDebugger(context7_client=context7)
|
|
96
|
+
profiler = PerformanceProfiler(context7_client=context7)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Unified Workflow Integration
|
|
100
|
+
|
|
101
|
+
All modules are designed to work together seamlessly:
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
from moai_workflow_testing import DevelopmentWorkflow
|
|
105
|
+
|
|
106
|
+
# Complete workflow with all modules
|
|
107
|
+
workflow = DevelopmentWorkflow(
|
|
108
|
+
project_path="/project/src",
|
|
109
|
+
context7_client=context7,
|
|
110
|
+
enable_all_modules=True
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
results = await workflow.execute_complete_workflow()
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Module Dependencies
|
|
117
|
+
|
|
118
|
+
### Core Dependencies
|
|
119
|
+
- Python 3.8+: Base runtime environment
|
|
120
|
+
- Context7 MCP: For pattern integration and AI assistance
|
|
121
|
+
- asyncio: Asynchronous execution support
|
|
122
|
+
|
|
123
|
+
### Module-Specific Dependencies
|
|
124
|
+
- Performance Optimization: cProfile, memory_profiler, psutil, line_profiler
|
|
125
|
+
- Smart Refactoring: Rope, AST, Context7 patterns
|
|
126
|
+
- Automated Code Review: pylint, flake8, bandit, mypy
|
|
127
|
+
- TDD: pytest, unittest, coverage, Context7 testing patterns
|
|
128
|
+
|
|
129
|
+
## Best Practices
|
|
130
|
+
|
|
131
|
+
### Module Selection
|
|
132
|
+
1. Start with main SKILL.md: Use the overview to understand capabilities
|
|
133
|
+
2. Progress to modules: Dive into specific modules as needed
|
|
134
|
+
3. Combine selectively: Use only the modules relevant to your workflow
|
|
135
|
+
|
|
136
|
+
### Integration Guidelines
|
|
137
|
+
1. Context7 Integration: Enable Context7 for enhanced AI capabilities
|
|
138
|
+
2. Performance Considerations: Monitor overhead of analysis tools
|
|
139
|
+
3. Quality Gates: Configure appropriate thresholds for your project
|
|
140
|
+
|
|
141
|
+
### Maintenance
|
|
142
|
+
1. Regular Updates: Keep Context7 patterns current
|
|
143
|
+
2. Tool Versions: Maintain compatible static analysis tool versions
|
|
144
|
+
3. Pattern Evolution: Update patterns as best practices evolve
|
|
145
|
+
|
|
146
|
+
## Module Development
|
|
147
|
+
|
|
148
|
+
### Adding New Modules
|
|
149
|
+
|
|
150
|
+
To add a new module to this skill:
|
|
151
|
+
|
|
152
|
+
1. Create Module File: Use the established template pattern
|
|
153
|
+
2. Follow Structure: Include core implementation, advanced features, and best practices
|
|
154
|
+
3. Update References: Add module reference to main SKILL.md
|
|
155
|
+
4. Test Integration: Ensure compatibility with existing modules
|
|
156
|
+
|
|
157
|
+
### Module Template
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
# Module Title
|
|
161
|
+
|
|
162
|
+
> Module: Brief module description
|
|
163
|
+
> Complexity: Basic|Intermediate|Advanced
|
|
164
|
+
> Time: X+ minutes
|
|
165
|
+
> Dependencies: List of required libraries
|
|
166
|
+
|
|
167
|
+
## Core Implementation
|
|
168
|
+
|
|
169
|
+
[Complete implementation with comprehensive examples]
|
|
170
|
+
|
|
171
|
+
## Advanced Features
|
|
172
|
+
|
|
173
|
+
[Extended functionality and integration patterns]
|
|
174
|
+
|
|
175
|
+
## Best Practices
|
|
176
|
+
|
|
177
|
+
[Guidelines for production use]
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
Module: `modules/module-name.md`
|
|
182
|
+
Related: [Other Module](./other-module.md) | [Related Module](./related-module.md)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Quality Assurance
|
|
186
|
+
|
|
187
|
+
### Module Standards
|
|
188
|
+
- Comprehensive documentation with examples
|
|
189
|
+
- Error handling and edge case coverage
|
|
190
|
+
- Performance considerations and optimizations
|
|
191
|
+
- Context7 integration where appropriate
|
|
192
|
+
- Cross-module compatibility testing
|
|
193
|
+
|
|
194
|
+
### Validation Checklist
|
|
195
|
+
- [ ] Module compiles and runs without errors
|
|
196
|
+
- [ ] Examples are functional and tested
|
|
197
|
+
- [ ] Documentation is complete and accurate
|
|
198
|
+
- [ ] Integration with other modules works
|
|
199
|
+
- [ ] Performance meets acceptable standards
|
|
200
|
+
|
|
201
|
+
## Support and Contributing
|
|
202
|
+
|
|
203
|
+
### Module Support
|
|
204
|
+
- Documentation: Each module includes comprehensive usage examples
|
|
205
|
+
- Integration: See main SKILL.md for integration patterns
|
|
206
|
+
- Dependencies: Check individual modules for specific requirements
|
|
207
|
+
|
|
208
|
+
### Contributing
|
|
209
|
+
When contributing to modules:
|
|
210
|
+
|
|
211
|
+
1. Follow Templates: Use established module structure
|
|
212
|
+
2. Test Thoroughly: Ensure compatibility with existing modules
|
|
213
|
+
3. Document Completely: Include comprehensive examples and use cases
|
|
214
|
+
4. Update References: Keep main SKILL.md and README current
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
Last Updated: 2025-11-30
|
|
219
|
+
Module Count: 5 comprehensive modules
|
|
220
|
+
Maintained by: MoAI-ADK Development Workflow Team
|