moai-adk 0.12.1__tar.gz → 0.13.0__tar.gz
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-0.12.1 → moai_adk-0.13.0}/PKG-INFO +1 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/pyproject.toml +1 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/detector.py +13 -103
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/ci_validator.py +1 -1
- {moai_adk-0.12.1/src/moai_adk/templates → moai_adk-0.13.0}/src/moai_adk/core/tags/pre_commit_validator.py +1 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/validator.py +1 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/commands/alfred/0-project.md +96 -8
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +1 -3
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +1 -3
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +2 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +2 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +2 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +2 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +7 -4
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +1 -3
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +2 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +2 -1
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +1 -1
- moai_adk-0.12.1/src/moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -330
- moai_adk-0.12.1/src/moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
- {moai_adk-0.12.1 → moai_adk-0.13.0}/.gitignore +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/LICENSE +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/README.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/__main__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/commands/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/commands/backup.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/commands/doctor.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/commands/init.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/commands/status.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/commands/update.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/main.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/prompts/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/cli/prompts/init_prompts.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/config/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/config/migration.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/diagnostics/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/diagnostics/slash_commands.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/branch.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/branch_manager.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/checkpoint.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/commit.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/event_detector.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/git/manager.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/issue_creator.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/backup_utils.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/checker.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/initializer.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/phase_executor.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/project/validator.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/quality/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/quality/trust_checker.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/quality/validators/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/quality/validators/base_validator.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/cli.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/generator.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/inserter.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/mapper.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/parser.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/reporter.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/tags/tags.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template/backup.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template/config.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template/languages.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template/merger.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template/processor.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/core/template_engine.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/commands/alfred/2-run.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/settings.json +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.git-hooks/pre-push +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/moai-adk-release.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/moai-adk-spec-issue-sync.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/moai-adk-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/moai-release-create.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.gitignore +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/config.json +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/ISSUE-LABEL-MAPPING.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/memory/spec-metadata.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/project/product.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/project/structure.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.moai/project/tech.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/CLAUDE.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/README.md +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0/src/moai_adk/templates}/src/moai_adk/core/tags/pre_commit_validator.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/src/moai_adk/core/tags/reporter.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/workflows/go-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/workflows/javascript-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/workflows/python-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/workflows/typescript-tag-validation.yml +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/utils/__init__.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/utils/banner.py +0 -0
- {moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/utils/logger.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: moai-adk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent & Complete Skills v2.0
|
|
5
5
|
Project-URL: Homepage, https://github.com/modu-ai/moai-adk
|
|
6
6
|
Project-URL: Repository, https://github.com/modu-ai/moai-adk
|
|
@@ -118,107 +118,6 @@ class LanguageDetector:
|
|
|
118
118
|
|
|
119
119
|
return False
|
|
120
120
|
|
|
121
|
-
# @CODE:LANG-002 | SPEC: SPEC-LANGUAGE-DETECTION-001.md | TEST: tests/unit/test_detector.py
|
|
122
|
-
def detect_package_manager(self, path: str | Path = ".") -> str:
|
|
123
|
-
"""Detect JavaScript/TypeScript package manager.
|
|
124
|
-
|
|
125
|
-
Checks for lock files in priority order (highest to lowest):
|
|
126
|
-
1. bun.lockb (Bun) - fastest runtime
|
|
127
|
-
2. pnpm-lock.yaml (pnpm) - efficient disk usage
|
|
128
|
-
3. yarn.lock (Yarn) - Facebook's package manager
|
|
129
|
-
4. package-lock.json (npm) - default Node.js package manager
|
|
130
|
-
|
|
131
|
-
Priority order reflects modern best practices and performance characteristics.
|
|
132
|
-
|
|
133
|
-
Args:
|
|
134
|
-
path: Project root directory to inspect. Defaults to current directory.
|
|
135
|
-
|
|
136
|
-
Returns:
|
|
137
|
-
Package manager name: 'bun' | 'pnpm' | 'yarn' | 'npm'
|
|
138
|
-
|
|
139
|
-
Example:
|
|
140
|
-
>>> detector = LanguageDetector()
|
|
141
|
-
>>> detector.detect_package_manager("/path/to/project")
|
|
142
|
-
'pnpm'
|
|
143
|
-
"""
|
|
144
|
-
path = Path(path)
|
|
145
|
-
|
|
146
|
-
# Check in priority order (Bun → pnpm → Yarn → npm)
|
|
147
|
-
if (path / "bun.lockb").exists():
|
|
148
|
-
return "bun"
|
|
149
|
-
elif (path / "pnpm-lock.yaml").exists():
|
|
150
|
-
return "pnpm"
|
|
151
|
-
elif (path / "yarn.lock").exists():
|
|
152
|
-
return "yarn"
|
|
153
|
-
else:
|
|
154
|
-
# Default to npm (most common, works everywhere)
|
|
155
|
-
return "npm"
|
|
156
|
-
|
|
157
|
-
# @CODE:LANG-002 | SPEC: SPEC-LANGUAGE-DETECTION-001.md | TEST: tests/unit/test_detector.py
|
|
158
|
-
def get_workflow_template_path(self, language: str) -> str:
|
|
159
|
-
"""Get workflow template path for detected language.
|
|
160
|
-
|
|
161
|
-
Returns the relative path to the language-specific GitHub Actions workflow template.
|
|
162
|
-
These templates are pre-configured with language-specific testing tools, linting,
|
|
163
|
-
and coverage reporting.
|
|
164
|
-
|
|
165
|
-
Args:
|
|
166
|
-
language: Detected language name (lowercase).
|
|
167
|
-
Supported: 'python', 'javascript', 'typescript', 'go'
|
|
168
|
-
|
|
169
|
-
Returns:
|
|
170
|
-
Relative path to workflow template (e.g., 'workflows/python-tag-validation.yml')
|
|
171
|
-
|
|
172
|
-
Raises:
|
|
173
|
-
ValueError: If language doesn't have a dedicated workflow template
|
|
174
|
-
|
|
175
|
-
Example:
|
|
176
|
-
>>> detector = LanguageDetector()
|
|
177
|
-
>>> detector.get_workflow_template_path("python")
|
|
178
|
-
'workflows/python-tag-validation.yml'
|
|
179
|
-
"""
|
|
180
|
-
# Language-to-template mapping (add new languages here)
|
|
181
|
-
template_mapping = {
|
|
182
|
-
"python": "python-tag-validation.yml",
|
|
183
|
-
"javascript": "javascript-tag-validation.yml",
|
|
184
|
-
"typescript": "typescript-tag-validation.yml",
|
|
185
|
-
"go": "go-tag-validation.yml",
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
if language not in template_mapping:
|
|
189
|
-
supported = ", ".join(sorted(template_mapping.keys()))
|
|
190
|
-
raise ValueError(
|
|
191
|
-
f"Language '{language}' does not have a dedicated workflow template. "
|
|
192
|
-
f"Supported languages: {supported}"
|
|
193
|
-
)
|
|
194
|
-
|
|
195
|
-
template_filename = template_mapping[language]
|
|
196
|
-
# Return path relative to templates directory
|
|
197
|
-
return f"workflows/{template_filename}"
|
|
198
|
-
|
|
199
|
-
# @CODE:LANG-002 | SPEC: SPEC-LANGUAGE-DETECTION-001.md | TEST: tests/unit/test_detector.py
|
|
200
|
-
def get_supported_languages_for_workflows(self) -> list[str]:
|
|
201
|
-
"""Get list of languages with dedicated workflow templates.
|
|
202
|
-
|
|
203
|
-
Returns languages that have pre-built GitHub Actions workflow templates
|
|
204
|
-
with language-specific testing, linting, and coverage configuration.
|
|
205
|
-
|
|
206
|
-
Returns:
|
|
207
|
-
List of supported language names (lowercase)
|
|
208
|
-
|
|
209
|
-
Example:
|
|
210
|
-
>>> detector = LanguageDetector()
|
|
211
|
-
>>> detector.get_supported_languages_for_workflows()
|
|
212
|
-
['python', 'javascript', 'typescript', 'go']
|
|
213
|
-
|
|
214
|
-
Note:
|
|
215
|
-
While LanguageDetector can detect 20+ languages, only these 4
|
|
216
|
-
have dedicated CI/CD workflow templates. Other languages fall back
|
|
217
|
-
to generic workflows.
|
|
218
|
-
"""
|
|
219
|
-
return ["python", "javascript", "typescript", "go"]
|
|
220
|
-
|
|
221
|
-
|
|
222
121
|
def get_workflow_template_path(self, language: str) -> str:
|
|
223
122
|
"""Get the GitHub Actions workflow template path for a language.
|
|
224
123
|
|
|
@@ -306,9 +205,20 @@ class LanguageDetector:
|
|
|
306
205
|
if (path / "pyproject.toml").exists():
|
|
307
206
|
return "pip"
|
|
308
207
|
|
|
309
|
-
# JavaScript/TypeScript
|
|
208
|
+
# JavaScript/TypeScript (check in priority order)
|
|
310
209
|
if (path / "package.json").exists():
|
|
311
|
-
|
|
210
|
+
# Check for package managers in priority order
|
|
211
|
+
if (path / "bun.lockb").exists():
|
|
212
|
+
return "bun"
|
|
213
|
+
elif (path / "pnpm-lock.yaml").exists():
|
|
214
|
+
return "pnpm"
|
|
215
|
+
elif (path / "yarn.lock").exists():
|
|
216
|
+
return "yarn"
|
|
217
|
+
elif (path / "package-lock.json").exists():
|
|
218
|
+
return "npm"
|
|
219
|
+
else:
|
|
220
|
+
# Default to npm for package.json without lock files
|
|
221
|
+
return "npm"
|
|
312
222
|
|
|
313
223
|
# Go
|
|
314
224
|
if (path / "go.mod").exists():
|
|
@@ -290,7 +290,7 @@ class CIValidator(PreCommitValidator):
|
|
|
290
290
|
tag = error.tag
|
|
291
291
|
message = error.message
|
|
292
292
|
locations = ', '.join([
|
|
293
|
-
f"`{f}:{
|
|
293
|
+
f"`{f}:{line}`" for f, line in error.locations[:3]
|
|
294
294
|
])
|
|
295
295
|
if len(error.locations) > 3:
|
|
296
296
|
locations += f" (+{len(error.locations) - 3} more)"
|
|
@@ -26,7 +26,7 @@ class ValidationError:
|
|
|
26
26
|
locations: List[Tuple[str, int]] = field(default_factory=list)
|
|
27
27
|
|
|
28
28
|
def __str__(self) -> str:
|
|
29
|
-
loc_str = ", ".join([f"{f}:{
|
|
29
|
+
loc_str = ", ".join([f"{f}:{line}" for f, line in self.locations])
|
|
30
30
|
return f"{self.message}: {self.tag} at {loc_str}"
|
|
31
31
|
|
|
32
32
|
|
{moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/commands/alfred/0-project.md
RENAMED
|
@@ -110,9 +110,28 @@ MoAI-ADK의 SuperAgent로서 당신의 프로젝트를 함께 만들어갈 준
|
|
|
110
110
|
먼저 기본 설정을 진행하겠습니다.
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
### 0.1 배치 설계: 언어 선택 + 사용자 닉네임
|
|
113
|
+
### 0.1 배치 설계: 언어 선택 + 사용자 닉네임 + GitHub 설정 확인 (1-3회 호출)
|
|
114
114
|
|
|
115
|
-
Alfred가 `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` 를 사용하여
|
|
115
|
+
Alfred가 `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` 를 사용하여 **배치 호출**로 필수 정보를 수집합니다:
|
|
116
|
+
|
|
117
|
+
**기본 배치 (항상 실행)**:
|
|
118
|
+
- 언어 선택
|
|
119
|
+
- 사용자 닉네임
|
|
120
|
+
|
|
121
|
+
**추가 배치 (팀 모드 감지 시)**:
|
|
122
|
+
- GitHub "Automatically delete head branches" 설정 확인
|
|
123
|
+
|
|
124
|
+
#### 0.1.1 팀 모드 감지
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# config.json에서 mode 확인
|
|
128
|
+
grep "mode" .moai/config.json
|
|
129
|
+
|
|
130
|
+
# 결과: "mode": "team" → 추가 질문 포함
|
|
131
|
+
# "mode": "personal" → 기본 질문만 실행
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
#### 0.1.2 기본 배치: 언어 선택 + 닉네임
|
|
116
135
|
|
|
117
136
|
**Example AskUserQuestion Call**:
|
|
118
137
|
```python
|
|
@@ -156,6 +175,42 @@ AskUserQuestion(
|
|
|
156
175
|
)
|
|
157
176
|
```
|
|
158
177
|
|
|
178
|
+
#### 0.1.3 팀 모드 추가 배치: GitHub 설정 확인 (팀 모드만)
|
|
179
|
+
|
|
180
|
+
**조건**: `config.json`에서 `"mode": "team"` 감지 시 실행
|
|
181
|
+
|
|
182
|
+
**Example AskUserQuestion Call**:
|
|
183
|
+
```python
|
|
184
|
+
AskUserQuestion(
|
|
185
|
+
questions=[
|
|
186
|
+
{
|
|
187
|
+
"question": "[Team Mode] Is 'Automatically delete head branches' enabled in your GitHub repository settings?",
|
|
188
|
+
"header": "GitHub Branch Settings",
|
|
189
|
+
"multiSelect": false,
|
|
190
|
+
"options": [
|
|
191
|
+
{
|
|
192
|
+
"label": "✅ Yes, already enabled",
|
|
193
|
+
"description": "PR merge 후 자동으로 원격 브랜치 삭제됨"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"label": "❌ No, not enabled (Recommended: Enable)",
|
|
197
|
+
"description": "Settings → General → '자동 삭제' 체크박스 확인 필요"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"label": "🤔 Not sure / Need to check",
|
|
201
|
+
"description": "GitHub Settings → General 확인 후 다시 진행"
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
)
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**응답 처리**:
|
|
210
|
+
- **"Yes, already enabled"** → `auto_delete_branches: true` 저장
|
|
211
|
+
- **"No, not enabled"** → `auto_delete_branches: false` + 권장사항 저장
|
|
212
|
+
- **"Not sure"** → `auto_delete_branches: null` + 경고 메시지
|
|
213
|
+
|
|
159
214
|
**User Response Example**:
|
|
160
215
|
```
|
|
161
216
|
Selected Language: 🇰🇷 한국어
|
|
@@ -164,22 +219,55 @@ Selected Nickname: GOOS (typed via "Other" option)
|
|
|
164
219
|
|
|
165
220
|
### 0.2 사용자 정보 저장
|
|
166
221
|
|
|
167
|
-
Alfred가 선택된
|
|
222
|
+
Alfred가 선택된 언어, 닉네임, 그리고 팀 모드 설정을 다음과 같이 저장합니다:
|
|
223
|
+
|
|
224
|
+
#### 0.2.1 기본 정보 저장 (항상)
|
|
168
225
|
|
|
169
226
|
```json
|
|
170
227
|
{
|
|
171
|
-
"
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
228
|
+
"language": {
|
|
229
|
+
"conversation_language": "ko",
|
|
230
|
+
"conversation_language_name": "한국어"
|
|
231
|
+
},
|
|
232
|
+
"user": {
|
|
233
|
+
"nickname": "GOOS",
|
|
234
|
+
"selected_at": "2025-10-23T12:34:56Z"
|
|
235
|
+
}
|
|
175
236
|
}
|
|
176
237
|
```
|
|
177
238
|
|
|
239
|
+
#### 0.2.2 GitHub 설정 저장 (팀 모드만)
|
|
240
|
+
|
|
241
|
+
**팀 모드 감지 시 추가 저장**:
|
|
242
|
+
```json
|
|
243
|
+
{
|
|
244
|
+
"github": {
|
|
245
|
+
"auto_delete_branches": true,
|
|
246
|
+
"checked_at": "2025-10-23T12:34:56Z",
|
|
247
|
+
"recommendation": "Branch cleanup will be automated after PR merge"
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**또는 (미활성화 상태)**:
|
|
253
|
+
```json
|
|
254
|
+
{
|
|
255
|
+
"github": {
|
|
256
|
+
"auto_delete_branches": false,
|
|
257
|
+
"checked_at": "2025-10-23T12:34:56Z",
|
|
258
|
+
"recommendation": "Enable 'Automatically delete head branches' in GitHub Settings → General for better GitFlow workflow"
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
#### 0.2.3 저장된 정보 활용
|
|
264
|
+
|
|
178
265
|
이 정보는:
|
|
179
266
|
- 모든 sub-agents 에게 컨텍스트 파라미터로 전달됨
|
|
180
|
-
- `.moai/config.json` 의 `language
|
|
267
|
+
- `.moai/config.json` 의 `language`, `user`, `github` 필드에 저장됨
|
|
181
268
|
- CLAUDE.md의 `{{CONVERSATION_LANGUAGE}}` 및 `{{USER_NICKNAME}}` 변수로 치환됨
|
|
182
269
|
- 모든 Alfred 대화에서 사용됨
|
|
270
|
+
- **팀 모드**: git-manager가 GitHub 설정 상태를 참고하여 브랜치 정리 전략 수립
|
|
183
271
|
|
|
184
272
|
**설정 완료 출력 예시**:
|
|
185
273
|
```markdown
|
{moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py
RENAMED
|
@@ -53,6 +53,7 @@ Setup sys.path for package imports
|
|
|
53
53
|
"""
|
|
54
54
|
|
|
55
55
|
import json
|
|
56
|
+
import signal
|
|
56
57
|
import sys
|
|
57
58
|
from pathlib import Path
|
|
58
59
|
from typing import Any
|
|
@@ -77,9 +78,6 @@ if str(HOOKS_DIR) not in sys.path:
|
|
|
77
78
|
sys.path.insert(0, str(HOOKS_DIR))
|
|
78
79
|
|
|
79
80
|
|
|
80
|
-
pass
|
|
81
|
-
|
|
82
|
-
|
|
83
81
|
def _hook_timeout_handler(signum, frame):
|
|
84
82
|
"""Signal handler for global hook timeout"""
|
|
85
83
|
raise HookTimeoutError("Hook execution exceeded 5-second timeout")
|
{moai_adk-0.12.1 → moai_adk-0.13.0}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py
RENAMED
|
@@ -8,8 +8,6 @@ import json
|
|
|
8
8
|
import socket
|
|
9
9
|
import subprocess
|
|
10
10
|
from contextlib import contextmanager
|
|
11
|
-
|
|
12
|
-
from .timeout import CrossPlatformTimeout, TimeoutError as PlatformTimeoutError
|
|
13
11
|
from pathlib import Path
|
|
14
12
|
from typing import Any
|
|
15
13
|
|
|
@@ -607,7 +605,7 @@ def get_package_version_info(cwd: str = ".") -> dict[str, Any]:
|
|
|
607
605
|
else:
|
|
608
606
|
# Skip caching if module can't be loaded
|
|
609
607
|
version_cache_class = None
|
|
610
|
-
except (ImportError, OSError)
|
|
608
|
+
except (ImportError, OSError):
|
|
611
609
|
# Graceful degradation: skip caching on import errors
|
|
612
610
|
version_cache_class = None
|
|
613
611
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
# @CODE:HOOKS-CLARITY-
|
|
2
|
+
# @CODE:HOOKS-CLARITY-NOTIF | SPEC: Individual hook files for better UX
|
|
3
3
|
"""Notification Hook: Handle System Notifications
|
|
4
4
|
|
|
5
5
|
Claude Code Event: Notification
|
|
@@ -26,6 +26,7 @@ from handlers import handle_notification
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
|
|
29
30
|
def main() -> None:
|
|
30
31
|
"""Main entry point for Notification hook
|
|
31
32
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
# @CODE:HOOKS-CLARITY-
|
|
2
|
+
# @CODE:HOOKS-CLARITY-LOG | SPEC: Individual hook files for better UX
|
|
3
3
|
"""PostToolUse Hook: Log Tool Usage and Changes
|
|
4
4
|
|
|
5
5
|
Claude Code Event: PostToolUse
|
|
@@ -27,6 +27,7 @@ from handlers import handle_post_tool_use
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
+
|
|
30
31
|
def main() -> None:
|
|
31
32
|
"""Main entry point for PostToolUse hook
|
|
32
33
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
# @CODE:HOOKS-CLARITY-
|
|
2
|
+
# @CODE:HOOKS-CLARITY-CKPT | SPEC: Individual hook files for better UX
|
|
3
3
|
"""PreToolUse Hook: Automatic Safety Checkpoint Creation
|
|
4
4
|
|
|
5
5
|
Claude Code Event: PreToolUse
|
|
@@ -32,6 +32,7 @@ from handlers import handle_pre_tool_use
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
35
|
+
|
|
35
36
|
def main() -> None:
|
|
36
37
|
"""Main entry point for PreToolUse hook
|
|
37
38
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
# @CODE:HOOKS-CLARITY-
|
|
2
|
+
# @CODE:HOOKS-CLARITY-CLEAN | SPEC: Individual hook files for better UX
|
|
3
3
|
"""SessionEnd Hook: Session Cleanup and Finalization
|
|
4
4
|
|
|
5
5
|
Claude Code Event: SessionEnd
|
|
@@ -26,6 +26,7 @@ from handlers import handle_session_end
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
|
|
29
30
|
def main() -> None:
|
|
30
31
|
"""Main entry point for SessionEnd hook
|
|
31
32
|
|
|
@@ -11,10 +11,10 @@ Output: System message with formatted project summary
|
|
|
11
11
|
|
|
12
12
|
import json
|
|
13
13
|
import sys
|
|
14
|
-
from pathlib import
|
|
15
|
-
from typing import Any
|
|
16
|
-
|
|
14
|
+
from pathlib import
|
|
17
15
|
from utils.timeout import CrossPlatformTimeout, TimeoutError as PlatformTimeoutError
|
|
16
|
+
Path
|
|
17
|
+
from typing import Any
|
|
18
18
|
|
|
19
19
|
# Setup import path for shared modules
|
|
20
20
|
HOOKS_DIR = Path(__file__).parent
|
|
@@ -25,6 +25,9 @@ if str(SHARED_DIR) not in sys.path:
|
|
|
25
25
|
from handlers import handle_session_start
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
|
|
28
31
|
|
|
29
32
|
def main() -> None:
|
|
30
33
|
"""Main entry point for SessionStart hook
|
|
@@ -41,7 +44,7 @@ def main() -> None:
|
|
|
41
44
|
"""
|
|
42
45
|
# Set 5-second timeout
|
|
43
46
|
timeout = CrossPlatformTimeout(5)
|
|
44
|
-
|
|
47
|
+
timeout.start()
|
|
45
48
|
|
|
46
49
|
try:
|
|
47
50
|
# Read JSON payload from stdin
|
|
@@ -5,9 +5,7 @@ Notification, Stop, SubagentStop event handling
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import json
|
|
8
|
-
from datetime import datetime
|
|
9
|
-
|
|
10
|
-
from utils.timeout import CrossPlatformTimeout, TimeoutError as PlatformTimeoutError
|
|
8
|
+
from datetime import datetime
|
|
11
9
|
from pathlib import Path
|
|
12
10
|
|
|
13
11
|
from core import HookPayload, HookResult
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
# @CODE:HOOKS-CLARITY-
|
|
2
|
+
# @CODE:HOOKS-CLARITY-STOP | SPEC: Individual hook files for better UX
|
|
3
3
|
"""Stop Hook: Handle Execution Interruption
|
|
4
4
|
|
|
5
5
|
Claude Code Event: Stop
|
|
@@ -26,6 +26,7 @@ from handlers import handle_stop
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
|
|
29
30
|
def main() -> None:
|
|
30
31
|
"""Main entry point for Stop hook
|
|
31
32
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
# @CODE:HOOKS-CLARITY-
|
|
2
|
+
# @CODE:HOOKS-CLARITY-SUBAGENT | SPEC: Individual hook files for better UX
|
|
3
3
|
"""SubagentStop Hook: Handle Sub-agent Termination
|
|
4
4
|
|
|
5
5
|
Claude Code Event: SubagentStop
|
|
@@ -26,6 +26,7 @@ from handlers import handle_subagent_stop
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
|
|
29
30
|
def main() -> None:
|
|
30
31
|
"""Main entry point for SubagentStop hook
|
|
31
32
|
|