@warnyin/agents 0.13.0 → 0.15.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 (81) hide show
  1. package/CHANGELOG.md +139 -125
  2. package/README.md +160 -148
  3. package/package.json +38 -38
  4. package/src/.claude/agents/warnyin-infra.md +13 -13
  5. package/src/.claude/agents/warnyin-qa.md +13 -13
  6. package/src/.claude/agents/warnyin-sa.md +13 -13
  7. package/src/.claude/agents/warnyin-security.md +13 -13
  8. package/src/.claude/agents/warnyin-tech-lead.md +13 -13
  9. package/src/.claude/commands/warnyin/build.md +31 -31
  10. package/src/.claude/commands/warnyin/design.md +27 -27
  11. package/src/.claude/commands/warnyin/discovery.md +22 -17
  12. package/src/.claude/commands/warnyin/explore.md +14 -14
  13. package/src/.claude/commands/warnyin/init.md +12 -12
  14. package/src/.claude/commands/warnyin/install-skill.md +14 -14
  15. package/src/.claude/commands/warnyin/next.md +17 -17
  16. package/src/.claude/commands/warnyin/ship.md +28 -28
  17. package/src/.claude/commands/warnyin/triage.md +14 -14
  18. package/src/.claude/commands/warnyin/update-codemaps.md +12 -12
  19. package/src/.claude/commands/warnyin/verify.md +20 -20
  20. package/src/.claude/skills/explore/SKILL.md +8 -8
  21. package/src/.claude/skills/next/SKILL.md +8 -8
  22. package/src/.claude/skills/update-codemaps/SKILL.md +8 -8
  23. package/src/.warnyin/installer/templates/CLAUDE.global.md +5 -5
  24. package/src/.warnyin/installer/templates/CLAUDE.md +34 -34
  25. package/src/.warnyin/template/docs/codemap/index.md +18 -18
  26. package/src/.warnyin/template/docs/features/[feature-name]/business.md +5 -5
  27. package/src/.warnyin/template/docs/features/[feature-name]/feature.md +5 -5
  28. package/src/.warnyin/template/docs/features/[feature-name]/spec.md +16 -16
  29. package/src/.warnyin/template/docs/infra.md +16 -16
  30. package/src/.warnyin/template/docs/project.md +18 -18
  31. package/src/.warnyin/template/docs/rule.md +7 -7
  32. package/src/.warnyin/template/docs/techstack/[component]/about.md +6 -6
  33. package/src/.warnyin/template/docs/techstack/[component]/rule.md +6 -6
  34. package/src/.warnyin/template/docs/techstack/[component]/standard.md +6 -6
  35. package/src/.warnyin/template/docs/techstack/[component]/structure.md +7 -7
  36. package/src/.warnyin/template/docs/techstack/[component]/test.md +7 -7
  37. package/src/.warnyin/template/docs/troubleshooting.md +32 -32
  38. package/src/.warnyin/template/stages/[topic]/build.md +58 -58
  39. package/src/.warnyin/template/stages/[topic]/business.md +21 -21
  40. package/src/.warnyin/template/stages/[topic]/design.md +63 -63
  41. package/src/.warnyin/template/stages/[topic]/discovery.md +69 -69
  42. package/src/.warnyin/template/stages/[topic]/proposal.md +43 -43
  43. package/src/.warnyin/template/stages/[topic]/research.md +49 -49
  44. package/src/.warnyin/template/stages/[topic]/ship.md +32 -32
  45. package/src/.warnyin/template/stages/[topic]/tasks/[task-name]/issue.md +19 -19
  46. package/src/.warnyin/template/stages/[topic]/tasks/[task-name]/rule.md +13 -13
  47. package/src/.warnyin/template/stages/[topic]/tasks/[task-name]/spec.md +36 -36
  48. package/src/.warnyin/template/stages/[topic]/tasks/[task-name]/standard.md +21 -21
  49. package/src/.warnyin/template/stages/[topic]/tasks/[task-name]/task.md +40 -40
  50. package/src/.warnyin/template/stages/[topic]/test.md +46 -46
  51. package/src/.warnyin/template/stages/[topic]/troubleshooting.md +34 -34
  52. package/src/.warnyin/template/stages/[topic]/verify.md +44 -44
  53. package/src/.warnyin/workflow/README.md +105 -102
  54. package/src/.warnyin/workflow/api-doc.md +93 -93
  55. package/src/.warnyin/workflow/codemap.md +91 -91
  56. package/src/.warnyin/workflow/contexts/README.md +51 -51
  57. package/src/.warnyin/workflow/contexts/build.md +25 -25
  58. package/src/.warnyin/workflow/contexts/research.md +25 -25
  59. package/src/.warnyin/workflow/contexts/review.md +25 -25
  60. package/src/.warnyin/workflow/explore.md +32 -32
  61. package/src/.warnyin/workflow/init.md +136 -136
  62. package/src/.warnyin/workflow/next.md +48 -48
  63. package/src/.warnyin/workflow/roles/README.md +47 -47
  64. package/src/.warnyin/workflow/roles/ba.md +25 -25
  65. package/src/.warnyin/workflow/roles/developer.md +31 -31
  66. package/src/.warnyin/workflow/roles/infra.md +24 -24
  67. package/src/.warnyin/workflow/roles/po.md +28 -28
  68. package/src/.warnyin/workflow/roles/qa.md +35 -35
  69. package/src/.warnyin/workflow/roles/sa.md +28 -28
  70. package/src/.warnyin/workflow/roles/security.md +39 -39
  71. package/src/.warnyin/workflow/roles/tech-lead.md +28 -28
  72. package/src/.warnyin/workflow/scripts/build-wave.mjs +145 -143
  73. package/src/.warnyin/workflow/scripts/validate-topic.mjs +378 -378
  74. package/src/.warnyin/workflow/stages/build.md +98 -98
  75. package/src/.warnyin/workflow/stages/design.md +154 -131
  76. package/src/.warnyin/workflow/stages/discovery.md +256 -78
  77. package/src/.warnyin/workflow/stages/ship.md +94 -94
  78. package/src/.warnyin/workflow/stages/verify.md +82 -82
  79. package/src/.warnyin/workflow/triage.md +74 -74
  80. package/src/AGENTS.md +54 -54
  81. package/src/bin/cli.mjs +310 -310
@@ -1,63 +1,63 @@
1
- # Design (How) — <ชื่อ change>
2
-
3
- > Output ของ DESIGN stage · playbook: `.warnyin/workflow/stages/design.md`
4
- > ออกแบบเชิงเทคนิคแบบ **vertical slice architecture** — แต่ละ slice ตัดผ่านทุก layer ทำงาน end-to-end
5
-
6
- ## 1. ภาพรวมสถาปัตยกรรม
7
- - component/service ที่เกี่ยวข้อง (อิง `docs/techstack/*`):
8
- - แนวทางหลัก:
9
-
10
- ## 2. Vertical slices
11
- > หนึ่ง slice = หนึ่งหน่วยคุณค่า end-to-end (UI → API → domain → data → test) → จะกลายเป็น 1 task
12
- > **ไม่แบ่งตาม layer แนวนอน**
13
-
14
- | # | Slice (ส่งมอบคุณค่าอะไร) | ตัดผ่าน layer ไหน | → task |
15
- |---|---|---|---|
16
- | 1 | | UI · API · domain · data · test | `tasks/<task-1>/` |
17
- | 2 | | | `tasks/<task-2>/` |
18
-
19
- ## 3. Data model / schema
20
- - entity / ตาราง / field ที่เพิ่มหรือแก้:
21
- - migration (ถ้ามี):
22
-
23
- ## 4. Interface / contract
24
- - API contract / event / interface ระหว่าง component:
25
-
26
- ## 5. Flow
27
- - data-flow:
28
- - user-flow:
29
-
30
- ## 6. ผลกระทบต่อระบบเดิม
31
- - จุดที่ต้องระวัง / backward compatibility:
32
-
33
- ## 7. Dependency ระหว่าง slice/task
34
- > slice/task เชื่อมกันยังไง ลำดับการทำ — วาด DAG แล้ววัด width (กัน chain เผลอ)
35
-
36
- ```
37
- task-1 ──▶ task-2 ──▶ task-3
38
- └──▶ task-4
39
- ```
40
-
41
- - **critical-path depth (longest chain):** <จำนวน wave ของ chain ที่ยาวที่สุด>
42
- - **max wave width:** <จำนวน task สูงสุดใน wave เดียว — >1 = ขนานได้>
43
- - **เหตุผลถ้า task ใดถูก serialize:** <ถ้า DAG เป็น chain เส้นตรง (ทุก wave 1 task) → ทำไม decouple ด้วย DAG-width toolkit (design.md §3 ข้อ 2) ไม่ได้>
44
-
45
-
46
-
47
- ## 8. Test strategy ระดับ design
48
- - จะยืนยันว่า design ทำงานถูกอย่างไร (ภาพรวม — รายละเอียดอยู่ใน task spec):
49
-
50
- ## 9. Spec delta (เทียบ docs/features/<name>/spec.md ปัจจุบัน)
51
- > พฤติกรรมที่ change นี้ เพิ่ม/แก้/ลบ — SHIP จะ merge ตามนี้แบบกึ่ง mechanical
52
- > change ไม่แตะพฤติกรรม feature (refactor/docs/tooling) → เขียน "ไม่มี delta" บรรทัดเดียวพอ
53
-
54
- ### ADDED
55
- #### Requirement: <ชื่อ> (→ feature: <feature-name>)
56
- <พฤติกรรม + scenario ตาม format ของ spec.md>
57
-
58
- ### MODIFIED
59
- #### Requirement: <ชื่อใหม่> (→ feature: <feature-name>) [เดิมชื่อ: <ชื่อเก่า> — ใส่เฉพาะกรณี rename]
60
- <เวอร์ชันใหม่เต็ม> _(เดิม: <สรุปสั้น>)_
61
-
62
- ### REMOVED
63
- #### Requirement: <ชื่อเดิมใน spec> (→ feature: <feature-name>) — เหตุผลที่เลิก
1
+ # Design (How) — <ชื่อ change>
2
+
3
+ > Output ของ DESIGN stage · playbook: `.warnyin/workflow/stages/design.md`
4
+ > ออกแบบเชิงเทคนิคแบบ **vertical slice architecture** — แต่ละ slice ตัดผ่านทุก layer ทำงาน end-to-end
5
+
6
+ ## 1. ภาพรวมสถาปัตยกรรม
7
+ - component/service ที่เกี่ยวข้อง (อิง `docs/techstack/*`):
8
+ - แนวทางหลัก:
9
+
10
+ ## 2. Vertical slices
11
+ > หนึ่ง slice = หนึ่งหน่วยคุณค่า end-to-end (UI → API → domain → data → test) → จะกลายเป็น 1 task
12
+ > **ไม่แบ่งตาม layer แนวนอน**
13
+
14
+ | # | Slice (ส่งมอบคุณค่าอะไร) | ตัดผ่าน layer ไหน | → task |
15
+ |---|---|---|---|
16
+ | 1 | | UI · API · domain · data · test | `tasks/<task-1>/` |
17
+ | 2 | | | `tasks/<task-2>/` |
18
+
19
+ ## 3. Data model / schema
20
+ - entity / ตาราง / field ที่เพิ่มหรือแก้:
21
+ - migration (ถ้ามี):
22
+
23
+ ## 4. Interface / contract
24
+ - API contract / event / interface ระหว่าง component:
25
+
26
+ ## 5. Flow
27
+ - data-flow:
28
+ - user-flow:
29
+
30
+ ## 6. ผลกระทบต่อระบบเดิม
31
+ - จุดที่ต้องระวัง / backward compatibility:
32
+
33
+ ## 7. Dependency ระหว่าง slice/task
34
+ > slice/task เชื่อมกันยังไง ลำดับการทำ — วาด DAG แล้ววัด width (กัน chain เผลอ)
35
+
36
+ ```
37
+ task-1 ──▶ task-2 ──▶ task-3
38
+ └──▶ task-4
39
+ ```
40
+
41
+ - **critical-path depth (longest chain):** <จำนวน wave ของ chain ที่ยาวที่สุด>
42
+ - **max wave width:** <จำนวน task สูงสุดใน wave เดียว — >1 = ขนานได้>
43
+ - **เหตุผลถ้า task ใดถูก serialize:** <ถ้า DAG เป็น chain เส้นตรง (ทุก wave 1 task) → ทำไม decouple ด้วย DAG-width toolkit (design.md §3 ข้อ 2) ไม่ได้>
44
+
45
+
46
+
47
+ ## 8. Test strategy ระดับ design
48
+ - จะยืนยันว่า design ทำงานถูกอย่างไร (ภาพรวม — รายละเอียดอยู่ใน task spec):
49
+
50
+ ## 9. Spec delta (เทียบ docs/features/<name>/spec.md ปัจจุบัน)
51
+ > พฤติกรรมที่ change นี้ เพิ่ม/แก้/ลบ — SHIP จะ merge ตามนี้แบบกึ่ง mechanical
52
+ > change ไม่แตะพฤติกรรม feature (refactor/docs/tooling) → เขียน "ไม่มี delta" บรรทัดเดียวพอ
53
+
54
+ ### ADDED
55
+ #### Requirement: <ชื่อ> (→ feature: <feature-name>)
56
+ <พฤติกรรม + scenario ตาม format ของ spec.md>
57
+
58
+ ### MODIFIED
59
+ #### Requirement: <ชื่อใหม่> (→ feature: <feature-name>) [เดิมชื่อ: <ชื่อเก่า> — ใส่เฉพาะกรณี rename]
60
+ <เวอร์ชันใหม่เต็ม> _(เดิม: <สรุปสั้น>)_
61
+
62
+ ### REMOVED
63
+ #### Requirement: <ชื่อเดิมใน spec> (→ feature: <feature-name>) — เหตุผลที่เลิก
@@ -1,69 +1,69 @@
1
- # Discovery — <ชื่อหัวข้องาน>
2
-
3
- > Output ของ Discovery stage · playbook: `.warnyin/workflow/stages/discovery.md`
4
-
5
- | | |
6
- |---|---|
7
- | **Slug** | `<kebab-case>` |
8
- | **สถานะ** | `กำลังทำ` / `ผ่าน gate แล้ว` |
9
- | **วันที่** | `YYYY-MM-DD` |
10
- | **ผู้ร่วมตัดสินใจ** | `<ชื่อ>` |
11
- | **เริ่มจาก** | อ้างอิง `docs/project.md` ส่วนไหน |
12
-
13
- ---
14
-
15
- ## 1. สรุปความเข้าใจร่วมกัน (one-liner)
16
- > เราจะทำ **อะไร** ให้ **ใคร** เพื่อแก้ปัญหา **อะไร** — สรุปได้ใน 1-3 บรรทัด
17
-
18
- ## 2. Problem & Why now
19
- - ปัญหา / โอกาส:
20
- - ทำไมต้องทำตอนนี้:
21
- - ผูกกับเป้าหมายโปรเจกต์ (จาก `docs/project.md`) อย่างไร:
22
-
23
- ## 3. Scope (กว้าง → แคบ)
24
- **In scope (จะทำ)**
25
- -
26
-
27
- **Out of scope (จะไม่ทำในรอบนี้)**
28
- -
29
-
30
- ## 4. Decision Log (เดินทีละกิ่งของ decision tree)
31
- > หนึ่งแถว = หนึ่งการตัดสินใจ บันทึกทันทีที่ตกลงได้
32
-
33
- | # | คำถาม / ประเด็น | ทางเลือก | คำตอบที่แนะนำ | ที่เลือกจริง | เหตุผล |
34
- |---|---|---|---|---|---|
35
- | 1 | | | | | |
36
- | 2 | | | | | |
37
-
38
- ## 5. สมมติฐาน & ข้อจำกัด
39
- - สมมติฐาน:
40
- - ข้อจำกัด (เทคนิค/เวลา/ทรัพยากร/ระบบเดิม):
41
-
42
- ## 6. เกณฑ์ความสำเร็จ (วัดผลได้)
43
- -
44
-
45
- ## 7. Feature ideas / ทางเลือกของวิธีแก้
46
- > ไอเดียคร่าวๆ ที่จะส่งต่อให้ DESIGN พิจารณา (ยังไม่ลงรายละเอียดออกแบบ)
47
- -
48
-
49
- ## 8. Open questions (ที่ยังค้าง)
50
- > ต้องปิดทุกข้อที่ block การออกแบบ ก่อนผ่าน gate
51
- - [ ]
52
-
53
- ## 9. ความเสี่ยงหลัก
54
- -
55
-
56
- ## 10. ลิงก์ที่เกี่ยวข้อง
57
- - Research: `./research.md`
58
- - เอกสารโปรเจกต์: `docs/project.md`, `docs/...`
59
- - โค้ด/ไฟล์ที่ตรวจสอบ:
60
-
61
- ---
62
-
63
- ## ✅ Gate → DESIGN (ดู `.warnyin/workflow/stages/discovery.md` ข้อ 6)
64
- - [ ] Problem / why-now ชัด ผูกกับ project.md
65
- - [ ] Scope in/out ชัด
66
- - [ ] Decision log ปิดทุกประเด็นสำคัญ ไม่มี open question ที่ block
67
- - [ ] success criteria วัดผลได้
68
- - [ ] สมมติฐาน/ข้อจำกัด/ความเสี่ยง บันทึกครบ
69
- - [ ] user ยืนยัน "เข้าใจตรงกันแล้ว"
1
+ # Discovery — <ชื่อหัวข้องาน>
2
+
3
+ > Output ของ Discovery stage · playbook: `.warnyin/workflow/stages/discovery.md`
4
+
5
+ | | |
6
+ |---|---|
7
+ | **Slug** | `<kebab-case>` |
8
+ | **สถานะ** | `กำลังทำ` / `ผ่าน gate แล้ว` |
9
+ | **วันที่** | `YYYY-MM-DD` |
10
+ | **ผู้ร่วมตัดสินใจ** | `<ชื่อ>` |
11
+ | **เริ่มจาก** | อ้างอิง `docs/project.md` ส่วนไหน |
12
+
13
+ ---
14
+
15
+ ## 1. สรุปความเข้าใจร่วมกัน (one-liner)
16
+ > เราจะทำ **อะไร** ให้ **ใคร** เพื่อแก้ปัญหา **อะไร** — สรุปได้ใน 1-3 บรรทัด
17
+
18
+ ## 2. Problem & Why now
19
+ - ปัญหา / โอกาส:
20
+ - ทำไมต้องทำตอนนี้:
21
+ - ผูกกับเป้าหมายโปรเจกต์ (จาก `docs/project.md`) อย่างไร:
22
+
23
+ ## 3. Scope (กว้าง → แคบ)
24
+ **In scope (จะทำ)**
25
+ -
26
+
27
+ **Out of scope (จะไม่ทำในรอบนี้)**
28
+ -
29
+
30
+ ## 4. Decision Log (เดินทีละกิ่งของ decision tree)
31
+ > หนึ่งแถว = หนึ่งการตัดสินใจ บันทึกทันทีที่ตกลงได้
32
+
33
+ | # | คำถาม / ประเด็น | ทางเลือก | คำตอบที่แนะนำ | ที่เลือกจริง | เหตุผล |
34
+ |---|---|---|---|---|---|
35
+ | 1 | | | | | |
36
+ | 2 | | | | | |
37
+
38
+ ## 5. สมมติฐาน & ข้อจำกัด
39
+ - สมมติฐาน:
40
+ - ข้อจำกัด (เทคนิค/เวลา/ทรัพยากร/ระบบเดิม):
41
+
42
+ ## 6. เกณฑ์ความสำเร็จ (วัดผลได้)
43
+ -
44
+
45
+ ## 7. Feature ideas / ทางเลือกของวิธีแก้
46
+ > ไอเดียคร่าวๆ ที่จะส่งต่อให้ DESIGN พิจารณา (ยังไม่ลงรายละเอียดออกแบบ)
47
+ -
48
+
49
+ ## 8. Open questions (ที่ยังค้าง)
50
+ > ต้องปิดทุกข้อที่ block การออกแบบ ก่อนผ่าน gate
51
+ - [ ]
52
+
53
+ ## 9. ความเสี่ยงหลัก
54
+ -
55
+
56
+ ## 10. ลิงก์ที่เกี่ยวข้อง
57
+ - Research: `./research.md`
58
+ - เอกสารโปรเจกต์: `docs/project.md`, `docs/...`
59
+ - โค้ด/ไฟล์ที่ตรวจสอบ:
60
+
61
+ ---
62
+
63
+ ## ✅ Gate → DESIGN (ดู `.warnyin/workflow/stages/discovery.md` ข้อ 6)
64
+ - [ ] Problem / why-now ชัด ผูกกับ project.md
65
+ - [ ] Scope in/out ชัด
66
+ - [ ] Decision log ปิดทุกประเด็นสำคัญ ไม่มี open question ที่ block
67
+ - [ ] success criteria วัดผลได้
68
+ - [ ] สมมติฐาน/ข้อจำกัด/ความเสี่ยง บันทึกครบ
69
+ - [ ] user ยืนยัน "เข้าใจตรงกันแล้ว"
@@ -1,43 +1,43 @@
1
- # Proposal — <ชื่อ change>
2
-
3
- > Output ของ DESIGN stage · playbook: `.warnyin/workflow/stages/design.md`
4
- > **what & why** ของ change นี้
5
-
6
- | | |
7
- |---|---|
8
- | **Slug** | `<kebab-case>` |
9
- | **ประเภท** | `feature` / `bugfix` / `refactor` / `docs` |
10
- | **ขนาด** | `เล็ก` / `กลาง` / `ใหญ่` |
11
- | **วันที่** | `YYYY-MM-DD` |
12
- | **มาจาก Discovery?** | `./discovery.md` หรือ `ไม่มี` |
13
-
14
- ## 1. สรุป change (what)
15
- > เราจะเปลี่ยน/สร้าง/แก้อะไร — 1-3 บรรทัด
16
-
17
- ## 2. ทำไม (why)
18
- - ปัญหา/โอกาส:
19
- - ผลถ้าไม่ทำ:
20
-
21
- ## 3. ทางเลือกที่พิจารณา
22
- | ทางเลือก | ข้อดี | ข้อเสีย | เลือก? |
23
- |---|---|---|---|
24
- | A (แนะนำ) | | | ✅ |
25
- | B | | | |
26
-
27
- - เหตุผลที่เลือก:
28
-
29
- ## 4. Scope
30
- **In scope**
31
- -
32
-
33
- **Out of scope**
34
- -
35
-
36
- ## 5. ผลกระทบ & ความเสี่ยง
37
- - ระบบ/ฟีเจอร์เดิมที่กระทบ:
38
- - ความเสี่ยง + วิธีลดความเสี่ยง:
39
-
40
- ## 6. ลิงก์
41
- - Design (how): `./design.md`
42
- - Tasks: `./tasks/`
43
- - Business: `./business.md` (ถ้ามี)
1
+ # Proposal — <ชื่อ change>
2
+
3
+ > Output ของ DESIGN stage · playbook: `.warnyin/workflow/stages/design.md`
4
+ > **what & why** ของ change นี้
5
+
6
+ | | |
7
+ |---|---|
8
+ | **Slug** | `<kebab-case>` |
9
+ | **ประเภท** | `feature` / `bugfix` / `refactor` / `docs` |
10
+ | **ขนาด** | `fast` / `standard` / `large` (จาก triage หรือ ประเมินใน DESIGN step 1.5) |
11
+ | **วันที่** | `YYYY-MM-DD` |
12
+ | **มาจาก Discovery?** | `./discovery.md` หรือ `ไม่มี` |
13
+
14
+ ## 1. สรุป change (what)
15
+ > เราจะเปลี่ยน/สร้าง/แก้อะไร — 1-3 บรรทัด
16
+
17
+ ## 2. ทำไม (why)
18
+ - ปัญหา/โอกาส:
19
+ - ผลถ้าไม่ทำ:
20
+
21
+ ## 3. ทางเลือกที่พิจารณา
22
+ | ทางเลือก | ข้อดี | ข้อเสีย | เลือก? |
23
+ |---|---|---|---|
24
+ | A (แนะนำ) | | | ✅ |
25
+ | B | | | |
26
+
27
+ - เหตุผลที่เลือก:
28
+
29
+ ## 4. Scope
30
+ **In scope**
31
+ -
32
+
33
+ **Out of scope**
34
+ -
35
+
36
+ ## 5. ผลกระทบ & ความเสี่ยง
37
+ - ระบบ/ฟีเจอร์เดิมที่กระทบ:
38
+ - ความเสี่ยง + วิธีลดความเสี่ยง:
39
+
40
+ ## 6. ลิงก์
41
+ - Design (how): `./design.md`
42
+ - Tasks: `./tasks/`
43
+ - Business: `./business.md` (ถ้ามี)
@@ -1,49 +1,49 @@
1
- # Research — <ชื่อหัวข้องาน>
2
-
3
- > Output ของ Discovery stage · playbook: `.warnyin/workflow/stages/discovery.md`
4
- > ที่เก็บ "ข้อมูลที่ค้นมา + หลักฐาน" สนับสนุนการตัดสินใจใน `discovery.md`
5
-
6
- | | |
7
- |---|---|
8
- | **Slug** | `<kebab-case>` |
9
- | **วันที่** | `YYYY-MM-DD` |
10
-
11
- ---
12
-
13
- ## 1. คำถามวิจัย (research questions)
14
- > สิ่งที่ "ยังไม่รู้" และต้องค้นให้ได้คำตอบก่อนออกแบบ
15
- - [ ] RQ1:
16
- - [ ] RQ2:
17
-
18
- ## 2. วิธี & แหล่งข้อมูล
19
- - [ ] อ่านโค้ด/เอกสารในโปรเจกต์ (code inspection)
20
- - [ ] ค้นเว็บ / เอกสารภายนอก
21
- - [ ] prior art / วิธีที่ทีม/คนอื่นทำ
22
-
23
- ## 3. Findings (ผลการค้นต่อคำถาม)
24
- > ทุก finding ต้องมี evidence/link อ้างอิงได้
25
-
26
- ### RQ1: <คำถาม>
27
- - พบว่า:
28
- - หลักฐาน:
29
- - สรุป/นัยต่อการออกแบบ:
30
-
31
- ### RQ2: <คำถาม>
32
- -
33
-
34
- ## 4. Code inspection (สิ่งที่ตอบได้จากโค้ดเอง โดยไม่ต้องถาม user)
35
- | ไฟล์ / ส่วนของโค้ด | สิ่งที่พบ | นัยต่องาน |
36
- |---|---|---|
37
- | | | |
38
-
39
- ## 5. ทางเลือก & เปรียบเทียบ (ถ้ามี)
40
- | ทางเลือก | ข้อดี | ข้อเสีย | เหมาะกับเคสนี้? |
41
- |---|---|---|---|
42
- | | | | |
43
-
44
- ## 6. ความเสี่ยง / unknown ที่ยังเหลือ
45
- -
46
-
47
- ## 7. ข้อสรุป → ส่งต่อ
48
- - คำแนะนำจาก research:
49
- - การตัดสินใจที่ป้อนกลับเข้า `discovery.md` (Decision Log):
1
+ # Research — <ชื่อหัวข้องาน>
2
+
3
+ > Output ของ Discovery stage · playbook: `.warnyin/workflow/stages/discovery.md`
4
+ > ที่เก็บ "ข้อมูลที่ค้นมา + หลักฐาน" สนับสนุนการตัดสินใจใน `discovery.md`
5
+
6
+ | | |
7
+ |---|---|
8
+ | **Slug** | `<kebab-case>` |
9
+ | **วันที่** | `YYYY-MM-DD` |
10
+
11
+ ---
12
+
13
+ ## 1. คำถามวิจัย (research questions)
14
+ > สิ่งที่ "ยังไม่รู้" และต้องค้นให้ได้คำตอบก่อนออกแบบ
15
+ - [ ] RQ1:
16
+ - [ ] RQ2:
17
+
18
+ ## 2. วิธี & แหล่งข้อมูล
19
+ - [ ] อ่านโค้ด/เอกสารในโปรเจกต์ (code inspection)
20
+ - [ ] ค้นเว็บ / เอกสารภายนอก
21
+ - [ ] prior art / วิธีที่ทีม/คนอื่นทำ
22
+
23
+ ## 3. Findings (ผลการค้นต่อคำถาม)
24
+ > ทุก finding ต้องมี evidence/link อ้างอิงได้
25
+
26
+ ### RQ1: <คำถาม>
27
+ - พบว่า:
28
+ - หลักฐาน:
29
+ - สรุป/นัยต่อการออกแบบ:
30
+
31
+ ### RQ2: <คำถาม>
32
+ -
33
+
34
+ ## 4. Code inspection (สิ่งที่ตอบได้จากโค้ดเอง โดยไม่ต้องถาม user)
35
+ | ไฟล์ / ส่วนของโค้ด | สิ่งที่พบ | นัยต่องาน |
36
+ |---|---|---|
37
+ | | | |
38
+
39
+ ## 5. ทางเลือก & เปรียบเทียบ (ถ้ามี)
40
+ | ทางเลือก | ข้อดี | ข้อเสีย | เหมาะกับเคสนี้? |
41
+ |---|---|---|---|
42
+ | | | | |
43
+
44
+ ## 6. ความเสี่ยง / unknown ที่ยังเหลือ
45
+ -
46
+
47
+ ## 7. ข้อสรุป → ส่งต่อ
48
+ - คำแนะนำจาก research:
49
+ - การตัดสินใจที่ป้อนกลับเข้า `discovery.md` (Decision Log):
@@ -1,32 +1,32 @@
1
- # Ship — <ชื่อ topic>
2
-
3
- > Output ของ SHIP stage · playbook: `.warnyin/workflow/stages/ship.md`
4
- > สรุปการส่งมอบ — เขียนหลังย้าย topic เข้า `docs/stages/achieved/<YYYY-MM-DD>-<slug>/` แล้ว
5
-
6
- ## 1. สรุป topic
7
- - ทำอะไร: <!-- หนึ่งย่อหน้า: topic นี้ทำอะไร ทำอย่างไร -->
8
- - ประเภท: ☐ feature ใหม่ / ☐ ปรับปรุง feature เดิม → `docs/features/<feature-name>/`
9
-
10
- ## 2. เอกสารกลางที่อัปเดต
11
- | ไฟล์ | สาระที่ promote |
12
- |---|---|
13
- | `docs/features/<feature-name>/` | |
14
- | `docs/features/<feature-name>/spec.md` | <!-- merge Spec delta จาก design.md §9 --> |
15
- | `docs/techstack/<component>/rule.md` | |
16
- | `docs/techstack/<component>/standard.md` | |
17
- | `docs/techstack/<component>/structure.md` | |
18
- | `docs/techstack/<component>/test.md` | |
19
- | `docs/rule.md` | |
20
- | `docs/troubleshooting.md` | |
21
- | `docs/infra.md` / `docs/project.md` | <!-- ถ้าเกี่ยวข้อง --> |
22
- | `docs/codemap/` | |
23
-
24
- ## 3. Learned rules (planned + emergent)
25
- > กฎ generalize ที่จับจาก topic นี้ — planned (`tasks/*/rule.md` §2) + emergent (บทเรียนตอน build/verify/troubleshooting). evidence บังคับ; ไม่มี evidence = ไม่ promote. ครอบทั้งที่ promote และที่ตัด.
26
-
27
- | rule (generalize) | evidence (pointer + artifact) | scope (`component:<c>` / `project`) | promote? (✅ / ✂️ + เหตุผล) |
28
- |---|---|---|---|
29
- | | | | |
30
-
31
- ## 4. Archive
32
- - ย้ายจาก `docs/stages/<slug>/` → `docs/stages/achieved/<YYYY-MM-DD>-<slug>/` เมื่อ <YYYY-MM-DD>
1
+ # Ship — <ชื่อ topic>
2
+
3
+ > Output ของ SHIP stage · playbook: `.warnyin/workflow/stages/ship.md`
4
+ > สรุปการส่งมอบ — เขียนหลังย้าย topic เข้า `docs/stages/achieved/<YYYY-MM-DD>-<slug>/` แล้ว
5
+
6
+ ## 1. สรุป topic
7
+ - ทำอะไร: <!-- หนึ่งย่อหน้า: topic นี้ทำอะไร ทำอย่างไร -->
8
+ - ประเภท: ☐ feature ใหม่ / ☐ ปรับปรุง feature เดิม → `docs/features/<feature-name>/`
9
+
10
+ ## 2. เอกสารกลางที่อัปเดต
11
+ | ไฟล์ | สาระที่ promote |
12
+ |---|---|
13
+ | `docs/features/<feature-name>/` | |
14
+ | `docs/features/<feature-name>/spec.md` | <!-- merge Spec delta จาก design.md §9 --> |
15
+ | `docs/techstack/<component>/rule.md` | |
16
+ | `docs/techstack/<component>/standard.md` | |
17
+ | `docs/techstack/<component>/structure.md` | |
18
+ | `docs/techstack/<component>/test.md` | |
19
+ | `docs/rule.md` | |
20
+ | `docs/troubleshooting.md` | |
21
+ | `docs/infra.md` / `docs/project.md` | <!-- ถ้าเกี่ยวข้อง --> |
22
+ | `docs/codemap/` | |
23
+
24
+ ## 3. Learned rules (planned + emergent)
25
+ > กฎ generalize ที่จับจาก topic นี้ — planned (`tasks/*/rule.md` §2) + emergent (บทเรียนตอน build/verify/troubleshooting). evidence บังคับ; ไม่มี evidence = ไม่ promote. ครอบทั้งที่ promote และที่ตัด.
26
+
27
+ | rule (generalize) | evidence (pointer + artifact) | scope (`component:<c>` / `project`) | promote? (✅ / ✂️ + เหตุผล) |
28
+ |---|---|---|---|
29
+ | | | | |
30
+
31
+ ## 4. Archive
32
+ - ย้ายจาก `docs/stages/<slug>/` → `docs/stages/achieved/<YYYY-MM-DD>-<slug>/` เมื่อ <YYYY-MM-DD>
@@ -1,19 +1,19 @@
1
- # Issue — <ชื่อ task>
2
-
3
- > Output ของ DESIGN dry-run · playbook: `.warnyin/workflow/stages/design.md` (ข้อ 4.9)
4
- > ผลสแกนหา defer/blocker ของ task นี้ก่อนเข้า BUILD — **สร้างเฉพาะเมื่อพบ issue**
5
-
6
- ## 1. สรุป
7
- - ผลสแกน: blocker __ ข้อ · defer __ ข้อ
8
- - สถานะรวม: ☐ แก้ครบ ไม่มี blocker ค้าง / ☐ มี blocker ค้าง (ห้ามเข้า BUILD)
9
-
10
- ## 2. รายการ issue
11
- | # | ประเภท | จุดที่พบ (ไฟล์/spec/โค้ด) | รายละเอียด | แนวทางแก้ / ข้อสรุป | สถานะ |
12
- |---|---|---|---|---|---|
13
- | 1 | blocker / defer | | | | open / resolved |
14
-
15
- > - **blocker** — ทำให้ implement ตาม spec ไม่ได้ (ขัดแย้งกับโค้ดจริง/task อื่น, ข้อมูลขาด, dependency ผิด) → ต้องแก้ DESIGN ก่อนเข้า BUILD
16
- > - **defer** — ตัดสินใจ/ทำทีหลังได้ ไม่ block การเริ่ม BUILD แต่ต้องบันทึกและให้ user รับทราบ
17
-
18
- ## 3. ผลการแก้ไข
19
- <!-- แก้อะไรใน design.md / task ไหนบ้าง + ผล rerun dry-run; ข้อสรุปจากการสัมภาษณ์ user (ถ้ามี) -->
1
+ # Issue — <ชื่อ task>
2
+
3
+ > Output ของ DESIGN dry-run · playbook: `.warnyin/workflow/stages/design.md` (ข้อ 4.9)
4
+ > ผลสแกนหา defer/blocker ของ task นี้ก่อนเข้า BUILD — **สร้างเฉพาะเมื่อพบ issue**
5
+
6
+ ## 1. สรุป
7
+ - ผลสแกน: blocker __ ข้อ · defer __ ข้อ
8
+ - สถานะรวม: ☐ แก้ครบ ไม่มี blocker ค้าง / ☐ มี blocker ค้าง (ห้ามเข้า BUILD)
9
+
10
+ ## 2. รายการ issue
11
+ | # | ประเภท | จุดที่พบ (ไฟล์/spec/โค้ด) | รายละเอียด | แนวทางแก้ / ข้อสรุป | สถานะ |
12
+ |---|---|---|---|---|---|
13
+ | 1 | blocker / defer | | | | open / resolved |
14
+
15
+ > - **blocker** — ทำให้ implement ตาม spec ไม่ได้ (ขัดแย้งกับโค้ดจริง/task อื่น, ข้อมูลขาด, dependency ผิด) → ต้องแก้ DESIGN ก่อนเข้า BUILD
16
+ > - **defer** — ตัดสินใจ/ทำทีหลังได้ ไม่ block การเริ่ม BUILD แต่ต้องบันทึกและให้ user รับทราบ
17
+
18
+ ## 3. ผลการแก้ไข
19
+ <!-- แก้อะไรใน design.md / task ไหนบ้าง + ผล rerun dry-run; ข้อสรุปจากการสัมภาษณ์ user (ถ้ามี) -->
@@ -1,13 +1,13 @@
1
- # Rule — <ชื่อ task>
2
-
3
- > Output ของ DESIGN stage · playbook: `.warnyin/workflow/stages/design.md`
4
- > rule ที่ task นี้ต้อง **focus/follow** + rule ใหม่ที่อยากเสนอเพิ่ม
5
-
6
- ## 1. Rule ที่ต้อง follow (จาก techstack)
7
- > ดึงจาก `docs/techstack/<component>/rule.md` และ `docs/rule.md` — เฉพาะข้อที่เกี่ยวกับ task นี้
8
- - [ ]
9
- - [ ]
10
-
11
- ## 2. เสนอเพิ่ม rule ใหม่ (⏳ รอ SHIP ค่อยอัปเดต rule กลาง)
12
- > ห้ามแก้ `docs/techstack/.../rule.md` ตอนนี้ — แค่ note ไว้ก่อน ถึง SHIP ค่อยพิจารณาย้ายขึ้นไป
13
- - [ ] rule ที่เสนอ: _____ — เหตุผล: _____
1
+ # Rule — <ชื่อ task>
2
+
3
+ > Output ของ DESIGN stage · playbook: `.warnyin/workflow/stages/design.md`
4
+ > rule ที่ task นี้ต้อง **focus/follow** + rule ใหม่ที่อยากเสนอเพิ่ม
5
+
6
+ ## 1. Rule ที่ต้อง follow (จาก techstack)
7
+ > ดึงจาก `docs/techstack/<component>/rule.md` และ `docs/rule.md` — เฉพาะข้อที่เกี่ยวกับ task นี้
8
+ - [ ]
9
+ - [ ]
10
+
11
+ ## 2. เสนอเพิ่ม rule ใหม่ (⏳ รอ SHIP ค่อยอัปเดต rule กลาง)
12
+ > ห้ามแก้ `docs/techstack/.../rule.md` ตอนนี้ — แค่ note ไว้ก่อน ถึง SHIP ค่อยพิจารณาย้ายขึ้นไป
13
+ - [ ] rule ที่เสนอ: _____ — เหตุผล: _____