dw-kit 1.2.0 → 1.3.0
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.
- package/.claude/hooks/post-write.sh +64 -58
- package/.claude/hooks/pre-commit-gate.sh +96 -90
- package/.claude/hooks/privacy-block.sh +99 -94
- package/.claude/hooks/progress-ping.sh +53 -47
- package/.claude/hooks/safety-guard.sh +60 -54
- package/.claude/hooks/scout-block.sh +88 -82
- package/.claude/hooks/session-init.sh +91 -74
- package/.claude/hooks/stop-check.sh +88 -36
- package/.claude/hooks/telemetry-log.sh +34 -0
- package/.claude/rules/code-style.md +37 -37
- package/.claude/rules/commit-standards.md +37 -37
- package/.claude/rules/dw.md +136 -0
- package/.claude/settings.json +120 -99
- package/.claude/skills/dw-arch-review/SKILL.md +119 -119
- package/.claude/skills/dw-archive/SKILL.md +81 -81
- package/.claude/skills/dw-commit/SKILL.md +81 -81
- package/.claude/skills/dw-config-init/SKILL.md +91 -91
- package/.claude/skills/dw-config-validate/SKILL.md +75 -75
- package/.claude/skills/dw-dashboard/SKILL.md +209 -209
- package/.claude/skills/dw-debug/SKILL.md +97 -97
- package/.claude/skills/dw-decision/SKILL.md +116 -0
- package/.claude/skills/dw-docs-update/SKILL.md +125 -125
- package/.claude/skills/dw-estimate/SKILL.md +90 -90
- package/.claude/skills/dw-execute/SKILL.md +98 -98
- package/.claude/skills/dw-flow/SKILL.md +274 -274
- package/.claude/skills/dw-handoff/SKILL.md +81 -81
- package/.claude/skills/dw-kit-report/SKILL.md +152 -152
- package/.claude/skills/dw-log-work/SKILL.md +69 -69
- package/.claude/skills/dw-onboard/SKILL.md +201 -201
- package/.claude/skills/dw-plan/SKILL.md +125 -125
- package/.claude/skills/dw-prompt/SKILL.md +62 -62
- package/.claude/skills/dw-requirements/SKILL.md +98 -98
- package/.claude/skills/dw-research/SKILL.md +114 -114
- package/.claude/skills/dw-retroactive/SKILL.md +311 -311
- package/.claude/skills/dw-review/SKILL.md +66 -66
- package/.claude/skills/dw-rollback/SKILL.md +90 -90
- package/.claude/skills/dw-sprint-review/SKILL.md +99 -99
- package/.claude/skills/dw-task-init/SKILL.md +59 -59
- package/.claude/skills/dw-test-plan/SKILL.md +113 -113
- package/.claude/skills/dw-thinking/SKILL.md +70 -70
- package/.claude/skills/dw-upgrade/SKILL.md +72 -72
- package/.dw/config/dw.config.yml +82 -82
- package/.dw/core/PILLARS.md +122 -0
- package/.dw/core/templates/v2/spec.md +68 -0
- package/.dw/core/templates/v2/tracking.md +62 -0
- package/.dw/core/v14-evaluation-protocol.md +118 -0
- package/CLAUDE.md +42 -39
- package/MIGRATION-v1.3.md +201 -0
- package/README.md +43 -6
- package/package.json +86 -84
- package/src/cli.mjs +45 -9
- package/src/commands/dashboard.mjs +116 -0
- package/src/commands/doctor.mjs +165 -149
- package/src/commands/init.mjs +339 -332
- package/src/commands/metrics.mjs +165 -0
- package/src/commands/upgrade.mjs +297 -262
- package/src/lib/active-index.mjs +87 -0
- package/src/lib/copy.mjs +118 -110
- package/src/lib/cut-analysis.mjs +161 -0
- package/src/lib/telemetry.mjs +80 -0
- package/.claude/rules/dw-core.md +0 -100
- package/.claude/rules/dw-skills.md +0 -53
- package/.claude/rules/workflow-rules.md +0 -77
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dw
|
|
3
|
-
description: "Thực hiện implementation theo plan đã được approve. Tuân thủ TDD, commit sau mỗi subtask. Chỉ dùng khi plan đã được duyệt."
|
|
4
|
-
argument-hint: "[task-name]"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Thực Hiện Implementation
|
|
8
|
-
|
|
9
|
-
Task: **$ARGUMENTS**
|
|
10
|
-
|
|
11
|
-
## Đọc Config
|
|
12
|
-
|
|
13
|
-
Đọc `.dw/config/dw.config.yml` → lấy:
|
|
14
|
-
- `paths.tasks` → location task docs
|
|
15
|
-
- `quality.test_command` → lệnh chạy tests (nếu có)
|
|
16
|
-
- `quality.lint_command` → lệnh chạy linter (nếu có)
|
|
17
|
-
- `quality.block_on_fail` → có block commit khi fail không
|
|
18
|
-
- `tracking.log_work` → ghi effort tracking không
|
|
19
|
-
- `workflow.default_depth` → `thorough` = cần docs-update, review bắt buộc
|
|
20
|
-
|
|
21
|
-
## Trước Khi Bắt Đầu
|
|
22
|
-
|
|
23
|
-
1. Đọc `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-plan.md`
|
|
24
|
-
2. Đọc `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-context.md`
|
|
25
|
-
3. Đọc `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-progress.md`
|
|
26
|
-
4. Xác nhận plan có `Trạng thái: Approved`
|
|
27
|
-
|
|
28
|
-
Nếu plan chưa approved → **DỪNG**, yêu cầu approve trước.
|
|
29
|
-
Nếu chưa có plan → **DỪNG**, yêu cầu chạy `/dw
|
|
30
|
-
Nếu có progress → tiếp tục từ subtask cuối cùng chưa done.
|
|
31
|
-
|
|
32
|
-
## Quy Trình Cho MỖI Subtask
|
|
33
|
-
|
|
34
|
-
### Step 1: Chuẩn bị
|
|
35
|
-
- Đọc subtask từ plan (mô tả, files, criteria)
|
|
36
|
-
- Cập nhật progress: subtask → `in_progress`
|
|
37
|
-
|
|
38
|
-
### Step 2: Test First (TDD)
|
|
39
|
-
- Viết test cho subtask (nếu applicable)
|
|
40
|
-
- Chạy test → confirm FAIL (red)
|
|
41
|
-
- Nếu test đã pass → kiểm tra lại, có thể test sai
|
|
42
|
-
|
|
43
|
-
### Step 3: Implement
|
|
44
|
-
- Code theo spec trong plan
|
|
45
|
-
- Tuân thủ conventions trong `.claude/rules/code-style.md`
|
|
46
|
-
- KHÔNG thay đổi scope ngoài plan
|
|
47
|
-
|
|
48
|
-
### Step 4: Verify
|
|
49
|
-
- Chạy test → confirm PASS (green)
|
|
50
|
-
- Nếu `quality.lint_command` không rỗng: chạy linter
|
|
51
|
-
- Nếu `quality.block_on_fail = true` và fail → DỪNG, fix trước
|
|
52
|
-
- Nếu `quality.block_on_fail = false` → cảnh báo, cho phép tiếp tục
|
|
53
|
-
|
|
54
|
-
### Step 5: Cập nhật Progress
|
|
55
|
-
Cập nhật `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-progress.md`:
|
|
56
|
-
```markdown
|
|
57
|
-
| ST-N | [Subtask name] | Done | abc1234 | [ghi chú] |
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Nếu `tracking.log_work = true`, ghi effort thực tế vào:
|
|
61
|
-
```markdown
|
|
62
|
-
### Effort Log
|
|
63
|
-
| Subtask | Estimate | Actual | Ghi chú |
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Step 6: Commit
|
|
67
|
-
```
|
|
68
|
-
<type>(<scope>): <mô tả subtask>
|
|
69
|
-
|
|
70
|
-
Subtask ST-N of $ARGUMENTS
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Khi Phát Hiện Vấn Đề
|
|
74
|
-
|
|
75
|
-
### Giả định sai / Scope thay đổi
|
|
76
|
-
1. **DỪNG** implementation ngay
|
|
77
|
-
2. Ghi vào progress → mục "Phát Hiện Mới"
|
|
78
|
-
3. Thông báo user: vấn đề gì, ảnh hưởng gì
|
|
79
|
-
4. Đề xuất: tiếp tục / cập nhật plan / thay đổi hướng
|
|
80
|
-
5. **CHỜ** quyết định từ user
|
|
81
|
-
|
|
82
|
-
### Test fail không rõ nguyên nhân
|
|
83
|
-
1. KHÔNG sửa test để pass (trừ khi test sai)
|
|
84
|
-
2. Chạy `/dw
|
|
85
|
-
3. Ghi vào progress nếu mất thời gian
|
|
86
|
-
|
|
87
|
-
### Conflict với code khác
|
|
88
|
-
1. Ghi vào progress
|
|
89
|
-
2. Thông báo user
|
|
90
|
-
3. Đề xuất giải quyết
|
|
91
|
-
|
|
92
|
-
## Khi Hoàn Thành Tất Cả Subtasks
|
|
93
|
-
|
|
94
|
-
1. Cập nhật progress: Trạng thái → `Done`
|
|
95
|
-
2. Tóm tắt: subtasks completed, commits, issues encountered
|
|
96
|
-
3. Luôn gợi ý: "Tiếp theo: `/dw
|
|
97
|
-
4. Nếu `workflow.default_depth = thorough`: "Cần chạy `/dw
|
|
98
|
-
5. Nếu `tracking.log_work = true`: Hiển thị estimate vs actual, gợi ý `/dw
|
|
1
|
+
---
|
|
2
|
+
name: dw:execute
|
|
3
|
+
description: "Thực hiện implementation theo plan đã được approve. Tuân thủ TDD, commit sau mỗi subtask. Chỉ dùng khi plan đã được duyệt."
|
|
4
|
+
argument-hint: "[task-name]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Thực Hiện Implementation
|
|
8
|
+
|
|
9
|
+
Task: **$ARGUMENTS**
|
|
10
|
+
|
|
11
|
+
## Đọc Config
|
|
12
|
+
|
|
13
|
+
Đọc `.dw/config/dw.config.yml` → lấy:
|
|
14
|
+
- `paths.tasks` → location task docs
|
|
15
|
+
- `quality.test_command` → lệnh chạy tests (nếu có)
|
|
16
|
+
- `quality.lint_command` → lệnh chạy linter (nếu có)
|
|
17
|
+
- `quality.block_on_fail` → có block commit khi fail không
|
|
18
|
+
- `tracking.log_work` → ghi effort tracking không
|
|
19
|
+
- `workflow.default_depth` → `thorough` = cần docs-update, review bắt buộc
|
|
20
|
+
|
|
21
|
+
## Trước Khi Bắt Đầu
|
|
22
|
+
|
|
23
|
+
1. Đọc `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-plan.md`
|
|
24
|
+
2. Đọc `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-context.md`
|
|
25
|
+
3. Đọc `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-progress.md`
|
|
26
|
+
4. Xác nhận plan có `Trạng thái: Approved`
|
|
27
|
+
|
|
28
|
+
Nếu plan chưa approved → **DỪNG**, yêu cầu approve trước.
|
|
29
|
+
Nếu chưa có plan → **DỪNG**, yêu cầu chạy `/dw:plan $ARGUMENTS`.
|
|
30
|
+
Nếu có progress → tiếp tục từ subtask cuối cùng chưa done.
|
|
31
|
+
|
|
32
|
+
## Quy Trình Cho MỖI Subtask
|
|
33
|
+
|
|
34
|
+
### Step 1: Chuẩn bị
|
|
35
|
+
- Đọc subtask từ plan (mô tả, files, criteria)
|
|
36
|
+
- Cập nhật progress: subtask → `in_progress`
|
|
37
|
+
|
|
38
|
+
### Step 2: Test First (TDD)
|
|
39
|
+
- Viết test cho subtask (nếu applicable)
|
|
40
|
+
- Chạy test → confirm FAIL (red)
|
|
41
|
+
- Nếu test đã pass → kiểm tra lại, có thể test sai
|
|
42
|
+
|
|
43
|
+
### Step 3: Implement
|
|
44
|
+
- Code theo spec trong plan
|
|
45
|
+
- Tuân thủ conventions trong `.claude/rules/code-style.md`
|
|
46
|
+
- KHÔNG thay đổi scope ngoài plan
|
|
47
|
+
|
|
48
|
+
### Step 4: Verify
|
|
49
|
+
- Chạy test → confirm PASS (green)
|
|
50
|
+
- Nếu `quality.lint_command` không rỗng: chạy linter
|
|
51
|
+
- Nếu `quality.block_on_fail = true` và fail → DỪNG, fix trước
|
|
52
|
+
- Nếu `quality.block_on_fail = false` → cảnh báo, cho phép tiếp tục
|
|
53
|
+
|
|
54
|
+
### Step 5: Cập nhật Progress
|
|
55
|
+
Cập nhật `{paths.tasks}/$ARGUMENTS/$ARGUMENTS-progress.md`:
|
|
56
|
+
```markdown
|
|
57
|
+
| ST-N | [Subtask name] | Done | abc1234 | [ghi chú] |
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Nếu `tracking.log_work = true`, ghi effort thực tế vào:
|
|
61
|
+
```markdown
|
|
62
|
+
### Effort Log
|
|
63
|
+
| Subtask | Estimate | Actual | Ghi chú |
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 6: Commit
|
|
67
|
+
```
|
|
68
|
+
<type>(<scope>): <mô tả subtask>
|
|
69
|
+
|
|
70
|
+
Subtask ST-N of $ARGUMENTS
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Khi Phát Hiện Vấn Đề
|
|
74
|
+
|
|
75
|
+
### Giả định sai / Scope thay đổi
|
|
76
|
+
1. **DỪNG** implementation ngay
|
|
77
|
+
2. Ghi vào progress → mục "Phát Hiện Mới"
|
|
78
|
+
3. Thông báo user: vấn đề gì, ảnh hưởng gì
|
|
79
|
+
4. Đề xuất: tiếp tục / cập nhật plan / thay đổi hướng
|
|
80
|
+
5. **CHỜ** quyết định từ user
|
|
81
|
+
|
|
82
|
+
### Test fail không rõ nguyên nhân
|
|
83
|
+
1. KHÔNG sửa test để pass (trừ khi test sai)
|
|
84
|
+
2. Chạy `/dw:debug` nếu cần
|
|
85
|
+
3. Ghi vào progress nếu mất thời gian
|
|
86
|
+
|
|
87
|
+
### Conflict với code khác
|
|
88
|
+
1. Ghi vào progress
|
|
89
|
+
2. Thông báo user
|
|
90
|
+
3. Đề xuất giải quyết
|
|
91
|
+
|
|
92
|
+
## Khi Hoàn Thành Tất Cả Subtasks
|
|
93
|
+
|
|
94
|
+
1. Cập nhật progress: Trạng thái → `Done`
|
|
95
|
+
2. Tóm tắt: subtasks completed, commits, issues encountered
|
|
96
|
+
3. Luôn gợi ý: "Tiếp theo: `/dw:review $ARGUMENTS`"
|
|
97
|
+
4. Nếu `workflow.default_depth = thorough`: "Cần chạy `/dw:docs-update $ARGUMENTS`"
|
|
98
|
+
5. Nếu `tracking.log_work = true`: Hiển thị estimate vs actual, gợi ý `/dw:log-work $ARGUMENTS`
|