dw-kit 1.0.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 (90) hide show
  1. package/.claude/agents/executor.md +80 -0
  2. package/.claude/agents/planner.md +100 -0
  3. package/.claude/agents/quality-checker.md +86 -0
  4. package/.claude/agents/researcher.md +93 -0
  5. package/.claude/agents/reviewer.md +126 -0
  6. package/.claude/hooks/post-write.sh +62 -0
  7. package/.claude/hooks/pre-commit-gate.sh +90 -0
  8. package/.claude/hooks/progress-ping.sh +47 -0
  9. package/.claude/hooks/safety-guard.sh +54 -0
  10. package/.claude/rules/code-style.md +37 -0
  11. package/.claude/rules/commit-standards.md +37 -0
  12. package/.claude/rules/workflow-rules.md +62 -0
  13. package/.claude/settings.json +71 -0
  14. package/.claude/settings.local.json +12 -0
  15. package/.claude/skills/dw-arch-review/SKILL.md +119 -0
  16. package/.claude/skills/dw-archive/SKILL.md +81 -0
  17. package/.claude/skills/dw-commit/SKILL.md +81 -0
  18. package/.claude/skills/dw-config-init/SKILL.md +91 -0
  19. package/.claude/skills/dw-config-validate/SKILL.md +75 -0
  20. package/.claude/skills/dw-dashboard/SKILL.md +209 -0
  21. package/.claude/skills/dw-debug/SKILL.md +97 -0
  22. package/.claude/skills/dw-docs-update/SKILL.md +125 -0
  23. package/.claude/skills/dw-estimate/SKILL.md +90 -0
  24. package/.claude/skills/dw-execute/SKILL.md +98 -0
  25. package/.claude/skills/dw-flow/SKILL.md +274 -0
  26. package/.claude/skills/dw-handoff/SKILL.md +81 -0
  27. package/.claude/skills/dw-log-work/SKILL.md +69 -0
  28. package/.claude/skills/dw-plan/SKILL.md +125 -0
  29. package/.claude/skills/dw-plan/template-plan.md +47 -0
  30. package/.claude/skills/dw-requirements/SKILL.md +98 -0
  31. package/.claude/skills/dw-research/SKILL.md +98 -0
  32. package/.claude/skills/dw-research/template-research.md +51 -0
  33. package/.claude/skills/dw-review/SKILL.md +66 -0
  34. package/.claude/skills/dw-review/checklist.md +88 -0
  35. package/.claude/skills/dw-rollback/SKILL.md +90 -0
  36. package/.claude/skills/dw-sprint-review/SKILL.md +99 -0
  37. package/.claude/skills/dw-task-init/SKILL.md +59 -0
  38. package/.claude/skills/dw-test-plan/SKILL.md +113 -0
  39. package/.claude/skills/dw-thinking/SKILL.md +70 -0
  40. package/.claude/skills/dw-thinking/THINKING.md +91 -0
  41. package/.claude/skills/dw-upgrade/SKILL.md +82 -0
  42. package/.claude/templates/en/task-context.md +73 -0
  43. package/.claude/templates/en/task-plan.md +79 -0
  44. package/.claude/templates/en/task-progress.md +65 -0
  45. package/.claude/templates/pr-template.md +56 -0
  46. package/.claude/templates/task-context.md +73 -0
  47. package/.claude/templates/task-plan.md +79 -0
  48. package/.claude/templates/task-progress.md +65 -0
  49. package/.dw/adapters/claude-cli/extensions/.gitkeep +0 -0
  50. package/.dw/adapters/claude-cli/extensions/README.md +36 -0
  51. package/.dw/adapters/claude-cli/generated/README.md +23 -0
  52. package/.dw/adapters/claude-cli/generated/agents/.gitkeep +0 -0
  53. package/.dw/adapters/claude-cli/generated/skills/.gitkeep +0 -0
  54. package/.dw/adapters/claude-cli/overrides/README.md +35 -0
  55. package/.dw/adapters/claude-cli/overrides/agents/.gitkeep +0 -0
  56. package/.dw/adapters/claude-cli/overrides/skills/.gitkeep +0 -0
  57. package/.dw/adapters/generic/AGENT.md +169 -0
  58. package/.dw/adapters/generic/README.md +21 -0
  59. package/.dw/config/config.schema.json +121 -0
  60. package/.dw/config/dw.config.yml +82 -0
  61. package/.dw/config/presets/enterprise.yml +52 -0
  62. package/.dw/config/presets/small-team.yml +39 -0
  63. package/.dw/config/presets/solo-quick.yml +37 -0
  64. package/.dw/core/QUALITY.md +220 -0
  65. package/.dw/core/ROLES.md +257 -0
  66. package/.dw/core/THINKING.md +126 -0
  67. package/.dw/core/WORKFLOW.md +450 -0
  68. package/.dw/core/templates/vi/task-context.md +92 -0
  69. package/.dw/core/templates/vi/task-plan.md +93 -0
  70. package/.dw/core/templates/vi/task-progress.md +56 -0
  71. package/CLAUDE.md +98 -0
  72. package/LICENSE +21 -0
  73. package/README.md +183 -0
  74. package/bin/dw.mjs +28 -0
  75. package/package.json +52 -0
  76. package/scripts/e2e-local-check.sh +76 -0
  77. package/scripts/migrate-v03-to-v1.sh +243 -0
  78. package/scripts/upgrade.sh +246 -0
  79. package/setup.sh +382 -0
  80. package/src/cli.mjs +68 -0
  81. package/src/commands/doctor.mjs +149 -0
  82. package/src/commands/init.mjs +332 -0
  83. package/src/commands/migrate.mjs +215 -0
  84. package/src/commands/upgrade.mjs +262 -0
  85. package/src/commands/validate.mjs +102 -0
  86. package/src/lib/config.mjs +75 -0
  87. package/src/lib/copy.mjs +110 -0
  88. package/src/lib/platform.mjs +39 -0
  89. package/src/lib/ui.mjs +66 -0
  90. package/src/smoke-test.mjs +315 -0
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: dw-thinking
3
+ description: "Áp dụng framework tư duy phản biện, hệ thống và đa góc nhìn vào vấn đề. Auto-load khi planning hoặc khi cần phân tích sâu. Dùng proactively."
4
+ argument-hint: "[vấn đề cần phân tích]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Framework Tư Duy — Áp Dụng Vào Task
9
+
10
+ Vấn đề: **$ARGUMENTS**
11
+
12
+ ## Nạp Framework
13
+
14
+ @THINKING.md
15
+
16
+ ---
17
+
18
+ ## Áp Dụng Vào Task Hiện Tại
19
+
20
+ Sau khi đọc framework trên, áp dụng vào vấn đề `$ARGUMENTS`:
21
+
22
+ ### 1. Tư Duy Phản Biện
23
+
24
+ **Giả định đang dùng:**
25
+ - [ ] [Giả định 1] — Cách kiểm chứng: ...
26
+ - [ ] [Giả định 2]
27
+
28
+ **Rủi ro chính (top 3):**
29
+ 1. [Rủi ro] — Xác suất: Cao/TB/Thấp — Tác động: ...
30
+ 2. ...
31
+ 3. ...
32
+
33
+ **Phương án thay thế đã loại:**
34
+ - [Phương án A] — Loại vì: ...
35
+
36
+ **Edge cases cần xử lý:**
37
+ - [ ] [Edge case 1]
38
+
39
+ ### 2. Tư Duy Hệ Thống
40
+
41
+ **Dependencies:**
42
+ - Upstream: [ai/module gì phụ thuộc vào]
43
+ - Downstream: [bị ảnh hưởng bởi thay đổi này]
44
+
45
+ **Tác động cascade:**
46
+ - Nếu thay đổi X → Y bị ảnh hưởng → Z cần cập nhật
47
+
48
+ **Failure modes:**
49
+ - [Nếu phần A fail → hệ thống phản ứng thế nào]
50
+
51
+ ### 3. Đa Góc Nhìn
52
+
53
+ | Góc nhìn | Câu hỏi | Đánh giá |
54
+ |----------|---------|----------|
55
+ | User | [Ảnh hưởng UX?] | [OK / Concern] |
56
+ | Developer | [Maintainable?] | |
57
+ | Security | [Expose gì?] | |
58
+ | Ops | [Deploy issues?] | |
59
+ | Business | [Giá trị delivered?] | |
60
+
61
+ ### 4. Kết Luận
62
+
63
+ **Quyết định:**
64
+ [Approach được chọn và lý do]
65
+
66
+ **Trade-offs chấp nhận:**
67
+ [Điểm yếu nào của approach này được chấp nhận]
68
+
69
+ **Điểm cần monitor:**
70
+ [Theo dõi gì sau khi implement]
@@ -0,0 +1,91 @@
1
+ # Tư Duy Phản Biện, Hệ Thống & Đa Góc Nhìn
2
+
3
+ Tài liệu này hướng dẫn cách áp dụng **tư duy phản biện tích cực**, **tư duy hệ thống** và **đa góc nhìn** khi lập kế hoạch, nghiên cứu và triển khai tasks — dùng cho cả người và agent.
4
+
5
+ ---
6
+
7
+ ## 1. Tư duy phản biện tích cực (Critical Thinking)
8
+
9
+ **Mục đích:** Không chấp nhận giả định một chiều; đặt câu hỏi, xem xét rủi ro và phương án thay thế để ra quyết định tốt hơn.
10
+
11
+ ### 1.1 Câu hỏi nên đặt khi đọc/viết Research & Plan
12
+
13
+ - **Giả định:** Những giả định nào đang được coi là đúng? Nếu sai thì ảnh hưởng thế nào?
14
+ - **Bằng chứng:** Kết luận dựa trên đâu (code, doc, đo lường)? Thiếu bằng chứng ở đâu?
15
+ - **Edge case:** Trường hợp biên nào có thể làm hỏng thiết kế (user xóa, group đổi, đồng thời, rollback)?
16
+ - **Rủi ro:** Rủi ro kỹ thuật, vận hành, bảo mật nào? Xác suất và tác động?
17
+ - **Phương án thay thế:** Còn cách nào khác đạt mục tiêu? Trade-off so với phương án hiện tại?
18
+ - **Ngược lại:** Nếu *không* làm tính năng này thì sao? Có cách nào đơn giản hơn (workaround, process thủ công)?
19
+
20
+ ### 1.2 Áp dụng trong task
21
+
22
+ - Trong **Research**: Ghi rõ "Giả định", "Hạn chế đã biết", "Chưa rõ / cần kiểm chứng".
23
+ - Trong **Plan**: Có mục **Rủi ro & Giả định** và **Phương án thay thế đã xem xét**; **Edge cases / Điều kiện bất thường** cần xử lý.
24
+ - Khi **thực hiện**: Nếu phát hiện giả định sai hoặc rủi ro mới → dừng lại ghi vào Changelog/Notes và (nếu cần) cập nhật plan.
25
+
26
+ ---
27
+
28
+ ## 2. Tư duy hệ thống (Systems Thinking)
29
+
30
+ **Mục đích:** Xem task trong bối cảnh hệ thống lớn: phụ thuộc, tác động lan truyền, ranh giới, vòng lặp phản hồi.
31
+
32
+ ### 2.1 Các khía cạnh cần xem xét
33
+
34
+ - **Phụ thuộc (Dependencies):** Task này phụ thuộc vào module/API/data nào? Ai phụ thuộc vào kết quả của task này (frontend, tích hợp, cron)?
35
+ - **Biên giới (Boundaries):** Ranh giới rõ ràng giữa "bên trong task" và "bên ngoài" (upstream, admin, bên thứ ba)? Giao diện (API, schema) ổn định chưa?
36
+ - **Luồng dữ liệu:** Dữ liệu đi từ đâu đến đâu? Có thêm DB, cache, queue không? Consistency và thứ tự cập nhật?
37
+ - **Tác động ngược (Feedback):** Thay đổi có tạo vòng lặp không (vd: share → notification → user vào share → lại trigger)? Cần giới hạn hoặc debounce?
38
+ - **Failure mode:** Một phần hệ thống lỗi thì task/hệ thống còn lại ứng xử thế nào (graceful degradation, rollback, alert)?
39
+ - **Scale & performance:** Khi số lượng share/recipient/user tăng, điểm nghẽn ở đâu (query N+1, index, lock)?
40
+
41
+ ### 2.2 Áp dụng trong task
42
+
43
+ - **Plan** có mục **Tác động hệ thống**: danh sách module/API bị ảnh hưởng; migration/backward compatibility.
44
+ - **Research** nên vẽ (hoặc mô tả) luồng hiện tại và vị trí task trong bức tranh lớn.
45
+ - **Subtasks** tách rõ "thay đổi schema", "thay đổi service", "thay đổi route", "ảnh hưởng frontend" để dễ review dependency.
46
+
47
+ ---
48
+
49
+ ## 3. Đa góc nhìn (Multiple Perspectives)
50
+
51
+ **Mục đích:** Tránh tối ưu cho một vai duy nhất; cân bằng nhu cầu của nhiều bên liên quan và bối cảnh khác nhau.
52
+
53
+ ### 3.1 Các góc nhìn gợi ý
54
+
55
+ | Góc nhìn | Câu hỏi điển hình |
56
+ |----------|--------------------|
57
+ | **End user** | Dễ dùng không? Hiểu rõ feature vs use cases? Thu hồi có rõ ràng không? |
58
+ | **Admin** | Quản lý share/recipient toàn hệ thống thế nào? Audit, abuse (spam share)? |
59
+ | **Developer / Maintainer** | Code dễ đọc, dễ test không? API nhất quán với phần còn lại? |
60
+ | **Ops / Vận hành** | Backup, restore, migration? Log, metric, debug khi lỗi? |
61
+ | **Bảo mật** | Ai được xem/tải gì? Lộ gì? lộ metadata? Rate limit, audit log? |
62
+ | **Sản phẩm / Business** | Giải quyết đúng pain point chưa? Có thể launch từng phần (phase1, phase2,...)? |
63
+ | **Thời gian:** ngắn hạn vs dài hạn | Ship nhanh vs kiến trúc bền vững; tech debt có chấp nhận tạm không? |
64
+
65
+ ### 3.2 Áp dụng trong task
66
+
67
+ - Trong **Plan**: mục **Góc nhìn & Trade-off** — với mỗi quyết định lớn, ghi ngắn tác động lên user / admin / dev / security.
68
+ - **Acceptance criteria** có thể tách: "User: ...", "Admin: ...", "Security: ...".
69
+ - Khi **review** hoặc **agent thực hiện**: nếu chỉ làm đúng "yêu cầu kỹ thuật" mà bỏ qua góc admin/security → nhắc bổ sung.
70
+
71
+ ---
72
+
73
+ ## 4. Checklist nhanh khi tạo/cập nhật task
74
+
75
+ - [ ] **Research:** Đã ghi giả định, hạn chế, chưa rõ?
76
+ - [ ] **Plan:** Có mục Rủi ro & Giả định, Phương án thay thế, Edge cases?
77
+ - [ ] **Plan:** Có mục Tác động hệ thống (module, API, migration)?
78
+ - [ ] **Plan:** Có xem xét ít nhất 2–3 góc nhìn (user, admin, security hoặc dev)?
79
+ - [ ] **Subtasks:** Thứ tự có tính đến dependency và failure mode không?
80
+ - [ ] **Changelog:** Khi giả định sai hoặc rủi ro mới xuất hiện, đã ghi lại chưa?
81
+
82
+ ---
83
+
84
+ ## 5. Gợi ý prompt cho Agent
85
+
86
+ Khi giao task cho agent, có thể thêm:
87
+
88
+ - "Khi làm task nên áp dụng kết hợp tư duy trong `.claude/skills/dw-thinking/THINKING.md`: xem xét rủi ro và edge case, tác động lên các module khác, và ít nhất 2 góc nhìn (vd: user + security). Nếu phát hiện giả định sai hoặc thiếu, ghi vào Notes/Changelog của task."
89
+ - "Trước khi implement, liệt kê ngắn: (1) giả định đang dùng, (2) 2 rủi ro chính, (3) 1 phương án thay thế đã loại và lý do."
90
+
91
+ Như vậy agent vừa làm đúng spec vừa bổ sung tư duy phản biện và hệ thống vào doc, giúp người review và task sau có thêm ngữ cảnh.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: dw-upgrade
3
+ description: "Upgrade dv-workflow-kit lên version mới. So sánh toolkit files, báo cáo thay đổi, cho phép selective update mà không overwrite customizations."
4
+ argument-hint: ""
5
+ ---
6
+
7
+ # Upgrade dv-workflow-kit
8
+
9
+ ## Điều Kiện Tiên Quyết
10
+
11
+ Skill này yêu cầu toolkit được cài qua git submodule tại `.dw-module/`.
12
+
13
+ ## Bước 1: Kiểm tra setup
14
+
15
+ Kiểm tra `.dw-module/` có tồn tại và là git repo:
16
+ ```bash
17
+ ls .dw-module/.git
18
+ ```
19
+
20
+ Nếu không có → thông báo: "Toolkit chưa được cài dạng git submodule. Xem `examples/integration-guide/README.md`."
21
+
22
+ ## Bước 2: Pull version mới nhất
23
+
24
+ ```bash
25
+ cd .dv-workflow && git fetch origin && git log origin/main --oneline -5
26
+ ```
27
+
28
+ Hiển thị 5 commits mới nhất của upstream để user biết có gì thay đổi.
29
+
30
+ ## Bước 3: Backup config
31
+
32
+ Trước khi update, backup config hiện tại:
33
+ ```bash
34
+ cp .dw/config/dw.config.yml .dw/config/dw.config.yml.backup-$(date +%Y%m%d)
35
+ ```
36
+
37
+ Thông báo: "Config đã backup tại `.dw/config/dw.config.yml.backup-[date]`"
38
+
39
+ ## Bước 4: Update submodule
40
+
41
+ ```bash
42
+ cd .dv-workflow && git pull origin main
43
+ ```
44
+
45
+ ## Bước 5: So sánh và update files
46
+
47
+ Chạy setup script với mode update (không overwrite):
48
+ ```bash
49
+ bash .dw-module/examples/integration-guide/setup.sh
50
+ ```
51
+
52
+ Script dùng `cp -n` (no-clobber) — chỉ copy files MỚI, không overwrite files đã customize.
53
+
54
+ ## Bước 6: Báo cáo kết quả
55
+
56
+ ```
57
+ === Upgrade Report ===
58
+
59
+ Từ: [old version/commit]
60
+ Đến: [new version/commit]
61
+
62
+ Files mới (đã copy):
63
+ + .claude/skills/dw-[new-skill]/SKILL.md
64
+ + .claude/templates/en/task-context.md
65
+
66
+ Files đã thay đổi trong toolkit (KHÔNG tự động update vì bạn có thể đã customize):
67
+ ~ .claude/skills/dw-task-init/SKILL.md — xem diff: git diff .dw-module/.claude/skills/dw-task-init/SKILL.md
68
+ ~ .claude/agents/planner.md
69
+
70
+ Files của bạn (giữ nguyên):
71
+ = .dw/config/dw.config.yml (backup tại .backup-[date])
72
+
73
+ Lưu ý:
74
+ - Review các files "đã thay đổi" và merge thủ công nếu cần
75
+ - Xem CHANGELOG tại .dw-module/CHANGELOG.md để biết breaking changes
76
+ - Chạy /dw-config-validate sau khi upgrade để kiểm tra config
77
+ ```
78
+
79
+ ## Bước 7: Cleanup backup (tùy chọn)
80
+
81
+ Hỏi user: "Bạn có muốn xóa file backup config không? (y/n)"
82
+ Nếu y: `rm .dw/config/dw.config.yml.backup-*`
@@ -0,0 +1,73 @@
1
+ # Context: [Task Name]
2
+
3
+ ## Survey date: [date]
4
+ ## Performed by: [dev / agent]
5
+
6
+ ---
7
+
8
+ ## Original Requirements
9
+
10
+ > [Copy/paste requirements from user, ticket, or BA requirements doc]
11
+
12
+ ## Codebase Analysis
13
+
14
+ ### Related Files
15
+
16
+ | # | File | Role | Needs change? | Notes |
17
+ |---|------|------|---------------|-------|
18
+ | 1 | | | | |
19
+
20
+ ### Current Architecture
21
+
22
+ ```
23
+ [Describe current flow, ASCII diagram if needed]
24
+
25
+ Input → [Module A] → [Module B] → Output
26
+
27
+ [Database]
28
+ ```
29
+
30
+ ### Data Flow
31
+
32
+ - **Input**: [Where does input come from, what format]
33
+ - **Processing**: [Main processing logic]
34
+ - **Output**: [Where does output go, what format]
35
+ - **Storage**: [Where is it stored, what schema]
36
+
37
+ ## Dependencies
38
+
39
+ ### Upstream (task depends on)
40
+ - [ ] [Module/API/Service] — [role]
41
+
42
+ ### Downstream (affected by this task)
43
+ - [ ] [Module/API/Service] — [how affected]
44
+
45
+ ## Patterns & Conventions Found
46
+
47
+ | Pattern | Description | Example (file:line) |
48
+ |---------|-------------|---------------------|
49
+ | | | |
50
+
51
+ ## Current Test Coverage
52
+
53
+ - [ ] Are there tests for the affected area? [Yes/No]
54
+ - Test files: [list]
55
+ - Coverage: [% or description]
56
+ - Gaps: [where tests are missing]
57
+
58
+ ## Assumptions
59
+
60
+ | # | Assumption | Needs verification? | If wrong, impact? |
61
+ |---|-----------|---------------------|-------------------|
62
+ | 1 | | Yes / No | |
63
+
64
+ ## Known Constraints
65
+ - [Constraint 1]
66
+
67
+ ## Unclear / Needs Clarification
68
+ - [ ] [Question 1] — who to ask?
69
+ - [ ] [Question 2]
70
+
71
+ ## Additional Notes
72
+
73
+ [Any other important information: gotchas, tech debt, recent change history]
@@ -0,0 +1,79 @@
1
+ # Plan: [Task Name]
2
+
3
+ ## Created: [date]
4
+ ## Status: Draft | Approved | In Progress | Done
5
+ ## Approved by: [name / role]
6
+
7
+ ---
8
+
9
+ ## Solution Summary
10
+
11
+ [1-2 paragraphs describing the goal and chosen approach]
12
+
13
+ ## Options Considered
14
+
15
+ | # | Option | Pros | Cons | Selected? |
16
+ |---|--------|------|------|-----------|
17
+ | 1 | [Approach A] | | | **Selected** |
18
+ | 2 | [Approach B] | | | Rejected — reason: |
19
+
20
+ ## Subtasks
21
+
22
+ ### ST-1: [Subtask name]
23
+ - **Description**: [Specific, actionable]
24
+ - **Files**: [List of files to change]
25
+ - **Acceptance Criteria**:
26
+ - [ ] [Condition 1]
27
+ - [ ] [Condition 2]
28
+ - **Dependencies**: none
29
+ - **Estimate**: [effort — if estimation enabled]
30
+
31
+ ### ST-2: [Subtask name]
32
+ - **Description**: ...
33
+ - **Files**: ...
34
+ - **Acceptance Criteria**:
35
+ - [ ] ...
36
+ - **Dependencies**: ST-1
37
+ - **Estimate**: ...
38
+
39
+ <!-- Add more subtasks as needed -->
40
+
41
+ ## Risks & Assumptions
42
+
43
+ | # | Type | Description | Probability | Impact | Mitigation |
44
+ |---|------|-------------|-------------|--------|------------|
45
+ | 1 | Assumption | | | | Verify by: |
46
+ | 2 | Risk | | High/Med/Low | High/Med/Low | |
47
+
48
+ ## Edge Cases
49
+
50
+ - [ ] [Edge case 1 — when it occurs, how to handle]
51
+ - [ ] [Edge case 2]
52
+
53
+ ## System Impact
54
+
55
+ - **Affected modules**: [list]
56
+ - **API changes**: [new/modified/removed endpoints]
57
+ - **Database changes**: [migrations needed]
58
+ - **Backward compatibility**: [Yes/No — details]
59
+ - **Breaking changes**: [if any]
60
+
61
+ ## Perspectives & Trade-offs
62
+
63
+ | Decision | User impact | Developer impact | Security | Ops/Deploy |
64
+ |----------|-------------|------------------|----------|------------|
65
+ | [Decision 1] | | | | |
66
+
67
+ <!-- Section below only shown when flags.estimation = true -->
68
+
69
+ ## Estimation Summary
70
+
71
+ | Phase | Estimate | Notes |
72
+ |-------|----------|-------|
73
+ | Research | [done] | |
74
+ | Planning | [done] | |
75
+ | Coding | | |
76
+ | Testing | | |
77
+ | Review | | |
78
+ | Documentation | | |
79
+ | **Total** | **[sum]** | |
@@ -0,0 +1,65 @@
1
+ # Progress: [Task Name]
2
+
3
+ ## Status: Not Started | In Progress | Blocked | Done
4
+ ## Branch: [branch-name]
5
+ ## Started: [date]
6
+ ## Completed: [date — when done]
7
+
8
+ ---
9
+
10
+ ## Subtask Progress
11
+
12
+ | # | Subtask | Status | Commit | Owner | Notes |
13
+ |---|---------|--------|--------|-------|-------|
14
+ | ST-1 | | Pending | | | |
15
+ | ST-2 | | Pending | | | |
16
+
17
+ **Status values**: Pending → In Progress → Done | Blocked | Skipped
18
+
19
+ ## Changelog
20
+
21
+ Record all deviations from the original plan.
22
+
23
+ ### [date] — [description of change]
24
+ - **Reason**: [why the change was made]
25
+ - **Impact**: [which subtasks are affected]
26
+ - **Decision by**: [human / agent / both]
27
+
28
+ ## New Findings
29
+
30
+ Record when assumptions are wrong, new risks appear, or scope changes.
31
+
32
+ | # | Finding | Impact | Action | Status |
33
+ |---|---------|--------|--------|--------|
34
+ | 1 | | | | Resolved / Open |
35
+
36
+ ## Blockers
37
+
38
+ - [ ] [Blocker 1] — owner: [who is responsible] — since: [date]
39
+
40
+ <!-- Section below only shown when flags.log_work = true -->
41
+
42
+ ## Effort Log
43
+
44
+ | Date | Subtask | Work type | Estimate | Actual | Notes |
45
+ |------|---------|-----------|----------|--------|-------|
46
+ | | | coding/testing/review | | | |
47
+
48
+ ### Effort Summary
49
+
50
+ | Metric | Value |
51
+ |--------|-------|
52
+ | Total Estimate | |
53
+ | Total Actual | |
54
+ | Variance | |
55
+ | Accuracy | % |
56
+
57
+ ## Handoff Notes
58
+
59
+ Record at end of session so next person/agent can continue without asking.
60
+
61
+ ### Session [date]
62
+ - **Currently at**: ST-[N] — [describe current state]
63
+ - **Important context**: [decisions, gotchas]
64
+ - **Next steps**: [what to do immediately]
65
+ - **Watch out for**: [warnings, edge cases encountered]
@@ -0,0 +1,56 @@
1
+ ## Tóm Tắt
2
+
3
+ [Mô tả ngắn: thay đổi gì, tại sao]
4
+
5
+ ## Loại Thay Đổi
6
+
7
+ - [ ] Feature mới (feat)
8
+ - [ ] Bug fix (fix)
9
+ - [ ] Refactoring (refactor)
10
+ - [ ] Tests (test)
11
+ - [ ] Documentation (docs)
12
+ - [ ] Performance (perf)
13
+ - [ ] Chore/Config (chore)
14
+
15
+ ## Thay Đổi Chi Tiết
16
+
17
+ - [Thay đổi 1]: [mô tả]
18
+ - [Thay đổi 2]: [mô tả]
19
+
20
+ ## Task Documentation
21
+
22
+ - Plan: `.dw/tasks/[task-name]/[task-name]-plan.md`
23
+ - Context: `.dw/tasks/[task-name]/[task-name]-context.md`
24
+ - Progress: `.dw/tasks/[task-name]/[task-name]-progress.md`
25
+
26
+ ## Testing
27
+
28
+ - [ ] Unit tests pass
29
+ - [ ] Integration tests pass (nếu applicable)
30
+ - [ ] Manual testing done
31
+ - [ ] Edge cases đã test: [liệt kê]
32
+
33
+ ## Checklist
34
+
35
+ - [ ] Code tuân thủ conventions (`.claude/rules/code-style.md`)
36
+ - [ ] Commit messages đúng format
37
+ - [ ] Không có sensitive data (secrets, tokens, .env)
38
+ - [ ] Không có debug code (console.log, debugger)
39
+ - [ ] Documentation cập nhật (nếu applicable)
40
+ - [ ] Breaking changes đã documented (nếu có)
41
+ - [ ] Backward compatible (hoặc migration plan có sẵn)
42
+
43
+ ## Screenshots / Demo
44
+
45
+ [Nếu UI changes — đính kèm screenshots]
46
+
47
+ ## Estimate vs Actual
48
+
49
+ | Metric | Giá trị |
50
+ |--------|---------|
51
+ | Estimated | [hours/points] |
52
+ | Actual | [hours/points] |
53
+ | Notes | |
54
+
55
+ ---
56
+ > PR này được tạo với sự hỗ trợ của AI Agent (dv-workflow-kit)
@@ -0,0 +1,73 @@
1
+ # Context: [Task Name]
2
+
3
+ ## Ngày khảo sát: [date]
4
+ ## Người thực hiện: [dev / agent]
5
+
6
+ ---
7
+
8
+ ## Yêu Cầu Gốc
9
+
10
+ > [Copy/paste yêu cầu từ user, ticket, hoặc BA requirements doc]
11
+
12
+ ## Codebase Analysis
13
+
14
+ ### Files Liên Quan
15
+
16
+ | # | File | Vai trò | Cần thay đổi? | Ghi chú |
17
+ |---|------|---------|----------------|---------|
18
+ | 1 | | | | |
19
+
20
+ ### Kiến Trúc Hiện Tại
21
+
22
+ ```
23
+ [Mô tả luồng hiện tại, có thể dùng ASCII diagram]
24
+
25
+ Input → [Module A] → [Module B] → Output
26
+
27
+ [Database]
28
+ ```
29
+
30
+ ### Data Flow
31
+
32
+ - **Input**: [Dữ liệu đầu vào từ đâu, format gì]
33
+ - **Processing**: [Logic xử lý chính]
34
+ - **Output**: [Kết quả đi đâu, format gì]
35
+ - **Storage**: [Lưu ở đâu, schema gì]
36
+
37
+ ## Dependencies
38
+
39
+ ### Upstream (task phụ thuộc vào)
40
+ - [ ] [Module/API/Service] — [vai trò]
41
+
42
+ ### Downstream (bị ảnh hưởng bởi task)
43
+ - [ ] [Module/API/Service] — [ảnh hưởng thế nào]
44
+
45
+ ## Patterns & Conventions Phát Hiện
46
+
47
+ | Pattern | Mô tả | Ví dụ (file:line) |
48
+ |---------|--------|--------------------|
49
+ | | | |
50
+
51
+ ## Test Coverage Hiện Tại
52
+
53
+ - [ ] Có tests cho khu vực liên quan? [Có/Không]
54
+ - Test files: [danh sách]
55
+ - Coverage: [% hoặc mô tả]
56
+ - Gaps: [thiếu test ở đâu]
57
+
58
+ ## Giả Định
59
+
60
+ | # | Giả định | Cần kiểm chứng? | Nếu sai thì sao? |
61
+ |---|----------|------------------|-------------------|
62
+ | 1 | | Có / Không | |
63
+
64
+ ## Hạn Chế Đã Biết
65
+ - [Hạn chế 1]
66
+
67
+ ## Chưa Rõ / Cần Làm Rõ
68
+ - [ ] [Câu hỏi 1] — cần hỏi ai?
69
+ - [ ] [Câu hỏi 2]
70
+
71
+ ## Ghi Chú Bổ Sung
72
+
73
+ [Bất kỳ thông tin quan trọng khác: gotchas, tech debt, lịch sử thay đổi gần đây]
@@ -0,0 +1,79 @@
1
+ # Plan: [Task Name]
2
+
3
+ ## Ngày tạo: [date]
4
+ ## Trạng thái: Draft | Approved | In Progress | Done
5
+ ## Approved by: [tên / role]
6
+
7
+ ---
8
+
9
+ ## Tóm Tắt Giải Pháp
10
+
11
+ [1-2 đoạn mô tả mục tiêu và approach đã chọn]
12
+
13
+ ## Phương Án Đã Xem Xét
14
+
15
+ | # | Phương án | Ưu điểm | Nhược điểm | Chọn? |
16
+ |---|-----------|---------|------------|-------|
17
+ | 1 | [Approach A] | | | **Chọn** |
18
+ | 2 | [Approach B] | | | Loại — lý do: |
19
+
20
+ ## Subtasks
21
+
22
+ ### ST-1: [Tên subtask]
23
+ - **Mô tả**: [Cụ thể, actionable]
24
+ - **Files**: [Danh sách files cần thay đổi]
25
+ - **Acceptance Criteria**:
26
+ - [ ] [Điều kiện 1]
27
+ - [ ] [Điều kiện 2]
28
+ - **Dependencies**: none
29
+ - **Estimate**: [effort — nếu estimation enabled]
30
+
31
+ ### ST-2: [Tên subtask]
32
+ - **Mô tả**: ...
33
+ - **Files**: ...
34
+ - **Acceptance Criteria**:
35
+ - [ ] ...
36
+ - **Dependencies**: ST-1
37
+ - **Estimate**: ...
38
+
39
+ <!-- Thêm subtasks theo nhu cầu -->
40
+
41
+ ## Rủi Ro & Giả Định
42
+
43
+ | # | Loại | Mô tả | Xác suất | Tác động | Giảm thiểu |
44
+ |---|------|--------|----------|----------|------------|
45
+ | 1 | Giả định | | | | Kiểm chứng bằng: |
46
+ | 2 | Rủi ro | | Cao/TB/Thấp | Cao/TB/Thấp | |
47
+
48
+ ## Edge Cases
49
+
50
+ - [ ] [Edge case 1 — khi nào xảy ra, xử lý thế nào]
51
+ - [ ] [Edge case 2]
52
+
53
+ ## Tác Động Hệ Thống
54
+
55
+ - **Modules bị ảnh hưởng**: [danh sách]
56
+ - **API changes**: [endpoints mới/sửa/xóa]
57
+ - **Database changes**: [migration cần thiết]
58
+ - **Backward compatibility**: [Có/Không — chi tiết]
59
+ - **Breaking changes**: [nếu có]
60
+
61
+ ## Góc Nhìn & Trade-offs
62
+
63
+ | Quyết định | User impact | Developer impact | Security | Ops/Deploy |
64
+ |-----------|-------------|------------------|----------|------------|
65
+ | [Quyết định 1] | | | | |
66
+
67
+ <!-- Section dưới chỉ hiển thị khi flags.estimation = true -->
68
+
69
+ ## Estimation Tổng
70
+
71
+ | Phase | Estimate | Ghi chú |
72
+ |-------|----------|---------|
73
+ | Research | [done] | |
74
+ | Planning | [done] | |
75
+ | Coding | | |
76
+ | Testing | | |
77
+ | Review | | |
78
+ | Documentation | | |
79
+ | **Total** | **[sum]** | |