moai-adk 0.4.0__py3-none-any.whl → 0.4.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 -8
- moai_adk/cli/commands/init.py +10 -5
- moai_adk/cli/commands/update.py +274 -118
- moai_adk/cli/prompts/init_prompts.py +14 -18
- moai_adk/core/diagnostics/slash_commands.py +1 -1
- moai_adk/core/project/backup_utils.py +1 -0
- moai_adk/core/project/phase_executor.py +3 -1
- moai_adk/core/project/validator.py +3 -2
- moai_adk/core/template/backup.py +11 -3
- moai_adk/core/template/merger.py +16 -3
- moai_adk/core/template/processor.py +22 -3
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +443 -424
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +116 -103
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +130 -116
- moai_adk/templates/.claude/agents/alfred/git-manager.md +186 -174
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +227 -213
- moai_adk/templates/.claude/agents/alfred/project-manager.md +205 -125
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +224 -209
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +174 -160
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +151 -139
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +209 -196
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +247 -233
- moai_adk/templates/.claude/commands/alfred/0-project.md +673 -640
- moai_adk/templates/.claude/commands/alfred/1-plan.md +342 -333
- moai_adk/templates/.claude/commands/alfred/2-run.md +295 -285
- moai_adk/templates/.claude/commands/alfred/3-sync.md +366 -356
- moai_adk/templates/.claude/hooks/alfred/README.md +52 -52
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +44 -48
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +17 -17
- moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +59 -59
- moai_adk/templates/.claude/hooks/alfred/core/context.py +19 -19
- moai_adk/templates/.claude/hooks/alfred/core/project.py +52 -52
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +1 -1
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +4 -4
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +27 -27
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +16 -17
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +11 -11
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +308 -307
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +297 -296
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +191 -190
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +112 -0
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +103 -0
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +103 -0
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +95 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +105 -0
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +90 -0
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +87 -0
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +70 -43
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +141 -141
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +179 -165
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +78 -78
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +90 -90
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +39 -25
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +117 -74
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +131 -134
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +43 -11
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +43 -12
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +47 -11
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +47 -11
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +51 -14
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +46 -10
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +62 -25
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +44 -17
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +44 -14
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +45 -13
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +46 -14
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +48 -8
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +44 -11
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +44 -12
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +44 -12
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +44 -43
- moai_adk/templates/.github/workflows/moai-gitflow.yml +36 -35
- moai_adk/templates/.moai/config.json +9 -6
- moai_adk/templates/.moai/memory/development-guide.md +220 -221
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +85 -85
- moai_adk/templates/.moai/memory/spec-metadata.md +149 -150
- moai_adk/templates/.moai/project/product.md +90 -90
- moai_adk/templates/.moai/project/structure.md +85 -85
- moai_adk/templates/.moai/project/tech.md +117 -117
- moai_adk/templates/CLAUDE.md +350 -722
- moai_adk-0.4.1.dist-info/METADATA +303 -0
- moai_adk-0.4.1.dist-info/RECORD +152 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +0 -31
- moai_adk/templates/.claude/commands/alfred/2-build.md +0 -30
- moai_adk/templates/.claude/skills/scripts/standardize_skills.py +0 -166
- moai_adk/templates/.claude/skills/scripts/verify_standardization.sh +0 -43
- moai_adk/templates/.moai/hooks/pre-push.sample +0 -88
- moai_adk-0.4.0.dist-info/METADATA +0 -1816
- moai_adk-0.4.0.dist-info/RECORD +0 -145
- {moai_adk-0.4.0.dist-info → moai_adk-0.4.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.0.dist-info → moai_adk-0.4.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.0.dist-info → moai_adk-0.4.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: moai-alfred-code-reviewer
|
|
4
|
+
description: Automated code review with language-specific best practices, SOLID principles, and actionable improvement suggestions. Use when reviewing code changes for issues and strengths.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- TodoWrite
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Alfred Code Reviewer
|
|
14
|
+
|
|
15
|
+
## Skill Metadata
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| ----- | ----- |
|
|
18
|
+
| Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
|
|
19
|
+
| Auto-load | /alfred:3-sync review phase |
|
|
20
|
+
| Trigger cues | Alfred-driven review summaries, diff inspection, merge gate decisions. |
|
|
21
|
+
|
|
22
|
+
## What it does
|
|
23
|
+
|
|
24
|
+
Automated code review with language-specific best practices, SOLID principles verification, and code smell detection.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- Activates when Alfred needs to summarize diffs or prepare merge feedback.
|
|
29
|
+
- “Please review the code”, “How can this code be improved?”, “Check the code quality”
|
|
30
|
+
- Optionally invoked after `/alfred:3-sync`
|
|
31
|
+
- Before merging PR
|
|
32
|
+
|
|
33
|
+
## How it works
|
|
34
|
+
|
|
35
|
+
**Code Constraints Check**:
|
|
36
|
+
- File ≤300 LOC
|
|
37
|
+
- Function ≤50 LOC
|
|
38
|
+
- Parameters ≤5
|
|
39
|
+
- Cyclomatic complexity ≤10
|
|
40
|
+
|
|
41
|
+
**SOLID Principles**:
|
|
42
|
+
- Single Responsibility
|
|
43
|
+
- Open/Closed
|
|
44
|
+
- Liskov Substitution
|
|
45
|
+
- Interface Segregation
|
|
46
|
+
- Dependency Inversion
|
|
47
|
+
|
|
48
|
+
**Code Smell Detection**:
|
|
49
|
+
- Long Method
|
|
50
|
+
- Large Class
|
|
51
|
+
- Duplicate Code
|
|
52
|
+
- Dead Code
|
|
53
|
+
- Magic Numbers
|
|
54
|
+
|
|
55
|
+
**Language-specific Best Practices**:
|
|
56
|
+
- Python: List comprehension, type hints, PEP 8
|
|
57
|
+
- TypeScript: Strict typing, async/await, error handling
|
|
58
|
+
- Java: Streams API, Optional, Design patterns
|
|
59
|
+
|
|
60
|
+
**Review Report**:
|
|
61
|
+
```markdown
|
|
62
|
+
## Code Review Report
|
|
63
|
+
|
|
64
|
+
### 🔴 Critical Issues (3)
|
|
65
|
+
1. **src/auth/service.py:45** - Function too long (85 > 50 LOC)
|
|
66
|
+
2. **src/api/handler.ts:120** - Missing error handling
|
|
67
|
+
3. **src/db/repository.java:200** - Magic number
|
|
68
|
+
|
|
69
|
+
### ⚠️ Warnings (5)
|
|
70
|
+
1. **src/utils/helper.py:30** - Unused import
|
|
71
|
+
|
|
72
|
+
### ✅ Good Practices Found
|
|
73
|
+
- Test coverage: 92%
|
|
74
|
+
- Consistent naming
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Best Practices
|
|
78
|
+
- The text shown to the user is written using TUI/report expressions.
|
|
79
|
+
- When running the tool, a summary of commands and results are recorded.
|
|
80
|
+
|
|
81
|
+
## Examples
|
|
82
|
+
```markdown
|
|
83
|
+
- Call this skill inside the /alfred command to generate a report.
|
|
84
|
+
- Add summary to Completion Report.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Inputs
|
|
88
|
+
- MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
|
|
89
|
+
- Parameters passed from user commands or higher commands.
|
|
90
|
+
|
|
91
|
+
## Outputs
|
|
92
|
+
- Reports, checklists or recommendations for your Alfred workflow.
|
|
93
|
+
- Structured data for subsequent subagent calls.
|
|
94
|
+
|
|
95
|
+
## Failure Modes
|
|
96
|
+
- When required input documents are missing or permissions are limited.
|
|
97
|
+
- When disruptive changes are required without user approval.
|
|
98
|
+
|
|
99
|
+
## Dependencies
|
|
100
|
+
- Cooperation with higher-level agents such as cc-manager and project-manager is required.
|
|
101
|
+
|
|
102
|
+
## References
|
|
103
|
+
- Google. "Code Review Developer Guide." https://google.github.io/eng-practices/review/ (accessed 2025-03-29).
|
|
104
|
+
- IEEE. "Code Review Best Practices." IEEE Software, 2022.
|
|
105
|
+
|
|
106
|
+
## Changelog
|
|
107
|
+
- 2025-03-29: Added input/output/failure response to Alfred-specific skills.
|
|
108
|
+
|
|
109
|
+
## Works well with
|
|
110
|
+
|
|
111
|
+
- alfred-trust-validation
|
|
112
|
+
- alfred-refactoring-coach
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: moai-alfred-debugger-pro
|
|
4
|
+
description: Advanced debugging support with stack trace analysis, error pattern detection, and fix suggestions. Use when unraveling complex runtime errors or stack traces.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- TodoWrite
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Alfred Debugger Pro
|
|
14
|
+
|
|
15
|
+
## Skill Metadata
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| ----- | ----- |
|
|
18
|
+
| Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
|
|
19
|
+
| Auto-load | Triggered by Alfred debug-helper |
|
|
20
|
+
| Trigger cues | Runtime failures surfaced in Alfred runs, stack trace walkthroughs, hotfix triage. |
|
|
21
|
+
|
|
22
|
+
## What it does
|
|
23
|
+
|
|
24
|
+
Advanced debugging support with stack trace analysis, common error pattern detection, and actionable fix suggestions.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- Activates when Alfred encounters runtime errors and needs guided debugging steps.
|
|
29
|
+
- “Resolve the error”, “What is the cause of this error?”, “Stack trace analysis”
|
|
30
|
+
- Automatically invoked on runtime errors (via debug-helper sub-agent)
|
|
31
|
+
- "Why not?", "Solving NullPointerException"
|
|
32
|
+
|
|
33
|
+
## How it works
|
|
34
|
+
|
|
35
|
+
**Stack Trace Analysis**:
|
|
36
|
+
```python
|
|
37
|
+
# Error example
|
|
38
|
+
jwt.exceptions.ExpiredSignatureError: Signature has expired
|
|
39
|
+
|
|
40
|
+
# Alfred Analysis
|
|
41
|
+
📍 Error Location: src/auth/service.py:142
|
|
42
|
+
🔍 Root Cause: JWT token has expired
|
|
43
|
+
💡 Fix Suggestion:
|
|
44
|
+
1. Implement token refresh logic
|
|
45
|
+
2. Check expiration before validation
|
|
46
|
+
3. Handle ExpiredSignatureError gracefully
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Common Error Patterns**:
|
|
50
|
+
- `NullPointerException` → Optional usage, guard clauses
|
|
51
|
+
- `IndexError` → Boundary checks
|
|
52
|
+
- `KeyError` → `.get()` with defaults
|
|
53
|
+
- `TypeError` → Type hints, input validation
|
|
54
|
+
- `ConnectionError` → Retry logic, timeouts
|
|
55
|
+
|
|
56
|
+
**Debugging Checklist**:
|
|
57
|
+
- [ ] Reproducible?
|
|
58
|
+
- [ ] Log messages?
|
|
59
|
+
- [ ] Input data?
|
|
60
|
+
- [ ] Recent changes?
|
|
61
|
+
- [ ] Dependency versions?
|
|
62
|
+
|
|
63
|
+
**Language-specific Tips**:
|
|
64
|
+
- **Python**: Logging, type guards
|
|
65
|
+
- **TypeScript**: Type guards, null checks
|
|
66
|
+
- **Java**: Optional, try-with-resources
|
|
67
|
+
|
|
68
|
+
## Best Practices
|
|
69
|
+
- The text shown to the user is written using TUI/report expressions.
|
|
70
|
+
- When running the tool, a summary of commands and results are recorded.
|
|
71
|
+
|
|
72
|
+
## Examples
|
|
73
|
+
```markdown
|
|
74
|
+
- Call this skill inside the /alfred command to generate a report.
|
|
75
|
+
- Add summary to Completion Report.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Inputs
|
|
79
|
+
- MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
|
|
80
|
+
- Parameters passed from user commands or higher commands.
|
|
81
|
+
|
|
82
|
+
## Outputs
|
|
83
|
+
- Reports, checklists or recommendations for your Alfred workflow.
|
|
84
|
+
- Structured data for subsequent subagent calls.
|
|
85
|
+
|
|
86
|
+
## Failure Modes
|
|
87
|
+
- When required input documents are missing or permissions are limited.
|
|
88
|
+
- When disruptive changes are required without user approval.
|
|
89
|
+
|
|
90
|
+
## Dependencies
|
|
91
|
+
- Cooperation with higher-level agents such as cc-manager and project-manager is required.
|
|
92
|
+
|
|
93
|
+
## References
|
|
94
|
+
- Microsoft. "Debugging Techniques." https://learn.microsoft.com/visualstudio/debugger/ (accessed 2025-03-29).
|
|
95
|
+
- JetBrains. "Debugging Code." https://www.jetbrains.com/help/idea/debugging-code.html (accessed 2025-03-29).
|
|
96
|
+
|
|
97
|
+
## Changelog
|
|
98
|
+
- 2025-03-29: Added input/output/failure response to Alfred-specific skills.
|
|
99
|
+
|
|
100
|
+
## Works well with
|
|
101
|
+
|
|
102
|
+
- alfred-code-reviewer
|
|
103
|
+
- alfred-trust-validation
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: moai-alfred-ears-authoring
|
|
4
|
+
description: EARS (Easy Approach to Requirements Syntax) authoring guide with 5 statement patterns for clear, testable requirements. Use when generating EARS-style requirement sentences.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- TodoWrite
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Alfred EARS Authoring Guide
|
|
14
|
+
|
|
15
|
+
## Skill Metadata
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| ----- | ----- |
|
|
18
|
+
| Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
|
|
19
|
+
| Auto-load | /alfred:1-plan requirements phase |
|
|
20
|
+
| Trigger cues | Plan board EARS drafting, requirement interviews, structured SPEC authoring. |
|
|
21
|
+
|
|
22
|
+
## What it does
|
|
23
|
+
|
|
24
|
+
EARS (Easy Approach to Requirements Syntax) authoring guide for writing clear, testable requirements using 5 statement patterns.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- Activates when Alfred is asked to capture requirements using the EARS patterns.
|
|
29
|
+
- “Writing SPEC”, “Requirements summary”, “EARS syntax”
|
|
30
|
+
- Automatically invoked by `/alfred:1-plan`
|
|
31
|
+
- When writing or refining SPEC documents
|
|
32
|
+
|
|
33
|
+
## How it works
|
|
34
|
+
|
|
35
|
+
EARS provides 5 statement patterns for structured requirements:
|
|
36
|
+
|
|
37
|
+
### 1. Ubiquitous (Basic Requirements)
|
|
38
|
+
**Format**: The system must provide [function]
|
|
39
|
+
**Example**: The system must provide user authentication function
|
|
40
|
+
|
|
41
|
+
### 2. Event-driven (event-based)
|
|
42
|
+
**Format**: WHEN If [condition], the system must [operate]
|
|
43
|
+
**Example**: WHEN When the user logs in, the system must issue a JWT token
|
|
44
|
+
|
|
45
|
+
### 3. State-driven
|
|
46
|
+
**Format**: WHILE When in [state], the system must [operate]
|
|
47
|
+
**Example**: WHILE When the user is authenticated, the system must allow access to protected resources
|
|
48
|
+
|
|
49
|
+
### 4. Optional (Optional function)
|
|
50
|
+
**Format**: If WHERE [condition], the system can [operate]
|
|
51
|
+
**Example**: If WHERE refresh token is provided, the system can issue a new access token
|
|
52
|
+
|
|
53
|
+
### 5. Constraints
|
|
54
|
+
**Format**: IF [condition], the system SHOULD [constrain]
|
|
55
|
+
**Example**: IF an invalid token is provided, the system SHOULD deny access
|
|
56
|
+
|
|
57
|
+
## Writing Tips
|
|
58
|
+
|
|
59
|
+
✅ Be specific and measurable
|
|
60
|
+
✅ Avoid vague terms (“adequate”, “sufficient”, “fast”)
|
|
61
|
+
✅ One requirement per statement
|
|
62
|
+
✅ Make it testable
|
|
63
|
+
|
|
64
|
+
## Best Practices
|
|
65
|
+
- The text shown to the user is written using TUI/report expressions.
|
|
66
|
+
- When running the tool, a summary of commands and results are recorded.
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
```markdown
|
|
70
|
+
- Call this skill inside the /alfred command to generate a report.
|
|
71
|
+
- Add summary to Completion Report.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Inputs
|
|
75
|
+
- MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
|
|
76
|
+
- Parameters passed from user commands or higher commands.
|
|
77
|
+
|
|
78
|
+
## Outputs
|
|
79
|
+
- Reports, checklists or recommendations for your Alfred workflow.
|
|
80
|
+
- Structured data for subsequent subagent calls.
|
|
81
|
+
|
|
82
|
+
## Failure Modes
|
|
83
|
+
- When required input documents are missing or permissions are limited.
|
|
84
|
+
- When disruptive changes are required without user approval.
|
|
85
|
+
|
|
86
|
+
## Dependencies
|
|
87
|
+
- Cooperation with higher-level agents such as cc-manager and project-manager is required.
|
|
88
|
+
|
|
89
|
+
## References
|
|
90
|
+
- Mavin, A., et al. "Easy Approach to Requirements Syntax (EARS)." IEEE RE, 2009.
|
|
91
|
+
- INCOSE. "Guide for Writing Requirements." INCOSE-TP-2010-006-02 (accessed 2025-03-29).
|
|
92
|
+
|
|
93
|
+
## Changelog
|
|
94
|
+
- 2025-03-29: Added input/output/failure response to Alfred-specific skills.
|
|
95
|
+
|
|
96
|
+
## Works well with
|
|
97
|
+
|
|
98
|
+
- alfred-spec-metadata-validation
|
|
99
|
+
- alfred-trust-validation
|
|
100
|
+
|
|
101
|
+
## Reference
|
|
102
|
+
|
|
103
|
+
`.moai/memory/development-guide.md#ears-requirements-how-to`
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: moai-alfred-git-workflow
|
|
4
|
+
description: Automates Git operations with MoAI-ADK conventions (feature branch, locale-based TDD commits, Draft PR, PR Ready transition). Use when orchestrating GitFlow checkpoints, commits, or PR transitions.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- TodoWrite
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Alfred Git Workflow
|
|
14
|
+
|
|
15
|
+
## Skill Metadata
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| ----- | ----- |
|
|
18
|
+
| Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
|
|
19
|
+
| Auto-load | /alfred:2-run Git automation |
|
|
20
|
+
| Trigger cues | Branch provisioning, commit batching, draft PR preparation within Alfred flows. |
|
|
21
|
+
|
|
22
|
+
## What it does
|
|
23
|
+
|
|
24
|
+
Automates Git operations following MoAI-ADK conventions: branch creation, locale-based TDD commits, Draft PR creation, and PR Ready transition.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- Activates when Alfred must manage branches, commits, or PR transitions.
|
|
29
|
+
- “Create branch”, “Create PR”, “Create commit”
|
|
30
|
+
- Automatically invoked by `/alfred:1-plan`, `/alfred:2-run`, `/alfred:3-sync`
|
|
31
|
+
- Git workflow automation needed
|
|
32
|
+
|
|
33
|
+
## How it works
|
|
34
|
+
|
|
35
|
+
**1. Branch Creation**:
|
|
36
|
+
```bash
|
|
37
|
+
git checkout develop
|
|
38
|
+
git checkout -b feature/SPEC-AUTH-001
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**2. Locale-based TDD Commits**:
|
|
42
|
+
- **Korean (ko)**: 🔴 RED: [Test Description]
|
|
43
|
+
- **English (en)**: 🔴 RED: [Test description]
|
|
44
|
+
- **Japanese (ja)**: 🔴 RED: [テスト説明]
|
|
45
|
+
- **Chinese (zh)**: 🔴 RED: [测试说明]
|
|
46
|
+
|
|
47
|
+
Configured via `.moai/config.json`:
|
|
48
|
+
```json
|
|
49
|
+
{"project": {"locale": "ko"}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**3. Draft PR Creation**:
|
|
53
|
+
Creates Draft PR with SPEC reference and test checklist.
|
|
54
|
+
|
|
55
|
+
**4. PR Ready Transition** (via `/alfred:3-sync`):
|
|
56
|
+
- Updates PR from Draft → Ready
|
|
57
|
+
- Adds quality gate checklist
|
|
58
|
+
- Verifies TRUST 5-principles
|
|
59
|
+
|
|
60
|
+
## Best Practices
|
|
61
|
+
- The text shown to the user is written using TUI/report expressions.
|
|
62
|
+
- When running the tool, a summary of commands and results are recorded.
|
|
63
|
+
|
|
64
|
+
## Examples
|
|
65
|
+
```markdown
|
|
66
|
+
- Call this skill inside the /alfred command to generate a report.
|
|
67
|
+
- Add summary to Completion Report.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Inputs
|
|
71
|
+
- MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
|
|
72
|
+
- Parameters passed from user commands or higher commands.
|
|
73
|
+
|
|
74
|
+
## Outputs
|
|
75
|
+
- Reports, checklists or recommendations for your Alfred workflow.
|
|
76
|
+
- Structured data for subsequent subagent calls.
|
|
77
|
+
|
|
78
|
+
## Failure Modes
|
|
79
|
+
- When required input documents are missing or permissions are limited.
|
|
80
|
+
- When disruptive changes are required without user approval.
|
|
81
|
+
|
|
82
|
+
## Dependencies
|
|
83
|
+
- Cooperation with higher-level agents such as cc-manager and project-manager is required.
|
|
84
|
+
|
|
85
|
+
## References
|
|
86
|
+
- Vincent Driessen. "A successful Git branching model." https://nvie.com/posts/a-successful-git-branching-model/ (accessed 2025-03-29).
|
|
87
|
+
- GitHub Docs. "GitHub Flow." https://docs.github.com/en/get-started/using-github/github-flow (accessed 2025-03-29).
|
|
88
|
+
|
|
89
|
+
## Changelog
|
|
90
|
+
- 2025-03-29: Added input/output/failure response to Alfred-specific skills.
|
|
91
|
+
|
|
92
|
+
## Works well with
|
|
93
|
+
|
|
94
|
+
- alfred-ears-authoring (SPEC ID-based branch naming)
|
|
95
|
+
- alfred-trust-validation (PR Ready quality check)
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: moai-alfred-language-detection
|
|
4
|
+
description: Detects the project’s primary language/runtime and recommends default testing tooling when initializing or planning workflows. Use when sizing up the project language and default tooling.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- TodoWrite
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Alfred Language Detection
|
|
14
|
+
|
|
15
|
+
## Skill Metadata
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| ----- | ----- |
|
|
18
|
+
| Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
|
|
19
|
+
| Auto-load | /alfred:0-project bootstrap |
|
|
20
|
+
| Trigger cues | Repository language probing, framework detection, tooling recommendation via Alfred. |
|
|
21
|
+
|
|
22
|
+
## What it does
|
|
23
|
+
|
|
24
|
+
Automatically detects project's primary language and framework by scanning configuration files, then recommends appropriate testing tools and linters.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- Activates when Alfred needs to detect project languages or recommend toolchains.
|
|
29
|
+
- "Detect language", "Check project language", "Recommend testing tools"
|
|
30
|
+
- Automatically invoked by `/alfred:0-project`, `/alfred:2-run`
|
|
31
|
+
- Setting up new project
|
|
32
|
+
|
|
33
|
+
## How it works
|
|
34
|
+
|
|
35
|
+
**Configuration File Scanning**:
|
|
36
|
+
- `package.json` → TypeScript/JavaScript (Jest/Vitest, ESLint/Biome)
|
|
37
|
+
- `pyproject.toml` → Python (pytest, ruff, black)
|
|
38
|
+
- `Cargo.toml` → Rust (cargo test, clippy, rustfmt)
|
|
39
|
+
- `go.mod` → Go (go test, golint, gofmt)
|
|
40
|
+
- `Gemfile` → Ruby (RSpec, RuboCop)
|
|
41
|
+
- `pubspec.yaml` → Dart/Flutter (flutter test, dart analyze)
|
|
42
|
+
- `build.gradle` → Java/Kotlin (JUnit, Checkstyle)
|
|
43
|
+
- `Package.swift` → Swift (XCTest, SwiftLint)
|
|
44
|
+
|
|
45
|
+
**Toolchain Recommendation**:
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"language": "Python",
|
|
49
|
+
"test_framework": "pytest",
|
|
50
|
+
"linter": "ruff",
|
|
51
|
+
"formatter": "black",
|
|
52
|
+
"type_checker": "mypy",
|
|
53
|
+
"package_manager": "uv"
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Framework Detection**:
|
|
58
|
+
- **Python**: FastAPI, Django, Flask
|
|
59
|
+
- **TypeScript**: React, Next.js, Vue
|
|
60
|
+
- **Java**: Spring Boot, Quarkus
|
|
61
|
+
|
|
62
|
+
**Supported Languages**: Python, TypeScript, Java, Go, Rust, Ruby, Dart, Swift, Kotlin, PHP, C#, C++, Elixir, Scala, Clojure (20+ languages)
|
|
63
|
+
|
|
64
|
+
## Best Practices
|
|
65
|
+
- The text shown to the user is written using TUI/report expressions.
|
|
66
|
+
- When running the tool, a summary of commands and results are recorded.
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
```markdown
|
|
70
|
+
- Call this skill inside the /alfred command to generate a report.
|
|
71
|
+
- Add summary to Completion Report.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Inputs
|
|
75
|
+
- MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
|
|
76
|
+
- Parameters passed from user commands or higher commands.
|
|
77
|
+
|
|
78
|
+
## Outputs
|
|
79
|
+
- Reports, checklists or recommendations for your Alfred workflow.
|
|
80
|
+
- Structured data for subsequent subagent calls.
|
|
81
|
+
|
|
82
|
+
## Failure Modes
|
|
83
|
+
- When required input documents are missing or permissions are limited.
|
|
84
|
+
- When disruptive changes are required without user approval.
|
|
85
|
+
|
|
86
|
+
## Dependencies
|
|
87
|
+
- Cooperation with higher-level agents such as cc-manager and project-manager is required.
|
|
88
|
+
|
|
89
|
+
## References
|
|
90
|
+
- GitHub Linguist. "Programmatic language detection." https://github.com/github-linguist/linguist (accessed 2025-03-29).
|
|
91
|
+
- JetBrains. "Project language insights." https://www.jetbrains.com/help/idea/project-tool-window.html (accessed 2025-03-29).
|
|
92
|
+
|
|
93
|
+
## Changelog
|
|
94
|
+
- 2025-03-29: Added input/output/failure response to Alfred-specific skills.
|
|
95
|
+
|
|
96
|
+
## Works well with
|
|
97
|
+
|
|
98
|
+
- alfred-trust-validation (language-specific tool verification)
|
|
99
|
+
- alfred-code-reviewer (language-specific review criteria)
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: moai-alfred-performance-optimizer
|
|
4
|
+
description: Performance analysis and optimization suggestions with profiling, bottleneck detection, and language-specific optimizations. Use when planning performance improvements or regressions checks.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- TodoWrite
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Alfred Performance Optimizer
|
|
14
|
+
|
|
15
|
+
## Skill Metadata
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| ----- | ----- |
|
|
18
|
+
| Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
|
|
19
|
+
| Auto-load | /alfred:2-run performance lane |
|
|
20
|
+
| Trigger cues | Performance regressions surfaced in Alfred workflows, profiling or tuning requests. |
|
|
21
|
+
|
|
22
|
+
## What it does
|
|
23
|
+
|
|
24
|
+
Performance analysis and optimization with profiling tools, bottleneck detection, and language-specific optimization techniques.
|
|
25
|
+
|
|
26
|
+
## When to use
|
|
27
|
+
|
|
28
|
+
- Activates when Alfred must diagnose or remediate performance bottlenecks.
|
|
29
|
+
- “Improve performance”, “Find slow parts”, “How to optimize?”
|
|
30
|
+
- “Profiling”, “Bottleneck”, “Memory leak”
|
|
31
|
+
|
|
32
|
+
## How it works
|
|
33
|
+
|
|
34
|
+
**Profiling Tools**:
|
|
35
|
+
- **Python**: cProfile, memory_profiler
|
|
36
|
+
- **TypeScript**: Chrome DevTools, clinic.js
|
|
37
|
+
- **Java**: JProfiler, VisualVM
|
|
38
|
+
- **Go**: pprof
|
|
39
|
+
- **Rust**: flamegraph, criterion
|
|
40
|
+
|
|
41
|
+
**Common Performance Issues**:
|
|
42
|
+
- **N+1 Query Problem**: Use eager loading/joins
|
|
43
|
+
- **Inefficient Loop**: O(n²) → O(n) with Set/Map
|
|
44
|
+
- **Memory Leak**: Remove event listeners, close connections
|
|
45
|
+
|
|
46
|
+
**Optimization Checklist**:
|
|
47
|
+
- [ ] Current performance benchmark
|
|
48
|
+
- [ ] Bottleneck identification
|
|
49
|
+
- [ ] Profiling data collected
|
|
50
|
+
- [ ] Algorithm complexity improved (O(n²) → O(n))
|
|
51
|
+
- [ ] Unnecessary operations removed
|
|
52
|
+
- [ ] Caching applied
|
|
53
|
+
- [ ] Async processing introduced
|
|
54
|
+
- [ ] Post-optimization benchmark
|
|
55
|
+
- [ ] Side effects checked
|
|
56
|
+
|
|
57
|
+
**Language-specific Optimizations**:
|
|
58
|
+
- **Python**: List comprehension, generators, @lru_cache
|
|
59
|
+
- **TypeScript**: Memoization, lazy loading, code splitting
|
|
60
|
+
- **Java**: Stream API, parallel processing
|
|
61
|
+
- **Go**: Goroutines, buffered channels
|
|
62
|
+
- **Rust**: Zero-cost abstractions, borrowing
|
|
63
|
+
|
|
64
|
+
**Performance Targets**:
|
|
65
|
+
- API response time: <200ms (P95)
|
|
66
|
+
- Page load time: <2s
|
|
67
|
+
- Memory usage: <512MB
|
|
68
|
+
- CPU usage: <70%
|
|
69
|
+
|
|
70
|
+
## Best Practices
|
|
71
|
+
- The text shown to the user is written using TUI/report expressions.
|
|
72
|
+
- When running the tool, a summary of commands and results are recorded.
|
|
73
|
+
|
|
74
|
+
## Examples
|
|
75
|
+
```markdown
|
|
76
|
+
- Call this skill inside the /alfred command to generate a report.
|
|
77
|
+
- Add summary to Completion Report.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Inputs
|
|
81
|
+
- MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
|
|
82
|
+
- Parameters passed from user commands or higher commands.
|
|
83
|
+
|
|
84
|
+
## Outputs
|
|
85
|
+
- Reports, checklists or recommendations for your Alfred workflow.
|
|
86
|
+
- Structured data for subsequent subagent calls.
|
|
87
|
+
|
|
88
|
+
## Failure Modes
|
|
89
|
+
- When required input documents are missing or permissions are limited.
|
|
90
|
+
- When disruptive changes are required without user approval.
|
|
91
|
+
|
|
92
|
+
## Dependencies
|
|
93
|
+
- Cooperation with higher-level agents such as cc-manager and project-manager is required.
|
|
94
|
+
|
|
95
|
+
## References
|
|
96
|
+
- Google SRE. "The Four Golden Signals." https://sre.google/sre-book/monitoring-distributed-systems/ (accessed 2025-03-29).
|
|
97
|
+
- Dynatrace. "Application Performance Monitoring Best Practices." https://www.dynatrace.com/resources/ebooks/ (accessed 2025-03-29).
|
|
98
|
+
|
|
99
|
+
## Changelog
|
|
100
|
+
- 2025-03-29: Added input/output/failure response to Alfred-specific skills.
|
|
101
|
+
|
|
102
|
+
## Works well with
|
|
103
|
+
|
|
104
|
+
- alfred-code-reviewer
|
|
105
|
+
- alfred-debugger-pro
|