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
|
@@ -1,660 +0,0 @@
|
|
|
1
|
-
# Backend Architecture Reference
|
|
2
|
-
|
|
3
|
-
## Architecture Decision Matrix
|
|
4
|
-
|
|
5
|
-
### When to Choose Each Pattern
|
|
6
|
-
|
|
7
|
-
| Pattern | Team Size | Complexity | Deployment | Scaling | Use Cases |
|
|
8
|
-
|---------|-----------|------------|------------|---------|-----------|
|
|
9
|
-
| **Layered Monolith** | 1-5 | Low-Medium | Simple | Vertical | MVPs, startups, internal tools |
|
|
10
|
-
| **Modular Monolith** | 5-15 | Medium | Simple | Vertical | Growing products, clear domains |
|
|
11
|
-
| **Microservices** | 15+ | High | Complex | Horizontal | Large-scale, multi-team, polyglot |
|
|
12
|
-
| **Serverless** | Any | Low-Medium | Managed | Auto | Event-driven, spiky traffic, rapid prototyping |
|
|
13
|
-
| **Event-Driven** | 10+ | High | Complex | Horizontal | Real-time analytics, decoupled systems, audit logs |
|
|
14
|
-
|
|
15
|
-
### Decision Criteria
|
|
16
|
-
|
|
17
|
-
**Choose Layered Monolith when**:
|
|
18
|
-
- Small team (1-5 developers)
|
|
19
|
-
- Rapid prototyping phase
|
|
20
|
-
- Simple deployment requirements
|
|
21
|
-
- Limited operational expertise
|
|
22
|
-
- Cost-sensitive project
|
|
23
|
-
|
|
24
|
-
**Choose Modular Monolith when**:
|
|
25
|
-
- Growing team (5-15 developers)
|
|
26
|
-
- Clear domain boundaries emerging
|
|
27
|
-
- Need independent module development
|
|
28
|
-
- Want extraction path to microservices
|
|
29
|
-
- Prefer simple deployment
|
|
30
|
-
|
|
31
|
-
**Choose Microservices when**:
|
|
32
|
-
- Large team (15+ developers)
|
|
33
|
-
- Multiple independent products/teams
|
|
34
|
-
- Polyglot technology requirements
|
|
35
|
-
- Need independent scaling per service
|
|
36
|
-
- High operational maturity (Kubernetes, Istio)
|
|
37
|
-
|
|
38
|
-
**Choose Serverless when**:
|
|
39
|
-
- Event-driven workloads
|
|
40
|
-
- Spiky or unpredictable traffic
|
|
41
|
-
- Want zero infrastructure management
|
|
42
|
-
- Cost optimization for low usage
|
|
43
|
-
- Rapid feature iteration
|
|
44
|
-
|
|
45
|
-
**Choose Event-Driven when**:
|
|
46
|
-
- Real-time data processing
|
|
47
|
-
- Audit logging requirements
|
|
48
|
-
- Decoupled system integration
|
|
49
|
-
- Complex business workflows
|
|
50
|
-
- Need event replay capability
|
|
51
|
-
|
|
52
|
-
## Cloud-Native Tool Comparison
|
|
53
|
-
|
|
54
|
-
### Container Orchestration
|
|
55
|
-
|
|
56
|
-
| Tool | Complexity | Ecosystem | Scaling | Multi-cloud | Production Ready |
|
|
57
|
-
|------|------------|-----------|---------|-------------|------------------|
|
|
58
|
-
| **Kubernetes 1.31.x** | High | Massive | Excellent | Yes | Yes |
|
|
59
|
-
| **Docker Swarm** | Low | Limited | Good | Partial | Yes |
|
|
60
|
-
| **AWS ECS** | Medium | AWS only | Good | No | Yes |
|
|
61
|
-
| **Nomad** | Medium | HashiCorp | Good | Yes | Yes |
|
|
62
|
-
|
|
63
|
-
**Recommendation**: Kubernetes 1.31.x for production, Docker Compose for local dev.
|
|
64
|
-
|
|
65
|
-
### Service Mesh
|
|
66
|
-
|
|
67
|
-
| Tool | Complexity | Features | Performance | Maturity |
|
|
68
|
-
|------|------------|----------|-------------|----------|
|
|
69
|
-
| **Istio 1.21.x** | High | Comprehensive | Good | Mature |
|
|
70
|
-
| **Linkerd 2.14.x** | Low | Core features | Excellent | Mature |
|
|
71
|
-
| **Consul Connect** | Medium | Full stack | Good | Mature |
|
|
72
|
-
| **AWS App Mesh** | Medium | AWS native | Good | Growing |
|
|
73
|
-
|
|
74
|
-
**Recommendation**: Istio 1.21.x for full features, Linkerd for simplicity.
|
|
75
|
-
|
|
76
|
-
### Message Brokers
|
|
77
|
-
|
|
78
|
-
| Tool | Throughput | Durability | Ordering | Complexity | Use Case |
|
|
79
|
-
|------|------------|------------|----------|------------|----------|
|
|
80
|
-
| **Apache Kafka 3.7.x** | Very High | Excellent | Partition | High | Event streaming, logs |
|
|
81
|
-
| **RabbitMQ 3.13.x** | High | Good | Queue | Medium | Task queues, RPC |
|
|
82
|
-
| **Redis Streams 7.2.x** | Very High | Good | Stream | Low | Real-time, lightweight |
|
|
83
|
-
| **Amazon SQS** | Medium | Excellent | Best-effort | Low | Serverless, AWS |
|
|
84
|
-
| **NATS 2.10.x** | Very High | Good | Stream | Low | Microservices messaging |
|
|
85
|
-
| **Apache Pulsar 3.2.x** | Very High | Excellent | Partition | High | Multi-tenancy, geo-replication |
|
|
86
|
-
|
|
87
|
-
**Recommendation**: Kafka 3.7.x for event streaming, RabbitMQ 3.13.x for task queues, NATS for lightweight microservices messaging.
|
|
88
|
-
|
|
89
|
-
### Observability Stack Comparison
|
|
90
|
-
|
|
91
|
-
| Stack | Traces | Metrics | Logs | Complexity | Cost |
|
|
92
|
-
|-------|--------|---------|------|------------|------|
|
|
93
|
-
| **OpenTelemetry + Prometheus + Jaeger + ELK** | Yes | Yes | Yes | High | OSS |
|
|
94
|
-
| **Datadog** | Yes | Yes | Yes | Low | High |
|
|
95
|
-
| **New Relic** | Yes | Yes | Yes | Low | High |
|
|
96
|
-
| **AWS X-Ray + CloudWatch** | Yes | Yes | Yes | Medium | Medium |
|
|
97
|
-
| **Grafana Cloud** | Yes | Yes | Yes | Low | Medium |
|
|
98
|
-
|
|
99
|
-
**Recommendation**: OpenTelemetry 1.24.0 + Prometheus 2.48.x + Jaeger 1.51.x for vendor-neutral OSS stack.
|
|
100
|
-
|
|
101
|
-
### Database Selection Matrix
|
|
102
|
-
|
|
103
|
-
| Database | Type | Scalability | Consistency | Query Flexibility | Use Case |
|
|
104
|
-
|----------|------|-------------|-------------|-------------------|----------|
|
|
105
|
-
| **PostgreSQL 16.x** | SQL | Vertical + Read Replicas | Strong ACID | SQL + JSONB | Relational, complex queries |
|
|
106
|
-
| **MongoDB 8.0.x** | Document | Horizontal (Sharding) | Tunable | Flexible schema | Rapid prototyping, catalogs |
|
|
107
|
-
| **Redis 7.2.x** | Key-Value | Horizontal (Cluster) | Eventual | Limited | Caching, sessions, pub/sub |
|
|
108
|
-
| **Cassandra 4.1.x** | Wide-Column | Horizontal | Tunable | CQL | Time-series, write-heavy |
|
|
109
|
-
|
|
110
|
-
**Recommendation**: PostgreSQL 16.x as default, MongoDB 8.0.x for schema flexibility.
|
|
111
|
-
|
|
112
|
-
## Deployment Strategies
|
|
113
|
-
|
|
114
|
-
### Blue-Green Deployment
|
|
115
|
-
|
|
116
|
-
**Pattern**:
|
|
117
|
-
- Two identical production environments (Blue = current, Green = new)
|
|
118
|
-
- Switch traffic after validation
|
|
119
|
-
- Instant rollback capability
|
|
120
|
-
|
|
121
|
-
**Pros**:
|
|
122
|
-
- Zero downtime
|
|
123
|
-
- Easy rollback
|
|
124
|
-
- Full validation before switch
|
|
125
|
-
|
|
126
|
-
**Cons**:
|
|
127
|
-
- Double infrastructure cost
|
|
128
|
-
- Data migration complexity
|
|
129
|
-
- Requires load balancer
|
|
130
|
-
|
|
131
|
-
**Best for**: Critical services with infrequent releases.
|
|
132
|
-
|
|
133
|
-
### Canary Deployment
|
|
134
|
-
|
|
135
|
-
**Pattern**:
|
|
136
|
-
- Gradually shift traffic to new version (5% → 25% → 50% → 100%)
|
|
137
|
-
- Monitor metrics at each stage
|
|
138
|
-
- Auto-rollback on errors
|
|
139
|
-
|
|
140
|
-
**Pros**:
|
|
141
|
-
- Risk mitigation
|
|
142
|
-
- Real-world testing
|
|
143
|
-
- Minimal infrastructure duplication
|
|
144
|
-
|
|
145
|
-
**Cons**:
|
|
146
|
-
- Requires advanced routing (Istio)
|
|
147
|
-
- Longer deployment time
|
|
148
|
-
- Version compatibility required
|
|
149
|
-
|
|
150
|
-
**Best for**: User-facing services with high traffic.
|
|
151
|
-
|
|
152
|
-
**Istio 1.21.x Implementation**:
|
|
153
|
-
```yaml
|
|
154
|
-
apiVersion: networking.istio.io/v1beta1
|
|
155
|
-
kind: VirtualService
|
|
156
|
-
metadata:
|
|
157
|
-
name: backend-canary
|
|
158
|
-
spec:
|
|
159
|
-
hosts:
|
|
160
|
-
- backend.example.com
|
|
161
|
-
http:
|
|
162
|
-
- match:
|
|
163
|
-
- headers:
|
|
164
|
-
x-canary:
|
|
165
|
-
exact: "true"
|
|
166
|
-
route:
|
|
167
|
-
- destination:
|
|
168
|
-
host: backend
|
|
169
|
-
subset: v2
|
|
170
|
-
- route:
|
|
171
|
-
- destination:
|
|
172
|
-
host: backend
|
|
173
|
-
subset: v1
|
|
174
|
-
weight: 90
|
|
175
|
-
- destination:
|
|
176
|
-
host: backend
|
|
177
|
-
subset: v2
|
|
178
|
-
weight: 10
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Rolling Update
|
|
182
|
-
|
|
183
|
-
**Pattern**:
|
|
184
|
-
- Incrementally replace instances (pod-by-pod)
|
|
185
|
-
- Kubernetes default strategy
|
|
186
|
-
- Health checks control rollout
|
|
187
|
-
|
|
188
|
-
**Pros**:
|
|
189
|
-
- Built-in Kubernetes support
|
|
190
|
-
- No extra infrastructure
|
|
191
|
-
- Automatic rollback on failure
|
|
192
|
-
|
|
193
|
-
**Cons**:
|
|
194
|
-
- Version compatibility required
|
|
195
|
-
- Slower than blue-green
|
|
196
|
-
- Mixed versions during rollout
|
|
197
|
-
|
|
198
|
-
**Best for**: Standard microservices deployments.
|
|
199
|
-
|
|
200
|
-
**Kubernetes Configuration**:
|
|
201
|
-
```yaml
|
|
202
|
-
spec:
|
|
203
|
-
replicas: 10
|
|
204
|
-
strategy:
|
|
205
|
-
type: RollingUpdate
|
|
206
|
-
rollingUpdate:
|
|
207
|
-
maxSurge: 2
|
|
208
|
-
maxUnavailable: 1
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### A/B Testing (Feature Flags)
|
|
212
|
-
|
|
213
|
-
**Pattern**:
|
|
214
|
-
- Route users to different features based on criteria
|
|
215
|
-
- Measure business metrics
|
|
216
|
-
- Gradual feature rollout
|
|
217
|
-
|
|
218
|
-
**Pros**:
|
|
219
|
-
- Business metric validation
|
|
220
|
-
- User segmentation
|
|
221
|
-
- Independent of deployment
|
|
222
|
-
|
|
223
|
-
**Cons**:
|
|
224
|
-
- Code complexity (feature flags)
|
|
225
|
-
- Requires analytics
|
|
226
|
-
- Technical debt if not cleaned
|
|
227
|
-
|
|
228
|
-
**Best for**: Product experiments, new features.
|
|
229
|
-
|
|
230
|
-
**Tools**: LaunchDarkly, Split.io, Unleash, AWS AppConfig.
|
|
231
|
-
|
|
232
|
-
## Monitoring and Observability Setup
|
|
233
|
-
|
|
234
|
-
### OpenTelemetry 1.24.0 Integration
|
|
235
|
-
|
|
236
|
-
**Step 1: Instrument Application**:
|
|
237
|
-
```python
|
|
238
|
-
from opentelemetry import trace
|
|
239
|
-
from opentelemetry.sdk.trace import TracerProvider
|
|
240
|
-
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
241
|
-
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
|
|
242
|
-
|
|
243
|
-
trace.set_tracer_provider(TracerProvider())
|
|
244
|
-
tracer = trace.get_tracer(__name__)
|
|
245
|
-
|
|
246
|
-
otlp_exporter = OTLPSpanExporter(endpoint="otel-collector:4317")
|
|
247
|
-
span_processor = BatchSpanProcessor(otlp_exporter)
|
|
248
|
-
trace.get_tracer_provider().add_span_processor(span_processor)
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**Step 2: Deploy Collector**:
|
|
252
|
-
```yaml
|
|
253
|
-
apiVersion: apps/v1
|
|
254
|
-
kind: Deployment
|
|
255
|
-
metadata:
|
|
256
|
-
name: otel-collector
|
|
257
|
-
spec:
|
|
258
|
-
template:
|
|
259
|
-
spec:
|
|
260
|
-
containers:
|
|
261
|
-
- name: otel-collector
|
|
262
|
-
image: otel/opentelemetry-collector:0.92.0
|
|
263
|
-
ports:
|
|
264
|
-
- containerPort: 4317 # OTLP gRPC
|
|
265
|
-
- containerPort: 4318 # OTLP HTTP
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**Step 3: Configure Backends**:
|
|
269
|
-
```yaml
|
|
270
|
-
# otel-collector-config.yaml
|
|
271
|
-
receivers:
|
|
272
|
-
otlp:
|
|
273
|
-
protocols:
|
|
274
|
-
grpc:
|
|
275
|
-
http:
|
|
276
|
-
|
|
277
|
-
processors:
|
|
278
|
-
batch:
|
|
279
|
-
|
|
280
|
-
exporters:
|
|
281
|
-
prometheus:
|
|
282
|
-
endpoint: "0.0.0.0:8889"
|
|
283
|
-
jaeger:
|
|
284
|
-
endpoint: "jaeger:14250"
|
|
285
|
-
elasticsearch:
|
|
286
|
-
endpoints: ["http://elasticsearch:9200"]
|
|
287
|
-
|
|
288
|
-
service:
|
|
289
|
-
pipelines:
|
|
290
|
-
traces:
|
|
291
|
-
receivers: [otlp]
|
|
292
|
-
processors: [batch]
|
|
293
|
-
exporters: [jaeger]
|
|
294
|
-
metrics:
|
|
295
|
-
receivers: [otlp]
|
|
296
|
-
processors: [batch]
|
|
297
|
-
exporters: [prometheus]
|
|
298
|
-
logs:
|
|
299
|
-
receivers: [otlp]
|
|
300
|
-
processors: [batch]
|
|
301
|
-
exporters: [elasticsearch]
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### Prometheus 2.48.x Setup
|
|
305
|
-
|
|
306
|
-
**Step 1: Install Prometheus Operator**:
|
|
307
|
-
```bash
|
|
308
|
-
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
|
309
|
-
helm install prometheus prometheus-community/kube-prometheus-stack \
|
|
310
|
-
--set prometheus.prometheusSpec.retention=30d \
|
|
311
|
-
--set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=50Gi
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
**Step 2: ServiceMonitor for Application**:
|
|
315
|
-
```yaml
|
|
316
|
-
apiVersion: monitoring.coreos.com/v1
|
|
317
|
-
kind: ServiceMonitor
|
|
318
|
-
metadata:
|
|
319
|
-
name: backend-metrics
|
|
320
|
-
spec:
|
|
321
|
-
selector:
|
|
322
|
-
matchLabels:
|
|
323
|
-
app: backend
|
|
324
|
-
endpoints:
|
|
325
|
-
- port: metrics
|
|
326
|
-
interval: 15s
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
**Step 3: Alerting Rules**:
|
|
330
|
-
```yaml
|
|
331
|
-
apiVersion: monitoring.coreos.com/v1
|
|
332
|
-
kind: PrometheusRule
|
|
333
|
-
metadata:
|
|
334
|
-
name: backend-alerts
|
|
335
|
-
spec:
|
|
336
|
-
groups:
|
|
337
|
-
- name: backend
|
|
338
|
-
interval: 30s
|
|
339
|
-
rules:
|
|
340
|
-
- alert: HighErrorRate
|
|
341
|
-
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
|
|
342
|
-
for: 5m
|
|
343
|
-
labels:
|
|
344
|
-
severity: critical
|
|
345
|
-
annotations:
|
|
346
|
-
summary: "High error rate detected"
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
### Jaeger 1.51.x Deployment
|
|
350
|
-
|
|
351
|
-
**All-in-One (Development)**:
|
|
352
|
-
```bash
|
|
353
|
-
kubectl create deployment jaeger --image=jaegertracing/all-in-one:1.51
|
|
354
|
-
kubectl expose deployment jaeger --port=16686 --target-port=16686 --type=LoadBalancer
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
**Production (with Elasticsearch)**:
|
|
358
|
-
```bash
|
|
359
|
-
helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
|
|
360
|
-
helm install jaeger jaegertracing/jaeger \
|
|
361
|
-
--set provisionDataStore.cassandra=false \
|
|
362
|
-
--set provisionDataStore.elasticsearch=true \
|
|
363
|
-
--set storage.type=elasticsearch \
|
|
364
|
-
--set storage.elasticsearch.host=elasticsearch-master \
|
|
365
|
-
--set storage.elasticsearch.port=9200
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
### Grafana 10.x Dashboards
|
|
369
|
-
|
|
370
|
-
**Key Dashboards**:
|
|
371
|
-
- **RED Metrics**: Rate, Errors, Duration per service
|
|
372
|
-
- **Kubernetes Cluster**: Node/pod resource usage
|
|
373
|
-
- **Database Performance**: Query latency, connection pool
|
|
374
|
-
- **Application Logs**: Error rate trends, log volume
|
|
375
|
-
|
|
376
|
-
**Import Community Dashboards**:
|
|
377
|
-
- Kubernetes Cluster Monitoring (ID: 7249)
|
|
378
|
-
- Node Exporter Full (ID: 1860)
|
|
379
|
-
- PostgreSQL Database (ID: 9628)
|
|
380
|
-
|
|
381
|
-
## Performance Benchmarking
|
|
382
|
-
|
|
383
|
-
### Load Testing Tools
|
|
384
|
-
|
|
385
|
-
| Tool | Protocol | Complexity | Reporting | Use Case |
|
|
386
|
-
|------|----------|------------|-----------|----------|
|
|
387
|
-
| **k6** | HTTP, gRPC, WebSocket | Low | Good | API load testing |
|
|
388
|
-
| **Gatling** | HTTP, WebSocket | Medium | Excellent | Complex scenarios |
|
|
389
|
-
| **JMeter** | HTTP, JDBC, JMS, etc. | High | Good | Enterprise testing |
|
|
390
|
-
| **Locust** | HTTP, custom | Low | Good | Python-based scripting |
|
|
391
|
-
|
|
392
|
-
**Recommendation**: k6 for API load testing, Gatling for complex user journeys.
|
|
393
|
-
|
|
394
|
-
### k6 Example (HTTP API)
|
|
395
|
-
|
|
396
|
-
```javascript
|
|
397
|
-
import http from 'k6/http';
|
|
398
|
-
import { check, sleep } from 'k6';
|
|
399
|
-
|
|
400
|
-
export let options = {
|
|
401
|
-
stages: [
|
|
402
|
-
{ duration: '2m', target: 100 }, // Ramp-up
|
|
403
|
-
{ duration: '5m', target: 100 }, // Steady
|
|
404
|
-
{ duration: '2m', target: 0 }, // Ramp-down
|
|
405
|
-
],
|
|
406
|
-
thresholds: {
|
|
407
|
-
http_req_duration: ['p(95)<500'], // 95% under 500ms
|
|
408
|
-
http_req_failed: ['rate<0.01'], // Error rate < 1%
|
|
409
|
-
},
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
export default function () {
|
|
413
|
-
let res = http.get('https://api.example.com/users');
|
|
414
|
-
check(res, {
|
|
415
|
-
'status is 200': (r) => r.status === 200,
|
|
416
|
-
'response time < 500ms': (r) => r.timings.duration < 500,
|
|
417
|
-
});
|
|
418
|
-
sleep(1);
|
|
419
|
-
}
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
**Run**:
|
|
423
|
-
```bash
|
|
424
|
-
k6 run --vus 100 --duration 10m load-test.js
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
### Performance Targets
|
|
428
|
-
|
|
429
|
-
| Metric | Target | Good | Excellent |
|
|
430
|
-
|--------|--------|------|-----------|
|
|
431
|
-
| **API Response Time (p95)** | <500ms | <200ms | <100ms |
|
|
432
|
-
| **Error Rate** | <1% | <0.1% | <0.01% |
|
|
433
|
-
| **Throughput** | 1000 req/s | 5000 req/s | 10000 req/s |
|
|
434
|
-
| **Database Query (p95)** | <100ms | <50ms | <10ms |
|
|
435
|
-
| **CPU Usage** | <70% | <50% | <30% |
|
|
436
|
-
| **Memory Usage** | <80% | <60% | <40% |
|
|
437
|
-
|
|
438
|
-
## Security Best Practices
|
|
439
|
-
|
|
440
|
-
### OWASP API Security Top 10 2023 Checklist
|
|
441
|
-
|
|
442
|
-
- [ ] **API1: Broken Object Level Authorization**
|
|
443
|
-
- Implement per-object access control checks
|
|
444
|
-
- Validate user owns the resource before access
|
|
445
|
-
- Use UUIDs instead of sequential IDs
|
|
446
|
-
|
|
447
|
-
- [ ] **API2: Broken Authentication**
|
|
448
|
-
- Use industry-standard auth (OAuth 2.0, OpenID Connect)
|
|
449
|
-
- Implement rate limiting on auth endpoints
|
|
450
|
-
- Rotate secrets regularly
|
|
451
|
-
|
|
452
|
-
- [ ] **API3: Broken Object Property Level Authorization**
|
|
453
|
-
- Use response DTOs to filter sensitive fields
|
|
454
|
-
- Validate input against allowed fields (no mass assignment)
|
|
455
|
-
- Implement role-based field visibility
|
|
456
|
-
|
|
457
|
-
- [ ] **API4: Unrestricted Resource Consumption**
|
|
458
|
-
- Enforce pagination (max 100 items per page)
|
|
459
|
-
- Implement rate limiting (Redis-based)
|
|
460
|
-
- Set request timeouts and size limits
|
|
461
|
-
|
|
462
|
-
- [ ] **API5: Broken Function Level Authorization**
|
|
463
|
-
- Validate roles/permissions on every endpoint
|
|
464
|
-
- Deny by default, allow explicitly
|
|
465
|
-
- Use middleware for consistent checks
|
|
466
|
-
|
|
467
|
-
- [ ] **API6: Unrestricted Access to Sensitive Business Flows**
|
|
468
|
-
- Implement CAPTCHA for critical flows
|
|
469
|
-
- Detect and block automated abuse
|
|
470
|
-
- Monitor for unusual patterns
|
|
471
|
-
|
|
472
|
-
- [ ] **API7: Server Side Request Forgery (SSRF)**
|
|
473
|
-
- Validate and whitelist URLs
|
|
474
|
-
- Block private IP ranges
|
|
475
|
-
- Use network segmentation
|
|
476
|
-
|
|
477
|
-
- [ ] **API8: Security Misconfiguration**
|
|
478
|
-
- Disable debug mode in production
|
|
479
|
-
- Remove unnecessary endpoints
|
|
480
|
-
- Use security headers (HSTS, CSP, etc.)
|
|
481
|
-
|
|
482
|
-
- [ ] **API9: Improper Inventory Management**
|
|
483
|
-
- Document all API versions
|
|
484
|
-
- Deprecate old versions gracefully
|
|
485
|
-
- Monitor for unauthorized endpoints
|
|
486
|
-
|
|
487
|
-
- [ ] **API10: Unsafe Consumption of APIs**
|
|
488
|
-
- Validate external API responses
|
|
489
|
-
- Set timeouts for external calls
|
|
490
|
-
- Handle partial failures gracefully
|
|
491
|
-
|
|
492
|
-
### Rate Limiting Implementation (Redis 7.2.x)
|
|
493
|
-
|
|
494
|
-
**Token Bucket Algorithm**:
|
|
495
|
-
```python
|
|
496
|
-
import redis
|
|
497
|
-
import time
|
|
498
|
-
|
|
499
|
-
def is_rate_limited(user_id: str, max_requests: int = 100, window: int = 60) -> bool:
|
|
500
|
-
"""Token bucket rate limiting with Redis."""
|
|
501
|
-
r = redis.Redis(host='localhost', port=6379, db=0)
|
|
502
|
-
key = f"rate_limit:{user_id}"
|
|
503
|
-
|
|
504
|
-
current = r.get(key)
|
|
505
|
-
if current is None:
|
|
506
|
-
r.setex(key, window, 1)
|
|
507
|
-
return False
|
|
508
|
-
|
|
509
|
-
current = int(current)
|
|
510
|
-
if current >= max_requests:
|
|
511
|
-
return True
|
|
512
|
-
|
|
513
|
-
r.incr(key)
|
|
514
|
-
return False
|
|
515
|
-
```
|
|
516
|
-
|
|
517
|
-
**Sliding Window (Accurate)**:
|
|
518
|
-
```python
|
|
519
|
-
def sliding_window_rate_limit(user_id: str, max_requests: int = 100, window: int = 60) -> bool:
|
|
520
|
-
"""Sliding window rate limiting with Redis sorted sets."""
|
|
521
|
-
r = redis.Redis(host='localhost', port=6379, db=0)
|
|
522
|
-
key = f"rate_limit:{user_id}"
|
|
523
|
-
now = time.time()
|
|
524
|
-
|
|
525
|
-
# Remove old entries
|
|
526
|
-
r.zremrangebyscore(key, 0, now - window)
|
|
527
|
-
|
|
528
|
-
# Count requests in window
|
|
529
|
-
count = r.zcard(key)
|
|
530
|
-
if count >= max_requests:
|
|
531
|
-
return True
|
|
532
|
-
|
|
533
|
-
# Add current request
|
|
534
|
-
r.zadd(key, {str(now): now})
|
|
535
|
-
r.expire(key, window)
|
|
536
|
-
return False
|
|
537
|
-
```
|
|
538
|
-
|
|
539
|
-
## Cost Optimization
|
|
540
|
-
|
|
541
|
-
### Resource Right-Sizing
|
|
542
|
-
|
|
543
|
-
**Kubernetes Resource Requests/Limits**:
|
|
544
|
-
```yaml
|
|
545
|
-
resources:
|
|
546
|
-
requests:
|
|
547
|
-
cpu: "100m" # Minimum guaranteed
|
|
548
|
-
memory: "128Mi"
|
|
549
|
-
limits:
|
|
550
|
-
cpu: "500m" # Maximum allowed
|
|
551
|
-
memory: "512Mi"
|
|
552
|
-
```
|
|
553
|
-
|
|
554
|
-
**Guidelines**:
|
|
555
|
-
- Set requests based on p50 usage
|
|
556
|
-
- Set limits based on p99 usage
|
|
557
|
-
- Enable Vertical Pod Autoscaler for recommendations
|
|
558
|
-
|
|
559
|
-
### Auto-Scaling Strategies
|
|
560
|
-
|
|
561
|
-
**Horizontal Pod Autoscaler (HPA)**:
|
|
562
|
-
```yaml
|
|
563
|
-
apiVersion: autoscaling/v2
|
|
564
|
-
kind: HorizontalPodAutoscaler
|
|
565
|
-
metadata:
|
|
566
|
-
name: backend-hpa
|
|
567
|
-
spec:
|
|
568
|
-
scaleTargetRef:
|
|
569
|
-
apiVersion: apps/v1
|
|
570
|
-
kind: Deployment
|
|
571
|
-
name: backend
|
|
572
|
-
minReplicas: 2
|
|
573
|
-
maxReplicas: 10
|
|
574
|
-
metrics:
|
|
575
|
-
- type: Resource
|
|
576
|
-
resource:
|
|
577
|
-
name: cpu
|
|
578
|
-
target:
|
|
579
|
-
type: Utilization
|
|
580
|
-
averageUtilization: 70
|
|
581
|
-
- type: Resource
|
|
582
|
-
resource:
|
|
583
|
-
name: memory
|
|
584
|
-
target:
|
|
585
|
-
type: Utilization
|
|
586
|
-
averageUtilization: 80
|
|
587
|
-
```
|
|
588
|
-
|
|
589
|
-
**Cluster Autoscaler**:
|
|
590
|
-
- Automatically adds/removes nodes based on pending pods
|
|
591
|
-
- Works with cloud provider APIs (AWS, GCP, Azure)
|
|
592
|
-
- Set min/max node count per node group
|
|
593
|
-
|
|
594
|
-
### Caching Strategies for Cost Reduction
|
|
595
|
-
|
|
596
|
-
**CDN for Static Assets**:
|
|
597
|
-
- CloudFront, CloudFlare: ~$0.085/GB
|
|
598
|
-
- Reduces origin server load by 80-90%
|
|
599
|
-
- Set long TTLs (1 year) with versioned URLs
|
|
600
|
-
|
|
601
|
-
**Redis Caching**:
|
|
602
|
-
- Cache database queries (TTL: 5-60 minutes)
|
|
603
|
-
- Session storage (reduce database connections)
|
|
604
|
-
- Precomputed results (expensive calculations)
|
|
605
|
-
|
|
606
|
-
**Database Connection Pooling**:
|
|
607
|
-
- PgBouncer: Reduce database connections by 10x
|
|
608
|
-
- Typical pool size: 10-20 connections per app instance
|
|
609
|
-
- Significant cost savings on managed databases
|
|
610
|
-
|
|
611
|
-
### Container Registry Comparison
|
|
612
|
-
|
|
613
|
-
| Registry | Security Scanning | Geo-Replication | Cost | Integration | Use Case |
|
|
614
|
-
|----------|------------------|------------------|------|-------------|----------|
|
|
615
|
-
| **Docker Hub** | Free tier limited | No | Free/Paid | Universal | Public images |
|
|
616
|
-
| **Amazon ECR** | Yes (Inspector) | Yes | Pay-per-GB | AWS native | AWS workloads |
|
|
617
|
-
| **Google Artifact Registry** | Yes (Container Analysis) | Yes | Pay-per-GB | GCP native | GCP workloads |
|
|
618
|
-
| **Azure ACR** | Yes (Defender) | Yes | Pay-per-GB | Azure native | Azure workloads |
|
|
619
|
-
| **Harbor 2.10.x** | Yes (Trivy) | Yes | Self-hosted | Kubernetes | On-premises, multi-cloud |
|
|
620
|
-
| **GitHub Container Registry** | Yes (Dependabot) | Global CDN | Free for public | GitHub Actions | CI/CD integration |
|
|
621
|
-
|
|
622
|
-
**Recommendation**: Harbor 2.10.x for self-hosted multi-cloud, cloud-native registries for vendor lock-in scenarios.
|
|
623
|
-
|
|
624
|
-
### API Gateway Comparison
|
|
625
|
-
|
|
626
|
-
| Gateway | Protocol | Performance | Features | Complexity | Use Case |
|
|
627
|
-
|---------|----------|-------------|----------|------------|----------|
|
|
628
|
-
| **Kong 3.6.x** | HTTP, gRPC, WebSocket | Excellent | Plugins, mTLS, rate limiting | Medium | Enterprise APIs |
|
|
629
|
-
| **Ambassador (Emissary-Ingress) 3.9.x** | HTTP, gRPC | Good | Kubernetes-native, Istio integration | Medium | Kubernetes microservices |
|
|
630
|
-
| **Traefik 3.0.x** | HTTP, TCP, gRPC | Good | Auto-discovery, Let's Encrypt | Low | Docker/Kubernetes |
|
|
631
|
-
| **NGINX Ingress Controller** | HTTP, TCP, UDP | Excellent | Battle-tested, low overhead | Low | General-purpose |
|
|
632
|
-
| **AWS API Gateway** | HTTP, WebSocket | Good | Serverless, AWS Lambda | Low | AWS serverless |
|
|
633
|
-
| **Envoy Proxy 1.29.x** | HTTP/1.1, HTTP/2, gRPC | Excellent | L7 proxy, xDS API | High | Service mesh (Istio) |
|
|
634
|
-
|
|
635
|
-
**Recommendation**: Kong 3.6.x for feature-rich APIs, NGINX Ingress for simplicity, Envoy 1.29.x for service mesh integration.
|
|
636
|
-
|
|
637
|
-
### CI/CD Platform Comparison
|
|
638
|
-
|
|
639
|
-
| Platform | Cloud/Self-hosted | Kubernetes Support | Pipeline as Code | Cost | Use Case |
|
|
640
|
-
|----------|-------------------|-------------------|------------------|------|----------|
|
|
641
|
-
| **GitHub Actions** | Cloud | Yes (Kubernetes runners) | YAML | Free tier + paid | GitHub integration |
|
|
642
|
-
| **GitLab CI/CD** | Both | Yes | YAML | Free tier + paid | GitLab ecosystem |
|
|
643
|
-
| **Jenkins 2.440.x** | Self-hosted | Yes (Kubernetes plugin) | Groovy/Declarative | Free (self-hosted) | Enterprise, customization |
|
|
644
|
-
| **ArgoCD 2.10.x** | Self-hosted | Yes (GitOps) | YAML (Git) | Free | Kubernetes GitOps |
|
|
645
|
-
| **Tekton Pipelines 0.56.x** | Self-hosted | Yes (cloud-native) | YAML | Free | Kubernetes-native CI/CD |
|
|
646
|
-
| **CircleCI** | Cloud | Yes | YAML | Free tier + paid | Fast feedback loops |
|
|
647
|
-
|
|
648
|
-
**Recommendation**: ArgoCD 2.10.x for Kubernetes GitOps, GitHub Actions for GitHub-native workflows, Jenkins for complex enterprise pipelines.
|
|
649
|
-
|
|
650
|
-
## References
|
|
651
|
-
|
|
652
|
-
- Kubernetes. "Kubernetes Best Practices." https://kubernetes.io/docs/concepts/configuration/overview/ (2025-10-22)
|
|
653
|
-
- Istio. "Performance and Scalability." https://istio.io/latest/docs/ops/deployment/performance-and-scalability/ (2025-10-22)
|
|
654
|
-
- OpenTelemetry. "Getting Started." https://opentelemetry.io/docs/instrumentation/ (2025-10-22)
|
|
655
|
-
- Prometheus. "Best Practices." https://prometheus.io/docs/practices/ (2025-10-22)
|
|
656
|
-
- OWASP. "API Security Project." https://owasp.org/www-project-api-security/ (2025-10-22)
|
|
657
|
-
- CNCF. "Cloud Native Landscape." https://landscape.cncf.io/ (2025-10-22)
|
|
658
|
-
- Kafka. "Apache Kafka Documentation." https://kafka.apache.org/documentation/ (2025-10-22)
|
|
659
|
-
- Harbor. "Harbor Documentation." https://goharbor.io/docs/ (2025-10-22)
|
|
660
|
-
- ArgoCD. "ArgoCD Documentation." https://argo-cd.readthedocs.io/ (2025-10-22)
|