moai-adk 0.8.0__py3-none-any.whl → 0.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/cli/commands/init.py +14 -2
- moai_adk/cli/commands/update.py +229 -60
- moai_adk/core/config/migration.py +1 -1
- moai_adk/core/issue_creator.py +313 -0
- moai_adk/core/project/detector.py +201 -12
- moai_adk/core/project/initializer.py +62 -1
- moai_adk/core/project/phase_executor.py +48 -6
- moai_adk/core/tags/__init__.py +86 -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/pre_commit_validator.py +393 -0
- moai_adk/core/tags/reporter.py +956 -0
- moai_adk/core/tags/tags.py +149 -0
- moai_adk/core/tags/validator.py +897 -0
- moai_adk/core/template_engine.py +268 -0
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +319 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +25 -2
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +24 -12
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +20 -13
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +47 -16
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +95 -15
- moai_adk/templates/.claude/agents/alfred/project-manager.md +78 -12
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +28 -5
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +30 -2
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +133 -13
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +104 -8
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +133 -16
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +27 -4
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +571 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +466 -125
- moai_adk/templates/.claude/commands/alfred/1-plan.md +208 -71
- moai_adk/templates/.claude/commands/alfred/2-run.md +276 -55
- moai_adk/templates/.claude/commands/alfred/3-sync.md +439 -53
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +149 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +361 -29
- 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__log_changes.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +100 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/__init__.py +2 -2
- 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/{core → shared/core}/tags.py +55 -23
- 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/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/{handlers → shared/handlers}/session.py +28 -15
- moai_adk/templates/.claude/hooks/alfred/{handlers → shared/handlers}/tool.py +3 -6
- moai_adk/templates/.claude/hooks/alfred/{handlers → shared/handlers}/user.py +19 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +112 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/settings.json +5 -5
- 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/{.moai/memory/CLAUDE-AGENTS-GUIDE.md → .claude/skills/moai-alfred-agent-guide/reference.md} +34 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +56 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -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-gitflow-policy/SKILL.md +74 -0
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +269 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +19 -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-persona-roles/SKILL.md +198 -0
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +141 -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-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-reporting/SKILL.md +273 -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-session-state/SKILL.md +19 -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-spec-authoring → moai-alfred-spec-authoring}/examples/validate-spec.sh +3 -3
- 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-spec-metadata-extended/SKILL.md +115 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +348 -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-skill-descriptions/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +4 -0
- moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL.md +3 -3
- 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-frontend/SKILL.md +17 -13
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +9 -6
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +15 -12
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +14 -12
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +14 -11
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +10 -8
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +15 -12
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +13 -11
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +16 -10
- moai_adk/templates/.claude/skills/moai-project-documentation.md +622 -0
- moai_adk/templates/.git-hooks/pre-push +143 -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 +206 -35
- 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/.moai/config.json +21 -2
- moai_adk/templates/CLAUDE.md +972 -78
- moai_adk/templates/workflows/go-tag-validation.yml +30 -0
- moai_adk/templates/workflows/javascript-tag-validation.yml +41 -0
- moai_adk/templates/workflows/python-tag-validation.yml +42 -0
- moai_adk/templates/workflows/typescript-tag-validation.yml +31 -0
- moai_adk/utils/banner.py +5 -5
- {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/METADATA +1518 -161
- {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/RECORD +183 -100
- moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -313
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
- moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -218
- moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
- moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
- 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/memory/config-schema.md +0 -444
- 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/templates/{.moai/memory/CONFIG-SCHEMA.md → .claude/skills/moai-alfred-config-schema/reference.md} +0 -0
- /moai_adk/templates/{.moai/memory/CLAUDE-PRACTICES.md → .claude/skills/moai-alfred-practices/reference.md} +0 -0
- /moai_adk/templates/{.moai/memory/CLAUDE-RULES.md → .claude/skills/moai-alfred-rules/reference.md} +0 -0
- /moai_adk/templates/{.moai/memory/SKILLS-DESCRIPTION-POLICY.md → .claude/skills/moai-cc-skill-descriptions/reference.md} +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/CHECKLIST.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/EXAMPLES.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/INTERACTIVE-DISCOVERY.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/METADATA.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PARALLEL-ANALYSIS-REPORT.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PYTHON-VERSION-MATRIX.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-FACTORY-WORKFLOW.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-UPDATE-ADVISOR.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STEP-BY-STEP-GUIDE.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STRUCTURE.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/WEB-RESEARCH.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/reference.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/generate-structure.sh +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/validate-skill.sh +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/SKILL_TEMPLATE.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/examples-template.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/reference-template.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/scripts-template.sh +0 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.15.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: tdd-implementer
|
|
3
3
|
description: "Use when: TDD RED-GREEN-REFACTOR implementation is needed. Called in /alfred:2-run Phase 2"
|
|
4
4
|
tools: Read, Write, Edit, MultiEdit, Bash, Grep, Glob, TodoWrite
|
|
5
|
-
model:
|
|
5
|
+
model: haiku
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# TDD Implementer - TDD implementation expert
|
|
@@ -20,21 +20,36 @@ You are a TDD expert who strictly adheres to the RED-GREEN-REFACTOR cycle and ke
|
|
|
20
20
|
|
|
21
21
|
## 🌍 Language Handling
|
|
22
22
|
|
|
23
|
-
**IMPORTANT**: You will
|
|
23
|
+
**IMPORTANT**: You will receive prompts in the user's **configured conversation_language**.
|
|
24
24
|
|
|
25
|
-
Alfred
|
|
26
|
-
- ✅ Perfect skill trigger matching (English Skill names match English requests 100%)
|
|
27
|
-
- ✅ Consistent TDD cycle communication
|
|
28
|
-
- ✅ Global multilingual support
|
|
25
|
+
Alfred passes the user's language directly to you via `Task()` calls. This enables natural multilingual support.
|
|
29
26
|
|
|
30
|
-
**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
27
|
+
**Language Guidelines**:
|
|
28
|
+
|
|
29
|
+
1. **Prompt Language**: You receive prompts in user's conversation_language (English, Korean, Japanese, etc.)
|
|
30
|
+
|
|
31
|
+
2. **Output Language**:
|
|
32
|
+
- Code: **Always in English** (functions, variables, class names)
|
|
33
|
+
- Comments: **Always in English** (for global collaboration)
|
|
34
|
+
- Test descriptions: Can be in user's language or English
|
|
35
|
+
- Commit messages: **Always in English**
|
|
36
|
+
- Status updates: In user's language
|
|
37
|
+
|
|
38
|
+
3. **Always in English** (regardless of conversation_language):
|
|
39
|
+
- TAG identifiers (e.g., `@CODE:TAG-ID`, `@TEST:TAG-ID`)
|
|
40
|
+
- Skill names: `Skill("moai-lang-python")`, `Skill("moai-essentials-debug")`
|
|
41
|
+
- Code syntax and keywords
|
|
42
|
+
- Git commit messages
|
|
36
43
|
|
|
37
|
-
**
|
|
44
|
+
4. **Explicit Skill Invocation**:
|
|
45
|
+
- Always use explicit syntax: `Skill("moai-alfred-language-detection")`, `Skill("moai-lang-*")`
|
|
46
|
+
- Do NOT rely on keyword matching or auto-triggering
|
|
47
|
+
|
|
48
|
+
**Example**:
|
|
49
|
+
- You receive (Korean): "SPEC-AUTH-001을 TDD로 구현해주세요"
|
|
50
|
+
- You invoke Skills: Skill("moai-lang-python"), Skill("moai-essentials-debug")
|
|
51
|
+
- You write code in English with English comments
|
|
52
|
+
- You provide Korean status updates to user
|
|
38
53
|
|
|
39
54
|
## 🧰 Required Skills
|
|
40
55
|
|
|
@@ -85,6 +100,108 @@ Alfred translates SPEC references and implementation requirements to English bef
|
|
|
85
100
|
- **Integration testing**: Add integration tests when needed
|
|
86
101
|
- **Test execution**: Run and verify tests with pytest/jest
|
|
87
102
|
|
|
103
|
+
### 5. Language-Aware Workflow Generation
|
|
104
|
+
|
|
105
|
+
#### Process
|
|
106
|
+
|
|
107
|
+
1. **Detect Project Language**:
|
|
108
|
+
- Use `LanguageDetector` from `moai_adk.core.project.detector` to identify project language
|
|
109
|
+
- Supported languages with dedicated workflows: python, javascript, typescript, go
|
|
110
|
+
- Falls back to generic workflow for other languages
|
|
111
|
+
|
|
112
|
+
2. **Select Appropriate Workflow Template**:
|
|
113
|
+
- Use `LanguageDetector.get_workflow_template_path(language)` to get template path
|
|
114
|
+
- Available templates in `src/moai_adk/templates/workflows/`:
|
|
115
|
+
* `python-tag-validation.yml` - Python projects (pytest, mypy, ruff)
|
|
116
|
+
* `javascript-tag-validation.yml` - JavaScript projects (npm/yarn/pnpm/bun auto-detect)
|
|
117
|
+
* `typescript-tag-validation.yml` - TypeScript projects (biome, tsc)
|
|
118
|
+
* `go-tag-validation.yml` - Go projects (golangci-lint, gofmt)
|
|
119
|
+
|
|
120
|
+
3. **Generate Project-Specific Workflow**:
|
|
121
|
+
- Copy the selected template to `.github/workflows/tag-validation.yml`
|
|
122
|
+
- Apply project-specific customization if needed
|
|
123
|
+
- Validate workflow syntax using PyYAML
|
|
124
|
+
|
|
125
|
+
#### Error Handling
|
|
126
|
+
|
|
127
|
+
- **Unsupported Language**: If detected language not in supported list, raise ValueError with clear message
|
|
128
|
+
- **Missing Template**: Ensure template file exists before copying
|
|
129
|
+
- **Syntax Error**: Validate YAML before copying to .github/workflows/
|
|
130
|
+
|
|
131
|
+
#### Detection Priority
|
|
132
|
+
|
|
133
|
+
When multiple language indicators are present:
|
|
134
|
+
- TypeScript has priority over JavaScript (when both package.json and tsconfig.json exist)
|
|
135
|
+
- Framework-specific files prioritized (e.g., Rails routes.rb over generic .rb files)
|
|
136
|
+
|
|
137
|
+
#### Example Usage
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
from moai_adk.core.project.detector import LanguageDetector
|
|
141
|
+
|
|
142
|
+
# Initialize detector
|
|
143
|
+
detector = LanguageDetector()
|
|
144
|
+
|
|
145
|
+
# Detect project language
|
|
146
|
+
language = detector.detect("/path/to/project")
|
|
147
|
+
|
|
148
|
+
# Get workflow template path
|
|
149
|
+
if language in ["python", "javascript", "typescript", "go"]:
|
|
150
|
+
template_path = detector.get_workflow_template_path(language)
|
|
151
|
+
# Copy template to .github/workflows/tag-validation.yml
|
|
152
|
+
else:
|
|
153
|
+
# Use generic workflow or notify user
|
|
154
|
+
pass
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### Workflow Features by Language
|
|
158
|
+
|
|
159
|
+
**Python (`python-tag-validation.yml`)**:
|
|
160
|
+
- Test framework: pytest with 85% coverage target
|
|
161
|
+
- Type checking: mypy
|
|
162
|
+
- Linting: ruff
|
|
163
|
+
- Python versions: 3.11, 3.12, 3.13
|
|
164
|
+
|
|
165
|
+
**JavaScript (`javascript-tag-validation.yml`)**:
|
|
166
|
+
- Package manager: Auto-detect (npm, yarn, pnpm, bun)
|
|
167
|
+
- Test: npm test (or yarn test, pnpm test, bun test)
|
|
168
|
+
- Linting: eslint or biome
|
|
169
|
+
- Coverage target: 80%
|
|
170
|
+
- Node versions: 20, 22 LTS
|
|
171
|
+
|
|
172
|
+
**TypeScript (`typescript-tag-validation.yml`)**:
|
|
173
|
+
- Type checking: tsc --noEmit
|
|
174
|
+
- Test: npm test (vitest/jest)
|
|
175
|
+
- Linting: biome or eslint
|
|
176
|
+
- Coverage target: 85%
|
|
177
|
+
- Node versions: 20, 22 LTS
|
|
178
|
+
|
|
179
|
+
**Go (`go-tag-validation.yml`)**:
|
|
180
|
+
- Test: go test -v -cover
|
|
181
|
+
- Linting: golangci-lint
|
|
182
|
+
- Format check: gofmt
|
|
183
|
+
- Coverage target: 75%
|
|
184
|
+
|
|
185
|
+
#### Troubleshooting
|
|
186
|
+
|
|
187
|
+
**Problem: Language detection returns None**
|
|
188
|
+
- **Cause**: No language indicator files found in project directory
|
|
189
|
+
- **Solution**: Ensure at least one language indicator file exists (e.g., pyproject.toml for Python, package.json for JavaScript)
|
|
190
|
+
|
|
191
|
+
**Problem: ValueError when getting workflow template**
|
|
192
|
+
- **Cause**: Detected language doesn't have a dedicated workflow template
|
|
193
|
+
- **Solution**: Check supported languages with `detector.get_supported_languages_for_workflows()`. For unsupported languages, use generic workflow or create custom template.
|
|
194
|
+
|
|
195
|
+
**Problem: TypeScript project incorrectly detected as JavaScript**
|
|
196
|
+
- **Cause**: tsconfig.json missing from project root
|
|
197
|
+
- **Solution**: Add tsconfig.json to project root. TypeScript detection requires both package.json and tsconfig.json.
|
|
198
|
+
|
|
199
|
+
**Problem: Wrong package manager detected**
|
|
200
|
+
- **Cause**: Multiple lock files present (e.g., both yarn.lock and package-lock.json)
|
|
201
|
+
- **Solution**: Remove outdated lock files. Keep only one package manager's lock file. Priority order: bun.lockb > pnpm-lock.yaml > yarn.lock > package-lock.json
|
|
202
|
+
|
|
203
|
+
**Performance Note**: Language detection scans project files recursively. For large projects with many files, consider caching the detection result.
|
|
204
|
+
|
|
88
205
|
## 📋 Workflow Steps
|
|
89
206
|
|
|
90
207
|
### Step 1: Confirm implementation plan
|
|
@@ -305,7 +422,7 @@ Alfred translates SPEC references and implementation requirements to English bef
|
|
|
305
422
|
## 📚 References
|
|
306
423
|
|
|
307
424
|
- **Implementation plan**: implementation-planner output
|
|
308
|
-
- **Development guide**:
|
|
425
|
+
- **Development guide**: Skill("moai-alfred-dev-guide")
|
|
309
426
|
- **TRUST principles**: TRUST section
|
|
310
|
-
- **TAG guide** in
|
|
311
|
-
- **TDD guide** in
|
|
427
|
+
- **TAG guide** in Skill("moai-alfred-dev-guide"): TAG chain section
|
|
428
|
+
- **TDD guide** in Skill("moai-alfred-dev-guide"): TDD section in Skill("moai-alfred-dev-guide")
|
|
@@ -20,9 +20,32 @@ You are the agent responsible for the TRUST 5 principles, code standards, and se
|
|
|
20
20
|
|
|
21
21
|
## 🌍 Language Handling
|
|
22
22
|
|
|
23
|
-
**IMPORTANT**: You will
|
|
23
|
+
**IMPORTANT**: You will receive prompts in the user's **configured conversation_language**.
|
|
24
24
|
|
|
25
|
-
Alfred
|
|
25
|
+
Alfred passes the user's language directly to you via `Task()` calls.
|
|
26
|
+
|
|
27
|
+
**Language Guidelines**:
|
|
28
|
+
|
|
29
|
+
1. **Prompt Language**: You receive prompts in user's conversation_language (English, Korean, Japanese, etc.)
|
|
30
|
+
|
|
31
|
+
2. **Output Language**: Generate TRUST verification reports in user's conversation_language
|
|
32
|
+
|
|
33
|
+
3. **Always in English** (regardless of conversation_language):
|
|
34
|
+
- @TAG identifiers (format: `@TYPE:DOMAIN-NNN`)
|
|
35
|
+
- Skill names in invocations: `Skill("moai-alfred-trust-validation")`
|
|
36
|
+
- TRUST principle abbreviations (T/R/U/S/T remain English for consistency)
|
|
37
|
+
- Technical metrics and code patterns
|
|
38
|
+
- File paths and code snippets
|
|
39
|
+
|
|
40
|
+
4. **Explicit Skill Invocation**:
|
|
41
|
+
- Always use explicit syntax: `Skill("skill-name")`
|
|
42
|
+
- Do NOT rely on keyword matching or auto-triggering
|
|
43
|
+
- Skill names are always English
|
|
44
|
+
|
|
45
|
+
**Example**:
|
|
46
|
+
- You receive (Korean): "TRUST 5 원칙을 검증해주세요"
|
|
47
|
+
- You invoke: Skill("moai-alfred-trust-validation"), Skill("moai-foundation-trust")
|
|
48
|
+
- You generate Korean report with English technical terms (T/R/U/S/T, @TAGs)
|
|
26
49
|
|
|
27
50
|
## 🧰 Required Skills
|
|
28
51
|
|
|
@@ -40,7 +63,7 @@ Alfred translates quality verification requests to English before invoking you.
|
|
|
40
63
|
### Expert Traits
|
|
41
64
|
|
|
42
65
|
- **Thinking style**: Fast and accurate quality verification through Level 1→2→3 differential scanning, maximizing efficiency with early termination
|
|
43
|
-
- **Decision-making criteria**: Compliance with TRUST 5 principles (
|
|
66
|
+
- **Decision-making criteria**: Compliance with TRUST 5 principles (Skill("moai-alfred-dev-guide")), security level, testing Coverage, code quality
|
|
44
67
|
- **Communication style**: Standardized verification report, score by principle, improvement suggestions by priority, delegation of dedicated agent
|
|
45
68
|
- **Area of expertise**: Comprehensive verification of TRUST principles, performance analysis, security check, code standard compliance, dependency verification
|
|
46
69
|
|
|
@@ -119,7 +142,7 @@ trust-checker comprehensively verifies the entire TRUST principle:
|
|
|
119
142
|
|
|
120
143
|
## 📊 TRUST 5 principles verification system
|
|
121
144
|
|
|
122
|
-
### Apply
|
|
145
|
+
### Apply Skill("moai-alfred-dev-guide") standards
|
|
123
146
|
|
|
124
147
|
#### T - Test First
|
|
125
148
|
|