moai-adk 0.32.8__py3-none-any.whl → 0.41.0__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/cli/commands/init.py +4 -1
- moai_adk/cli/commands/update.py +31 -26
- moai_adk/cli/worktree/cli.py +54 -43
- moai_adk/cli/worktree/manager.py +17 -14
- moai_adk/cli/worktree/registry.py +313 -19
- moai_adk/core/config/unified.py +237 -63
- moai_adk/core/error_recovery_system.py +22 -4
- moai_adk/core/git/conflict_detector.py +10 -1
- moai_adk/core/git/event_detector.py +16 -5
- moai_adk/core/language_config_resolver.py +96 -3
- moai_adk/core/merge/analyzer.py +509 -324
- moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
- moai_adk/core/migration/backup_manager.py +54 -4
- moai_adk/core/migration/file_migrator.py +174 -2
- moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
- moai_adk/core/migration/version_detector.py +123 -19
- moai_adk/core/migration/version_migrator.py +44 -9
- moai_adk/core/project/backup_utils.py +9 -1
- moai_adk/core/project/initializer.py +33 -96
- moai_adk/core/project/phase_executor.py +79 -33
- moai_adk/core/quality/trust_checker.py +30 -10
- moai_adk/core/realtime_monitoring_dashboard.py +3 -3
- moai_adk/core/rollback_manager.py +46 -19
- moai_adk/core/template/backup.py +4 -3
- moai_adk/core/template/config.py +33 -9
- moai_adk/core/template/merger.py +34 -8
- moai_adk/core/template/processor.py +144 -9
- moai_adk/core/template_engine.py +10 -1
- moai_adk/core/template_variable_synchronizer.py +16 -2
- moai_adk/core/version_sync.py +54 -6
- moai_adk/project/configuration.py +1 -1
- moai_adk/statusline/config.py +5 -2
- moai_adk/statusline/main.py +58 -0
- moai_adk/statusline/renderer.py +38 -78
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +218 -51
- moai_adk/templates/.claude/agents/moai/builder-agent.md +46 -11
- moai_adk/templates/.claude/agents/moai/builder-command.md +88 -26
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +753 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +79 -8
- moai_adk/templates/.claude/agents/moai/expert-backend.md +100 -28
- moai_adk/templates/.claude/agents/moai/expert-database.md +20 -12
- moai_adk/templates/.claude/agents/moai/expert-debug.md +19 -8
- moai_adk/templates/.claude/agents/moai/expert-devops.md +36 -25
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +99 -38
- moai_adk/templates/.claude/agents/moai/expert-performance.md +661 -0
- moai_adk/templates/.claude/agents/moai/expert-refactoring.md +218 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +55 -4
- moai_adk/templates/.claude/agents/moai/expert-testing.md +737 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +20 -11
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +13 -4
- moai_adk/templates/.claude/agents/moai/manager-docs.md +15 -7
- moai_adk/templates/.claude/agents/moai/manager-git.md +192 -37
- moai_adk/templates/.claude/agents/moai/manager-project.md +13 -7
- moai_adk/templates/.claude/agents/moai/manager-quality.md +48 -6
- moai_adk/templates/.claude/agents/moai/manager-spec.md +110 -8
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +203 -17
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +217 -23
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +102 -7
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +107 -86
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +50 -4
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +52 -4
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +49 -5
- moai_adk/templates/.claude/commands/moai/0-project.md +503 -307
- moai_adk/templates/.claude/commands/moai/1-plan.md +255 -323
- moai_adk/templates/.claude/commands/moai/2-run.md +257 -315
- moai_adk/templates/.claude/commands/moai/3-sync.md +421 -56
- moai_adk/templates/.claude/commands/moai/9-feedback.md +40 -34
- moai_adk/templates/.claude/hooks/moai/__init__.py +0 -0
- moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +19 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
- moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +12 -14
- moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +1 -1
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +104 -14
- moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
- moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
- moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +804 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +14 -2
- moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +256 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +253 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +307 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +231 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +28 -24
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +236 -32
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +265 -2
- moai_adk/templates/.claude/output-styles/moai/yoda.md +23 -2
- moai_adk/templates/.claude/settings.json +43 -6
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +302 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/reference.md +139 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +251 -196
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +252 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +234 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +18 -13
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +20 -14
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +123 -425
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +16 -15
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +104 -315
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +6 -6
- moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +196 -154
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +2 -2
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +12 -1
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +33 -134
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +31 -18
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +30 -30
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +311 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +17 -16
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +430 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +193 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +394 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +472 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +386 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +418 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +383 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +389 -0
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +432 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +17 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +211 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +191 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +364 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +93 -227
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +25 -6
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
- moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +16 -13
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +1 -1
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +283 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +425 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +228 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +230 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +205 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +223 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +206 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +209 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +473 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/modules/migration.md +341 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/modules/validation.md +373 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +306 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/SKILL.md +214 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/examples.md +697 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/index.md +96 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/acp.md +115 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/agents.md +241 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/commands.md +197 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/custom-tools.md +197 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/formatters.md +164 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/keybinds.md +150 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/lsp-servers.md +156 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/mcp-servers.md +214 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/models.md +197 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/permissions.md +162 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/rules.md +129 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/skills.md +192 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/themes.md +200 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/tools.md +169 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/config.md +211 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/enterprise.md +68 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/intro.md +127 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/migration-1.0.md +82 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/network.md +72 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/providers.md +310 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/troubleshooting.md +124 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/ecosystem.md +75 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/plugins.md +218 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/sdk.md +266 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/server.md +207 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/cli.md +159 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/github.md +181 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/gitlab.md +122 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/ide.md +74 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/share.md +106 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/tui.md +129 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/zen.md +118 -0
- moai_adk/templates/.claude/skills/moai-tool-opencode/reference.md +790 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +189 -424
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +187 -314
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +284 -212
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +2 -2
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +1 -1
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +22 -1
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +336 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +12 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +221 -367
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +227 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
- moai_adk/templates/.git-hooks/pre-push +168 -50
- moai_adk/templates/.gitignore +0 -3
- moai_adk/templates/.lsp.json +152 -0
- moai_adk/templates/.mcp.json +5 -12
- moai_adk/templates/.moai/config/config.yaml +20 -306
- moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +105 -10
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +259 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +4 -5
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +12 -55
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +111 -21
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +34 -18
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +19 -75
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +83 -7
- moai_adk/templates/.moai/config/sections/language.yaml +7 -7
- moai_adk/templates/.moai/config/sections/project.yaml +1 -1
- moai_adk/templates/.moai/config/sections/quality.yaml +7 -4
- moai_adk/templates/.moai/config/sections/system.yaml +11 -1
- moai_adk/templates/.moai/config/statusline-config.yaml +19 -13
- moai_adk/templates/.moai/scripts/setup-glm.py +4 -4
- moai_adk/templates/CLAUDE.md +578 -154
- moai_adk/utils/common.py +33 -0
- moai_adk/version.py +1 -1
- {moai_adk-0.32.8.dist-info → moai_adk-0.41.0.dist-info}/METADATA +905 -109
- moai_adk-0.41.0.dist-info/RECORD +683 -0
- moai_adk/core/config/auto_spec_config.py +0 -340
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
- moai_adk/core/spec/confidence_scoring.py +0 -680
- moai_adk/core/spec/ears_template_engine.py +0 -1247
- moai_adk/core/spec/quality_validator.py +0 -687
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
- moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +0 -352
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +0 -52
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +0 -334
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +0 -310
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +0 -256
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +0 -253
- moai_adk/templates/.claude/skills/moai-lang-unified/README.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +0 -296
- moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +0 -1269
- moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +0 -331
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
- moai_adk/templates/.claude/skills/moai-platform-baas/README.md +0 -186
- moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +0 -290
- moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +0 -1225
- moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +0 -567
- moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +0 -323
- moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +0 -204
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -135
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -410
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
- moai_adk/templates/.moai/cache/personalization.json +0 -10
- moai_adk/templates/.moai/config/presets/manual.yaml +0 -28
- moai_adk/templates/.moai/config/presets/personal.yaml +0 -30
- moai_adk/templates/.moai/config/presets/team.yaml +0 -33
- moai_adk-0.32.8.dist-info/RECORD +0 -396
- /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
- {moai_adk-0.32.8.dist-info → moai_adk-0.41.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.32.8.dist-info → moai_adk-0.41.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.32.8.dist-info → moai_adk-0.41.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Safety Analysis - TRUST 5 Framework
|
|
2
|
+
|
|
3
|
+
> Module: Safety category deep dive with security vulnerabilities and error handling
|
|
4
|
+
> Parent: [TRUST 5 Framework](./trust5-framework.md)
|
|
5
|
+
> Complexity: Advanced
|
|
6
|
+
> Time: 15+ minutes
|
|
7
|
+
> Dependencies: Python 3.8+, ast, Context7 MCP
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Safety (20% weight) validates security and error handling through security vulnerability detection, error handling validation, resource safety checks, and input validation analysis.
|
|
12
|
+
|
|
13
|
+
## Advanced Security Analysis
|
|
14
|
+
|
|
15
|
+
### Comprehensive Security Scan
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
async def perform_advanced_security_analysis(
|
|
19
|
+
self, file_path: str, content: str, tree: ast.AST
|
|
20
|
+
) -> List[CodeIssue]:
|
|
21
|
+
"""Perform advanced security analysis."""
|
|
22
|
+
|
|
23
|
+
issues = []
|
|
24
|
+
|
|
25
|
+
# Load latest security patterns from Context7
|
|
26
|
+
security_patterns = await self.load_category_patterns()
|
|
27
|
+
safety_patterns = security_patterns.get('safety', {})
|
|
28
|
+
|
|
29
|
+
# Check for race conditions
|
|
30
|
+
race_conditions = self._detect_race_conditions(tree)
|
|
31
|
+
issues.extend(race_conditions)
|
|
32
|
+
|
|
33
|
+
# Check for resource leaks
|
|
34
|
+
resource_leaks = self._detect_resource_leaks(tree)
|
|
35
|
+
issues.extend(resource_leaks)
|
|
36
|
+
|
|
37
|
+
# Check for improper error handling
|
|
38
|
+
error_handling = self._analyze_error_handling(tree)
|
|
39
|
+
issues.extend(error_handling)
|
|
40
|
+
|
|
41
|
+
# Check for input validation issues
|
|
42
|
+
validation_issues = await self._check_input_validation(
|
|
43
|
+
file_path, content, safety_patterns
|
|
44
|
+
)
|
|
45
|
+
issues.extend(validation_issues)
|
|
46
|
+
|
|
47
|
+
return issues
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Resource Leak Detection
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
def _detect_resource_leaks(self, tree: ast.AST) -> List[CodeIssue]:
|
|
54
|
+
"""Detect potential resource leaks."""
|
|
55
|
+
|
|
56
|
+
issues = []
|
|
57
|
+
|
|
58
|
+
# Check for file handles without context managers
|
|
59
|
+
for node in ast.walk(tree):
|
|
60
|
+
if isinstance(node, ast.Call):
|
|
61
|
+
if isinstance(node.func, ast.Name) and node.func.id == 'open':
|
|
62
|
+
# Check if wrapped in with statement
|
|
63
|
+
if not self._is_in_with_statement(node):
|
|
64
|
+
issue = CodeIssue(
|
|
65
|
+
id=f"resource_leak_{node.lineno}",
|
|
66
|
+
category=TrustCategory.SAFETY,
|
|
67
|
+
severity="medium",
|
|
68
|
+
issue_type="code_smell",
|
|
69
|
+
title="Potential Resource Leak",
|
|
70
|
+
description="File opened without context manager",
|
|
71
|
+
file_path=file_path,
|
|
72
|
+
line_number=node.lineno,
|
|
73
|
+
column_number=node.col_offset,
|
|
74
|
+
code_snippet="# File handle may not be properly closed",
|
|
75
|
+
suggested_fix="Use 'with open(...)' to ensure proper resource cleanup",
|
|
76
|
+
confidence=0.7,
|
|
77
|
+
rule_violated="RESOURCE_LEAK"
|
|
78
|
+
)
|
|
79
|
+
issues.append(issue)
|
|
80
|
+
|
|
81
|
+
return issues
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Detection Patterns
|
|
85
|
+
|
|
86
|
+
### Common Safety Issues
|
|
87
|
+
|
|
88
|
+
1. **SQL Injection**: Unsanitized input in database queries
|
|
89
|
+
2. **XSS Vulnerabilities**: Unescaped output in web contexts
|
|
90
|
+
3. **Resource Leaks**: Unclosed files, connections, handles
|
|
91
|
+
4. **Race Conditions**: Concurrent access without synchronization
|
|
92
|
+
5. **Missing Error Handling**: Uncaught exceptions
|
|
93
|
+
6. **Weak Cryptography**: Insecure algorithms or key sizes
|
|
94
|
+
7. **Hardcoded Secrets**: Passwords, API keys in source
|
|
95
|
+
|
|
96
|
+
### Context7 Integration
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
# Load safety patterns
|
|
100
|
+
safety = await self.context7.get_library_docs(
|
|
101
|
+
context7_library_id="/security/owasp",
|
|
102
|
+
topic="security vulnerability detection 2025",
|
|
103
|
+
tokens=5000
|
|
104
|
+
)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Error Handling Analysis
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
def _analyze_error_handling(self, tree: ast.AST) -> List[CodeIssue]:
|
|
111
|
+
"""Analyze error handling patterns."""
|
|
112
|
+
|
|
113
|
+
issues = []
|
|
114
|
+
|
|
115
|
+
# Check for bare except clauses
|
|
116
|
+
for node in ast.walk(tree):
|
|
117
|
+
if isinstance(node, ast.ExceptHandler):
|
|
118
|
+
if node.type is None:
|
|
119
|
+
issue = CodeIssue(
|
|
120
|
+
id=f"bare_except_{node.lineno}",
|
|
121
|
+
category=TrustCategory.SAFETY,
|
|
122
|
+
severity="medium",
|
|
123
|
+
issue_type="code_smell",
|
|
124
|
+
title="Bare Except Clause",
|
|
125
|
+
description="Catches all exceptions, including system exits",
|
|
126
|
+
file_path=file_path,
|
|
127
|
+
line_number=node.lineno,
|
|
128
|
+
suggested_fix="Specify exception types to catch",
|
|
129
|
+
confidence=0.8,
|
|
130
|
+
rule_violated="BARE_EXCEPT"
|
|
131
|
+
)
|
|
132
|
+
issues.append(issue)
|
|
133
|
+
|
|
134
|
+
return issues
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Best Practices
|
|
138
|
+
|
|
139
|
+
1. Security First: Apply security-by-default principles
|
|
140
|
+
2. Context Managers: Always use context managers for resources
|
|
141
|
+
3. Input Validation: Validate all external input
|
|
142
|
+
4. Error Propagation: Let exceptions propagate to appropriate handlers
|
|
143
|
+
5. Regular Updates: Keep security patterns current
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
Version: 1.0.0
|
|
148
|
+
Last Updated: 2026-01-06
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Advanced Scoring Algorithms - TRUST 5 Framework
|
|
2
|
+
|
|
3
|
+
> Module: Weighted scoring algorithms with complexity adjustment and trend analysis
|
|
4
|
+
> Parent: [TRUST 5 Framework](./trust5-framework.md)
|
|
5
|
+
> Complexity: Advanced
|
|
6
|
+
> Time: 10+ minutes
|
|
7
|
+
> Dependencies: Python 3.8+
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
TRUST 5 scoring uses weighted category calculations (25%, 20%, 25%, 20%, 10%) with advanced factors including severity weighting, confidence scoring, complexity adjustment, and trend analysis for accurate quality assessment.
|
|
12
|
+
|
|
13
|
+
## Weighted Category Scoring
|
|
14
|
+
|
|
15
|
+
### Comprehensive Score Calculation
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
def calculate_advanced_trust_scores(
|
|
19
|
+
self, issues: List[CodeIssue], metrics: Dict[str, Any]
|
|
20
|
+
) -> Dict[str, Any]:
|
|
21
|
+
"""Calculate advanced TRUST 5 scores with weighted factors."""
|
|
22
|
+
|
|
23
|
+
category_scores = {}
|
|
24
|
+
category_weights = {
|
|
25
|
+
TrustCategory.TRUTHFULNESS: 0.25,
|
|
26
|
+
TrustCategory.RELEVANCE: 0.20,
|
|
27
|
+
TrustCategory.USABILITY: 0.25,
|
|
28
|
+
TrustCategory.SAFETY: 0.20,
|
|
29
|
+
TrustCategory.TIMELINESS: 0.10
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
# Calculate scores for each category
|
|
33
|
+
for category in TrustCategory:
|
|
34
|
+
category_issues = [i for i in issues if i.category == category]
|
|
35
|
+
|
|
36
|
+
# Base penalty calculation
|
|
37
|
+
penalty = 0.0
|
|
38
|
+
for issue in category_issues:
|
|
39
|
+
severity_weight = self._get_severity_weight(issue.severity)
|
|
40
|
+
confidence_factor = issue.confidence
|
|
41
|
+
impact_factor = self._get_impact_factor(issue, metrics)
|
|
42
|
+
penalty += severity_weight * confidence_factor * impact_factor
|
|
43
|
+
|
|
44
|
+
# Apply complexity adjustment
|
|
45
|
+
complexity_penalty = self._calculate_complexity_penalty(category, metrics)
|
|
46
|
+
|
|
47
|
+
# Apply trend factor (historical data)
|
|
48
|
+
trend_factor = self._calculate_trend_factor(category, category_issues)
|
|
49
|
+
|
|
50
|
+
# Calculate final score
|
|
51
|
+
total_penalty = penalty + complexity_penalty
|
|
52
|
+
trended_penalty = total_penalty * trend_factor
|
|
53
|
+
score = max(0.0, 1.0 - min(trended_penalty, 1.0))
|
|
54
|
+
category_scores[category] = score
|
|
55
|
+
|
|
56
|
+
# Calculate overall score
|
|
57
|
+
overall_score = sum(
|
|
58
|
+
category_scores[cat] * category_weights[cat]
|
|
59
|
+
for cat in TrustCategory
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
return {
|
|
63
|
+
'overall': overall_score,
|
|
64
|
+
'categories': category_scores,
|
|
65
|
+
'trend_factors': {cat: self._calculate_trend_factor(cat, [i for i in issues if i.category == cat]) for cat in TrustCategory}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Scoring Factors
|
|
70
|
+
|
|
71
|
+
### Severity Weighting
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
def _get_severity_weight(self, severity: str) -> float:
|
|
75
|
+
"""Get severity weight for penalty calculation."""
|
|
76
|
+
|
|
77
|
+
weights = {
|
|
78
|
+
'critical': 0.8,
|
|
79
|
+
'high': 0.6,
|
|
80
|
+
'medium': 0.4,
|
|
81
|
+
'low': 0.2
|
|
82
|
+
}
|
|
83
|
+
return weights.get(severity.lower(), 0.3)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Confidence Factor
|
|
87
|
+
|
|
88
|
+
Confidence factor (0.0-1.0) from detection algorithm:
|
|
89
|
+
- High confidence (0.8+): Certain detections
|
|
90
|
+
- Medium confidence (0.5-0.8): Probable issues
|
|
91
|
+
- Low confidence (<0.5): Possible issues
|
|
92
|
+
|
|
93
|
+
### Impact Factor
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
def _get_impact_factor(
|
|
97
|
+
self, issue: CodeIssue, metrics: Dict[str, Any]
|
|
98
|
+
) -> float:
|
|
99
|
+
"""Calculate impact factor based on issue context."""
|
|
100
|
+
|
|
101
|
+
# Base impact
|
|
102
|
+
impact = 1.0
|
|
103
|
+
|
|
104
|
+
# Adjust for code complexity
|
|
105
|
+
if metrics.get('cyclomatic_complexity', 0) > 20:
|
|
106
|
+
impact *= 1.2
|
|
107
|
+
|
|
108
|
+
# Adjust for file size
|
|
109
|
+
if metrics.get('line_count', 0) > 500:
|
|
110
|
+
impact *= 1.1
|
|
111
|
+
|
|
112
|
+
return min(impact, 2.0) # Cap at 2x
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Advanced Adjustments
|
|
116
|
+
|
|
117
|
+
### Complexity Penalty
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
def _calculate_complexity_penalty(
|
|
121
|
+
self, category: TrustCategory, metrics: Dict[str, Any]
|
|
122
|
+
) -> float:
|
|
123
|
+
"""Calculate complexity adjustment for category."""
|
|
124
|
+
|
|
125
|
+
base_penalty = 0.0
|
|
126
|
+
|
|
127
|
+
# High complexity increases penalty
|
|
128
|
+
if category == TrustCategory.USABILITY:
|
|
129
|
+
complexity = metrics.get('cyclomatic_complexity', 0)
|
|
130
|
+
if complexity > 15:
|
|
131
|
+
base_penalty += 0.1
|
|
132
|
+
if complexity > 25:
|
|
133
|
+
base_penalty += 0.1
|
|
134
|
+
|
|
135
|
+
return base_penalty
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Trend Factor
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
def _calculate_trend_factor(
|
|
142
|
+
self, category: TrustCategory, issues: List[CodeIssue]
|
|
143
|
+
) -> float:
|
|
144
|
+
"""Calculate trend factor based on historical data."""
|
|
145
|
+
|
|
146
|
+
# Get historical issues for this category
|
|
147
|
+
historical = self._get_historical_issues(category)
|
|
148
|
+
|
|
149
|
+
if not historical:
|
|
150
|
+
return 1.0 # No trend data
|
|
151
|
+
|
|
152
|
+
current_count = len(issues)
|
|
153
|
+
historical_count = len(historical)
|
|
154
|
+
|
|
155
|
+
# Improving trend (fewer issues)
|
|
156
|
+
if current_count < historical_count:
|
|
157
|
+
return 0.95 # Boost score
|
|
158
|
+
|
|
159
|
+
# Declining trend (more issues)
|
|
160
|
+
elif current_count > historical_count:
|
|
161
|
+
return 1.05 # Penalty
|
|
162
|
+
|
|
163
|
+
return 1.0 # Stable
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Score Interpretation
|
|
167
|
+
|
|
168
|
+
### Overall Score Ranges
|
|
169
|
+
|
|
170
|
+
- **0.90-1.00**: Excellent quality
|
|
171
|
+
- **0.75-0.89**: Good quality
|
|
172
|
+
- **0.60-0.74**: Acceptable quality
|
|
173
|
+
- **0.40-0.59**: Needs improvement
|
|
174
|
+
- **0.00-0.39**: Critical issues
|
|
175
|
+
|
|
176
|
+
### Category Score Analysis
|
|
177
|
+
|
|
178
|
+
Individual category scores identify specific improvement areas:
|
|
179
|
+
- **Truthfulness < 0.7**: Logic correctness issues
|
|
180
|
+
- **Relevance < 0.7**: Requirements alignment problems
|
|
181
|
+
- **Usability < 0.7**: Maintainability concerns
|
|
182
|
+
- **Safety < 0.7**: Security vulnerabilities
|
|
183
|
+
- **Timeliness < 0.7**: Performance optimization needed
|
|
184
|
+
|
|
185
|
+
## Best Practices
|
|
186
|
+
|
|
187
|
+
1. Baseline Establishment: Establish baseline scores for project
|
|
188
|
+
2. Trend Monitoring: Track scores over time
|
|
189
|
+
3. Threshold Setting: Set minimum score thresholds for CI/CD
|
|
190
|
+
4. Weight Customization: Adjust weights based on project priorities
|
|
191
|
+
5. Historical Analysis: Use trend data to identify patterns
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
Version: 1.0.0
|
|
196
|
+
Last Updated: 2026-01-06
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Timeliness Analysis - TRUST 5 Framework
|
|
2
|
+
|
|
3
|
+
> Module: Timeliness category deep dive with performance optimization and modern practices
|
|
4
|
+
> Parent: [TRUST 5 Framework](./trust5-framework.md)
|
|
5
|
+
> Complexity: Advanced
|
|
6
|
+
> Time: 10+ minutes
|
|
7
|
+
> Dependencies: Python 3.8+, ast
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Timeliness (10% weight) validates performance and modern practices through optimization opportunity identification, deprecated code detection, performance standards validation, and technology currency checks.
|
|
12
|
+
|
|
13
|
+
## Performance Optimization Detection
|
|
14
|
+
|
|
15
|
+
### Comprehensive Performance Analysis
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
def analyze_performance_opportunities(
|
|
19
|
+
self, file_path: str, content: str, tree: ast.AST
|
|
20
|
+
) -> List[CodeIssue]:
|
|
21
|
+
"""Identify performance optimization opportunities."""
|
|
22
|
+
|
|
23
|
+
issues = []
|
|
24
|
+
|
|
25
|
+
# Check for inefficient data structures
|
|
26
|
+
data_structure_issues = self._check_inefficient_data_structures(tree)
|
|
27
|
+
issues.extend(data_structure_issues)
|
|
28
|
+
|
|
29
|
+
# Check for missing caching opportunities
|
|
30
|
+
caching_opportunities = self._identify_caching_opportunities(tree)
|
|
31
|
+
issues.extend(caching_opportunities)
|
|
32
|
+
|
|
33
|
+
# Check for suboptimal algorithms
|
|
34
|
+
algorithm_issues = self._check_algorithm_efficiency(tree)
|
|
35
|
+
issues.extend(algorithm_issues)
|
|
36
|
+
|
|
37
|
+
# Check for I/O optimization opportunities
|
|
38
|
+
io_issues = self._check_io_optimization(tree)
|
|
39
|
+
issues.extend(io_issues)
|
|
40
|
+
|
|
41
|
+
return issues
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Caching Opportunity Detection
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
def _identify_caching_opportunities(self, tree: ast.AST) -> List[CodeIssue]:
|
|
48
|
+
"""Identify functions that could benefit from caching."""
|
|
49
|
+
|
|
50
|
+
issues = []
|
|
51
|
+
|
|
52
|
+
for node in ast.walk(tree):
|
|
53
|
+
if isinstance(node, ast.FunctionDef):
|
|
54
|
+
# Check for pure functions (no side effects)
|
|
55
|
+
if self._is_pure_function(node) and not self._has_decorator(node, 'lru_cache'):
|
|
56
|
+
# Check if function is called frequently
|
|
57
|
+
if self._is_frequently_called(node, tree):
|
|
58
|
+
issue = CodeIssue(
|
|
59
|
+
id=f"caching_opportunity_{node.lineno}",
|
|
60
|
+
category=TrustCategory.TIMELINESS,
|
|
61
|
+
severity="low",
|
|
62
|
+
issue_type="performance_issue",
|
|
63
|
+
title="Caching Opportunity",
|
|
64
|
+
description=f"Function '{node.name}' could benefit from caching",
|
|
65
|
+
file_path=file_path,
|
|
66
|
+
line_number=node.lineno,
|
|
67
|
+
column_number=1,
|
|
68
|
+
code_snippet=f"def {node.name}(...):",
|
|
69
|
+
suggested_fix=f"Consider adding @lru_cache to '{node.name}'",
|
|
70
|
+
confidence=0.6,
|
|
71
|
+
rule_violated="CACHING_OPPORTUNITY"
|
|
72
|
+
)
|
|
73
|
+
issues.append(issue)
|
|
74
|
+
|
|
75
|
+
return issues
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Detection Patterns
|
|
79
|
+
|
|
80
|
+
### Common Timeliness Issues
|
|
81
|
+
|
|
82
|
+
1. **Inefficient Data Structures**: Using lists where sets/dicts would be better
|
|
83
|
+
2. **Missing Caching**: Repeated expensive calculations without memoization
|
|
84
|
+
3. **String Concatenation**: Inefficient string building in loops
|
|
85
|
+
4. **Global Variables**: Excessive global variable usage
|
|
86
|
+
5. **Deprecated APIs**: Use of deprecated functions/modules
|
|
87
|
+
6. **Unoptimized Loops**: Nested loops without early exit
|
|
88
|
+
7. **Missing Async**: Blocking I/O without async/await
|
|
89
|
+
|
|
90
|
+
### Technology Currency Checks
|
|
91
|
+
|
|
92
|
+
```python
|
|
93
|
+
def check_technology_currency(
|
|
94
|
+
self, file_path: str, content: str
|
|
95
|
+
) -> List[CodeIssue]:
|
|
96
|
+
"""Check for outdated technology usage."""
|
|
97
|
+
|
|
98
|
+
issues = []
|
|
99
|
+
|
|
100
|
+
# Check for deprecated imports
|
|
101
|
+
deprecated = [
|
|
102
|
+
'from threading import Timer', # Use asyncio instead
|
|
103
|
+
'import time', # Consider time.perf_counter()
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
for dep in deprecated:
|
|
107
|
+
if dep in content:
|
|
108
|
+
issue = CodeIssue(
|
|
109
|
+
id=f"deprecated_{dep}",
|
|
110
|
+
category=TrustCategory.TIMELINESS,
|
|
111
|
+
severity="low",
|
|
112
|
+
issue_type="code_smell",
|
|
113
|
+
title="Deprecated Pattern",
|
|
114
|
+
description=f"Consider modern alternatives to '{dep}'",
|
|
115
|
+
file_path=file_path,
|
|
116
|
+
suggested_fix="Update to current best practices",
|
|
117
|
+
confidence=0.7,
|
|
118
|
+
rule_violated="DEPRECATED_PATTERN"
|
|
119
|
+
)
|
|
120
|
+
issues.append(issue)
|
|
121
|
+
|
|
122
|
+
return issues
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Performance Best Practices
|
|
126
|
+
|
|
127
|
+
### Algorithmic Efficiency
|
|
128
|
+
|
|
129
|
+
```python
|
|
130
|
+
def _check_algorithm_efficiency(self, tree: ast.AST) -> List[CodeIssue]:
|
|
131
|
+
"""Check for suboptimal algorithm choices."""
|
|
132
|
+
|
|
133
|
+
issues = []
|
|
134
|
+
|
|
135
|
+
# Check for O(n^2) operations in loops
|
|
136
|
+
for node in ast.walk(tree):
|
|
137
|
+
if isinstance(node, ast.For):
|
|
138
|
+
if self._has_nested_linear_search(node):
|
|
139
|
+
issue = CodeIssue(
|
|
140
|
+
id=f"inefficient_search_{node.lineno}",
|
|
141
|
+
category=TrustCategory.TIMELINESS,
|
|
142
|
+
severity="medium",
|
|
143
|
+
issue_type="performance_issue",
|
|
144
|
+
title="Inefficient Search",
|
|
145
|
+
description="Linear search in nested loop",
|
|
146
|
+
file_path=file_path,
|
|
147
|
+
line_number=node.lineno,
|
|
148
|
+
suggested_fix="Use set/dict for O(1) lookup",
|
|
149
|
+
confidence=0.8,
|
|
150
|
+
rule_violated="INEFFICIENT_ALGORITHM"
|
|
151
|
+
)
|
|
152
|
+
issues.append(issue)
|
|
153
|
+
|
|
154
|
+
return issues
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Best Practices
|
|
158
|
+
|
|
159
|
+
1. Profile First: Measure before optimizing
|
|
160
|
+
2. Data Structures: Choose appropriate data structures
|
|
161
|
+
3. Caching: Apply caching to pure functions
|
|
162
|
+
4. I/O Bound: Use async for I/O operations
|
|
163
|
+
5. Regular Updates: Stay current with best practices
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
Version: 1.0.0
|
|
168
|
+
Last Updated: 2026-01-06
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Truthfulness Analysis - TRUST 5 Framework
|
|
2
|
+
|
|
3
|
+
> Module: Truthfulness category deep dive with logic correctness and data flow analysis
|
|
4
|
+
> Parent: [TRUST 5 Framework](./trust5-framework.md)
|
|
5
|
+
> Complexity: Advanced
|
|
6
|
+
> Time: 10+ minutes
|
|
7
|
+
> Dependencies: Python 3.8+, ast, Context7 MCP
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Truthfulness (25% weight) validates code correctness and logic accuracy through comprehensive analysis of algorithmic correctness, logic error detection, data flow integrity, and contract compliance.
|
|
12
|
+
|
|
13
|
+
## Logic Correctness Validation
|
|
14
|
+
|
|
15
|
+
### Tautology Detection
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
def _detect_tautologies(self, tree: ast.AST) -> List[CodeIssue]:
|
|
19
|
+
"""Detect tautological comparisons (always True)."""
|
|
20
|
+
|
|
21
|
+
issues = []
|
|
22
|
+
|
|
23
|
+
for node in ast.walk(tree):
|
|
24
|
+
if isinstance(node, ast.Compare):
|
|
25
|
+
# Check for comparisons that are always True
|
|
26
|
+
# Example: x > -1 (where x is len(something))
|
|
27
|
+
if self._is_always_true_comparison(node):
|
|
28
|
+
issue = CodeIssue(
|
|
29
|
+
id=f"tautology_{node.lineno}",
|
|
30
|
+
category=TrustCategory.TRUTHFULNESS,
|
|
31
|
+
severity="low",
|
|
32
|
+
issue_type="code_smell",
|
|
33
|
+
title="Tautological Comparison",
|
|
34
|
+
description="Comparison is always True",
|
|
35
|
+
file_path=file_path,
|
|
36
|
+
line_number=node.lineno,
|
|
37
|
+
column_number=node.col_offset,
|
|
38
|
+
code_snippet="# Tautological comparison detected",
|
|
39
|
+
suggested_fix="Remove unnecessary comparison or simplify logic",
|
|
40
|
+
confidence=0.7,
|
|
41
|
+
rule_violated="TAUTOLOGICAL_COMPARISON"
|
|
42
|
+
)
|
|
43
|
+
issues.append(issue)
|
|
44
|
+
|
|
45
|
+
return issues
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Comprehensive Logic Validation
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
async def validate_logic_correctness(
|
|
52
|
+
self, file_path: str, tree: ast.AST
|
|
53
|
+
) -> List[CodeIssue]:
|
|
54
|
+
"""Comprehensive logic correctness validation."""
|
|
55
|
+
|
|
56
|
+
issues = []
|
|
57
|
+
|
|
58
|
+
# Check for tautological comparisons
|
|
59
|
+
tautologies = self._detect_tautologies(tree)
|
|
60
|
+
issues.extend(tautologies)
|
|
61
|
+
|
|
62
|
+
# Check for contradictory conditions
|
|
63
|
+
contradictions = self._detect_contradictions(tree)
|
|
64
|
+
issues.extend(contradictions)
|
|
65
|
+
|
|
66
|
+
# Check for constant conditions
|
|
67
|
+
constant_conditions = self._detect_constant_conditions(tree)
|
|
68
|
+
issues.extend(constant_conditions)
|
|
69
|
+
|
|
70
|
+
# Check for type confusion
|
|
71
|
+
type_issues = self._detect_type_confusion(tree)
|
|
72
|
+
issues.extend(type_issues)
|
|
73
|
+
|
|
74
|
+
return issues
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Data Flow Analysis
|
|
78
|
+
|
|
79
|
+
### Variable Usage Validation
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
def analyze_data_flow(self, file_path: str, tree: ast.AST) -> List[CodeIssue]:
|
|
83
|
+
"""Analyze data flow for correctness issues."""
|
|
84
|
+
|
|
85
|
+
issues = []
|
|
86
|
+
|
|
87
|
+
# Check for undefined variables
|
|
88
|
+
undefined_vars = self._check_undefined_variables(tree)
|
|
89
|
+
issues.extend(undefined_vars)
|
|
90
|
+
|
|
91
|
+
# Check for unused variables
|
|
92
|
+
unused_vars = self._check_unused_variables(tree)
|
|
93
|
+
issues.extend(unused_vars)
|
|
94
|
+
|
|
95
|
+
# Check for variable shadowing
|
|
96
|
+
shadowing = self._check_variable_shadowing(tree)
|
|
97
|
+
issues.extend(shadowing)
|
|
98
|
+
|
|
99
|
+
return issues
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Detection Patterns
|
|
103
|
+
|
|
104
|
+
### Common Truthfulness Issues
|
|
105
|
+
|
|
106
|
+
1. **Tautological Comparisons**: Conditions that always evaluate to True/False
|
|
107
|
+
2. **Contradictory Conditions**: Mutually exclusive conditions in same logic path
|
|
108
|
+
3. **Constant Conditions**: Conditions using only constant values
|
|
109
|
+
4. **Type Confusion**: Operations between incompatible types
|
|
110
|
+
5. **Undefined Variables**: References to variables before definition
|
|
111
|
+
6. **Unused Variables**: Variables defined but never read
|
|
112
|
+
7. **Variable Shadowing**: Inner scope variables hiding outer scope
|
|
113
|
+
|
|
114
|
+
### Context7 Integration
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
# Load truthfulness patterns
|
|
118
|
+
truthfulness = await self.context7.get_library_docs(
|
|
119
|
+
context7_library_id="/code-correctness/python",
|
|
120
|
+
topic="logic error detection patterns 2025",
|
|
121
|
+
tokens=3000
|
|
122
|
+
)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Best Practices
|
|
126
|
+
|
|
127
|
+
1. Pattern Matching: Use AST patterns to detect logic errors
|
|
128
|
+
2. Type Inference: Apply type inference to catch type confusion
|
|
129
|
+
3. Flow Analysis: Track variable usage across scopes
|
|
130
|
+
4. Context Awareness: Consider project-specific logic patterns
|
|
131
|
+
5. False Positive Reduction: Use confidence scoring to reduce noise
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
Version: 1.0.0
|
|
136
|
+
Last Updated: 2026-01-06
|