moai-adk 0.4.5__py3-none-any.whl → 0.20.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +1 -1
- moai_adk/__main__.py +74 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/analyze.py +119 -0
- moai_adk/cli/commands/backup.py +25 -1
- moai_adk/cli/commands/doctor.py +31 -5
- moai_adk/cli/commands/improve_user_experience.py +307 -0
- moai_adk/cli/commands/init.py +111 -10
- moai_adk/cli/commands/status.py +33 -3
- moai_adk/cli/commands/update.py +921 -130
- moai_adk/cli/commands/validate_links.py +120 -0
- moai_adk/cli/prompts/init_prompts.py +22 -87
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +388 -0
- moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
- moai_adk/core/analysis/tag_chain_repair.py +879 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/migration.py +235 -0
- moai_adk/core/git/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/commit.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/issue_creator.py +313 -0
- moai_adk/core/mcp/setup.py +56 -0
- moai_adk/core/mcp/setup_old.py +296 -0
- moai_adk/core/project/backup_utils.py +1 -1
- moai_adk/core/project/checker.py +2 -2
- moai_adk/core/project/detector.py +211 -12
- moai_adk/core/project/initializer.py +85 -15
- moai_adk/core/project/phase_executor.py +76 -13
- moai_adk/core/project/validator.py +13 -13
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/tags/__init__.py +86 -0
- moai_adk/core/tags/auto_corrector.py +693 -0
- moai_adk/core/tags/ci_validator.py +463 -0
- moai_adk/core/tags/cli.py +283 -0
- moai_adk/core/tags/generator.py +109 -0
- moai_adk/core/tags/inserter.py +99 -0
- moai_adk/core/tags/mapper.py +126 -0
- moai_adk/core/tags/parser.py +76 -0
- moai_adk/core/tags/policy_validator.py +580 -0
- moai_adk/core/tags/pre_commit_validator.py +421 -0
- moai_adk/core/tags/reporter.py +956 -0
- moai_adk/core/tags/rollback_manager.py +525 -0
- moai_adk/core/tags/tags.py +149 -0
- moai_adk/core/tags/validator.py +897 -0
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +1 -1
- moai_adk/core/template/merger.py +50 -1
- moai_adk/core/template/processor.py +119 -13
- moai_adk/core/template_engine.py +268 -0
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
- moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
- moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
- moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
- moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
- moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
- moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
- moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
- moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
- moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
- moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
- moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
- moai_adk/templates/.claude/settings.json +96 -14
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
- moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
- moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
- moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
- moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
- moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
- moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +255 -0
- moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
- moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
- moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
- moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
- moai_adk/templates/.github/workflows/release.yml +118 -0
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/tag-report.yml +269 -0
- moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
- moai_adk/templates/.mcp.json +31 -0
- moai_adk/templates/.moai/config.json +80 -7
- moai_adk/templates/CLAUDE.md +562 -546
- moai_adk/utils/banner.py +5 -5
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +235 -0
- moai_adk/utils/logger.py +8 -8
- moai_adk/utils/user_experience.py +451 -0
- moai_adk-0.20.1.dist-info/METADATA +233 -0
- moai_adk-0.20.1.dist-info/RECORD +404 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
- moai_adk/templates/.moai/memory/development-guide.md +0 -344
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
- moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk/templates/__init__.py +0 -2
- moai_adk-0.4.5.dist-info/METADATA +0 -369
- moai_adk-0.4.5.dist-info/RECORD +0 -152
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
# Python Version Matrix — Latest Stable Versions (2025-10-22)
|
|
2
|
+
|
|
3
|
+
**Reference Guide for moai-lang-python Skill Creation & Updates**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Python Versions
|
|
8
|
+
|
|
9
|
+
| Version | Status | Released | EOL | Recommended | Use Case |
|
|
10
|
+
|---------|--------|----------|-----|-------------|----------|
|
|
11
|
+
| **3.13.1** | Latest | 2024-10 | 2029-10 | ✅ New projects | Modern features, best performance |
|
|
12
|
+
| **3.12.7** | LTS | 2023-10 | 2028-10 | ✅ Production | Enterprise stability, wide library support |
|
|
13
|
+
| **3.11.10** | Maintenance | 2022-10 | 2027-10 | ⚠️ Legacy | Gradual migration from 3.10 |
|
|
14
|
+
| **3.10.x** | EOL | 2021-10 | 2026-10 | ❌ Deprecated | No new code; migrate to 3.12+ |
|
|
15
|
+
| **3.9.x** | EOL | 2020-10 | 2025-10 | ❌ Deprecated | CRITICAL: Stop using |
|
|
16
|
+
|
|
17
|
+
**Recommended Selection for New Skills**:
|
|
18
|
+
- **Default**: Python 3.13.1 (unless compatibility required)
|
|
19
|
+
- **LTS Alternative**: Python 3.12.7 (if enterprise stability preferred)
|
|
20
|
+
- **Never use**: 3.10 and below (EOL, security risks)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Python 3.13 New Features
|
|
25
|
+
|
|
26
|
+
### PEP 695 — Type Parameter Syntax
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
# OLD (3.11)
|
|
30
|
+
from typing import TypeVar, Generic
|
|
31
|
+
|
|
32
|
+
T = TypeVar('T')
|
|
33
|
+
|
|
34
|
+
class Stack(Generic[T]):
|
|
35
|
+
def push(self, item: T) -> None: ...
|
|
36
|
+
|
|
37
|
+
# NEW (3.13)
|
|
38
|
+
class Stack[T]:
|
|
39
|
+
def push(self, item: T) -> None: ...
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Skill Impact**: Update type hints examples to use new syntax
|
|
43
|
+
|
|
44
|
+
### PEP 701 — Syntactic Formalization of f-strings
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
# OLD (3.11)
|
|
48
|
+
name = "world"
|
|
49
|
+
print(f"Hello, {name}!")
|
|
50
|
+
|
|
51
|
+
# NEW (3.13) — Nested f-strings, multiline expressions
|
|
52
|
+
user = {"name": "Alice", "age": 30}
|
|
53
|
+
print(f"User: {user['name']}, Age: {user['age']}")
|
|
54
|
+
|
|
55
|
+
# Nested f-strings now work!
|
|
56
|
+
print(f"Formatted: {f'{x:>10}'}")
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Skill Impact**: Add f-string best practices section
|
|
60
|
+
|
|
61
|
+
### PEP 698 — Override Decorator for Static Typing
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
from typing import override
|
|
65
|
+
|
|
66
|
+
class Parent:
|
|
67
|
+
def method(self) -> None: ...
|
|
68
|
+
|
|
69
|
+
class Child(Parent):
|
|
70
|
+
@override
|
|
71
|
+
def method(self) -> None: ... # Mypy will check this is actually overriding
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Skill Impact**: Add override decorator to inheritance examples
|
|
75
|
+
|
|
76
|
+
### PEP 709 — Improved Error Messages for Syntax Errors
|
|
77
|
+
|
|
78
|
+
- Better error locations and suggestions
|
|
79
|
+
- Clear hints for common mistakes
|
|
80
|
+
|
|
81
|
+
**Skill Impact**: Document new error messages in debugging section
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Python Ecosystem Tools (Latest Stable)
|
|
86
|
+
|
|
87
|
+
### Testing Frameworks
|
|
88
|
+
|
|
89
|
+
| Tool | Latest | LTS | Recommended | Notes |
|
|
90
|
+
|------|--------|-----|-------------|-------|
|
|
91
|
+
| **pytest** | 8.4.2 | 8.4.x | ✅ | Industry standard, 99% of Python projects |
|
|
92
|
+
| **unittest** | 3.13 | stdlib | ✅ | Built-in, minimal learning curve |
|
|
93
|
+
| **tox** | 4.15.1 | 4.x | ⚠️ | Test across multiple environments |
|
|
94
|
+
| **nose2** | 0.9.3 | 0.9.x | ❌ | Legacy, use pytest instead |
|
|
95
|
+
|
|
96
|
+
**Skill Recommendation**: Default to pytest 8.4.2 for all examples
|
|
97
|
+
|
|
98
|
+
### Code Quality Tools
|
|
99
|
+
|
|
100
|
+
| Tool | Latest | Purpose | Recommended |
|
|
101
|
+
|------|--------|---------|-------------|
|
|
102
|
+
| **ruff** | 0.13.1 | Linter + formatter (REPLACES black + pylint) | ✅ New standard |
|
|
103
|
+
| **black** | 24.10.0 | Formatter only | ⚠️ Use ruff instead |
|
|
104
|
+
| **pylint** | 3.2.6 | Linter only | ⚠️ Use ruff instead |
|
|
105
|
+
| **flake8** | 7.1.2 | Linter | ⚠️ Slower than ruff |
|
|
106
|
+
| **isort** | 5.13.2 | Import sorter | ⚠️ Integrated into ruff |
|
|
107
|
+
|
|
108
|
+
**Skill Recommendation**: Lead with ruff 0.13.1, mention legacy tools as "deprecated pattern"
|
|
109
|
+
|
|
110
|
+
### Type Checking
|
|
111
|
+
|
|
112
|
+
| Tool | Latest | Purpose | Recommended |
|
|
113
|
+
|------|--------|---------|-------------|
|
|
114
|
+
| **mypy** | 1.8.0 | Static type checker | ✅ Industry standard |
|
|
115
|
+
| **pyright** | 1.1.380 | VSCode native type checker | ✅ Faster alternative |
|
|
116
|
+
| **pydantic** | 2.7.0 | Runtime validation | ✅ Essential for APIs |
|
|
117
|
+
|
|
118
|
+
**Skill Recommendation**: Include mypy 1.8.0 + Pydantic 2.7.0 examples
|
|
119
|
+
|
|
120
|
+
### Package Management
|
|
121
|
+
|
|
122
|
+
| Tool | Latest | Purpose | Recommended |
|
|
123
|
+
|------|--------|---------|-------------|
|
|
124
|
+
| **uv** | 0.9.3 | Fast Python package manager | ✅ NEW STANDARD (2025) |
|
|
125
|
+
| **pip** | 24.3.1 | Built-in package manager | ⚠️ 10x slower than uv |
|
|
126
|
+
| **poetry** | 1.8.3 | Dependency management | ⚠️ Still used in legacy projects |
|
|
127
|
+
| **pipenv** | 2025.1.13 | Virtual env + deps | ❌ Deprecated, use uv |
|
|
128
|
+
|
|
129
|
+
**Skill Recommendation**: Feature uv 0.9.3 as primary, mention pip for compatibility
|
|
130
|
+
|
|
131
|
+
### Virtual Environment
|
|
132
|
+
|
|
133
|
+
| Tool | Latest | Purpose | Recommended |
|
|
134
|
+
|------|--------|---------|-------------|
|
|
135
|
+
| **venv** | 3.13 | Built-in (stdlib) | ✅ For isolated environments |
|
|
136
|
+
| **virtualenv** | 20.26.3 | Enhanced venv | ⚠️ Use venv for modern Python |
|
|
137
|
+
| **uv venv** | 0.9.3 | uv's venv command | ✅ Preferred with uv |
|
|
138
|
+
|
|
139
|
+
**Skill Recommendation**: Show venv setup, mention uv venv as faster alternative
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Web Frameworks (Python Ecosystem)
|
|
144
|
+
|
|
145
|
+
| Framework | Latest | Type | Recommended | Maturity |
|
|
146
|
+
|-----------|--------|------|-------------|----------|
|
|
147
|
+
| **FastAPI** | 0.115.0 | Async/REST | ✅ New projects | Stable (4+ years) |
|
|
148
|
+
| **Django** | 5.1.3 | Full-stack | ✅ Large projects | Very stable (19+ years) |
|
|
149
|
+
| **Flask** | 3.1.3 | Lightweight | ✅ Microservices | Stable (15+ years) |
|
|
150
|
+
| **Starlette** | 0.40.1 | Async base | ✅ Foundation for FastAPI | Mature |
|
|
151
|
+
| **Quart** | 0.20.0 | Async Flask | ⚠️ Use FastAPI instead | Less popular |
|
|
152
|
+
|
|
153
|
+
**Skill Impact**: Create web framework comparison table with 3.13 async features
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Key Tools Version Matrix (Build Reference)
|
|
158
|
+
|
|
159
|
+
```yaml
|
|
160
|
+
# .python-version (pyproject.toml)
|
|
161
|
+
python = "^3.12"
|
|
162
|
+
|
|
163
|
+
# tools/dev-dependencies
|
|
164
|
+
pytest = "^8.4.2"
|
|
165
|
+
mypy = "^1.8.0"
|
|
166
|
+
ruff = "^0.13.1"
|
|
167
|
+
black = "^24.10.0" # deprecated, use ruff
|
|
168
|
+
black = "^24.10.0" # use for formatter fallback
|
|
169
|
+
uv = "^0.9.3"
|
|
170
|
+
|
|
171
|
+
# tools/runtime
|
|
172
|
+
pydantic = "^2.7.0"
|
|
173
|
+
fastapi = "^0.115.0"
|
|
174
|
+
sqlalchemy = "^2.0.28"
|
|
175
|
+
alembic = "^1.13.4"
|
|
176
|
+
|
|
177
|
+
# optional/monitoring
|
|
178
|
+
opentelemetry-api = "^1.24.0"
|
|
179
|
+
prometheus-client = "^0.21.0"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Migration Path** (if upgrading from 3.12):
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Old workflow (3.12 + black + pylint)
|
|
186
|
+
python -m pip install black pylint pytest
|
|
187
|
+
|
|
188
|
+
# New workflow (3.13 + ruff + pytest + uv)
|
|
189
|
+
uv venv
|
|
190
|
+
source .venv/bin/activate
|
|
191
|
+
uv add --dev ruff pytest mypy uv
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Async/Await Patterns (Python 3.13)
|
|
197
|
+
|
|
198
|
+
### asyncio Core
|
|
199
|
+
|
|
200
|
+
```python
|
|
201
|
+
# Python 3.13: TaskGroup (cleaner than gather)
|
|
202
|
+
import asyncio
|
|
203
|
+
|
|
204
|
+
async def main():
|
|
205
|
+
async with asyncio.TaskGroup() as tg:
|
|
206
|
+
task1 = tg.create_task(coroutine1())
|
|
207
|
+
task2 = tg.create_task(coroutine2())
|
|
208
|
+
# Tasks run concurrently, exceptions propagate
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Context Variables (3.13 improvements)
|
|
212
|
+
|
|
213
|
+
```python
|
|
214
|
+
from contextvars import ContextVar
|
|
215
|
+
|
|
216
|
+
request_id = ContextVar('request_id', default=None)
|
|
217
|
+
|
|
218
|
+
async def handle_request(id):
|
|
219
|
+
token = request_id.set(id)
|
|
220
|
+
# All spawned tasks inherit this context var
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Skill Impact**: Add async patterns section with TaskGroup examples
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Security Best Practices (Python 3.13)
|
|
228
|
+
|
|
229
|
+
### Hashlib Security
|
|
230
|
+
|
|
231
|
+
Python 3.13 removes deprecated hash algorithms. Update to:
|
|
232
|
+
|
|
233
|
+
```python
|
|
234
|
+
import hashlib
|
|
235
|
+
|
|
236
|
+
# ✅ SECURE (Python 3.13+)
|
|
237
|
+
hash_obj = hashlib.sha256(b"data")
|
|
238
|
+
|
|
239
|
+
# ❌ INSECURE (removed in 3.13)
|
|
240
|
+
hash_obj = hashlib.md5(b"data") # Will raise ValueError
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**Skill Impact**: Add security warnings section
|
|
244
|
+
|
|
245
|
+
### Secrets Module
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
import secrets
|
|
249
|
+
|
|
250
|
+
# Generate secure random tokens
|
|
251
|
+
token = secrets.token_urlsafe(32) # For API keys
|
|
252
|
+
nonce = secrets.token_bytes(16) # For crypto
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Skill Impact**: Include security patterns section
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Migration Guide: 3.12 → 3.13
|
|
260
|
+
|
|
261
|
+
### Breaking Changes
|
|
262
|
+
|
|
263
|
+
| Change | 3.12 | 3.13 | Action |
|
|
264
|
+
|--------|------|------|--------|
|
|
265
|
+
| `black` tool | Standard | Deprecated | Migrate to `ruff` |
|
|
266
|
+
| Old f-strings | Works | Still works | Migrate to PEP 701 (optional) |
|
|
267
|
+
| `@override` | N/A | New | Add to inheritance hierarchies |
|
|
268
|
+
| Type hints | `from typing import` | `class Foo[T]:` | Update to PEP 695 (optional) |
|
|
269
|
+
| `md5` hash | Supported | ValueError | Use `sha256` |
|
|
270
|
+
|
|
271
|
+
### Automatic Migration Tools
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Run 2to3 for syntax updates (if needed)
|
|
275
|
+
2to3 -w /path/to/code
|
|
276
|
+
|
|
277
|
+
# Then use ruff format to apply new standards
|
|
278
|
+
ruff format .
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Skill Impact**: Create "Upgrading to Python 3.13" section
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## SKILL.md Content Recommendations
|
|
286
|
+
|
|
287
|
+
### Sections to Create/Update
|
|
288
|
+
|
|
289
|
+
1. **What is Python 3.13?**
|
|
290
|
+
- New features (PEP 695, 701, 698, 709)
|
|
291
|
+
- When to upgrade
|
|
292
|
+
- Migration path from 3.12
|
|
293
|
+
|
|
294
|
+
2. **Core Testing Pattern** (pytest 8.4.2)
|
|
295
|
+
- Basic test structure
|
|
296
|
+
- Fixtures (asyncio-aware)
|
|
297
|
+
- Mocking strategies
|
|
298
|
+
|
|
299
|
+
3. **Code Quality Tools** (ruff 0.13.1)
|
|
300
|
+
- Linting (replaces black + pylint)
|
|
301
|
+
- Formatting
|
|
302
|
+
- Integration with editors (VSCode, PyCharm)
|
|
303
|
+
|
|
304
|
+
4. **Type Checking** (mypy 1.8.0 + Pydantic 2.7.0)
|
|
305
|
+
- Static type hints (PEP 695 syntax)
|
|
306
|
+
- Runtime validation with Pydantic
|
|
307
|
+
- Common pitfalls
|
|
308
|
+
|
|
309
|
+
5. **Async Patterns** (asyncio + TaskGroup)
|
|
310
|
+
- TaskGroup for concurrent tasks
|
|
311
|
+
- Context variables in async code
|
|
312
|
+
- Testing async code with pytest
|
|
313
|
+
|
|
314
|
+
6. **Security Best Practices**
|
|
315
|
+
- Secrets module for token generation
|
|
316
|
+
- Secure hashing (sha256)
|
|
317
|
+
- Avoiding deprecated patterns
|
|
318
|
+
|
|
319
|
+
7. **Package Management** (uv 0.9.3)
|
|
320
|
+
- Creating virtual environments
|
|
321
|
+
- Installing dependencies
|
|
322
|
+
- Publishing to PyPI
|
|
323
|
+
|
|
324
|
+
8. **Examples**
|
|
325
|
+
- RESTful API with FastAPI 0.115.0
|
|
326
|
+
- Database integration (SQLAlchemy 2.0.28)
|
|
327
|
+
- Testing with pytest 8.4.2 + mocking
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Reference.md CLI Commands
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
# Python version management
|
|
335
|
+
python --version # Check current version
|
|
336
|
+
python3.13 --version # Check specific version
|
|
337
|
+
pyenv versions # List installed versions (if using pyenv)
|
|
338
|
+
|
|
339
|
+
# Virtual environment
|
|
340
|
+
python -m venv .venv # Create venv
|
|
341
|
+
source .venv/bin/activate # Activate (macOS/Linux)
|
|
342
|
+
.venv\Scripts\activate # Activate (Windows)
|
|
343
|
+
|
|
344
|
+
# Package management (uv)
|
|
345
|
+
uv venv # Create with uv
|
|
346
|
+
uv add pytest ruff mypy # Add dependencies
|
|
347
|
+
uv sync # Install from lock file
|
|
348
|
+
uv publish # Publish to PyPI
|
|
349
|
+
|
|
350
|
+
# Code quality (ruff)
|
|
351
|
+
ruff check . # Lint code
|
|
352
|
+
ruff format . # Format code
|
|
353
|
+
ruff check --select E501 . # Check specific rule (line length)
|
|
354
|
+
|
|
355
|
+
# Type checking
|
|
356
|
+
mypy . # Run type checker
|
|
357
|
+
mypy --strict . # Strict mode
|
|
358
|
+
|
|
359
|
+
# Testing
|
|
360
|
+
pytest # Run all tests
|
|
361
|
+
pytest -v # Verbose output
|
|
362
|
+
pytest -s # Show print statements
|
|
363
|
+
pytest tests/test_file.py -k "pattern" # Run specific tests
|
|
364
|
+
|
|
365
|
+
# Performance profiling
|
|
366
|
+
python -m cProfile script.py # Profile script
|
|
367
|
+
python -m timeit "code" # Time code snippet
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Skill Update Checklist for moai-lang-python v2.0
|
|
373
|
+
|
|
374
|
+
- [ ] Update SKILL.md frontmatter: version 2.0, created 2025-10-22
|
|
375
|
+
- [ ] Add Python 3.13 features section (PEP 695, 701, 698)
|
|
376
|
+
- [ ] Replace all tool examples with current versions (ruff, uv, pytest 8.4.2)
|
|
377
|
+
- [ ] Create reference.md with CLI command matrix
|
|
378
|
+
- [ ] Create examples.md with 5+ code samples (async, FastAPI, testing)
|
|
379
|
+
- [ ] Add migration guide (3.12 → 3.13)
|
|
380
|
+
- [ ] Add security best practices
|
|
381
|
+
- [ ] Update all version numbers in examples
|
|
382
|
+
- [ ] Verify all links point to current docs
|
|
383
|
+
- [ ] Test all code examples against Python 3.13.1
|
|
384
|
+
- [ ] Deploy to both locations (project root + templates)
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
**Version**: 0.1.0
|
|
389
|
+
**Created**: 2025-10-22
|
|
390
|
+
**Framework**: MoAI-ADK + Python 3.13.1 + Ecosystem Tools
|
|
391
|
+
**Next Review**: 2025-11-22 (1 month for fast-moving ecosystem)
|