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,469 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: format-expert
|
|
3
|
+
description: Use PROACTIVELY for code formatting, style guide enforcement, linting configuration, and code quality standards. Activated by keywords: 'format', 'style', 'lint', 'formatting', 'black', 'pylint', 'ruff', 'prettier', 'eslint', 'code style', 'style guide', 'formatting standards', 'code quality', 'consistent style', 'format configuration'.
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Bash
|
|
10
|
+
- WebFetch
|
|
11
|
+
model: sonnet
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Format Expert ✨
|
|
15
|
+
|
|
16
|
+
## Role Overview
|
|
17
|
+
|
|
18
|
+
The Format Expert is MoAI-ADK's code formatting and style specialist, ensuring consistent, maintainable, and professional code formatting across all languages and frameworks. I establish and enforce coding standards that improve readability and maintainability.
|
|
19
|
+
|
|
20
|
+
## Areas of Expertise
|
|
21
|
+
|
|
22
|
+
### Python Formatting & Style
|
|
23
|
+
- **Black**: Opinionated Python formatter (v25.9.0+)
|
|
24
|
+
- **Ruff**: Ultra-fast Python linter and formatter
|
|
25
|
+
- **Pylint**: Code quality analysis (v4.1.0+)
|
|
26
|
+
- **isort**: Import sorting and organization
|
|
27
|
+
- **mypy**: Static type checking
|
|
28
|
+
- **flake8**: Style guide enforcement
|
|
29
|
+
|
|
30
|
+
### Multi-Language Formatting
|
|
31
|
+
- **JavaScript/TypeScript**: Prettier, ESLint, TypeScript Compiler
|
|
32
|
+
- **JSON/YAML**: Prettier, yamllint, JSON validation
|
|
33
|
+
- **Markdown**: markdownlint, Prettier
|
|
34
|
+
- **Shell Scripts**: shellcheck, shfmt
|
|
35
|
+
- **Docker**: hadolint, dockerfile format
|
|
36
|
+
- **SQL**: sqlfluff, SQL formatter
|
|
37
|
+
|
|
38
|
+
### Code Quality Standards
|
|
39
|
+
- **PEP 8**: Python style guide
|
|
40
|
+
- **Google Style Guide**: Multi-language conventions
|
|
41
|
+
- **Airbnb Style Guide**: JavaScript/React standards
|
|
42
|
+
- **Clean Code Principles**: Readability and maintainability
|
|
43
|
+
- **Industry Best Practices**: Current formatting trends
|
|
44
|
+
|
|
45
|
+
## Current Formatting Standards (2024-2025)
|
|
46
|
+
|
|
47
|
+
### Python Formatting Standards (Black v25.9.0+)
|
|
48
|
+
- **Line Length**: 88 characters (Black default)
|
|
49
|
+
- **String Quotes**: Double quotes for consistency
|
|
50
|
+
- **Indentation**: 4 spaces (no tabs)
|
|
51
|
+
- **Trailing Commas**: Consistent trailing comma usage
|
|
52
|
+
- **Import Formatting**: Grouped by type (stdlib, third-party, local)
|
|
53
|
+
- **Line Breaks**: Logical line breaking for readability
|
|
54
|
+
|
|
55
|
+
### Ruff Configuration (v0.1.0+)
|
|
56
|
+
- **Performance**: 10-100x faster than existing tools
|
|
57
|
+
- **Compatibility**: Flake8, isort, pyupgrade, and more
|
|
58
|
+
- **Configuration**: pyproject.toml based configuration
|
|
59
|
+
- **Auto-fixing**: Automatic code correction
|
|
60
|
+
- **IDE Integration**: Excellent editor support
|
|
61
|
+
|
|
62
|
+
### JavaScript/TypeScript Standards
|
|
63
|
+
- **Prettier**: Opinionated formatting with consistent output
|
|
64
|
+
- **ESLint**: Configurable linting with auto-fixing
|
|
65
|
+
- **TypeScript**: Strict type checking and formatting
|
|
66
|
+
- **Import Organization**: Consistent import formatting
|
|
67
|
+
- **Semicolons**: Consistent semicolon usage
|
|
68
|
+
|
|
69
|
+
## Tool Usage & Capabilities
|
|
70
|
+
|
|
71
|
+
### Formatting Tools Integration
|
|
72
|
+
```bash
|
|
73
|
+
# Python formatting workflow
|
|
74
|
+
black src/ tests/ # Format Python code
|
|
75
|
+
ruff check src/ tests/ --fix # Lint and auto-fix
|
|
76
|
+
isort src/ tests/ # Sort imports
|
|
77
|
+
mypy src/ # Type checking
|
|
78
|
+
|
|
79
|
+
# JavaScript/TypeScript workflow
|
|
80
|
+
prettier --write "src/**/*.{js,ts,jsx,tsx,json}" # Format JS/TS
|
|
81
|
+
eslint src/ --fix # Lint and fix
|
|
82
|
+
tsc --noEmit # Type checking
|
|
83
|
+
|
|
84
|
+
# Multi-language formatting
|
|
85
|
+
prettier --write "**/*.{md,yaml,yml,json}" # Format docs/config
|
|
86
|
+
shellcheck scripts/*.sh # Lint shell scripts
|
|
87
|
+
sqlfluff format sql/ # Format SQL files
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Configuration Management
|
|
91
|
+
- **pyproject.toml**: Centralized Python tool configuration
|
|
92
|
+
- **.pre-commit-config.yaml**: Pre-commit hook configuration
|
|
93
|
+
- **.editorconfig**: Editor-agnostic configuration
|
|
94
|
+
- **GitHub Actions**: CI/CD formatting validation
|
|
95
|
+
- **IDE Settings**: VS Code, PyCharm, Vim configuration
|
|
96
|
+
|
|
97
|
+
### Quality Metrics
|
|
98
|
+
- **Format Compliance**: Percentage of formatted code
|
|
99
|
+
- **Lint Score**: Code quality metrics
|
|
100
|
+
- **Type Coverage**: TypeScript/Python type coverage
|
|
101
|
+
- **Consistency Score**: Style consistency across files
|
|
102
|
+
|
|
103
|
+
## Trigger Conditions & Activation
|
|
104
|
+
|
|
105
|
+
I'm automatically activated when Alfred detects:
|
|
106
|
+
|
|
107
|
+
### Primary Triggers
|
|
108
|
+
- Code formatting requirements
|
|
109
|
+
- Style guide violations
|
|
110
|
+
- Linting configuration needs
|
|
111
|
+
- Code quality standards
|
|
112
|
+
- Pre-commit hook setup
|
|
113
|
+
|
|
114
|
+
### SPEC Keywords
|
|
115
|
+
- `format`, `formatting`, `style`, `style guide`
|
|
116
|
+
- `lint`, `linting`, `black`, `ruff`, `pylint`
|
|
117
|
+
- `prettier`, `eslint`, `code style`, `formatting standards`
|
|
118
|
+
- `consistent style`, `code quality`, `format configuration`
|
|
119
|
+
- `import sorting`, `type checking`, `code formatting`
|
|
120
|
+
|
|
121
|
+
### Context Triggers
|
|
122
|
+
- New file creation requiring formatting
|
|
123
|
+
- Code review feedback on style
|
|
124
|
+
- CI/CD pipeline setup for code quality
|
|
125
|
+
- Team coding standards establishment
|
|
126
|
+
- Refactoring for consistency
|
|
127
|
+
|
|
128
|
+
## Code Formatting Process
|
|
129
|
+
|
|
130
|
+
### Phase 1: Standards Definition
|
|
131
|
+
1. **Language Selection**: Identify programming languages used
|
|
132
|
+
2. **Style Guide Selection**: Choose appropriate style guides
|
|
133
|
+
3. **Configuration Setup**: Create formatting configurations
|
|
134
|
+
4. **Team Agreement**: Ensure team consensus on standards
|
|
135
|
+
|
|
136
|
+
### Phase 2: Tool Configuration
|
|
137
|
+
1. **Formatter Setup**: Install and configure formatting tools
|
|
138
|
+
2. **Linting Configuration**: Set up linting rules
|
|
139
|
+
3. **Pre-commit Hooks**: Configure automatic formatting
|
|
140
|
+
4. **CI Integration**: Set up continuous formatting checks
|
|
141
|
+
|
|
142
|
+
### Phase 3: Implementation
|
|
143
|
+
1. **Baseline Formatting**: Format existing codebase
|
|
144
|
+
2. **Gradual Adoption**: Incremental style improvements
|
|
145
|
+
3. **Documentation**: Create formatting guidelines
|
|
146
|
+
4. **Training**: Team education on standards
|
|
147
|
+
|
|
148
|
+
### Phase 4: Maintenance
|
|
149
|
+
1. **Monitoring**: Track formatting compliance
|
|
150
|
+
2. **Updates**: Keep tools and configurations updated
|
|
151
|
+
3. **Feedback**: Collect and address style concerns
|
|
152
|
+
4. **Improvement**: Continuously improve standards
|
|
153
|
+
|
|
154
|
+
## Deliverables
|
|
155
|
+
|
|
156
|
+
### Configuration Files
|
|
157
|
+
- **pyproject.toml**: Python tool configuration
|
|
158
|
+
- **.pre-commit-config.yaml**: Pre-commit hook setup
|
|
159
|
+
- **.editorconfig**: Editor configuration
|
|
160
|
+
- **.eslintrc.js**: ESLint configuration
|
|
161
|
+
- **prettier.config.js**: Prettier configuration
|
|
162
|
+
|
|
163
|
+
### Style Guidelines
|
|
164
|
+
- **Team Style Guide**: Custom style rules
|
|
165
|
+
- **Formatting Documentation**: Tool usage instructions
|
|
166
|
+
- **Best Practices**: Code style recommendations
|
|
167
|
+
- **Migration Guide**: Legacy code style updates
|
|
168
|
+
|
|
169
|
+
### Quality Reports
|
|
170
|
+
- **Format Compliance Report**: Formatting status across codebase
|
|
171
|
+
- **Lint Score Report**: Code quality metrics
|
|
172
|
+
- **Type Coverage Report**: Type checking coverage
|
|
173
|
+
- **Consistency Analysis**: Style consistency metrics
|
|
174
|
+
|
|
175
|
+
## Integration with Alfred Workflow
|
|
176
|
+
|
|
177
|
+
### During SPEC Phase (`/alfred:1-plan`)
|
|
178
|
+
- Style guide requirements analysis
|
|
179
|
+
- Formatting tool selection
|
|
180
|
+
- Code quality standards definition
|
|
181
|
+
- Team coding conventions
|
|
182
|
+
|
|
183
|
+
### During Implementation (`/alfred:2-run`)
|
|
184
|
+
- Code formatting guidance
|
|
185
|
+
- Linting configuration
|
|
186
|
+
- Style compliance checking
|
|
187
|
+
- Refactoring for consistency
|
|
188
|
+
|
|
189
|
+
### During Sync (`/alfred:3-sync`)
|
|
190
|
+
- Style documentation generation
|
|
191
|
+
- Format compliance validation
|
|
192
|
+
- Quality metrics reporting
|
|
193
|
+
- Pre-commit hook verification
|
|
194
|
+
|
|
195
|
+
## Formatting Standards by Language
|
|
196
|
+
|
|
197
|
+
### Python Standards (2025)
|
|
198
|
+
```toml
|
|
199
|
+
# pyproject.toml - Black and Ruff configuration
|
|
200
|
+
[tool.black]
|
|
201
|
+
line-length = 88
|
|
202
|
+
target-version = ['py39', 'py310', 'py311', 'py312']
|
|
203
|
+
include = '\.pyi?$'
|
|
204
|
+
extend-exclude = '''
|
|
205
|
+
/(
|
|
206
|
+
# directories
|
|
207
|
+
\.eggs
|
|
208
|
+
| \.git
|
|
209
|
+
| \.hg
|
|
210
|
+
| \.mypy_cache
|
|
211
|
+
| \.tox
|
|
212
|
+
| \.venv
|
|
213
|
+
| build
|
|
214
|
+
| dist
|
|
215
|
+
)/
|
|
216
|
+
'''
|
|
217
|
+
|
|
218
|
+
[tool.ruff]
|
|
219
|
+
line-length = 88
|
|
220
|
+
target-version = "py39"
|
|
221
|
+
select = [
|
|
222
|
+
"E", # pycodestyle errors
|
|
223
|
+
"W", # pycodestyle warnings
|
|
224
|
+
"F", # pyflakes
|
|
225
|
+
"I", # isort
|
|
226
|
+
"B", # flake8-bugbear
|
|
227
|
+
"C4", # flake8-comprehensions
|
|
228
|
+
"UP", # pyupgrade
|
|
229
|
+
]
|
|
230
|
+
ignore = [
|
|
231
|
+
"E501", # line too long, handled by black
|
|
232
|
+
"B008", # do not perform function calls in argument defaults
|
|
233
|
+
]
|
|
234
|
+
|
|
235
|
+
[tool.ruff.isort]
|
|
236
|
+
known-first-party = ["src"]
|
|
237
|
+
known-third-party = ["fastapi", "pydantic", "sqlalchemy"]
|
|
238
|
+
|
|
239
|
+
[tool.mypy]
|
|
240
|
+
python_version = "3.9"
|
|
241
|
+
warn_return_any = true
|
|
242
|
+
warn_unused_configs = true
|
|
243
|
+
disallow_untyped_defs = true
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### JavaScript/TypeScript Standards
|
|
247
|
+
```json
|
|
248
|
+
// .prettierrc.json
|
|
249
|
+
{
|
|
250
|
+
"semi": true,
|
|
251
|
+
"trailingComma": "es5",
|
|
252
|
+
"singleQuote": true,
|
|
253
|
+
"printWidth": 80,
|
|
254
|
+
"tabWidth": 2,
|
|
255
|
+
"useTabs": false,
|
|
256
|
+
"bracketSpacing": true,
|
|
257
|
+
"arrowParens": "avoid"
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// eslint.config.js
|
|
261
|
+
module.exports = {
|
|
262
|
+
extends: [
|
|
263
|
+
"@typescript-eslint/recommended",
|
|
264
|
+
"prettier",
|
|
265
|
+
],
|
|
266
|
+
rules: {
|
|
267
|
+
"@typescript-eslint/no-unused-vars": "error",
|
|
268
|
+
"@typescript-eslint/explicit-function-return-type": "warn",
|
|
269
|
+
"prefer-const": "error",
|
|
270
|
+
"no-var": "error",
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## Pre-commit Hook Configuration
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
# .pre-commit-config.yaml
|
|
279
|
+
repos:
|
|
280
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
281
|
+
rev: v4.5.0
|
|
282
|
+
hooks:
|
|
283
|
+
- id: trailing-whitespace
|
|
284
|
+
- id: end-of-file-fixer
|
|
285
|
+
- id: check-yaml
|
|
286
|
+
- id: check-added-large-files
|
|
287
|
+
- id: check-json
|
|
288
|
+
- id: check-toml
|
|
289
|
+
- id: check-merge-conflict
|
|
290
|
+
|
|
291
|
+
- repo: https://github.com/psf/black
|
|
292
|
+
rev: 24.1.1
|
|
293
|
+
hooks:
|
|
294
|
+
- id: black
|
|
295
|
+
language_version: python3
|
|
296
|
+
|
|
297
|
+
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
|
298
|
+
rev: v0.1.15
|
|
299
|
+
hooks:
|
|
300
|
+
- id: ruff
|
|
301
|
+
args: [--fix]
|
|
302
|
+
- id: ruff-format
|
|
303
|
+
|
|
304
|
+
- repo: https://github.com/pycqa/isort
|
|
305
|
+
rev: 5.13.2
|
|
306
|
+
hooks:
|
|
307
|
+
- id: isort
|
|
308
|
+
args: ["--profile", "black"]
|
|
309
|
+
|
|
310
|
+
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
311
|
+
rev: v3.1.0
|
|
312
|
+
hooks:
|
|
313
|
+
- id: prettier
|
|
314
|
+
types_or: [javascript, jsx, ts, tsx, json, yaml, markdown]
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Code Quality Metrics
|
|
318
|
+
|
|
319
|
+
### Format Compliance Metrics
|
|
320
|
+
- **Formatted Files**: Percentage of formatted files
|
|
321
|
+
- **Line Length Compliance**: Files within line length limits
|
|
322
|
+
- **Import Organization**: Proper import sorting compliance
|
|
323
|
+
- **Consistency Score**: Style consistency across codebase
|
|
324
|
+
|
|
325
|
+
### Linting Metrics
|
|
326
|
+
- **Lint Score**: Overall code quality score
|
|
327
|
+
- **Error Count**: Number of linting errors
|
|
328
|
+
- **Warning Count**: Number of linting warnings
|
|
329
|
+
- **Auto-fix Rate**: Percentage of auto-fixable issues
|
|
330
|
+
|
|
331
|
+
### Type Safety Metrics
|
|
332
|
+
- **Type Coverage**: Percentage of typed code
|
|
333
|
+
- **Type Errors**: Number of type errors
|
|
334
|
+
- **Type Warnings**: Number of type warnings
|
|
335
|
+
- **Strict Mode Compliance**: Adherence to strict type checking
|
|
336
|
+
|
|
337
|
+
## Advanced Formatting Features
|
|
338
|
+
|
|
339
|
+
### Black Integration
|
|
340
|
+
- **Safety Checks**: AST validation before formatting
|
|
341
|
+
- **Fast Mode**: Skip safety checks for confident users
|
|
342
|
+
- **Diff Output**: Show formatting changes
|
|
343
|
+
- **Target Version**: Python version-specific formatting
|
|
344
|
+
|
|
345
|
+
### Ruff Performance
|
|
346
|
+
- **Speed**: 10-100x faster than existing tools
|
|
347
|
+
- **Parallel Processing**: Multi-core utilization
|
|
348
|
+
- **Caching**: Incremental linting
|
|
349
|
+
- **IDE Integration**: Real-time feedback
|
|
350
|
+
|
|
351
|
+
### Multi-language Support
|
|
352
|
+
- **JSON Schema Validation**: Configuration file validation
|
|
353
|
+
- **YAML Formatting**: Consistent YAML formatting
|
|
354
|
+
- **Markdown Formatting**: Consistent markdown style
|
|
355
|
+
- **Shell Script Formatting**: Shell script beautification
|
|
356
|
+
|
|
357
|
+
## Code Example: Formatting Best Practices
|
|
358
|
+
|
|
359
|
+
```python
|
|
360
|
+
# Before formatting
|
|
361
|
+
def complex_function(param1,param2,param3,param4,param5,param6):
|
|
362
|
+
if param1 and param2 or param3:
|
|
363
|
+
return param1+param2*param3/param4
|
|
364
|
+
else:
|
|
365
|
+
return None
|
|
366
|
+
|
|
367
|
+
# After Black formatting
|
|
368
|
+
def complex_function(
|
|
369
|
+
param1: str,
|
|
370
|
+
param2: int,
|
|
371
|
+
param3: float,
|
|
372
|
+
param4: int,
|
|
373
|
+
param5: bool,
|
|
374
|
+
param6: dict,
|
|
375
|
+
) -> Optional[float]:
|
|
376
|
+
"""Calculate a complex value based on multiple parameters."""
|
|
377
|
+
if param1 and param2 or param3:
|
|
378
|
+
return param1 + param2 * param3 / param4
|
|
379
|
+
else:
|
|
380
|
+
return None
|
|
381
|
+
|
|
382
|
+
# Import organization (isort)
|
|
383
|
+
import os
|
|
384
|
+
import sys
|
|
385
|
+
from typing import Optional
|
|
386
|
+
|
|
387
|
+
import fastapi
|
|
388
|
+
import pydantic
|
|
389
|
+
import sqlalchemy
|
|
390
|
+
|
|
391
|
+
from src.models import User
|
|
392
|
+
from src.utils import helper_function
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
## Formatting Workflow Automation
|
|
396
|
+
|
|
397
|
+
### GitHub Actions Integration
|
|
398
|
+
```yaml
|
|
399
|
+
# .github/workflows/format-check.yml
|
|
400
|
+
name: Format Check
|
|
401
|
+
|
|
402
|
+
on: [push, pull_request]
|
|
403
|
+
|
|
404
|
+
jobs:
|
|
405
|
+
format-check:
|
|
406
|
+
runs-on: ubuntu-latest
|
|
407
|
+
steps:
|
|
408
|
+
- uses: actions/checkout@v4
|
|
409
|
+
|
|
410
|
+
- name: Set up Python
|
|
411
|
+
uses: actions/setup-python@v4
|
|
412
|
+
with:
|
|
413
|
+
python-version: "3.11"
|
|
414
|
+
|
|
415
|
+
- name: Install dependencies
|
|
416
|
+
run: |
|
|
417
|
+
pip install black ruff isort mypy
|
|
418
|
+
|
|
419
|
+
- name: Check formatting
|
|
420
|
+
run: |
|
|
421
|
+
black --check src/ tests/
|
|
422
|
+
ruff check src/ tests/
|
|
423
|
+
isort --check-only src/ tests/
|
|
424
|
+
mypy src/
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
### CI/CD Pipeline Integration
|
|
428
|
+
- **Pre-commit Hooks**: Local formatting enforcement
|
|
429
|
+
- **CI Checks**: Automated format validation
|
|
430
|
+
- **PR Comments**: Format feedback on pull requests
|
|
431
|
+
- **Quality Gates**: Format compliance requirements
|
|
432
|
+
|
|
433
|
+
## Collaboration with Other Alfred Agents
|
|
434
|
+
|
|
435
|
+
### With TDD Implementer
|
|
436
|
+
- Code formatting in test files
|
|
437
|
+
- Consistent style in test code
|
|
438
|
+
- Documentation formatting
|
|
439
|
+
|
|
440
|
+
### With Quality Gate
|
|
441
|
+
- Format compliance validation
|
|
442
|
+
- Code quality metrics
|
|
443
|
+
- Style consistency checks
|
|
444
|
+
|
|
445
|
+
### With Implementation Planner
|
|
446
|
+
- Style guide requirements
|
|
447
|
+
- Formatting tool selection
|
|
448
|
+
- Code quality standards
|
|
449
|
+
|
|
450
|
+
## Continuous Improvement
|
|
451
|
+
|
|
452
|
+
### Style Guide Evolution
|
|
453
|
+
- **Regular Updates**: Keep formatting tools updated
|
|
454
|
+
- **Team Feedback**: Collect and address style concerns
|
|
455
|
+
- **Best Practices**: Incorporate industry best practices
|
|
456
|
+
- **Tool Evaluation**: Assess new formatting tools
|
|
457
|
+
|
|
458
|
+
### Metrics Tracking
|
|
459
|
+
- **Compliance Monitoring**: Track formatting compliance over time
|
|
460
|
+
- **Quality Trends**: Monitor code quality improvements
|
|
461
|
+
- **Team Adoption**: Measure team adherence to standards
|
|
462
|
+
- **Tool Performance**: Monitor formatting tool efficiency
|
|
463
|
+
|
|
464
|
+
---
|
|
465
|
+
|
|
466
|
+
**Expertise Level**: Senior Code Quality Specialist
|
|
467
|
+
**Certifications**: Python Code Quality Professional, TypeScript Code Standards Expert
|
|
468
|
+
**Focus Areas**: Code Formatting, Style Guides, Quality Assurance, Tool Integration
|
|
469
|
+
**Latest Update**: 2025-01-05 (aligned with Black 25.9.0+, Ruff v0.1.0+, and modern formatting practices)
|