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,552 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-streaming-ui
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
created: 2025-11-05
|
|
5
|
+
updated: 2025-11-05
|
|
6
|
+
status: active
|
|
7
|
+
description: Enhanced streaming UI system with progress indicators, status displays, and interactive feedback mechanisms. Use when running long-running operations, displaying progress, providing user feedback, or when visual indicators enhance user experience during complex workflows.
|
|
8
|
+
keywords: [streaming-ui, progress-indicators, user-feedback, interactive-display, status-updates, visual-feedback]
|
|
9
|
+
allowed-tools:
|
|
10
|
+
- Bash
|
|
11
|
+
- Read
|
|
12
|
+
- Write
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Enhanced Streaming UI System
|
|
16
|
+
|
|
17
|
+
## Skill Metadata
|
|
18
|
+
|
|
19
|
+
| Field | Value |
|
|
20
|
+
| ----- | ----- |
|
|
21
|
+
| Version | 1.0.0 |
|
|
22
|
+
| Tier | Alfred (User Experience) |
|
|
23
|
+
| Auto-load | During long-running operations |
|
|
24
|
+
| Purpose | Enhanced visual feedback and progress indication |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## What It Does
|
|
29
|
+
|
|
30
|
+
Advanced streaming UI system that provides rich visual feedback, progress indicators, and interactive status displays during complex operations. Enhances user experience by making long-running processes transparent and engaging.
|
|
31
|
+
|
|
32
|
+
**Core capabilities**:
|
|
33
|
+
- ✅ Multi-style progress indicators (bars, spinners, percentages)
|
|
34
|
+
- ✅ Real-time status updates and progress tracking
|
|
35
|
+
- ✅ Interactive user feedback mechanisms
|
|
36
|
+
- ✅ Color-coded severity levels and alerts
|
|
37
|
+
- ✅ Step-by-step workflow visualization
|
|
38
|
+
- ✅ Performance metrics and timing information
|
|
39
|
+
- ✅ Error state handling and recovery guidance
|
|
40
|
+
- ✅ Completion summaries and next step suggestions
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## When to Use
|
|
45
|
+
|
|
46
|
+
- ✅ During long-running operations (>5 seconds)
|
|
47
|
+
- ✅ When executing multi-step workflows
|
|
48
|
+
- ✅ During file operations or API calls
|
|
49
|
+
- ✅ When user needs progress feedback
|
|
50
|
+
- ✅ During background processing tasks
|
|
51
|
+
- ✅ When running tests or builds
|
|
52
|
+
- ✅ During complex Alfred command executions
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## UI Components Library
|
|
57
|
+
|
|
58
|
+
### 1. Progress Indicators
|
|
59
|
+
|
|
60
|
+
#### Progress Bars
|
|
61
|
+
```python
|
|
62
|
+
# Basic progress bar
|
|
63
|
+
progress_bar(65, 100, "Installing dependencies")
|
|
64
|
+
# Output: [████████████████████ ] 65%
|
|
65
|
+
|
|
66
|
+
# Animated progress bar
|
|
67
|
+
animated_progress(current_step, total_steps, steps)
|
|
68
|
+
# Output: Step 3/5: [⚙️] Configuring database...
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### Spinners
|
|
72
|
+
```python
|
|
73
|
+
# Basic spinner
|
|
74
|
+
spinner("Processing files", "dots")
|
|
75
|
+
# Output: Processing files...
|
|
76
|
+
|
|
77
|
+
# Custom spinner
|
|
78
|
+
spinner("Downloading", "arrow")
|
|
79
|
+
# Output: Downloading ↗
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
#### Percentage Display
|
|
83
|
+
```python
|
|
84
|
+
# Percentage with context
|
|
85
|
+
percentage_with_context(45, "Code compilation")
|
|
86
|
+
# Output: 📊 Code compilation: 45% complete
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 2. Status Indicators
|
|
90
|
+
|
|
91
|
+
#### Success States
|
|
92
|
+
```python
|
|
93
|
+
success_indicator("Build completed successfully")
|
|
94
|
+
# Output: ✅ Build completed successfully
|
|
95
|
+
|
|
96
|
+
success_with_details("Tests passed", "127/128 tests passed")
|
|
97
|
+
# Output: ✅ Tests passed (127/128)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### Warning States
|
|
101
|
+
```python
|
|
102
|
+
warning_indicator("Memory usage high")
|
|
103
|
+
# Output: ⚠️ Memory usage high: 85% used
|
|
104
|
+
|
|
105
|
+
warning_with_action("Disk space low", "Clear cache files")
|
|
106
|
+
# Output: ⚠️ Disk space low → Action: Clear cache files
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### Error States
|
|
110
|
+
```python
|
|
111
|
+
error_indicator("Connection failed")
|
|
112
|
+
# Output: ❌ Connection failed
|
|
113
|
+
|
|
114
|
+
error_with_recovery("API timeout", "Retry with exponential backoff")
|
|
115
|
+
# Output: ❌ API timeout → Recovery: Retry with exponential backoff
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### 3. Interactive Elements
|
|
119
|
+
|
|
120
|
+
#### User Prompts
|
|
121
|
+
```python
|
|
122
|
+
user_prompt("Continue with deployment?", ["yes", "no", "cancel"])
|
|
123
|
+
# Output: ❓ Continue with deployment? [Y]es [N]o [C]ancel
|
|
124
|
+
|
|
125
|
+
user_prompt_with_default("Choose environment", ["dev", "staging", "prod"], "staging")
|
|
126
|
+
# Output: 🌍 Choose environment [D]ev [S]taging [P]rod (default: staging)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### Confirmation Required
|
|
130
|
+
```python
|
|
131
|
+
confirmation_required("Delete 15 files?")
|
|
132
|
+
# Output: ⚠️ Confirmation required: Delete 15 files? [y/N]
|
|
133
|
+
|
|
134
|
+
confirmation_with_details("Merge branch", "main → feature/auth")
|
|
135
|
+
# Output: 🔄 Confirm merge: main → feature/auth? [y/N]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 4. Workflow Visualization
|
|
139
|
+
|
|
140
|
+
#### Step Indicators
|
|
141
|
+
```python
|
|
142
|
+
workflow_steps([
|
|
143
|
+
("✅", "Setup completed"),
|
|
144
|
+
("🔄", "Running tests..."),
|
|
145
|
+
("⏸️", "Build pending"),
|
|
146
|
+
("⏸️", "Deploy pending")
|
|
147
|
+
])
|
|
148
|
+
# Output:
|
|
149
|
+
# Step 1: ✅ Setup completed
|
|
150
|
+
# Step 2: 🔄 Running tests...
|
|
151
|
+
# Step 3: ⏸️ Build pending
|
|
152
|
+
# Step 4: ⏸️ Deploy pending
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
#### Phase Indicators
|
|
156
|
+
```python
|
|
157
|
+
phase_indicator("Phase 2/4: Implementation", 25)
|
|
158
|
+
# Output: 🎯 Phase 2/4: Implementation [█████ ] 25%
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Integration Patterns
|
|
164
|
+
|
|
165
|
+
### 1. Alfred Command Integration
|
|
166
|
+
```python
|
|
167
|
+
# In /alfred:2-run implementation
|
|
168
|
+
def run_spec_implementation(spec_id):
|
|
169
|
+
# Start progress tracking
|
|
170
|
+
Skill("moai-streaming-ui")
|
|
171
|
+
# → Display: 🚀 Starting SPEC-AUTH-001 implementation...
|
|
172
|
+
|
|
173
|
+
for step in implementation_steps:
|
|
174
|
+
# Show current step
|
|
175
|
+
show_step_progress(step)
|
|
176
|
+
# → Display: 🔄 Step 2/5: Writing tests...
|
|
177
|
+
|
|
178
|
+
# Execute step
|
|
179
|
+
result = execute_step(step)
|
|
180
|
+
|
|
181
|
+
# Update status
|
|
182
|
+
if result.success:
|
|
183
|
+
success_step(step)
|
|
184
|
+
# → Display: ✅ Step 2 completed: Tests written
|
|
185
|
+
else:
|
|
186
|
+
error_step(step, result.error)
|
|
187
|
+
# → Display: ❌ Step 2 failed: Test syntax error
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 2. Long-Running Operation Wrapper
|
|
191
|
+
```python
|
|
192
|
+
def with_progress_indicator(operation, description):
|
|
193
|
+
"""Wrap any operation with progress UI"""
|
|
194
|
+
Skill("moai-streaming-ui")
|
|
195
|
+
|
|
196
|
+
# Start indicator
|
|
197
|
+
start_progress(description)
|
|
198
|
+
|
|
199
|
+
try:
|
|
200
|
+
result = operation()
|
|
201
|
+
|
|
202
|
+
# Success completion
|
|
203
|
+
complete_progress(description, success=True)
|
|
204
|
+
return result
|
|
205
|
+
|
|
206
|
+
except Exception as e:
|
|
207
|
+
# Error completion
|
|
208
|
+
complete_progress(description, success=False, error=str(e))
|
|
209
|
+
raise
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 3. Background Task Monitoring
|
|
213
|
+
```python
|
|
214
|
+
def monitor_background_task(task_id):
|
|
215
|
+
"""Monitor and display background task progress"""
|
|
216
|
+
while not task_complete(task_id):
|
|
217
|
+
progress = get_task_progress(task_id)
|
|
218
|
+
|
|
219
|
+
Skill("moai-streaming-ui")
|
|
220
|
+
show_progress(progress.percentage, progress.current_step)
|
|
221
|
+
|
|
222
|
+
sleep(1) # Update every second
|
|
223
|
+
|
|
224
|
+
# Final status
|
|
225
|
+
Skill("moai-streaming-ui")
|
|
226
|
+
show_completion(task_result)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Progress Tracking Systems
|
|
232
|
+
|
|
233
|
+
### 1. Multi-Step Workflows
|
|
234
|
+
```python
|
|
235
|
+
class WorkflowProgress:
|
|
236
|
+
def __init__(self, steps):
|
|
237
|
+
self.steps = steps
|
|
238
|
+
self.current = 0
|
|
239
|
+
|
|
240
|
+
def start(self):
|
|
241
|
+
Skill("moai-streaming-ui")
|
|
242
|
+
show_workflow_start(self.steps)
|
|
243
|
+
|
|
244
|
+
def next_step(self):
|
|
245
|
+
self.current += 1
|
|
246
|
+
Skill("moai-streaming-ui")
|
|
247
|
+
show_current_step(self.current, self.steps[self.current])
|
|
248
|
+
|
|
249
|
+
def complete(self):
|
|
250
|
+
Skill("moai-streaming-ui")
|
|
251
|
+
show_workflow_complete()
|
|
252
|
+
|
|
253
|
+
# Usage
|
|
254
|
+
workflow = WorkflowProgress([
|
|
255
|
+
"Analyze requirements",
|
|
256
|
+
"Write tests",
|
|
257
|
+
"Implement code",
|
|
258
|
+
"Run validation",
|
|
259
|
+
"Generate documentation"
|
|
260
|
+
])
|
|
261
|
+
|
|
262
|
+
workflow.start()
|
|
263
|
+
# → 🎯 Starting workflow: 5 steps planned
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### 2. File Operations Progress
|
|
267
|
+
```python
|
|
268
|
+
def track_file_operation(files, operation):
|
|
269
|
+
"""Track progress for file operations"""
|
|
270
|
+
total = len(files)
|
|
271
|
+
|
|
272
|
+
for i, file_path in enumerate(files):
|
|
273
|
+
current_progress = (i + 1) / total * 100
|
|
274
|
+
|
|
275
|
+
Skill("moai-streaming-ui")
|
|
276
|
+
show_file_progress(operation, file_path, current_progress, i + 1, total)
|
|
277
|
+
|
|
278
|
+
# Perform operation
|
|
279
|
+
perform_operation(file_path)
|
|
280
|
+
|
|
281
|
+
# Completion
|
|
282
|
+
Skill("moai-streaming-ui")
|
|
283
|
+
show_operation_complete(operation, total)
|
|
284
|
+
|
|
285
|
+
# Usage
|
|
286
|
+
track_file_operation(source_files, "Copying files")
|
|
287
|
+
# → 📁 Copying files: file.py (45/100) [███████████████ ] 45%
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### 3. API/Network Operations
|
|
291
|
+
```python
|
|
292
|
+
def track_api_requests(requests):
|
|
293
|
+
"""Track progress for multiple API requests"""
|
|
294
|
+
completed = 0
|
|
295
|
+
total = len(requests)
|
|
296
|
+
|
|
297
|
+
for request in requests:
|
|
298
|
+
Skill("moai-streaming-ui")
|
|
299
|
+
show_api_progress("Making API request", completed + 1, total)
|
|
300
|
+
|
|
301
|
+
try:
|
|
302
|
+
response = make_request(request)
|
|
303
|
+
completed += 1
|
|
304
|
+
|
|
305
|
+
Skill("moai-streaming-ui")
|
|
306
|
+
show_api_success(completed, total)
|
|
307
|
+
|
|
308
|
+
except Exception as e:
|
|
309
|
+
Skill("moai-streaming-ui")
|
|
310
|
+
show_api_error(str(e), completed + 1, total)
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Status Display Templates
|
|
316
|
+
|
|
317
|
+
### 1. Operation Start
|
|
318
|
+
```python
|
|
319
|
+
def show_operation_start(operation, details=None):
|
|
320
|
+
"""Display operation start message"""
|
|
321
|
+
lines = [f"🚀 {operation}"]
|
|
322
|
+
|
|
323
|
+
if details:
|
|
324
|
+
lines.append(f"📋 {details}")
|
|
325
|
+
|
|
326
|
+
lines.append("⏱️ Started at " + datetime.now().strftime("%H:%M:%S"))
|
|
327
|
+
|
|
328
|
+
Skill("moai-streaming-ui")
|
|
329
|
+
display_message("\n".join(lines))
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### 2. Progress Update
|
|
333
|
+
```python
|
|
334
|
+
def show_progress_update(operation, progress, current_item=None):
|
|
335
|
+
"""Display progress update"""
|
|
336
|
+
percentage = progress.percentage
|
|
337
|
+
bar = create_progress_bar(percentage)
|
|
338
|
+
|
|
339
|
+
lines = [
|
|
340
|
+
f"🔄 {operation}",
|
|
341
|
+
f"📊 {bar} {percentage:.1f}%",
|
|
342
|
+
]
|
|
343
|
+
|
|
344
|
+
if current_item:
|
|
345
|
+
lines.append(f"📁 Current: {current_item}")
|
|
346
|
+
|
|
347
|
+
if progress.eta:
|
|
348
|
+
lines.append(f"⏱️ ETA: {progress.eta}")
|
|
349
|
+
|
|
350
|
+
Skill("moai-streaming-ui")
|
|
351
|
+
display_message("\n".join(lines))
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### 3. Operation Completion
|
|
355
|
+
```python
|
|
356
|
+
def show_operation_complete(operation, result, duration=None):
|
|
357
|
+
"""Display operation completion"""
|
|
358
|
+
if result.success:
|
|
359
|
+
lines = [
|
|
360
|
+
f"✅ {operation} completed successfully"
|
|
361
|
+
]
|
|
362
|
+
|
|
363
|
+
if result.summary:
|
|
364
|
+
lines.append(f"📊 {result.summary}")
|
|
365
|
+
|
|
366
|
+
else:
|
|
367
|
+
lines = [
|
|
368
|
+
f"❌ {operation} failed"
|
|
369
|
+
]
|
|
370
|
+
|
|
371
|
+
if result.error:
|
|
372
|
+
lines.append(f"🔴 Error: {result.error}")
|
|
373
|
+
|
|
374
|
+
if duration:
|
|
375
|
+
lines.append(f"⏱️ Duration: {duration}")
|
|
376
|
+
|
|
377
|
+
lines.append(f"🏁 Finished at " + datetime.now().strftime("%H:%M:%S"))
|
|
378
|
+
|
|
379
|
+
Skill("moai-streaming-ui")
|
|
380
|
+
display_message("\n".join(lines))
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Error Handling and Recovery
|
|
386
|
+
|
|
387
|
+
### 1. Retry Mechanisms
|
|
388
|
+
```python
|
|
389
|
+
def show_retry_attempt(operation, attempt, max_attempts):
|
|
390
|
+
"""Display retry attempt information"""
|
|
391
|
+
Skill("moai-streaming-ui")
|
|
392
|
+
|
|
393
|
+
message = f"🔄 {operation} - Retry {attempt}/{max_attempts}"
|
|
394
|
+
if attempt > 1:
|
|
395
|
+
message += f" (previous attempts failed)"
|
|
396
|
+
|
|
397
|
+
display_message(message)
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### 2. Error Recovery Options
|
|
401
|
+
```python
|
|
402
|
+
def show_recovery_options(error, options):
|
|
403
|
+
"""Display error recovery options to user"""
|
|
404
|
+
Skill("moai-streaming-ui")
|
|
405
|
+
|
|
406
|
+
lines = [
|
|
407
|
+
f"❌ Error: {error}",
|
|
408
|
+
"🔧 Recovery options:"
|
|
409
|
+
]
|
|
410
|
+
|
|
411
|
+
for i, option in enumerate(options, 1):
|
|
412
|
+
lines.append(f" {i}. {option}")
|
|
413
|
+
|
|
414
|
+
lines.append("❓ Choose recovery option [1-{}]".format(len(options)))
|
|
415
|
+
|
|
416
|
+
display_message("\n".join(lines))
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### 3. Graceful Degradation
|
|
420
|
+
```python
|
|
421
|
+
def show_fallback_behavior(operation, fallback_reason):
|
|
422
|
+
"""Display fallback behavior information"""
|
|
423
|
+
Skill("moai-streaming-ui")
|
|
424
|
+
|
|
425
|
+
message = f"⚠️ {operation} - Using fallback: {fallback_reason}"
|
|
426
|
+
display_message(message)
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## Performance Considerations
|
|
432
|
+
|
|
433
|
+
### 1. Update Frequency
|
|
434
|
+
```python
|
|
435
|
+
# Don't update too frequently (avoid spam)
|
|
436
|
+
MIN_UPDATE_INTERVAL = 0.5 # 500ms minimum
|
|
437
|
+
|
|
438
|
+
# Throttle updates
|
|
439
|
+
if time_since_last_update() < MIN_UPDATE_INTERVAL:
|
|
440
|
+
return # Skip this update
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### 2. Memory Efficiency
|
|
444
|
+
```python
|
|
445
|
+
# Reuse UI elements
|
|
446
|
+
progress_bar_template = "[{█}{ }{ }]"
|
|
447
|
+
status_cache = {}
|
|
448
|
+
|
|
449
|
+
# Limit displayed items
|
|
450
|
+
MAX_DISPLAY_ITEMS = 50
|
|
451
|
+
if len(items) > MAX_DISPLAY_ITEMS:
|
|
452
|
+
items = items[:MAX_DISPLAY_ITEMS] + [f"... and {len(items) - MAX_DISPLAY_ITEMS} more"]
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### 3. Async Updates
|
|
456
|
+
```python
|
|
457
|
+
# Non-blocking UI updates
|
|
458
|
+
async def update_progress_async(progress):
|
|
459
|
+
"""Update UI without blocking operation"""
|
|
460
|
+
Skill("moai-streaming-ui")
|
|
461
|
+
show_progress(progress)
|
|
462
|
+
await asyncio.sleep(0) # Yield control
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## Usage Examples
|
|
468
|
+
|
|
469
|
+
### Example 1: Test Execution
|
|
470
|
+
```python
|
|
471
|
+
def run_tests_with_progress():
|
|
472
|
+
"""Run tests with progress indication"""
|
|
473
|
+
Skill("moai-streaming-ui")
|
|
474
|
+
show_operation_start("Running test suite", "128 tests found")
|
|
475
|
+
|
|
476
|
+
tests = get_all_tests()
|
|
477
|
+
passed = 0
|
|
478
|
+
failed = 0
|
|
479
|
+
|
|
480
|
+
for i, test in enumerate(tests):
|
|
481
|
+
progress = (i + 1) / len(tests) * 100
|
|
482
|
+
|
|
483
|
+
Skill("moai-streaming-ui")
|
|
484
|
+
show_progress_update("Running tests", progress, test.name)
|
|
485
|
+
|
|
486
|
+
result = run_single_test(test)
|
|
487
|
+
|
|
488
|
+
if result.passed:
|
|
489
|
+
passed += 1
|
|
490
|
+
else:
|
|
491
|
+
failed += 1
|
|
492
|
+
Skill("moai-streaming-ui")
|
|
493
|
+
show_test_failure(test.name, result.error)
|
|
494
|
+
|
|
495
|
+
# Final summary
|
|
496
|
+
Skill("moai-streaming-ui")
|
|
497
|
+
show_operation_complete("Test suite", TestResult(passed, failed))
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
### Example 2: File Processing
|
|
501
|
+
```python
|
|
502
|
+
def process_files_with_progress(files, operation):
|
|
503
|
+
"""Process files with progress tracking"""
|
|
504
|
+
Skill("moai-streaming-ui")
|
|
505
|
+
show_operation_start(operation, f"{len(files)} files to process")
|
|
506
|
+
|
|
507
|
+
for i, file_path in enumerate(files):
|
|
508
|
+
progress = (i + 1) / len(files) * 100
|
|
509
|
+
|
|
510
|
+
Skill("moai-streaming-ui")
|
|
511
|
+
show_file_progress(operation, file_path.name, progress, i + 1, len(files))
|
|
512
|
+
|
|
513
|
+
try:
|
|
514
|
+
process_file(file_path)
|
|
515
|
+
Skill("moai-streaming-ui")
|
|
516
|
+
show_file_success(file_path.name)
|
|
517
|
+
except Exception as e:
|
|
518
|
+
Skill("moai-streaming-ui")
|
|
519
|
+
show_file_error(file_path.name, str(e))
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
### Example 3: API Workflow
|
|
523
|
+
```python
|
|
524
|
+
def execute_api_workflow_with_progress():
|
|
525
|
+
"""Execute multi-step API workflow with visual feedback"""
|
|
526
|
+
steps = [
|
|
527
|
+
("Authenticate", authenticate_api),
|
|
528
|
+
("Upload data", upload_data),
|
|
529
|
+
("Process results", process_results),
|
|
530
|
+
("Download response", download_response)
|
|
531
|
+
]
|
|
532
|
+
|
|
533
|
+
Skill("moai-streaming-ui")
|
|
534
|
+
show_workflow_start([step[0] for step in steps])
|
|
535
|
+
|
|
536
|
+
for i, (step_name, step_func) in enumerate(steps):
|
|
537
|
+
Skill("moai-streaming-ui")
|
|
538
|
+
show_current_step(i + 1, len(steps), step_name)
|
|
539
|
+
|
|
540
|
+
try:
|
|
541
|
+
result = step_func()
|
|
542
|
+
Skill("moai-streaming-ui")
|
|
543
|
+
show_step_success(step_name)
|
|
544
|
+
except Exception as e:
|
|
545
|
+
Skill("moai-streaming-ui")
|
|
546
|
+
show_step_error(step_name, str(e))
|
|
547
|
+
raise
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
**End of Skill** | Rich visual feedback for enhanced user experience during complex operations
|