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.
Files changed (63) hide show
  1. package/.claude/hooks/post-write.sh +64 -58
  2. package/.claude/hooks/pre-commit-gate.sh +96 -90
  3. package/.claude/hooks/privacy-block.sh +99 -94
  4. package/.claude/hooks/progress-ping.sh +53 -47
  5. package/.claude/hooks/safety-guard.sh +60 -54
  6. package/.claude/hooks/scout-block.sh +88 -82
  7. package/.claude/hooks/session-init.sh +91 -74
  8. package/.claude/hooks/stop-check.sh +88 -36
  9. package/.claude/hooks/telemetry-log.sh +34 -0
  10. package/.claude/rules/code-style.md +37 -37
  11. package/.claude/rules/commit-standards.md +37 -37
  12. package/.claude/rules/dw.md +136 -0
  13. package/.claude/settings.json +120 -99
  14. package/.claude/skills/dw-arch-review/SKILL.md +119 -119
  15. package/.claude/skills/dw-archive/SKILL.md +81 -81
  16. package/.claude/skills/dw-commit/SKILL.md +81 -81
  17. package/.claude/skills/dw-config-init/SKILL.md +91 -91
  18. package/.claude/skills/dw-config-validate/SKILL.md +75 -75
  19. package/.claude/skills/dw-dashboard/SKILL.md +209 -209
  20. package/.claude/skills/dw-debug/SKILL.md +97 -97
  21. package/.claude/skills/dw-decision/SKILL.md +116 -0
  22. package/.claude/skills/dw-docs-update/SKILL.md +125 -125
  23. package/.claude/skills/dw-estimate/SKILL.md +90 -90
  24. package/.claude/skills/dw-execute/SKILL.md +98 -98
  25. package/.claude/skills/dw-flow/SKILL.md +274 -274
  26. package/.claude/skills/dw-handoff/SKILL.md +81 -81
  27. package/.claude/skills/dw-kit-report/SKILL.md +152 -152
  28. package/.claude/skills/dw-log-work/SKILL.md +69 -69
  29. package/.claude/skills/dw-onboard/SKILL.md +201 -201
  30. package/.claude/skills/dw-plan/SKILL.md +125 -125
  31. package/.claude/skills/dw-prompt/SKILL.md +62 -62
  32. package/.claude/skills/dw-requirements/SKILL.md +98 -98
  33. package/.claude/skills/dw-research/SKILL.md +114 -114
  34. package/.claude/skills/dw-retroactive/SKILL.md +311 -311
  35. package/.claude/skills/dw-review/SKILL.md +66 -66
  36. package/.claude/skills/dw-rollback/SKILL.md +90 -90
  37. package/.claude/skills/dw-sprint-review/SKILL.md +99 -99
  38. package/.claude/skills/dw-task-init/SKILL.md +59 -59
  39. package/.claude/skills/dw-test-plan/SKILL.md +113 -113
  40. package/.claude/skills/dw-thinking/SKILL.md +70 -70
  41. package/.claude/skills/dw-upgrade/SKILL.md +72 -72
  42. package/.dw/config/dw.config.yml +82 -82
  43. package/.dw/core/PILLARS.md +122 -0
  44. package/.dw/core/templates/v2/spec.md +68 -0
  45. package/.dw/core/templates/v2/tracking.md +62 -0
  46. package/.dw/core/v14-evaluation-protocol.md +118 -0
  47. package/CLAUDE.md +42 -39
  48. package/MIGRATION-v1.3.md +201 -0
  49. package/README.md +43 -6
  50. package/package.json +86 -84
  51. package/src/cli.mjs +45 -9
  52. package/src/commands/dashboard.mjs +116 -0
  53. package/src/commands/doctor.mjs +165 -149
  54. package/src/commands/init.mjs +339 -332
  55. package/src/commands/metrics.mjs +165 -0
  56. package/src/commands/upgrade.mjs +297 -262
  57. package/src/lib/active-index.mjs +87 -0
  58. package/src/lib/copy.mjs +118 -110
  59. package/src/lib/cut-analysis.mjs +161 -0
  60. package/src/lib/telemetry.mjs +80 -0
  61. package/.claude/rules/dw-core.md +0 -100
  62. package/.claude/rules/dw-skills.md +0 -53
  63. package/.claude/rules/workflow-rules.md +0 -77
@@ -1,91 +1,91 @@
1
- ---
2
- name: dw-config-init
3
- description: "Khởi tạo dv-workflow-kit cho dự án mới. Tạo config file, thư mục, và cấu trúc cần thiết."
4
- argument-hint: "[project-name]"
5
- ---
6
-
7
- # Khởi Tạo dv-workflow-kit
8
-
9
- Thiết lập toolkit cho dự án: **$ARGUMENTS**
10
-
11
- ## Quy Trình
12
-
13
- ### 1. Hỏi thông tin cơ bản
14
-
15
- Nếu chưa có đủ thông tin, hỏi user:
16
- - **Project type**: `new-product` hay `old-maintenance`?
17
- - **Level**: 1 (lite), 2 (standard), hay 3 (full)?
18
- - **Team roles**: Những role nào tham gia? (dev, techlead, ba, qc, pm)
19
-
20
- ### 2. Tạo config file
21
-
22
- Copy `.dw/config/dw.config.yml` vào root dự án.
23
- Cập nhật các giá trị:
24
- - `project.name` = tên dự án
25
- - `project.type` = loại dự án
26
- - `level` = level đã chọn
27
-
28
- Nếu **new-product**:
29
- ```yaml
30
- level: 2
31
- flags:
32
- research: true
33
- plan: true
34
- execute: true
35
- commit: true
36
- review: true
37
- living_docs: false # Bật lên level 3
38
- estimation: true
39
- log_work: true
40
- ```
41
-
42
- Nếu **old-maintenance**:
43
- ```yaml
44
- level: 1
45
- flags:
46
- research: true
47
- plan: "skip" # Optional cho bug fixes
48
- execute: true
49
- commit: true
50
- review: "skip"
51
- debug: true
52
- estimation: "skip"
53
- log_work: "skip"
54
- ```
55
-
56
- ### 3. Tạo thư mục
57
-
58
- ```bash
59
- mkdir -p .dw/tasks .dw/docs .dw/metrics .dw/reports
60
- ```
61
-
62
- ### 4. Auto-enable role flags
63
-
64
- Nếu team có `ba` → bật `requirements_skill: true`
65
- Nếu team có `qc` → bật `test_plan_skill: true`
66
- Nếu team có `techlead` → bật `arch_review_skill: true`
67
- Nếu team có `pm` → bật `dashboard_skill: true`
68
-
69
- ### 5. Validate config
70
-
71
- Sau khi tạo hoặc khi user gọi `/dw-config-init` trên config đã có, kiểm tra:
72
-
73
- **Known keys** (nếu có key nào ngoài danh sách → warn typo):
74
- - Top-level: `project`, `level`, `team`, `flags`, `routing`, `estimation`, `metrics`, `paths`
75
- - `flags` keys: `research`, `plan`, `execute`, `commit`, `review`, `debug`, `living_docs`, `docs_update_on_commit`, `estimation`, `log_work`, `metrics_tracking`, `dora_metrics`, `pre_commit_tests`, `pre_commit_lint`, `block_commit_on_fail`, `handoff`, `thinking_framework`, `requirements_skill`, `test_plan_skill`, `arch_review_skill`, `dashboard_skill`
76
-
77
- **Level check**:
78
- - Nếu `level: 3` → hiển thị warning: "Level 3 đang ở trạng thái beta — một số features (living docs automation, DORA calculation, dashboard HTML export) chưa fully automated."
79
-
80
- **Flag value check**:
81
- - Mỗi flag phải là `true`, `false`, hoặc `"skip"` — nếu giá trị khác → warn
82
-
83
- Hiển thị kết quả validation trước khi thông báo hoàn tất.
84
-
85
- ### 6. Thông báo kết quả
86
-
87
- Hiển thị:
88
- - Config đã tạo với settings gì
89
- - Danh sách skills có sẵn (dựa trên flags)
90
- - Hướng dẫn bước tiếp theo
91
- - Gợi ý: "Chạy `/dw-task-init [tên-task]` để bắt đầu task đầu tiên"
1
+ ---
2
+ name: dw:config-init
3
+ description: "Khởi tạo dv-workflow-kit cho dự án mới. Tạo config file, thư mục, và cấu trúc cần thiết."
4
+ argument-hint: "[project-name]"
5
+ ---
6
+
7
+ # Khởi Tạo dv-workflow-kit
8
+
9
+ Thiết lập toolkit cho dự án: **$ARGUMENTS**
10
+
11
+ ## Quy Trình
12
+
13
+ ### 1. Hỏi thông tin cơ bản
14
+
15
+ Nếu chưa có đủ thông tin, hỏi user:
16
+ - **Project type**: `new-product` hay `old-maintenance`?
17
+ - **Level**: 1 (lite), 2 (standard), hay 3 (full)?
18
+ - **Team roles**: Những role nào tham gia? (dev, techlead, ba, qc, pm)
19
+
20
+ ### 2. Tạo config file
21
+
22
+ Copy `.dw/config/dw.config.yml` vào root dự án.
23
+ Cập nhật các giá trị:
24
+ - `project.name` = tên dự án
25
+ - `project.type` = loại dự án
26
+ - `level` = level đã chọn
27
+
28
+ Nếu **new-product**:
29
+ ```yaml
30
+ level: 2
31
+ flags:
32
+ research: true
33
+ plan: true
34
+ execute: true
35
+ commit: true
36
+ review: true
37
+ living_docs: false # Bật lên level 3
38
+ estimation: true
39
+ log_work: true
40
+ ```
41
+
42
+ Nếu **old-maintenance**:
43
+ ```yaml
44
+ level: 1
45
+ flags:
46
+ research: true
47
+ plan: "skip" # Optional cho bug fixes
48
+ execute: true
49
+ commit: true
50
+ review: "skip"
51
+ debug: true
52
+ estimation: "skip"
53
+ log_work: "skip"
54
+ ```
55
+
56
+ ### 3. Tạo thư mục
57
+
58
+ ```bash
59
+ mkdir -p .dw/tasks .dw/docs .dw/metrics .dw/reports
60
+ ```
61
+
62
+ ### 4. Auto-enable role flags
63
+
64
+ Nếu team có `ba` → bật `requirements_skill: true`
65
+ Nếu team có `qc` → bật `test_plan_skill: true`
66
+ Nếu team có `techlead` → bật `arch_review_skill: true`
67
+ Nếu team có `pm` → bật `dashboard_skill: true`
68
+
69
+ ### 5. Validate config
70
+
71
+ Sau khi tạo hoặc khi user gọi `/dw:config-init` trên config đã có, kiểm tra:
72
+
73
+ **Known keys** (nếu có key nào ngoài danh sách → warn typo):
74
+ - Top-level: `project`, `level`, `team`, `flags`, `routing`, `estimation`, `metrics`, `paths`
75
+ - `flags` keys: `research`, `plan`, `execute`, `commit`, `review`, `debug`, `living_docs`, `docs_update_on_commit`, `estimation`, `log_work`, `metrics_tracking`, `dora_metrics`, `pre_commit_tests`, `pre_commit_lint`, `block_commit_on_fail`, `handoff`, `thinking_framework`, `requirements_skill`, `test_plan_skill`, `arch_review_skill`, `dashboard_skill`
76
+
77
+ **Level check**:
78
+ - Nếu `level: 3` → hiển thị warning: "Level 3 đang ở trạng thái beta — một số features (living docs automation, DORA calculation, dashboard HTML export) chưa fully automated."
79
+
80
+ **Flag value check**:
81
+ - Mỗi flag phải là `true`, `false`, hoặc `"skip"` — nếu giá trị khác → warn
82
+
83
+ Hiển thị kết quả validation trước khi thông báo hoàn tất.
84
+
85
+ ### 6. Thông báo kết quả
86
+
87
+ Hiển thị:
88
+ - Config đã tạo với settings gì
89
+ - Danh sách skills có sẵn (dựa trên flags)
90
+ - Hướng dẫn bước tiếp theo
91
+ - Gợi ý: "Chạy `/dw:task-init [tên-task]` để bắt đầu task đầu tiên"
@@ -1,75 +1,75 @@
1
- ---
2
- name: dw-config-validate
3
- description: "Kiểm tra .dw/config/dw.config.yml có hợp lệ không. Phát hiện unknown keys, typos, invalid values. Chạy sau khi sửa config thủ công."
4
- argument-hint: ""
5
- ---
6
-
7
- # Validate Config
8
-
9
- Kiểm tra `.dw/config/dw.config.yml` trong project hiện tại.
10
-
11
- ## Bước 1: Đọc config
12
-
13
- Đọc toàn bộ `.dw/config/dw.config.yml`.
14
-
15
- ## Bước 2: Kiểm tra top-level keys
16
-
17
- **Known top-level keys:**
18
- ```
19
- project, level, team, flags, routing, estimation, metrics, paths
20
- ```
21
-
22
- Nếu có key nào khác → **WARN**: "Unknown top-level key: `[key]` — có thể là typo?"
23
-
24
- ## Bước 3: Kiểm tra `flags` keys
25
-
26
- **Known flag keys:**
27
- ```
28
- research, plan, execute, commit, review, debug,
29
- living_docs, docs_update_on_commit,
30
- estimation, log_work, metrics_tracking, dora_metrics,
31
- pre_commit_tests, pre_commit_lint, block_commit_on_fail,
32
- handoff, thinking_framework,
33
- requirements_skill, test_plan_skill, arch_review_skill, dashboard_skill
34
- ```
35
-
36
- Nếu có flag key nào khác → **WARN**: "Unknown flag: `[key]` — có thể là typo? Flag này sẽ bị ignore."
37
-
38
- ## Bước 4: Kiểm tra flag values
39
-
40
- Mỗi flag phải có giá trị `true`, `false`, hoặc `"skip"`.
41
- Nếu giá trị khác → **ERROR**: "Flag `[key]` có giá trị không hợp lệ: `[value]`. Phải là true | false | \"skip\"."
42
-
43
- ## Bước 5: Kiểm tra `level`
44
-
45
- - Phải là `1`, `2`, hoặc `3`.
46
- - Nếu `level: 3` → **INFO**: "Level 3 đang ở beta — living docs automation, DORA auto-calculation, và dashboard HTML export chưa fully implemented."
47
-
48
- ## Bước 6: Kiểm tra `project.language`
49
-
50
- - Phải là `"vi"` hoặc `"en"`.
51
- - Nếu `"en"` → kiểm tra `.claude/templates/en/` có tồn tại không. Nếu không → **WARN**: "English templates chưa có. Chạy `/dw-upgrade` để lấy templates mới nhất."
52
-
53
- ## Bước 7: Báo cáo kết quả
54
-
55
- ```
56
- === Config Validation Report ===
57
-
58
- File: .dw/config/dw.config.yml
59
- Project: [project.name]
60
- Level: [level]
61
- Language: [language]
62
-
63
- ERRORS (phải fix):
64
- [danh sách lỗi nếu có]
65
-
66
- WARNINGS (nên xem xét):
67
- [danh sách warnings nếu có]
68
-
69
- INFO:
70
- [thông tin thêm]
71
-
72
- [OK] Config hợp lệ / [FAIL] Có X error(s) cần fix
73
- ```
74
-
75
- Nếu không có lỗi: "Config hợp lệ. X flags đang bật, Y flags đang tắt."
1
+ ---
2
+ name: dw:config-validate
3
+ description: "Kiểm tra .dw/config/dw.config.yml có hợp lệ không. Phát hiện unknown keys, typos, invalid values. Chạy sau khi sửa config thủ công."
4
+ argument-hint: ""
5
+ ---
6
+
7
+ # Validate Config
8
+
9
+ Kiểm tra `.dw/config/dw.config.yml` trong project hiện tại.
10
+
11
+ ## Bước 1: Đọc config
12
+
13
+ Đọc toàn bộ `.dw/config/dw.config.yml`.
14
+
15
+ ## Bước 2: Kiểm tra top-level keys
16
+
17
+ **Known top-level keys:**
18
+ ```
19
+ project, level, team, flags, routing, estimation, metrics, paths
20
+ ```
21
+
22
+ Nếu có key nào khác → **WARN**: "Unknown top-level key: `[key]` — có thể là typo?"
23
+
24
+ ## Bước 3: Kiểm tra `flags` keys
25
+
26
+ **Known flag keys:**
27
+ ```
28
+ research, plan, execute, commit, review, debug,
29
+ living_docs, docs_update_on_commit,
30
+ estimation, log_work, metrics_tracking, dora_metrics,
31
+ pre_commit_tests, pre_commit_lint, block_commit_on_fail,
32
+ handoff, thinking_framework,
33
+ requirements_skill, test_plan_skill, arch_review_skill, dashboard_skill
34
+ ```
35
+
36
+ Nếu có flag key nào khác → **WARN**: "Unknown flag: `[key]` — có thể là typo? Flag này sẽ bị ignore."
37
+
38
+ ## Bước 4: Kiểm tra flag values
39
+
40
+ Mỗi flag phải có giá trị `true`, `false`, hoặc `"skip"`.
41
+ Nếu giá trị khác → **ERROR**: "Flag `[key]` có giá trị không hợp lệ: `[value]`. Phải là true | false | \"skip\"."
42
+
43
+ ## Bước 5: Kiểm tra `level`
44
+
45
+ - Phải là `1`, `2`, hoặc `3`.
46
+ - Nếu `level: 3` → **INFO**: "Level 3 đang ở beta — living docs automation, DORA auto-calculation, và dashboard HTML export chưa fully implemented."
47
+
48
+ ## Bước 6: Kiểm tra `project.language`
49
+
50
+ - Phải là `"vi"` hoặc `"en"`.
51
+ - Nếu `"en"` → kiểm tra `.claude/templates/en/` có tồn tại không. Nếu không → **WARN**: "English templates chưa có. Chạy `/dw:upgrade` để lấy templates mới nhất."
52
+
53
+ ## Bước 7: Báo cáo kết quả
54
+
55
+ ```
56
+ === Config Validation Report ===
57
+
58
+ File: .dw/config/dw.config.yml
59
+ Project: [project.name]
60
+ Level: [level]
61
+ Language: [language]
62
+
63
+ ERRORS (phải fix):
64
+ [danh sách lỗi nếu có]
65
+
66
+ WARNINGS (nên xem xét):
67
+ [danh sách warnings nếu có]
68
+
69
+ INFO:
70
+ [thông tin thêm]
71
+
72
+ [OK] Config hợp lệ / [FAIL] Có X error(s) cần fix
73
+ ```
74
+
75
+ Nếu không có lỗi: "Config hợp lệ. X flags đang bật, Y flags đang tắt."