moai-adk 0.34.0__py3-none-any.whl → 1.1.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.
- moai_adk/__main__.py +136 -5
- moai_adk/astgrep/__init__.py +37 -0
- moai_adk/astgrep/analyzer.py +522 -0
- moai_adk/astgrep/models.py +124 -0
- moai_adk/astgrep/rules.py +179 -0
- moai_adk/cli/commands/analyze.py +11 -2
- moai_adk/cli/commands/doctor.py +7 -1
- moai_adk/cli/commands/init.py +321 -11
- moai_adk/cli/commands/language.py +7 -1
- moai_adk/cli/commands/rank.py +449 -0
- moai_adk/cli/commands/status.py +7 -1
- moai_adk/cli/commands/switch.py +325 -0
- moai_adk/cli/commands/update.py +296 -23
- moai_adk/cli/prompts/init_prompts.py +362 -66
- moai_adk/cli/prompts/translations/__init__.py +573 -0
- moai_adk/cli/ui/prompts.py +61 -2
- moai_adk/cli/worktree/cli.py +106 -1
- moai_adk/cli/worktree/manager.py +155 -0
- moai_adk/core/config/unified.py +244 -63
- moai_adk/core/credentials.py +264 -0
- 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/integration/engine.py +2 -2
- moai_adk/core/integration/integration_tester.py +5 -5
- moai_adk/core/language_config_resolver.py +9 -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/model_allocator.py +241 -0
- moai_adk/core/project/backup_utils.py +12 -2
- moai_adk/core/project/initializer.py +44 -87
- moai_adk/core/project/phase_executor.py +95 -33
- moai_adk/core/project/validator.py +16 -1
- moai_adk/core/quality/trust_checker.py +30 -10
- moai_adk/core/rollback_manager.py +60 -25
- moai_adk/core/template/backup.py +88 -6
- moai_adk/core/template/config.py +33 -9
- moai_adk/core/template/merger.py +34 -8
- moai_adk/core/template/processor.py +334 -11
- 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/foundation/__init__.py +1 -20
- moai_adk/foundation/testing.py +1 -1
- moai_adk/loop/__init__.py +54 -0
- moai_adk/loop/controller.py +305 -0
- moai_adk/loop/feedback.py +230 -0
- moai_adk/loop/state.py +209 -0
- moai_adk/loop/storage.py +220 -0
- moai_adk/lsp/__init__.py +70 -0
- moai_adk/lsp/client.py +320 -0
- moai_adk/lsp/models.py +261 -0
- moai_adk/lsp/protocol.py +404 -0
- moai_adk/lsp/server_manager.py +248 -0
- moai_adk/project/configuration.py +8 -1
- moai_adk/py.typed +0 -0
- moai_adk/ralph/__init__.py +37 -0
- moai_adk/ralph/engine.py +307 -0
- moai_adk/rank/__init__.py +21 -0
- moai_adk/rank/auth.py +425 -0
- moai_adk/rank/client.py +557 -0
- moai_adk/rank/config.py +147 -0
- moai_adk/rank/hook.py +1503 -0
- moai_adk/rank/py.typed +0 -0
- moai_adk/statusline/__init__.py +3 -0
- moai_adk/statusline/enhanced_output_style_detector.py +5 -5
- moai_adk/statusline/main.py +20 -1
- moai_adk/statusline/memory_collector.py +268 -0
- moai_adk/statusline/renderer.py +54 -38
- moai_adk/tag_system/__init__.py +48 -0
- moai_adk/tag_system/atomic_ops.py +117 -0
- moai_adk/tag_system/linkage.py +335 -0
- moai_adk/tag_system/parser.py +176 -0
- moai_adk/tag_system/validator.py +200 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +19 -3
- moai_adk/templates/.claude/agents/moai/builder-command.md +62 -16
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +21 -5
- moai_adk/templates/.claude/agents/moai/expert-backend.md +103 -39
- moai_adk/templates/.claude/agents/moai/expert-debug.md +9 -3
- moai_adk/templates/.claude/agents/moai/expert-devops.md +16 -14
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +45 -31
- moai_adk/templates/.claude/agents/moai/expert-performance.md +13 -9
- moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +19 -3
- moai_adk/templates/.claude/agents/moai/expert-testing.md +13 -9
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +8 -2
- moai_adk/templates/.claude/agents/moai/manager-docs.md +10 -5
- moai_adk/templates/.claude/agents/moai/manager-git.md +99 -27
- moai_adk/templates/.claude/agents/moai/manager-project.md +87 -7
- moai_adk/templates/.claude/agents/moai/manager-quality.md +22 -5
- moai_adk/templates/.claude/agents/moai/manager-spec.md +8 -2
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +45 -14
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +16 -3
- moai_adk/templates/.claude/commands/moai/0-project.md +239 -1185
- moai_adk/templates/.claude/commands/moai/1-plan.md +383 -363
- moai_adk/templates/.claude/commands/moai/2-run.md +254 -347
- moai_adk/templates/.claude/commands/moai/3-sync.md +174 -100
- moai_adk/templates/.claude/commands/moai/9-feedback.md +49 -33
- moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
- moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
- moai_adk/templates/.claude/commands/moai/fix.md +264 -0
- moai_adk/templates/.claude/commands/moai/loop.md +363 -0
- moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +37 -81
- moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
- moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -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.py +376 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +24 -28
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +14 -14
- moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
- moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
- moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +15 -13
- moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +125 -25
- moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
- moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
- moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
- 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/renderer.py +359 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +5 -5
- moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +30 -18
- moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
- moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
- moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +93 -61
- moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +165 -70
- moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
- moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
- moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +86 -3
- moai_adk/templates/.claude/output-styles/moai/yoda.md +2 -2
- moai_adk/templates/.claude/settings.json +154 -77
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -198
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +169 -323
- 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 +226 -320
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -222
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +75 -219
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +103 -463
- 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-uiux/SKILL.md +118 -339
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +74 -377
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +205 -182
- 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-custom-slash-commands-official.md +32 -22
- 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-plugin-marketplaces-official.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -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-context/SKILL.md +96 -316
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +116 -294
- 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-philosopher/SKILL.md +14 -18
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +86 -270
- moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
- moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +76 -582
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1239 -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 +1136 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +82 -436
- 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 +65 -542
- moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -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 +889 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +32 -405
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +114 -293
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +83 -307
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +179 -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 +42 -279
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +94 -556
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1608 -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 +1323 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +108 -358
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +84 -482
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1154 -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 +1087 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +106 -610
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1106 -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 +1024 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +51 -265
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +106 -442
- 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-swift/SKILL.md +88 -457
- 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-typescript/SKILL.md +75 -283
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +97 -252
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +64 -240
- 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-shadcn/SKILL.md +90 -287
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +200 -206
- 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 +75 -330
- moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -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 +100 -340
- 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 +113 -326
- 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 +71 -302
- 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 +101 -412
- 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 +96 -327
- 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 +103 -428
- 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 +96 -446
- 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-tool-ast-grep/SKILL.md +193 -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-workflow-jit-docs/SKILL.md +225 -423
- moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
- moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
- moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +211 -314
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +15 -43
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +119 -316
- moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +96 -203
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +201 -388
- 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-worktree/SKILL.md +228 -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 +162 -59
- moai_adk/templates/.github/workflows/ci-universal.yml +934 -133
- moai_adk/templates/.gitignore +65 -107
- moai_adk/templates/.lsp.json +152 -0
- moai_adk/templates/.mcp.json +2 -20
- moai_adk/templates/.moai/announcements/en.json +18 -0
- moai_adk/templates/.moai/announcements/ja.json +18 -0
- moai_adk/templates/.moai/announcements/ko.json +18 -0
- moai_adk/templates/.moai/announcements/zh.json +18 -0
- moai_adk/templates/.moai/config/config.yaml +8 -2
- moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
- moai_adk/templates/.moai/config/sections/language.yaml +2 -2
- moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
- moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
- moai_adk/templates/.moai/config/sections/project.yaml +2 -2
- moai_adk/templates/.moai/config/sections/quality.yaml +43 -5
- moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
- moai_adk/templates/.moai/config/sections/system.yaml +46 -1
- moai_adk/templates/.moai/config/sections/user.yaml +1 -1
- moai_adk/templates/.moai/config/statusline-config.yaml +2 -2
- moai_adk/templates/.moai/llm-configs/glm.json +22 -0
- moai_adk/templates/CLAUDE.ja.md +343 -0
- moai_adk/templates/CLAUDE.ko.md +343 -0
- moai_adk/templates/CLAUDE.md +200 -499
- moai_adk/templates/CLAUDE.zh.md +343 -0
- moai_adk/utils/common.py +37 -0
- moai_adk/version.py +1 -1
- moai_adk-1.1.0.dist-info/METADATA +2443 -0
- moai_adk-1.1.0.dist-info/RECORD +701 -0
- {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/entry_points.txt +2 -0
- moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -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/agents/moai/ai-nano-banana.md +0 -670
- moai_adk/templates/.claude/agents/moai/expert-database.md +0 -777
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +0 -1041
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +0 -458
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +0 -1607
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +0 -789
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +0 -469
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +0 -1032
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +0 -438
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +0 -402
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +0 -607
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +0 -300
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +0 -537
- 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 -175
- 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 -411
- 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/config/questions/_schema.yaml +0 -151
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +0 -251
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +0 -108
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +0 -81
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +0 -634
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +0 -170
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +0 -87
- moai_adk/templates/.moai/scripts/setup-glm.py +0 -136
- moai_adk-0.34.0.dist-info/METADATA +0 -2999
- moai_adk-0.34.0.dist-info/RECORD +0 -463
- moai_adk-0.34.0.dist-info/licenses/LICENSE +0 -21
- /moai_adk/foundation/{git.py → git/__init__.py} +0 -0
- /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.34.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
"""Multilingual prompt translations for CLI.
|
|
2
|
+
|
|
3
|
+
Provides localized messages for init prompts in multiple languages.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from typing import TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class InitTranslations(TypedDict):
|
|
10
|
+
"""Translation strings for init prompts."""
|
|
11
|
+
|
|
12
|
+
# Headers
|
|
13
|
+
language_selection: str
|
|
14
|
+
user_setup: str # New: User name setup header
|
|
15
|
+
service_selection: str
|
|
16
|
+
pricing_selection: str
|
|
17
|
+
api_key_input: str
|
|
18
|
+
project_setup: str
|
|
19
|
+
git_setup: str
|
|
20
|
+
output_language: str
|
|
21
|
+
claude_auth_selection: str # New: Claude authentication method selection
|
|
22
|
+
|
|
23
|
+
# Questions
|
|
24
|
+
q_language: str
|
|
25
|
+
q_user_name: str # New: User name question
|
|
26
|
+
q_service: str
|
|
27
|
+
q_claude_auth_type: str # New: Claude auth type question
|
|
28
|
+
q_pricing_claude: str
|
|
29
|
+
q_pricing_glm: str
|
|
30
|
+
q_api_key_anthropic: str
|
|
31
|
+
q_api_key_glm: str
|
|
32
|
+
q_project_name: str
|
|
33
|
+
q_git_mode: str
|
|
34
|
+
q_github_username: str
|
|
35
|
+
q_commit_lang: str
|
|
36
|
+
q_comment_lang: str
|
|
37
|
+
q_doc_lang: str
|
|
38
|
+
|
|
39
|
+
# Options - Service
|
|
40
|
+
opt_claude_subscription: str
|
|
41
|
+
opt_claude_api: str
|
|
42
|
+
opt_glm: str
|
|
43
|
+
opt_hybrid: str
|
|
44
|
+
|
|
45
|
+
# Options - Claude Auth Type (for hybrid)
|
|
46
|
+
opt_claude_sub: str # New
|
|
47
|
+
opt_claude_api_key: str # New
|
|
48
|
+
desc_claude_sub: str # New
|
|
49
|
+
desc_claude_api_key: str # New
|
|
50
|
+
|
|
51
|
+
# Options - Pricing Claude
|
|
52
|
+
opt_pro: str
|
|
53
|
+
opt_max5: str
|
|
54
|
+
opt_max20: str
|
|
55
|
+
|
|
56
|
+
# Options - Pricing GLM
|
|
57
|
+
opt_basic: str
|
|
58
|
+
opt_glm_pro: str
|
|
59
|
+
opt_enterprise: str
|
|
60
|
+
|
|
61
|
+
# Options - Git
|
|
62
|
+
opt_manual: str
|
|
63
|
+
opt_personal: str
|
|
64
|
+
opt_team: str
|
|
65
|
+
|
|
66
|
+
# Descriptions
|
|
67
|
+
desc_claude_subscription: str
|
|
68
|
+
desc_claude_api: str
|
|
69
|
+
desc_glm: str
|
|
70
|
+
desc_hybrid: str
|
|
71
|
+
desc_pro: str
|
|
72
|
+
desc_max5: str
|
|
73
|
+
desc_max20: str
|
|
74
|
+
desc_basic: str
|
|
75
|
+
desc_glm_pro: str
|
|
76
|
+
desc_enterprise: str
|
|
77
|
+
desc_manual: str
|
|
78
|
+
desc_personal: str
|
|
79
|
+
desc_team: str
|
|
80
|
+
|
|
81
|
+
# Messages
|
|
82
|
+
msg_api_key_stored: str
|
|
83
|
+
msg_glm_key_found: str # New: GLM key found message
|
|
84
|
+
msg_glm_key_keep_prompt: str # New: Prompt to keep or replace existing key
|
|
85
|
+
msg_glm_key_skip_guidance: str # New: Guidance when skipping GLM API key
|
|
86
|
+
msg_setup_complete: str
|
|
87
|
+
msg_cancelled: str
|
|
88
|
+
msg_current_dir: str
|
|
89
|
+
msg_skip_same_lang: str
|
|
90
|
+
|
|
91
|
+
# TAG System (NEW - SPEC-TAG-002)
|
|
92
|
+
tag_setup: str # Header for TAG configuration
|
|
93
|
+
q_tag_enable: str # Question: Enable TAG validation
|
|
94
|
+
q_tag_mode: str # Question: TAG validation mode
|
|
95
|
+
opt_tag_yes: str # Option: Yes, enable TAG
|
|
96
|
+
opt_tag_no: str # Option: No, disable TAG
|
|
97
|
+
opt_tag_warn: str # Option: Warn mode
|
|
98
|
+
opt_tag_enforce: str # Option: Enforce mode
|
|
99
|
+
opt_tag_off: str # Option: Off mode
|
|
100
|
+
desc_tag_yes: str # Description for enabling TAG
|
|
101
|
+
desc_tag_no: str # Description for disabling TAG
|
|
102
|
+
desc_tag_warn: str # Description for warn mode
|
|
103
|
+
desc_tag_enforce: str # Description for enforce mode
|
|
104
|
+
desc_tag_off: str # Description for off mode
|
|
105
|
+
tag_system_intro: str # Multi-line TDD purpose explanation
|
|
106
|
+
tag_yes_recommendation: str # Why TAG is recommended for TDD
|
|
107
|
+
tag_no_warning: str # Warning when disabling TAG
|
|
108
|
+
tag_mode_guide_title: str # Mode selection guide title
|
|
109
|
+
tag_mode_guide_subtitle: str # Mode selection guide subtitle
|
|
110
|
+
msg_tag_enabled: str # Message: TAG enabled
|
|
111
|
+
msg_tag_disabled: str # Message: TAG disabled
|
|
112
|
+
msg_tag_mode_selected: str # Message: TAG mode selected
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
TRANSLATIONS: dict[str, InitTranslations] = {
|
|
116
|
+
"ko": {
|
|
117
|
+
# Headers
|
|
118
|
+
"language_selection": "🌐 대화 언어 선택",
|
|
119
|
+
"user_setup": "👤 사용자 설정",
|
|
120
|
+
"service_selection": "💳 서비스 선택",
|
|
121
|
+
"pricing_selection": "💰 요금제 선택",
|
|
122
|
+
"api_key_input": "🔑 API 키 입력",
|
|
123
|
+
"project_setup": "📁 프로젝트 설정",
|
|
124
|
+
"git_setup": "🔀 Git 설정",
|
|
125
|
+
"output_language": "🗣️ 출력 언어 설정",
|
|
126
|
+
"claude_auth_selection": "🔐 Claude 인증 방식",
|
|
127
|
+
# Questions
|
|
128
|
+
"q_language": "대화 언어를 선택하세요:",
|
|
129
|
+
"q_user_name": "사용자 이름을 입력하세요 (선택사항):",
|
|
130
|
+
"q_service": "사용할 서비스를 선택하세요:",
|
|
131
|
+
"q_claude_auth_type": "Claude 인증 방식을 선택하세요:",
|
|
132
|
+
"q_pricing_claude": "Claude 요금제를 선택하세요:",
|
|
133
|
+
"q_pricing_glm": "GLM CodePlan 요금제를 선택하세요:",
|
|
134
|
+
"q_api_key_anthropic": "Anthropic API 키를 입력하세요:",
|
|
135
|
+
"q_api_key_glm": "GLM API 키를 입력하세요:",
|
|
136
|
+
"q_project_name": "프로젝트 이름:",
|
|
137
|
+
"q_git_mode": "Git 모드를 선택하세요:",
|
|
138
|
+
"q_github_username": "GitHub 사용자명:",
|
|
139
|
+
"q_commit_lang": "커밋 메시지 언어:",
|
|
140
|
+
"q_comment_lang": "코드 주석 언어:",
|
|
141
|
+
"q_doc_lang": "문서 언어:",
|
|
142
|
+
# Options - Service
|
|
143
|
+
"opt_claude_subscription": "Claude 구독",
|
|
144
|
+
"opt_claude_api": "Claude API",
|
|
145
|
+
"opt_glm": "GLM CodePlan",
|
|
146
|
+
"opt_hybrid": "Claude + GLM (하이브리드)",
|
|
147
|
+
# Options - Claude Auth Type (for hybrid)
|
|
148
|
+
"opt_claude_sub": "구독",
|
|
149
|
+
"opt_claude_api_key": "API 키",
|
|
150
|
+
"desc_claude_sub": "Claude Code 구독 사용",
|
|
151
|
+
"desc_claude_api_key": "API 키 직접 입력",
|
|
152
|
+
# Options - Pricing Claude
|
|
153
|
+
"opt_pro": "Pro ($20/월)",
|
|
154
|
+
"opt_max5": "Max5 ($100/월)",
|
|
155
|
+
"opt_max20": "Max20 ($200/월)",
|
|
156
|
+
# Options - Pricing GLM
|
|
157
|
+
"opt_basic": "Basic",
|
|
158
|
+
"opt_glm_pro": "Pro",
|
|
159
|
+
"opt_enterprise": "Enterprise",
|
|
160
|
+
# Options - Git
|
|
161
|
+
"opt_manual": "manual (로컬만)",
|
|
162
|
+
"opt_personal": "personal (GitHub 개인)",
|
|
163
|
+
"opt_team": "team (GitHub 팀)",
|
|
164
|
+
# Descriptions
|
|
165
|
+
"desc_claude_subscription": "Claude Code 구독 중 - API 키 불필요",
|
|
166
|
+
"desc_claude_api": "직접 API 키 입력",
|
|
167
|
+
"desc_glm": "GLM CodePlan 서비스 사용",
|
|
168
|
+
"desc_hybrid": "비용 최적화 자동 배정",
|
|
169
|
+
"desc_pro": "sonnet 중심, 기본 사용",
|
|
170
|
+
"desc_max5": "opus 일부 사용 가능",
|
|
171
|
+
"desc_max20": "opus 자유 사용",
|
|
172
|
+
"desc_basic": "기본 기능",
|
|
173
|
+
"desc_glm_pro": "고급 기능",
|
|
174
|
+
"desc_enterprise": "전체 기능",
|
|
175
|
+
"desc_manual": "로컬 저장소만 사용",
|
|
176
|
+
"desc_personal": "GitHub 개인 계정 사용",
|
|
177
|
+
"desc_team": "GitHub 팀/조직 사용",
|
|
178
|
+
# Messages
|
|
179
|
+
"msg_api_key_stored": "GLM API 키가 ~/.moai/.env.glm에 저장되었습니다",
|
|
180
|
+
"msg_glm_key_found": "기존 GLM API 키를 찾았습니다:",
|
|
181
|
+
"msg_glm_key_keep_prompt": "Enter를 누르면 기존 키 유지, 새 키를 입력하면 교체됩니다",
|
|
182
|
+
"msg_glm_key_skip_guidance": "나중에 'moai glm <키>' 또는 'moai update'로 추가할 수 있습니다",
|
|
183
|
+
"msg_setup_complete": "✅ 설정이 완료되었습니다!",
|
|
184
|
+
"msg_cancelled": "사용자에 의해 설정이 취소되었습니다",
|
|
185
|
+
"msg_current_dir": "(현재 디렉토리)",
|
|
186
|
+
"msg_skip_same_lang": "대화 언어와 동일하게 설정됨",
|
|
187
|
+
# TAG System (NEW - SPEC-TAG-002)
|
|
188
|
+
"tag_setup": "🎯 TAG 시스템: TDD를 위한 코드 ↔ 문서 추적",
|
|
189
|
+
"q_tag_enable": "TAG 시스템을 활성화하시겠습니까? (TDD 권장)",
|
|
190
|
+
"q_tag_mode": "TAG 검증 모드를 선택하세요:",
|
|
191
|
+
"opt_tag_yes": "예, 활성화합니다",
|
|
192
|
+
"opt_tag_no": "아니오, 비활성화합니다",
|
|
193
|
+
"opt_tag_warn": "warn (경고)",
|
|
194
|
+
"opt_tag_enforce": "enforce (강제)",
|
|
195
|
+
"opt_tag_off": "off (끔)",
|
|
196
|
+
"desc_tag_yes": "TAG를 사용하여 코드와 문서 간의 추적 가능성을 유지합니다",
|
|
197
|
+
"desc_tag_no": "TAG 검증을 사용하지 않습니다 (TDD 사이클 추적 권장)",
|
|
198
|
+
"desc_tag_warn": "누락된 TAG에 대해 경고만 표시합니다. 개발 중 유연하게 대처",
|
|
199
|
+
"desc_tag_enforce": "누락된 TAG가 있으면 커밋을 차단합니다. 엄격한 품질 관리",
|
|
200
|
+
"desc_tag_off": "TAG 검증을 건너뜁니다. 추천하지 않음",
|
|
201
|
+
"tag_system_intro": (
|
|
202
|
+
"TAG 시스템은 코드와 SPEC 문서 간의 추적 가능성을 유지하여\n"
|
|
203
|
+
"TDD(Test-Driven Development) 사이클을 지원합니다.\n\n"
|
|
204
|
+
"TDD 목적:\n"
|
|
205
|
+
"• RED (테스트 작성) → @SPEC SPEC-XXX verify\n"
|
|
206
|
+
"• GREEN (코드 구현) → @SPEC SPEC-XXX impl\n"
|
|
207
|
+
"• REFACTOR (개선) → @SPEC SPEC-XXX impl 또는 related\n\n"
|
|
208
|
+
"각 코드 파일이 어떤 SPEC을 구현하는지 명확히 추적하여\n"
|
|
209
|
+
"문서 중심 개발을 유도하고 품질을 유지합니다."
|
|
210
|
+
),
|
|
211
|
+
"tag_yes_recommendation": (
|
|
212
|
+
"TAG 활성화를 권장합니다. TDD 사이클에서 코드와 문서의\n일치성을 유지하여 품질과 유지보수성을 향상시킵니다."
|
|
213
|
+
),
|
|
214
|
+
"tag_no_warning": (
|
|
215
|
+
"TAG를 비활성화하면 코드와 문서 간의 추적 가능성이\n손실되어 TDD 사이클을 따르기 어려워집니다."
|
|
216
|
+
),
|
|
217
|
+
"tag_mode_guide_title": "TAG 검증 모드 안내",
|
|
218
|
+
"tag_mode_guide_subtitle": (
|
|
219
|
+
"• warn: 개발 중 경고로 알림 (기본값, 권장)\n"
|
|
220
|
+
"• enforce: TAG 누락 시 커밋 차단 (엄격한 품질 관리)\n"
|
|
221
|
+
"• off: 검증 건너뜀 (권장하지 않음)"
|
|
222
|
+
),
|
|
223
|
+
"msg_tag_enabled": "TAG 시스템이 활성화되었습니다",
|
|
224
|
+
"msg_tag_disabled": "TAG 시스템이 비활성화되었습니다",
|
|
225
|
+
"msg_tag_mode_selected": "TAG 모드: {mode}",
|
|
226
|
+
},
|
|
227
|
+
"en": {
|
|
228
|
+
# Headers
|
|
229
|
+
"language_selection": "🌐 Language Selection",
|
|
230
|
+
"user_setup": "👤 User Setup",
|
|
231
|
+
"service_selection": "💳 Service Selection",
|
|
232
|
+
"pricing_selection": "💰 Pricing Plan",
|
|
233
|
+
"api_key_input": "🔑 API Key Input",
|
|
234
|
+
"project_setup": "📁 Project Setup",
|
|
235
|
+
"git_setup": "🔀 Git Setup",
|
|
236
|
+
"output_language": "🗣️ Output Language Settings",
|
|
237
|
+
"claude_auth_selection": "🔐 Claude Authentication",
|
|
238
|
+
# Questions
|
|
239
|
+
"q_language": "Select your conversation language:",
|
|
240
|
+
"q_user_name": "Enter your name (optional):",
|
|
241
|
+
"q_service": "Select the service to use:",
|
|
242
|
+
"q_claude_auth_type": "Select Claude authentication method:",
|
|
243
|
+
"q_pricing_claude": "Select Claude pricing plan:",
|
|
244
|
+
"q_pricing_glm": "Select GLM CodePlan pricing plan:",
|
|
245
|
+
"q_api_key_anthropic": "Enter your Anthropic API key:",
|
|
246
|
+
"q_api_key_glm": "Enter your GLM API key:",
|
|
247
|
+
"q_project_name": "Project name:",
|
|
248
|
+
"q_git_mode": "Select Git mode:",
|
|
249
|
+
"q_github_username": "GitHub username:",
|
|
250
|
+
"q_commit_lang": "Commit message language:",
|
|
251
|
+
"q_comment_lang": "Code comment language:",
|
|
252
|
+
"q_doc_lang": "Documentation language:",
|
|
253
|
+
# Options - Service
|
|
254
|
+
"opt_claude_subscription": "Claude Subscription",
|
|
255
|
+
"opt_claude_api": "Claude API",
|
|
256
|
+
"opt_glm": "GLM CodePlan",
|
|
257
|
+
"opt_hybrid": "Claude + GLM (Hybrid)",
|
|
258
|
+
# Options - Claude Auth Type (for hybrid)
|
|
259
|
+
"opt_claude_sub": "Subscription",
|
|
260
|
+
"opt_claude_api_key": "API Key",
|
|
261
|
+
"desc_claude_sub": "Use Claude Code subscription",
|
|
262
|
+
"desc_claude_api_key": "Enter API key directly",
|
|
263
|
+
# Options - Pricing Claude
|
|
264
|
+
"opt_pro": "Pro ($20/mo)",
|
|
265
|
+
"opt_max5": "Max5 ($100/mo)",
|
|
266
|
+
"opt_max20": "Max20 ($200/mo)",
|
|
267
|
+
# Options - Pricing GLM
|
|
268
|
+
"opt_basic": "Basic",
|
|
269
|
+
"opt_glm_pro": "Pro",
|
|
270
|
+
"opt_enterprise": "Enterprise",
|
|
271
|
+
# Options - Git
|
|
272
|
+
"opt_manual": "manual (local only)",
|
|
273
|
+
"opt_personal": "personal (GitHub personal)",
|
|
274
|
+
"opt_team": "team (GitHub team)",
|
|
275
|
+
# Descriptions
|
|
276
|
+
"desc_claude_subscription": "Claude Code subscriber - No API key needed",
|
|
277
|
+
"desc_claude_api": "Enter API key directly",
|
|
278
|
+
"desc_glm": "Use GLM CodePlan service",
|
|
279
|
+
"desc_hybrid": "Cost-optimized automatic allocation",
|
|
280
|
+
"desc_pro": "Sonnet-focused, basic usage",
|
|
281
|
+
"desc_max5": "Opus partially available",
|
|
282
|
+
"desc_max20": "Opus freely available",
|
|
283
|
+
"desc_basic": "Basic features",
|
|
284
|
+
"desc_glm_pro": "Advanced features",
|
|
285
|
+
"desc_enterprise": "Full features",
|
|
286
|
+
"desc_manual": "Local repository only",
|
|
287
|
+
"desc_personal": "GitHub personal account",
|
|
288
|
+
"desc_team": "GitHub team/organization",
|
|
289
|
+
# Messages
|
|
290
|
+
"msg_api_key_stored": "GLM API key stored in ~/.moai/.env.glm",
|
|
291
|
+
"msg_glm_key_found": "Existing GLM API key found:",
|
|
292
|
+
"msg_glm_key_keep_prompt": "Press Enter to keep existing key, or type new key to replace",
|
|
293
|
+
"msg_glm_key_skip_guidance": "You can add it later with 'moai glm <key>' or 'moai update'",
|
|
294
|
+
"msg_setup_complete": "✅ Setup complete!",
|
|
295
|
+
"msg_cancelled": "Setup cancelled by user",
|
|
296
|
+
"msg_current_dir": "(current directory)",
|
|
297
|
+
"msg_skip_same_lang": "Set to same as conversation language",
|
|
298
|
+
# TAG System (NEW - SPEC-TAG-002)
|
|
299
|
+
"tag_setup": "🎯 TAG System: Code ↔ Documentation Traceability for TDD",
|
|
300
|
+
"q_tag_enable": "Enable TAG validation system? (TDD recommended)",
|
|
301
|
+
"q_tag_mode": "Select TAG validation mode:",
|
|
302
|
+
"opt_tag_yes": "Yes, enable TAG",
|
|
303
|
+
"opt_tag_no": "No, disable TAG",
|
|
304
|
+
"opt_tag_warn": "warn (warning)",
|
|
305
|
+
"opt_tag_enforce": "enforce (strict)",
|
|
306
|
+
"opt_tag_off": "off (disabled)",
|
|
307
|
+
"desc_tag_yes": "Use TAG to maintain traceability between code and documentation",
|
|
308
|
+
"desc_tag_no": "Do not use TAG validation (TDD cycle tracking recommended)",
|
|
309
|
+
"desc_tag_warn": "Warn about missing TAGs. Flexible during development",
|
|
310
|
+
"desc_tag_enforce": "Block commits if TAGs are missing. Strict quality control",
|
|
311
|
+
"desc_tag_off": "Skip TAG validation. Not recommended",
|
|
312
|
+
"tag_system_intro": (
|
|
313
|
+
"TAG system maintains traceability between code and SPEC documents\n"
|
|
314
|
+
"to support TDD (Test-Driven Development) cycles.\n\n"
|
|
315
|
+
"TDD Purpose:\n"
|
|
316
|
+
"• RED (write test) → @SPEC SPEC-XXX verify\n"
|
|
317
|
+
"• GREEN (implement) → @SPEC SPEC-XXX impl\n"
|
|
318
|
+
"• REFACTOR (improve) → @SPEC SPEC-XXX impl or related\n\n"
|
|
319
|
+
"Clearly track which SPEC each code file implements to promote\n"
|
|
320
|
+
"documentation-driven development and maintain quality."
|
|
321
|
+
),
|
|
322
|
+
"tag_yes_recommendation": (
|
|
323
|
+
"TAG activation is recommended. Maintains consistency between code\n"
|
|
324
|
+
"and documentation in TDD cycles, improving quality and maintainability."
|
|
325
|
+
),
|
|
326
|
+
"tag_no_warning": (
|
|
327
|
+
"Disabling TAG loses traceability between code and documentation,\n"
|
|
328
|
+
"making it difficult to follow TDD cycles."
|
|
329
|
+
),
|
|
330
|
+
"tag_mode_guide_title": "TAG Validation Mode Guide",
|
|
331
|
+
"tag_mode_guide_subtitle": (
|
|
332
|
+
"• warn: Warn during development (default, recommended)\n"
|
|
333
|
+
"• enforce: Block commits on missing TAGs (strict quality control)\n"
|
|
334
|
+
"• off: Skip validation (not recommended)"
|
|
335
|
+
),
|
|
336
|
+
"msg_tag_enabled": "TAG system enabled",
|
|
337
|
+
"msg_tag_disabled": "TAG system disabled",
|
|
338
|
+
"msg_tag_mode_selected": "TAG mode: {mode}",
|
|
339
|
+
},
|
|
340
|
+
"ja": {
|
|
341
|
+
# Headers
|
|
342
|
+
"language_selection": "🌐 言語選択",
|
|
343
|
+
"user_setup": "👤 ユーザー設定",
|
|
344
|
+
"service_selection": "💳 サービス選択",
|
|
345
|
+
"pricing_selection": "💰 料金プラン",
|
|
346
|
+
"api_key_input": "🔑 APIキー入力",
|
|
347
|
+
"project_setup": "📁 プロジェクト設定",
|
|
348
|
+
"git_setup": "🔀 Git設定",
|
|
349
|
+
"output_language": "🗣️ 出力言語設定",
|
|
350
|
+
"claude_auth_selection": "🔐 Claude認証方式",
|
|
351
|
+
# Questions
|
|
352
|
+
"q_language": "会話言語を選択してください:",
|
|
353
|
+
"q_user_name": "お名前を入力してください(任意):",
|
|
354
|
+
"q_service": "使用するサービスを選択してください:",
|
|
355
|
+
"q_claude_auth_type": "Claude認証方式を選択してください:",
|
|
356
|
+
"q_pricing_claude": "Claudeの料金プランを選択してください:",
|
|
357
|
+
"q_pricing_glm": "GLM CodePlanの料金プランを選択してください:",
|
|
358
|
+
"q_api_key_anthropic": "Anthropic APIキーを入力してください:",
|
|
359
|
+
"q_api_key_glm": "GLM APIキーを入力してください:",
|
|
360
|
+
"q_project_name": "プロジェクト名:",
|
|
361
|
+
"q_git_mode": "Gitモードを選択してください:",
|
|
362
|
+
"q_github_username": "GitHubユーザー名:",
|
|
363
|
+
"q_commit_lang": "コミットメッセージ言語:",
|
|
364
|
+
"q_comment_lang": "コードコメント言語:",
|
|
365
|
+
"q_doc_lang": "ドキュメント言語:",
|
|
366
|
+
# Options - Service
|
|
367
|
+
"opt_claude_subscription": "Claude サブスクリプション",
|
|
368
|
+
"opt_claude_api": "Claude API",
|
|
369
|
+
"opt_glm": "GLM CodePlan",
|
|
370
|
+
"opt_hybrid": "Claude + GLM (ハイブリッド)",
|
|
371
|
+
# Options - Claude Auth Type (for hybrid)
|
|
372
|
+
"opt_claude_sub": "サブスクリプション",
|
|
373
|
+
"opt_claude_api_key": "APIキー",
|
|
374
|
+
"desc_claude_sub": "Claude Codeサブスクリプション使用",
|
|
375
|
+
"desc_claude_api_key": "APIキーを直接入力",
|
|
376
|
+
# Options - Pricing Claude
|
|
377
|
+
"opt_pro": "Pro ($20/月)",
|
|
378
|
+
"opt_max5": "Max5 ($100/月)",
|
|
379
|
+
"opt_max20": "Max20 ($200/月)",
|
|
380
|
+
# Options - Pricing GLM
|
|
381
|
+
"opt_basic": "Basic",
|
|
382
|
+
"opt_glm_pro": "Pro",
|
|
383
|
+
"opt_enterprise": "Enterprise",
|
|
384
|
+
# Options - Git
|
|
385
|
+
"opt_manual": "manual (ローカルのみ)",
|
|
386
|
+
"opt_personal": "personal (GitHub個人)",
|
|
387
|
+
"opt_team": "team (GitHubチーム)",
|
|
388
|
+
# Descriptions
|
|
389
|
+
"desc_claude_subscription": "Claude Code購読中 - APIキー不要",
|
|
390
|
+
"desc_claude_api": "直接APIキーを入力",
|
|
391
|
+
"desc_glm": "GLM CodePlanサービスを使用",
|
|
392
|
+
"desc_hybrid": "コスト最適化自動割り当て",
|
|
393
|
+
"desc_pro": "Sonnet中心、基本使用",
|
|
394
|
+
"desc_max5": "Opus一部使用可能",
|
|
395
|
+
"desc_max20": "Opus自由使用",
|
|
396
|
+
"desc_basic": "基本機能",
|
|
397
|
+
"desc_glm_pro": "高度な機能",
|
|
398
|
+
"desc_enterprise": "全機能",
|
|
399
|
+
"desc_manual": "ローカルリポジトリのみ",
|
|
400
|
+
"desc_personal": "GitHub個人アカウント",
|
|
401
|
+
"desc_team": "GitHubチーム/組織",
|
|
402
|
+
# Messages
|
|
403
|
+
"msg_api_key_stored": "GLM APIキーが~/.moai/.env.glmに保存されました",
|
|
404
|
+
"msg_glm_key_found": "既存のGLM APIキーが見つかりました:",
|
|
405
|
+
"msg_glm_key_keep_prompt": "Enterキーで既存のキーを保持、新しいキーを入力すると置換",
|
|
406
|
+
"msg_glm_key_skip_guidance": "後で 'moai glm <キー>' または 'moai update' で追加できます",
|
|
407
|
+
"msg_setup_complete": "✅ 設定完了!",
|
|
408
|
+
"msg_cancelled": "ユーザーにより設定がキャンセルされました",
|
|
409
|
+
"msg_current_dir": "(現在のディレクトリ)",
|
|
410
|
+
"msg_skip_same_lang": "会話言語と同じに設定",
|
|
411
|
+
# TAG System (NEW - SPEC-TAG-002)
|
|
412
|
+
"tag_setup": "🎯 TAGシステム: TDDのためのコード↔文書追跡",
|
|
413
|
+
"q_tag_enable": "TAGシステムを有効にしますか? (TDD推奨)",
|
|
414
|
+
"q_tag_mode": "TAG検証モードを選択してください:",
|
|
415
|
+
"opt_tag_yes": "はい、有効にします",
|
|
416
|
+
"opt_tag_no": "いいえ、無効にします",
|
|
417
|
+
"opt_tag_warn": "warn (警告)",
|
|
418
|
+
"opt_tag_enforce": "enforce (強制)",
|
|
419
|
+
"opt_tag_off": "off (無効)",
|
|
420
|
+
"desc_tag_yes": "TAGを使用してコードと文書間の追跡可能性を維持します",
|
|
421
|
+
"desc_tag_no": "TAG検証を使用しません (TDDサイクル追跡推奨)",
|
|
422
|
+
"desc_tag_warn": "欠落したTAGについて警告のみ表示します。開発中は柔軟に対応",
|
|
423
|
+
"desc_tag_enforce": "TAGが欠落している場合コミットをブロックします。厳格な品質管理",
|
|
424
|
+
"desc_tag_off": "TAG検証をスキップします。推奨しません",
|
|
425
|
+
"tag_system_intro": (
|
|
426
|
+
"TAGシステムはコードとSPEC文書間の追跡可能性を維持して、\n"
|
|
427
|
+
"TDD (Test-Driven Development) サイクルを支援します。\n\n"
|
|
428
|
+
"TDD目的:\n"
|
|
429
|
+
"• RED (テスト作成) → @SPEC SPEC-XXX verify\n"
|
|
430
|
+
"• GREEN (実装) → @SPEC SPEC-XXX impl\n"
|
|
431
|
+
"• REFACTOR (改善) → @SPEC SPEC-XXX implまたはrelated\n\n"
|
|
432
|
+
"各コードファイルがどのSPECを実装するか明確に追跡して、\n"
|
|
433
|
+
"文書主導開発を促進し品質を維持します。"
|
|
434
|
+
),
|
|
435
|
+
"tag_yes_recommendation": (
|
|
436
|
+
"TAG有効化を推奨します。TDDサイクルでコードと文書の\n一貫性を維持して品質と保守性を向上させます。"
|
|
437
|
+
),
|
|
438
|
+
"tag_no_warning": (
|
|
439
|
+
"TAGを無効にするとコードと文書間の追跡可能性が失われ、\nTDDサイクルに従うことが難しくなります。"
|
|
440
|
+
),
|
|
441
|
+
"tag_mode_guide_title": "TAG検証モードガイド",
|
|
442
|
+
"tag_mode_guide_subtitle": (
|
|
443
|
+
"• warn: 開発中に警告表示 (デフォルト、推奨)\n"
|
|
444
|
+
"• enforce: TAG欠落時コミット禁止 (厳格な品質管理)\n"
|
|
445
|
+
"• off: 検証スキップ (推奨しません)"
|
|
446
|
+
),
|
|
447
|
+
"msg_tag_enabled": "TAGシステムが有効になりました",
|
|
448
|
+
"msg_tag_disabled": "TAGシステムが無効になりました",
|
|
449
|
+
"msg_tag_mode_selected": "TAGモード: {mode}",
|
|
450
|
+
},
|
|
451
|
+
"zh": {
|
|
452
|
+
# Headers
|
|
453
|
+
"language_selection": "🌐 语言选择",
|
|
454
|
+
"user_setup": "👤 用户设置",
|
|
455
|
+
"service_selection": "💳 服务选择",
|
|
456
|
+
"pricing_selection": "💰 定价方案",
|
|
457
|
+
"api_key_input": "🔑 API密钥输入",
|
|
458
|
+
"project_setup": "📁 项目设置",
|
|
459
|
+
"git_setup": "🔀 Git设置",
|
|
460
|
+
"output_language": "🗣️ 输出语言设置",
|
|
461
|
+
"claude_auth_selection": "🔐 Claude认证方式",
|
|
462
|
+
# Questions
|
|
463
|
+
"q_language": "选择您的对话语言:",
|
|
464
|
+
"q_user_name": "请输入您的姓名(可选):",
|
|
465
|
+
"q_service": "选择要使用的服务:",
|
|
466
|
+
"q_claude_auth_type": "选择Claude认证方式:",
|
|
467
|
+
"q_pricing_claude": "选择Claude定价方案:",
|
|
468
|
+
"q_pricing_glm": "选择GLM CodePlan定价方案:",
|
|
469
|
+
"q_api_key_anthropic": "输入您的Anthropic API密钥:",
|
|
470
|
+
"q_api_key_glm": "输入您的GLM API密钥:",
|
|
471
|
+
"q_project_name": "项目名称:",
|
|
472
|
+
"q_git_mode": "选择Git模式:",
|
|
473
|
+
"q_github_username": "GitHub用户名:",
|
|
474
|
+
"q_commit_lang": "提交消息语言:",
|
|
475
|
+
"q_comment_lang": "代码注释语言:",
|
|
476
|
+
"q_doc_lang": "文档语言:",
|
|
477
|
+
# Options - Service
|
|
478
|
+
"opt_claude_subscription": "Claude 订阅",
|
|
479
|
+
"opt_claude_api": "Claude API",
|
|
480
|
+
"opt_glm": "GLM CodePlan",
|
|
481
|
+
"opt_hybrid": "Claude + GLM (混合)",
|
|
482
|
+
# Options - Claude Auth Type (for hybrid)
|
|
483
|
+
"opt_claude_sub": "订阅",
|
|
484
|
+
"opt_claude_api_key": "API密钥",
|
|
485
|
+
"desc_claude_sub": "使用Claude Code订阅",
|
|
486
|
+
"desc_claude_api_key": "直接输入API密钥",
|
|
487
|
+
# Options - Pricing Claude
|
|
488
|
+
"opt_pro": "Pro ($20/月)",
|
|
489
|
+
"opt_max5": "Max5 ($100/月)",
|
|
490
|
+
"opt_max20": "Max20 ($200/月)",
|
|
491
|
+
# Options - Pricing GLM
|
|
492
|
+
"opt_basic": "Basic",
|
|
493
|
+
"opt_glm_pro": "Pro",
|
|
494
|
+
"opt_enterprise": "Enterprise",
|
|
495
|
+
# Options - Git
|
|
496
|
+
"opt_manual": "manual (仅本地)",
|
|
497
|
+
"opt_personal": "personal (GitHub个人)",
|
|
498
|
+
"opt_team": "team (GitHub团队)",
|
|
499
|
+
# Descriptions
|
|
500
|
+
"desc_claude_subscription": "Claude Code订阅中 - 无需API密钥",
|
|
501
|
+
"desc_claude_api": "直接输入API密钥",
|
|
502
|
+
"desc_glm": "使用GLM CodePlan服务",
|
|
503
|
+
"desc_hybrid": "成本优化自动分配",
|
|
504
|
+
"desc_pro": "以Sonnet为主,基本使用",
|
|
505
|
+
"desc_max5": "可部分使用Opus",
|
|
506
|
+
"desc_max20": "自由使用Opus",
|
|
507
|
+
"desc_basic": "基本功能",
|
|
508
|
+
"desc_glm_pro": "高级功能",
|
|
509
|
+
"desc_enterprise": "全部功能",
|
|
510
|
+
"desc_manual": "仅本地仓库",
|
|
511
|
+
"desc_personal": "GitHub个人账户",
|
|
512
|
+
"desc_team": "GitHub团队/组织",
|
|
513
|
+
# Messages
|
|
514
|
+
"msg_api_key_stored": "GLM API密钥已保存到~/.moai/.env.glm",
|
|
515
|
+
"msg_glm_key_found": "找到现有GLM API密钥:",
|
|
516
|
+
"msg_glm_key_keep_prompt": "按Enter保留现有密钥,或输入新密钥进行替换",
|
|
517
|
+
"msg_glm_key_skip_guidance": "您可以稍后使用 'moai glm <密钥>' 或 'moai update' 添加",
|
|
518
|
+
"msg_setup_complete": "✅ 设置完成!",
|
|
519
|
+
"msg_cancelled": "用户取消设置",
|
|
520
|
+
"msg_current_dir": "(当前目录)",
|
|
521
|
+
"msg_skip_same_lang": "设置为与对话语言相同",
|
|
522
|
+
# TAG System (NEW - SPEC-TAG-002)
|
|
523
|
+
"tag_setup": "🎯 TAG系统: TDD的代码↔文档追踪",
|
|
524
|
+
"q_tag_enable": "启用TAG验证系统? (TDD推荐)",
|
|
525
|
+
"q_tag_mode": "选择TAG验证模式:",
|
|
526
|
+
"opt_tag_yes": "是,启用TAG",
|
|
527
|
+
"opt_tag_no": "否,禁用TAG",
|
|
528
|
+
"opt_tag_warn": "warn (警告)",
|
|
529
|
+
"opt_tag_enforce": "enforce (强制)",
|
|
530
|
+
"opt_tag_off": "off (关闭)",
|
|
531
|
+
"desc_tag_yes": "使用TAG维持代码和文档间的可追溯性",
|
|
532
|
+
"desc_tag_no": "不使用TAG验证 (推荐TDD周期追踪)",
|
|
533
|
+
"desc_tag_warn": "对缺失的TAG发出警告。开发期间灵活处理",
|
|
534
|
+
"desc_tag_enforce": "TAG缺失时阻止提交。严格的质量控制",
|
|
535
|
+
"desc_tag_off": "跳过TAG验证。不推荐",
|
|
536
|
+
"tag_system_intro": (
|
|
537
|
+
"TAG系统维持代码和SPEC文档之间的可追溯性,\n"
|
|
538
|
+
"以支持TDD (测试驱动开发) 周期。\n\n"
|
|
539
|
+
"TDD目的:\n"
|
|
540
|
+
"• RED (编写测试) → @SPEC SPEC-XXX verify\n"
|
|
541
|
+
"• GREEN (实现代码) → @SPEC SPEC-XXX impl\n"
|
|
542
|
+
"• REFACTOR (改进) → @SPEC SPEC-XXX impl或related\n\n"
|
|
543
|
+
"清晰追踪每个代码文件实现哪个SPEC,促进\n"
|
|
544
|
+
"文档驱动开发并保持质量。"
|
|
545
|
+
),
|
|
546
|
+
"tag_yes_recommendation": ("推荐启用TAG。在TDD周期中保持代码与文档的\n一致性,提高质量和可维护性。"),
|
|
547
|
+
"tag_no_warning": ("禁用TAG会失去代码和文档之间的可追溯性,\n难以遵循TDD周期。"),
|
|
548
|
+
"tag_mode_guide_title": "TAG验证模式指南",
|
|
549
|
+
"tag_mode_guide_subtitle": (
|
|
550
|
+
"• warn: 开发期间发出警告 (默认,推荐)\n"
|
|
551
|
+
"• enforce: TAG缺失时阻止提交 (严格质量控制)\n"
|
|
552
|
+
"• off: 跳过验证 (不推荐)"
|
|
553
|
+
),
|
|
554
|
+
"msg_tag_enabled": "TAG系统已启用",
|
|
555
|
+
"msg_tag_disabled": "TAG系统已禁用",
|
|
556
|
+
"msg_tag_mode_selected": "TAG模式: {mode}",
|
|
557
|
+
},
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
def get_translation(locale: str) -> InitTranslations:
|
|
562
|
+
"""Get translations for the specified locale.
|
|
563
|
+
|
|
564
|
+
Args:
|
|
565
|
+
locale: Language code (ko, en, ja, zh)
|
|
566
|
+
|
|
567
|
+
Returns:
|
|
568
|
+
Translation dictionary for the locale, defaults to English
|
|
569
|
+
"""
|
|
570
|
+
return TRANSLATIONS.get(locale, TRANSLATIONS["en"])
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
__all__ = ["InitTranslations", "TRANSLATIONS", "get_translation"]
|
moai_adk/cli/ui/prompts.py
CHANGED
|
@@ -226,8 +226,38 @@ def styled_select(
|
|
|
226
226
|
|
|
227
227
|
return result
|
|
228
228
|
|
|
229
|
-
except KeyboardInterrupt:
|
|
230
|
-
|
|
229
|
+
except (KeyboardInterrupt, OSError, Exception):
|
|
230
|
+
# Fallback to questionary on any error (macOS terminal compatibility)
|
|
231
|
+
import questionary
|
|
232
|
+
|
|
233
|
+
choice_names = [c.get("name", str(c)) if isinstance(c, dict) else str(c) for c in choices]
|
|
234
|
+
value_map = {}
|
|
235
|
+
|
|
236
|
+
for c in choices:
|
|
237
|
+
if isinstance(c, dict):
|
|
238
|
+
name = c.get("name", str(c))
|
|
239
|
+
value = c.get("value", name)
|
|
240
|
+
value_map[name] = value
|
|
241
|
+
|
|
242
|
+
# Find default name
|
|
243
|
+
default_name = None
|
|
244
|
+
if default:
|
|
245
|
+
for c in choices:
|
|
246
|
+
if isinstance(c, dict):
|
|
247
|
+
if c.get("value") == default:
|
|
248
|
+
default_name = c.get("name")
|
|
249
|
+
break
|
|
250
|
+
|
|
251
|
+
result_name = questionary.select(
|
|
252
|
+
message,
|
|
253
|
+
choices=choice_names,
|
|
254
|
+
default=default_name,
|
|
255
|
+
).ask()
|
|
256
|
+
|
|
257
|
+
if result_name is None:
|
|
258
|
+
return None
|
|
259
|
+
|
|
260
|
+
return value_map.get(result_name, result_name)
|
|
231
261
|
|
|
232
262
|
|
|
233
263
|
def styled_input(
|
|
@@ -304,6 +334,35 @@ def styled_confirm(
|
|
|
304
334
|
return None
|
|
305
335
|
|
|
306
336
|
|
|
337
|
+
def styled_password(
|
|
338
|
+
message: str,
|
|
339
|
+
instruction: str = "",
|
|
340
|
+
) -> Optional[str]:
|
|
341
|
+
"""Display a styled password input prompt.
|
|
342
|
+
|
|
343
|
+
Args:
|
|
344
|
+
message: Question to display
|
|
345
|
+
instruction: Help text
|
|
346
|
+
|
|
347
|
+
Returns:
|
|
348
|
+
User input, or None if cancelled
|
|
349
|
+
"""
|
|
350
|
+
try:
|
|
351
|
+
result = inquirer.secret(
|
|
352
|
+
message=message,
|
|
353
|
+
instruction=instruction,
|
|
354
|
+
style=_INQUIRER_STYLE,
|
|
355
|
+
qmark=SYMBOLS["pointer"],
|
|
356
|
+
amark=SYMBOLS["success"],
|
|
357
|
+
validate=EmptyInputValidator("This field is required"),
|
|
358
|
+
).execute()
|
|
359
|
+
|
|
360
|
+
return result
|
|
361
|
+
|
|
362
|
+
except KeyboardInterrupt:
|
|
363
|
+
return None
|
|
364
|
+
|
|
365
|
+
|
|
307
366
|
def _process_choices(
|
|
308
367
|
choices: List[Union[str, Dict[str, Any], Choice, Separator]],
|
|
309
368
|
defaults: Optional[List[Any]] = None,
|