moai-adk 0.6.3__py3-none-any.whl → 0.8.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.
- moai_adk/core/config/__init__.py +13 -0
- moai_adk/core/config/migration.py +113 -0
- moai_adk/core/project/phase_executor.py +8 -3
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +1 -1
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +2 -2
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +2 -2
- moai_adk/templates/.claude/agents/alfred/git-manager.md +2 -2
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +2 -2
- moai_adk/templates/.claude/agents/alfred/project-manager.md +6 -6
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +2 -2
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +7 -7
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +2 -2
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +2 -2
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +2 -2
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +2 -2
- moai_adk/templates/.claude/commands/alfred/0-project.md +54 -37
- moai_adk/templates/.claude/commands/alfred/1-plan.md +104 -16
- moai_adk/templates/.claude/commands/alfred/2-run.md +28 -16
- moai_adk/templates/.claude/commands/alfred/3-sync.md +38 -21
- moai_adk/templates/.claude/hooks/alfred/core/project.py +145 -13
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +90 -20
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +1 -1
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +1 -1
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +1 -1
- moai_adk/templates/.moai/config.json +4 -0
- moai_adk/templates/CLAUDE.md +67 -1
- {moai_adk-0.6.3.dist-info → moai_adk-0.8.0.dist-info}/METADATA +1 -1
- {moai_adk-0.6.3.dist-info → moai_adk-0.8.0.dist-info}/RECORD +31 -29
- {moai_adk-0.6.3.dist-info → moai_adk-0.8.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.6.3.dist-info → moai_adk-0.8.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.6.3.dist-info → moai_adk-0.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -6,14 +6,16 @@ SessionStart, SessionEnd event handling
|
|
|
6
6
|
|
|
7
7
|
from core import HookPayload, HookResult
|
|
8
8
|
from core.checkpoint import list_checkpoints
|
|
9
|
-
from core.project import count_specs, detect_language, get_git_info
|
|
9
|
+
from core.project import count_specs, detect_language, get_git_info, get_package_version_info
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def handle_session_start(payload: HookPayload) -> HookResult:
|
|
13
|
-
"""SessionStart event handler
|
|
13
|
+
"""SessionStart event handler with GRACEFUL DEGRADATION
|
|
14
14
|
|
|
15
15
|
When Claude Code Session starts, it displays a summary of project status.
|
|
16
16
|
You can check the language, Git status, SPEC progress, and checkpoint list at a glance.
|
|
17
|
+
All optional operations are wrapped in try-except to ensure hook completes quickly even if
|
|
18
|
+
Git commands, file I/O, or other operations timeout or fail.
|
|
17
19
|
|
|
18
20
|
Args:
|
|
19
21
|
payload: Claude Code event payload (cwd key required)
|
|
@@ -24,15 +26,23 @@ def handle_session_start(payload: HookPayload) -> HookResult:
|
|
|
24
26
|
Message Format:
|
|
25
27
|
🚀 MoAI-ADK Session Started
|
|
26
28
|
Language: {language}
|
|
27
|
-
Branch: {branch} ({commit hash})
|
|
28
|
-
Changes: {Number of Changed Files}
|
|
29
|
-
SPEC Progress: {Complete}/{Total} ({percent}%)
|
|
30
|
-
Checkpoints: {number} available
|
|
29
|
+
[Branch: {branch} ({commit hash})] - optional if git fails
|
|
30
|
+
[Changes: {Number of Changed Files}] - optional if git fails
|
|
31
|
+
[SPEC Progress: {Complete}/{Total} ({percent}%)] - optional if specs fail
|
|
32
|
+
[Checkpoints: {number} available] - optional if checkpoint list fails
|
|
33
|
+
|
|
34
|
+
Graceful Degradation Strategy:
|
|
35
|
+
- CRITICAL: Language detection (must succeed - no try-except)
|
|
36
|
+
- OPTIONAL: Git info (skip if timeout/failure)
|
|
37
|
+
- OPTIONAL: SPEC progress (skip if timeout/failure)
|
|
38
|
+
- OPTIONAL: Checkpoint list (skip if timeout/failure)
|
|
39
|
+
- Always display SOMETHING to user, never return empty message
|
|
31
40
|
|
|
32
41
|
Note:
|
|
33
42
|
- Claude Code processes SessionStart in several stages (clear → compact)
|
|
34
43
|
- Display message only at "compact" stage to prevent duplicate output
|
|
35
44
|
- "clear" step returns minimal result (empty hookSpecificOutput)
|
|
45
|
+
- CRITICAL: All optional operations must complete within 2-3 seconds total
|
|
36
46
|
|
|
37
47
|
TDD History:
|
|
38
48
|
- RED: Session startup message format test
|
|
@@ -40,8 +50,10 @@ def handle_session_start(payload: HookPayload) -> HookResult:
|
|
|
40
50
|
- REFACTOR: Improved message format, improved readability, added checkpoint list
|
|
41
51
|
- FIX: Prevent duplicate output of clear step (only compact step is displayed)
|
|
42
52
|
- UPDATE: Migrated to Claude Code standard Hook schema
|
|
53
|
+
- HOTFIX: Add graceful degradation for timeout scenarios (Issue #66)
|
|
43
54
|
|
|
44
55
|
@TAG:CHECKPOINT-EVENT-001
|
|
56
|
+
@TAG:HOOKS-TIMEOUT-001
|
|
45
57
|
"""
|
|
46
58
|
# Claude Code SessionStart runs in several stages (clear, compact, etc.)
|
|
47
59
|
# Ignore the "clear" stage and output messages only at the "compact" stage
|
|
@@ -51,32 +63,90 @@ def handle_session_start(payload: HookPayload) -> HookResult:
|
|
|
51
63
|
return HookResult(continue_execution=True)
|
|
52
64
|
|
|
53
65
|
cwd = payload.get("cwd", ".")
|
|
66
|
+
|
|
67
|
+
# CRITICAL: Language detection - MUST succeed (no try-except)
|
|
54
68
|
language = detect_language(cwd)
|
|
55
|
-
git_info = get_git_info(cwd)
|
|
56
|
-
specs = count_specs(cwd)
|
|
57
|
-
checkpoints = list_checkpoints(cwd, max_count=10)
|
|
58
69
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
# OPTIONAL: Git info - skip if timeout/failure
|
|
71
|
+
git_info = {}
|
|
72
|
+
try:
|
|
73
|
+
git_info = get_git_info(cwd)
|
|
74
|
+
except Exception:
|
|
75
|
+
# Graceful degradation - continue without git info
|
|
76
|
+
pass
|
|
77
|
+
|
|
78
|
+
# OPTIONAL: SPEC progress - skip if timeout/failure
|
|
79
|
+
specs = {"completed": 0, "total": 0, "percentage": 0}
|
|
80
|
+
try:
|
|
81
|
+
specs = count_specs(cwd)
|
|
82
|
+
except Exception:
|
|
83
|
+
# Graceful degradation - continue without spec info
|
|
84
|
+
pass
|
|
85
|
+
|
|
86
|
+
# OPTIONAL: Checkpoint list - skip if timeout/failure
|
|
87
|
+
checkpoints = []
|
|
88
|
+
try:
|
|
89
|
+
checkpoints = list_checkpoints(cwd, max_count=10)
|
|
90
|
+
except Exception:
|
|
91
|
+
# Graceful degradation - continue without checkpoints
|
|
92
|
+
pass
|
|
93
|
+
|
|
94
|
+
# OPTIONAL: Package version info - skip if timeout/failure
|
|
95
|
+
version_info = {}
|
|
96
|
+
try:
|
|
97
|
+
version_info = get_package_version_info()
|
|
98
|
+
except Exception:
|
|
99
|
+
# Graceful degradation - continue without version info
|
|
100
|
+
pass
|
|
101
|
+
|
|
102
|
+
# Build message with available information
|
|
103
|
+
branch = git_info.get("branch", "N/A") if git_info else "N/A"
|
|
104
|
+
commit = git_info.get("commit", "N/A")[:7] if git_info else "N/A"
|
|
105
|
+
changes = git_info.get("changes", 0) if git_info else 0
|
|
106
|
+
spec_progress = f"{specs['completed']}/{specs['total']}" if specs["total"] > 0 else "0/0"
|
|
63
107
|
|
|
64
108
|
# system_message: displayed directly to the user
|
|
65
109
|
lines = [
|
|
66
110
|
"🚀 MoAI-ADK Session Started",
|
|
67
|
-
|
|
68
|
-
f" Branch: {branch} ({commit})",
|
|
69
|
-
f" Changes: {changes}",
|
|
70
|
-
f" SPEC Progress: {spec_progress} ({specs['percentage']}%)",
|
|
111
|
+
"", # Blank line after title
|
|
71
112
|
]
|
|
72
113
|
|
|
114
|
+
# Add version info first (at the top, right after title)
|
|
115
|
+
if version_info and version_info.get("current") != "unknown":
|
|
116
|
+
version_line = f" 🗿 MoAI-ADK Ver: {version_info['current']}"
|
|
117
|
+
if version_info.get("update_available"):
|
|
118
|
+
version_line += f" → {version_info['latest']} available ✨"
|
|
119
|
+
lines.append(version_line)
|
|
120
|
+
|
|
121
|
+
# Add upgrade recommendation if update is available
|
|
122
|
+
if version_info.get("update_available") and version_info.get("upgrade_command"):
|
|
123
|
+
lines.append(f" ⬆️ Upgrade: {version_info['upgrade_command']}")
|
|
124
|
+
|
|
125
|
+
# Add language info
|
|
126
|
+
lines.append(f" 🐍 Language: {language}")
|
|
127
|
+
|
|
128
|
+
# Add Git info only if available (not degraded)
|
|
129
|
+
if git_info:
|
|
130
|
+
lines.append(f" 🌿 Branch: {branch} ({commit})")
|
|
131
|
+
lines.append(f" 📝 Changes: {changes}")
|
|
132
|
+
|
|
133
|
+
# Add last commit message if available
|
|
134
|
+
last_commit = git_info.get("last_commit", "")
|
|
135
|
+
if last_commit:
|
|
136
|
+
lines.append(f" 🔨 Last: {last_commit}")
|
|
137
|
+
|
|
73
138
|
# Add Checkpoint list (show only the latest 3 items)
|
|
74
139
|
if checkpoints:
|
|
75
|
-
lines.append(f" Checkpoints: {len(checkpoints)} available")
|
|
140
|
+
lines.append(f" 🗂️ Checkpoints: {len(checkpoints)} available")
|
|
76
141
|
for cp in reversed(checkpoints[-3:]): # Latest 3 items
|
|
77
142
|
branch_short = cp["branch"].replace("before-", "")
|
|
78
|
-
lines.append(f"
|
|
79
|
-
lines.append("
|
|
143
|
+
lines.append(f" 📌 {branch_short}")
|
|
144
|
+
lines.append("") # Blank line before restore command
|
|
145
|
+
lines.append(" ↩️ Restore: /alfred:0-project restore")
|
|
146
|
+
|
|
147
|
+
# Add SPEC progress only if available (not degraded) - at the bottom
|
|
148
|
+
if specs["total"] > 0:
|
|
149
|
+
lines.append(f" 📋 SPEC Progress: {spec_progress} ({specs['percentage']}%)")
|
|
80
150
|
|
|
81
151
|
system_message = "\n".join(lines)
|
|
82
152
|
|
|
@@ -8,7 +8,7 @@ description: "Agent-based coding mode that integrates hands-on development and c
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Agentic Coding
|
|
11
|
-
> Interactive prompts rely on `
|
|
11
|
+
> Interactive prompts rely on `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
|
|
12
12
|
|
|
13
13
|
**Audience**: Professional developers, team leaders, architects
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@ description: "Learning mode to easily learn MoAI-ADK concepts and workflow"
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MoAI ADK Learning
|
|
11
|
-
> Interactive prompts rely on `
|
|
11
|
+
> Interactive prompts rely on `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
|
|
12
12
|
|
|
13
13
|
**Audience**: Developers new to MoAI-ADK
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@ description: "Learning mode to easily learn new skills with Alfred"
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Study with Alfred
|
|
11
|
-
> Interactive prompts rely on `
|
|
11
|
+
> Interactive prompts rely on `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
|
|
12
12
|
|
|
13
13
|
**Audience**: Developers looking to learn new technologies/languages/frameworks
|
|
14
14
|
|
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
],
|
|
56
56
|
"current_stage": "initialized"
|
|
57
57
|
},
|
|
58
|
+
"language": {
|
|
59
|
+
"conversation_language": "{{CONVERSATION_LANGUAGE}}",
|
|
60
|
+
"conversation_language_name": "{{CONVERSATION_LANGUAGE_NAME}}"
|
|
61
|
+
},
|
|
58
62
|
"project": {
|
|
59
63
|
"name": "{{PROJECT_NAME}}",
|
|
60
64
|
"description": "{{PROJECT_DESCRIPTION}}",
|
moai_adk/templates/CLAUDE.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
> **Project Owner**: {{PROJECT_OWNER}}
|
|
7
7
|
> **Config**: `.moai/config.json`
|
|
8
8
|
>
|
|
9
|
-
>
|
|
9
|
+
> **Note**: `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` provides TUI-based responses when user interaction is needed. The skill loads on-demand.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -213,6 +213,72 @@ Combine layers when necessary: a command triggers sub-agents, sub-agents activat
|
|
|
213
213
|
|
|
214
214
|
---
|
|
215
215
|
|
|
216
|
+
## ⚡ Alfred Command Completion Pattern
|
|
217
|
+
|
|
218
|
+
**CRITICAL RULE**: When any Alfred command (`/alfred:0-project`, `/alfred:1-plan`, `/alfred:2-run`, `/alfred:3-sync`) completes, **ALWAYS use `AskUserQuestion` tool** to ask the user what to do next.
|
|
219
|
+
|
|
220
|
+
### Pattern for Each Command
|
|
221
|
+
|
|
222
|
+
#### `/alfred:0-project` Completion
|
|
223
|
+
```
|
|
224
|
+
After project initialization completes:
|
|
225
|
+
├─ Use AskUserQuestion to ask:
|
|
226
|
+
│ ├─ Option 1: Proceed to /alfred:1-plan (plan specifications)
|
|
227
|
+
│ ├─ Option 2: Start new session with /clear
|
|
228
|
+
│ └─ Option 3: Review project structure
|
|
229
|
+
└─ DO NOT suggest multiple next steps in prose - use AskUserQuestion only
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### `/alfred:1-plan` Completion
|
|
233
|
+
```
|
|
234
|
+
After planning completes:
|
|
235
|
+
├─ Use AskUserQuestion to ask:
|
|
236
|
+
│ ├─ Option 1: Proceed to /alfred:2-run (implement SPEC)
|
|
237
|
+
│ ├─ Option 2: Revise SPEC before implementation
|
|
238
|
+
│ └─ Option 3: Start new session with /clear
|
|
239
|
+
└─ DO NOT suggest multiple next steps in prose - use AskUserQuestion only
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
#### `/alfred:2-run` Completion
|
|
243
|
+
```
|
|
244
|
+
After implementation completes:
|
|
245
|
+
├─ Use AskUserQuestion to ask:
|
|
246
|
+
│ ├─ Option 1: Proceed to /alfred:3-sync (synchronize docs)
|
|
247
|
+
│ ├─ Option 2: Run additional tests/validation
|
|
248
|
+
│ └─ Option 3: Start new session with /clear
|
|
249
|
+
└─ DO NOT suggest multiple next steps in prose - use AskUserQuestion only
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
#### `/alfred:3-sync` Completion
|
|
253
|
+
```
|
|
254
|
+
After sync completes:
|
|
255
|
+
├─ Use AskUserQuestion to ask:
|
|
256
|
+
│ ├─ Option 1: Return to /alfred:1-plan (next feature)
|
|
257
|
+
│ ├─ Option 2: Merge PR to main
|
|
258
|
+
│ └─ Option 3: Complete session
|
|
259
|
+
└─ DO NOT suggest multiple next steps in prose - use AskUserQuestion only
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Implementation Rules
|
|
263
|
+
|
|
264
|
+
1. **Always use AskUserQuestion** - Never suggest next steps in prose (e.g., "You can now run `/alfred:1-plan`...")
|
|
265
|
+
2. **Provide 3-4 clear options** - Not open-ended or free-form
|
|
266
|
+
3. **Language**: Present options in user's `conversation_language` (Korean, Japanese, etc.)
|
|
267
|
+
4. **Question format**: Use the `moai-alfred-interactive-questions` skill documentation as reference (don't invoke Skill())
|
|
268
|
+
|
|
269
|
+
### Example (Correct Pattern)
|
|
270
|
+
```markdown
|
|
271
|
+
# CORRECT ✅
|
|
272
|
+
After project setup, use AskUserQuestion tool to ask:
|
|
273
|
+
- "프로젝트 초기화가 완료되었습니다. 다음으로 뭘 하시겠습니까?"
|
|
274
|
+
- Options: 1) 스펙 작성 진행 2) 프로젝트 구조 검토 3) 새 세션 시작
|
|
275
|
+
|
|
276
|
+
# INCORRECT ❌
|
|
277
|
+
Your project is ready. You can now run `/alfred:1-plan` to start planning specs...
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
216
282
|
## Project Information
|
|
217
283
|
|
|
218
284
|
- **Name**: MoAI-ADK
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: moai-adk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.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
|
|
@@ -11,6 +11,8 @@ moai_adk/cli/commands/update.py,sha256=iwDDD_ozCfkGUk1ci2CPfybzRtNFPMi-680NxmKhD
|
|
|
11
11
|
moai_adk/cli/prompts/__init__.py,sha256=a4_ctS4KEvGtmM9j7z8XIlMkpftohjVb9woUwZu38gE,136
|
|
12
12
|
moai_adk/cli/prompts/init_prompts.py,sha256=OZ_T-b4XfkyXQsKXTwLcDYwmLbaf0k5oZfbi_asTH9M,5226
|
|
13
13
|
moai_adk/core/__init__.py,sha256=1sJO-PHEKF1NmYjeOPPPzn_HRgYln3CKlCpUH4E2Jrs,129
|
|
14
|
+
moai_adk/core/config/__init__.py,sha256=30Qx-GSN1LLI_9ngNqQ6A6d40J92xK10AQxhKw1-MzU,328
|
|
15
|
+
moai_adk/core/config/migration.py,sha256=KzFGx3kPNoOaZCmAQvNpvlrQq48N3Gj6o2COVV7jciA,3541
|
|
14
16
|
moai_adk/core/diagnostics/__init__.py,sha256=aF-qC2CW0wxZDpxnlh-TILYs3kqwOIj2EjXYEXY-2j8,387
|
|
15
17
|
moai_adk/core/diagnostics/slash_commands.py,sha256=cEH96M5RLxa1JLyoeoRqziBMzAbnN30j04YjNjxM7Ro,4682
|
|
16
18
|
moai_adk/core/git/__init__.py,sha256=Kpq2yU5X5bBBUV8ySYIB1_vMPvfdFS6hTYx2Ue-CoeQ,697
|
|
@@ -25,7 +27,7 @@ moai_adk/core/project/backup_utils.py,sha256=-zEXIhGsM-MdX1voUIpKxLlR57Y-lqLEZSi
|
|
|
25
27
|
moai_adk/core/project/checker.py,sha256=B94mGLHDZkjQnFDgV8sknJDms5oIiHeyKcgxWI87-f8,9523
|
|
26
28
|
moai_adk/core/project/detector.py,sha256=ADVg36yvyqJEPQVNc_x9iInF9dzi7YZqqXfDq2XL17Q,4230
|
|
27
29
|
moai_adk/core/project/initializer.py,sha256=yqxePuCO2ednzCOpDZLczyCP079J6Io4pvtynTp4J6w,6724
|
|
28
|
-
moai_adk/core/project/phase_executor.py,sha256=
|
|
30
|
+
moai_adk/core/project/phase_executor.py,sha256=xd7wREmZPjNDO-sHv5CDLjPS8NsmhvQ-qv2m9AVQ9QY,10998
|
|
29
31
|
moai_adk/core/project/validator.py,sha256=gH9ywTMQTwqtqBVrMWj5_bPYFrVzjHuFoU4QdeVa1O4,5756
|
|
30
32
|
moai_adk/core/quality/__init__.py,sha256=_uNsbThBLmVLWZCPmEgfFyQqJx3tdef9jhkP9QoHuJY,222
|
|
31
33
|
moai_adk/core/quality/trust_checker.py,sha256=CN067AiublAH46IBAKEV_I-8Wc0bNaR2dMnMf9n5oBg,15198
|
|
@@ -38,25 +40,25 @@ moai_adk/core/template/languages.py,sha256=V0wLcxCIOve9Q_0_NhrHGQevSIN_MB612GwrO
|
|
|
38
40
|
moai_adk/core/template/merger.py,sha256=ZV8_U1HZJ3bfAtgyNmSxgj8KdTMt4eUnUG6kVVRT7bE,6909
|
|
39
41
|
moai_adk/core/template/processor.py,sha256=_nYHiuN9PGzC3iE4X5SpRMFW-OTkI2u1dOAjD98axAk,19190
|
|
40
42
|
moai_adk/templates/.gitignore,sha256=6VNKResdDpyaii3cmJA4pOLwK2PhYARIWkUODYtKyxg,310
|
|
41
|
-
moai_adk/templates/CLAUDE.md,sha256=
|
|
43
|
+
moai_adk/templates/CLAUDE.md,sha256=SIuw1GLq5w6Mh1ejhnKQ8IlnJKjUs5FmSG8EkL4-N6w,13839
|
|
42
44
|
moai_adk/templates/__init__.py,sha256=6MV1gCB7PLZMiL4gaD_dZSKxtcQyo45MMTuN8fVdchA,104
|
|
43
45
|
moai_adk/templates/.claude/settings.json,sha256=SwjID_m0XWmHT12lqkhJXL1Sh30zAr9_tk4drQ9x9K8,3149
|
|
44
|
-
moai_adk/templates/.claude/agents/alfred/cc-manager.md,sha256=
|
|
45
|
-
moai_adk/templates/.claude/agents/alfred/debug-helper.md,sha256=
|
|
46
|
-
moai_adk/templates/.claude/agents/alfred/doc-syncer.md,sha256=
|
|
47
|
-
moai_adk/templates/.claude/agents/alfred/git-manager.md,sha256=
|
|
48
|
-
moai_adk/templates/.claude/agents/alfred/implementation-planner.md,sha256=
|
|
49
|
-
moai_adk/templates/.claude/agents/alfred/project-manager.md,sha256=
|
|
50
|
-
moai_adk/templates/.claude/agents/alfred/quality-gate.md,sha256=
|
|
51
|
-
moai_adk/templates/.claude/agents/alfred/skill-factory.md,sha256=
|
|
52
|
-
moai_adk/templates/.claude/agents/alfred/spec-builder.md,sha256=
|
|
53
|
-
moai_adk/templates/.claude/agents/alfred/tag-agent.md,sha256=
|
|
54
|
-
moai_adk/templates/.claude/agents/alfred/tdd-implementer.md,sha256=
|
|
55
|
-
moai_adk/templates/.claude/agents/alfred/trust-checker.md,sha256=
|
|
56
|
-
moai_adk/templates/.claude/commands/alfred/0-project.md,sha256
|
|
57
|
-
moai_adk/templates/.claude/commands/alfred/1-plan.md,sha256=
|
|
58
|
-
moai_adk/templates/.claude/commands/alfred/2-run.md,sha256=
|
|
59
|
-
moai_adk/templates/.claude/commands/alfred/3-sync.md,sha256=
|
|
46
|
+
moai_adk/templates/.claude/agents/alfred/cc-manager.md,sha256=ievRB2BMAXjQ6iepWTLTCIHR9Dc4_L-Ab-dqhKQDdxE,8382
|
|
47
|
+
moai_adk/templates/.claude/agents/alfred/debug-helper.md,sha256=C6jF54jsbI1y4xmb6s-MWVpuYISaFDQzY88M_HJhurw,7289
|
|
48
|
+
moai_adk/templates/.claude/agents/alfred/doc-syncer.md,sha256=iFP09SKUEMfb4OdMT3gMBakwHf0UvIaBfQHhb0YzdWo,8704
|
|
49
|
+
moai_adk/templates/.claude/agents/alfred/git-manager.md,sha256=t3iDdVgs0TZUQRHQS_F9GtLcAvnXWihM7t2oy_BPJBQ,14142
|
|
50
|
+
moai_adk/templates/.claude/agents/alfred/implementation-planner.md,sha256=Xysj1KinbZt-PTw0Sx1bGFlTCxBuQGFfTCNLdatjb8E,11613
|
|
51
|
+
moai_adk/templates/.claude/agents/alfred/project-manager.md,sha256=N-CaSiWnCdaJXWM3tZegMg4ispm-ioHKnuzmUdwQ2YE,15111
|
|
52
|
+
moai_adk/templates/.claude/agents/alfred/quality-gate.md,sha256=_OebbNOxpKmUAde1zmjjYL8UrniFnIp710xFd7EtuU0,10779
|
|
53
|
+
moai_adk/templates/.claude/agents/alfred/skill-factory.md,sha256=EUXtroq8qN22vAqyMxHgGLx7TVOe_in3quEB6K1HmS8,26467
|
|
54
|
+
moai_adk/templates/.claude/agents/alfred/spec-builder.md,sha256=xGUYsGXB40lBcvmlONIx3tK4iUOVNRFfPatCXNDJonE,12575
|
|
55
|
+
moai_adk/templates/.claude/agents/alfred/tag-agent.md,sha256=_ydlDocuxal89jGwpGIfQLfEbcCUDNoj8CDyDONRRYg,9679
|
|
56
|
+
moai_adk/templates/.claude/agents/alfred/tdd-implementer.md,sha256=qTDJotSnK1KSxe2j6Kpvx0qLYwmzu0e9lKHmD6PVwgc,10285
|
|
57
|
+
moai_adk/templates/.claude/agents/alfred/trust-checker.md,sha256=Vc5ReZjdl1FAifg_9qKt2MYWAdMHmq2psda-kyVhtVI,13663
|
|
58
|
+
moai_adk/templates/.claude/commands/alfred/0-project.md,sha256=Acx7045n1e6-GC1g6QDePVoI2tOGC_fZFvokgrvz_T8,46704
|
|
59
|
+
moai_adk/templates/.claude/commands/alfred/1-plan.md,sha256=wHROuePWaQwrbRm4SL4369vD7EpzKpVRvQBcWPcpUw0,25272
|
|
60
|
+
moai_adk/templates/.claude/commands/alfred/2-run.md,sha256=KTUuQQPheLr0YY79asbK0oH9ajlp8vDsQC_2c8BvzWY,20956
|
|
61
|
+
moai_adk/templates/.claude/commands/alfred/3-sync.md,sha256=WNlBzf5I_mDbdWhcITYE7oiHziHD1UQOG-HD12sqSwQ,23162
|
|
60
62
|
moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md,sha256=5dd6KRFQXzp0L8lAWKRN7Momgg_8XNV1QZ6VGs03_pc,9064
|
|
61
63
|
moai_adk/templates/.claude/hooks/alfred/README.md,sha256=8JirNg3Jn2OUFmHySYBd8QxQgPkG7kcev86Zkf80asY,6852
|
|
62
64
|
moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py,sha256=PjdyJluyoQgaIpq3n9K9r-a3VeLMH1eWcXaAA6ohvrw,7723
|
|
@@ -64,16 +66,16 @@ moai_adk/templates/.claude/hooks/alfred/test_hook_output.py,sha256=3pk-JBUPdSQZB
|
|
|
64
66
|
moai_adk/templates/.claude/hooks/alfred/core/__init__.py,sha256=nx_02kZDVFlKOgxBfFz3nqVrxMkmrkE0x7crJhdjl5E,6377
|
|
65
67
|
moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py,sha256=dsvFDSXQNSQlaQLpvhqFbytGOrOivyovi43Y18EmNeI,8483
|
|
66
68
|
moai_adk/templates/.claude/hooks/alfred/core/context.py,sha256=RQd6yk8OGT-twgYtUiNmJIL-UEt_h4oktxqiRP_wXAI,2103
|
|
67
|
-
moai_adk/templates/.claude/hooks/alfred/core/project.py,sha256=
|
|
69
|
+
moai_adk/templates/.claude/hooks/alfred/core/project.py,sha256=Jgm8BEJOtCywiO83k2rcoGtzFYPeTXHd5LcMsP2MVsI,14141
|
|
68
70
|
moai_adk/templates/.claude/hooks/alfred/core/tags.py,sha256=XcYYCS1VmCejp7Ga9xZ3hDfrWWsKM-WyPD_N5gY1q1w,6359
|
|
69
71
|
moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py,sha256=j5L7nayKt7tnFQOZuO5sWiie815vmbmYJOn2VRiidLY,569
|
|
70
72
|
moai_adk/templates/.claude/hooks/alfred/handlers/notification.py,sha256=8TcEqGlz4EpLf2lpouaIuhVbpKOVeY31KPmIq2snt9U,662
|
|
71
|
-
moai_adk/templates/.claude/hooks/alfred/handlers/session.py,sha256=
|
|
73
|
+
moai_adk/templates/.claude/hooks/alfred/handlers/session.py,sha256=gFrkTcBRQrDR0p5o79KvhN1LuGdmIVQyWg0fk1YD8l8,6397
|
|
72
74
|
moai_adk/templates/.claude/hooks/alfred/handlers/tool.py,sha256=0bNtAf2M7nupTAkcrEiZMBCmD2f-dLjjZa5p1CWiNyM,3383
|
|
73
75
|
moai_adk/templates/.claude/hooks/alfred/handlers/user.py,sha256=PyQI201oezWBzLrKo8ntWoRa9GDyVwLYktdu9vLT84s,1389
|
|
74
|
-
moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md,sha256=
|
|
75
|
-
moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md,sha256=
|
|
76
|
-
moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md,sha256=
|
|
76
|
+
moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md,sha256=xxqVTxNwBEQahaerqeFYDEAErPNLw_-W1orWXYLuwtU,19702
|
|
77
|
+
moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md,sha256=Et9BlQkja_jOIVp7NLBVxCGU7H0H-qoEe_9LNaVis3k,17583
|
|
78
|
+
moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md,sha256=XpIj9c4jqOOlZxn57Ujj8o7VIpAx_ftddwwd0fxIsio,12632
|
|
77
79
|
moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md,sha256=7g_jQgyK-E_ogg4Hk1ueNdn9bRappOSYSNnjd4JMIK8,2406
|
|
78
80
|
moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md,sha256=r5_lripZ45AeKpOcUSzmUl_DuioI18Xe84U05f1vDMI,403
|
|
79
81
|
moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md,sha256=Xw_hzLdsfN3zo7BUk2A-rQGohSM5btw6mh12yz1MbPE,339
|
|
@@ -255,7 +257,7 @@ moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md,sha256=q753rSPFZfylgwh6HkEP2
|
|
|
255
257
|
moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml,sha256=c6WaTy7Vh6IsNsIJzSTGuGpaGhZAZ1prQXGIUM7P8PA,5212
|
|
256
258
|
moai_adk/templates/.github/workflows/moai-gitflow.yml,sha256=D9ob1O7tzsUvk3WQPPaHFx1Oo6_RxnbCb5WHJ6DWyrI,8589
|
|
257
259
|
moai_adk/templates/.github/workflows/spec-issue-sync.yml,sha256=VJ0IQcIEnlnZ-3jdvQNruhBxpygYRZAP2bkn35CCO-Q,6307
|
|
258
|
-
moai_adk/templates/.moai/config.json,sha256=
|
|
260
|
+
moai_adk/templates/.moai/config.json,sha256=oAL0Gb4jy-dEvhnPvitkc95dckzAU5w95mekV514YX0,2348
|
|
259
261
|
moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md,sha256=37Qj5DYcyUniLM1g8IU7UWFI_16tutZrcAkJc4E5i20,15876
|
|
260
262
|
moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md,sha256=Tf3q68X1DiA3MkIBYu7AMXoeparYrDRpyqVI5Nw92OY,12653
|
|
261
263
|
moai_adk/templates/.moai/memory/CLAUDE-RULES.md,sha256=S9GODGRzwwleOmROVtBDa471Ok5NyQLWIkaO_4peHhU,19783
|
|
@@ -273,8 +275,8 @@ moai_adk/templates/.moai/project/tech.md,sha256=REecMv8wOvutt-pQZ5nlGk5YdReTan7A
|
|
|
273
275
|
moai_adk/utils/__init__.py,sha256=VnVfQzzKHvKw4bNdEw5xdscnRQYFrnr-v_TOBr3naPs,225
|
|
274
276
|
moai_adk/utils/banner.py,sha256=znppKd5yo-tTqgyhgPVJjstrTrfcy_v3X1_RFQxP4Fk,1878
|
|
275
277
|
moai_adk/utils/logger.py,sha256=g-m07PGKjK2bKRIInfSn6m-024Bedai-pV_WjZKDeu8,5064
|
|
276
|
-
moai_adk-0.
|
|
277
|
-
moai_adk-0.
|
|
278
|
-
moai_adk-0.
|
|
279
|
-
moai_adk-0.
|
|
280
|
-
moai_adk-0.
|
|
278
|
+
moai_adk-0.8.0.dist-info/METADATA,sha256=rKLmKLvWkLBTzpf5UN8I0WHgWdYJF5Q-yEDmNZ6xkag,71251
|
|
279
|
+
moai_adk-0.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
280
|
+
moai_adk-0.8.0.dist-info/entry_points.txt,sha256=P9no1794UipqH72LP-ltdyfVd_MeB1WKJY_6-JQgV3U,52
|
|
281
|
+
moai_adk-0.8.0.dist-info/licenses/LICENSE,sha256=M1M2b07fWcSWRM6_P3wbZKndZvyfHyYk_Wu9bS8F7o8,1069
|
|
282
|
+
moai_adk-0.8.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|