@longph2102/v-flow 1.5.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 (247) hide show
  1. package/AGENTS.md +265 -0
  2. package/CHANGELOG.md +318 -0
  3. package/LICENSE +21 -0
  4. package/README.md +326 -0
  5. package/agents/ba-agent.md +437 -0
  6. package/agents/ba-critic-agent.md +156 -0
  7. package/agents/ba-to-ptyc-agent.md +112 -0
  8. package/agents/bugfix-analyst-agent.md +221 -0
  9. package/agents/constitute-agent.md +155 -0
  10. package/agents/help-agent.md +168 -0
  11. package/agents/implement-agent.md +220 -0
  12. package/agents/import-ba-docs-agent.md +164 -0
  13. package/agents/master-check-agent.md +228 -0
  14. package/agents/metrics-agent.md +180 -0
  15. package/agents/operations-agent.md +123 -0
  16. package/agents/plan-agent.md +218 -0
  17. package/agents/prototype-agent.md +191 -0
  18. package/agents/retrospective-agent.md +196 -0
  19. package/agents/review-agent.md +210 -0
  20. package/agents/sprint-agent.md +191 -0
  21. package/agents/status-agent.md +186 -0
  22. package/agents/sync-agent.md +201 -0
  23. package/agents/test-agent.md +166 -0
  24. package/agents/understand-agent.md +339 -0
  25. package/cli/commands/check.js +96 -0
  26. package/cli/commands/dev-quiz.js +107 -0
  27. package/cli/commands/doctor.js +348 -0
  28. package/cli/commands/feature.js +259 -0
  29. package/cli/commands/hooks.js +163 -0
  30. package/cli/commands/init.js +189 -0
  31. package/cli/commands/log.js +199 -0
  32. package/cli/commands/plugin.js +230 -0
  33. package/cli/commands/score-card.js +203 -0
  34. package/cli/commands/status.js +269 -0
  35. package/cli/commands/sync.js +59 -0
  36. package/cli/commands/upgrade.js +150 -0
  37. package/cli/commands/validate.js +1259 -0
  38. package/cli/commands/watch.js +151 -0
  39. package/cli/index.js +46 -0
  40. package/cli/lib/ac-test-gate.js +89 -0
  41. package/cli/lib/activity-log.js +209 -0
  42. package/cli/lib/cli-error.js +183 -0
  43. package/cli/lib/constitution-lint.js +561 -0
  44. package/cli/lib/dev-quiz-grade.js +127 -0
  45. package/cli/lib/governance.js +78 -0
  46. package/cli/lib/hook-targets.js +167 -0
  47. package/cli/lib/i18n.js +375 -0
  48. package/cli/lib/knowledge-oracle.js +379 -0
  49. package/cli/lib/logger.js +203 -0
  50. package/cli/lib/module-card-lint.js +304 -0
  51. package/cli/lib/module-card-score.js +223 -0
  52. package/cli/lib/plugins.js +481 -0
  53. package/cli/lib/scanner.js +692 -0
  54. package/cli/lib/sync-core.js +232 -0
  55. package/cli/lib/sync-targets.js +84 -0
  56. package/cli/lib/templates.js +268 -0
  57. package/cli/lib/yaml-parser.js +203 -0
  58. package/commands/v.ba-critic.md +101 -0
  59. package/commands/v.ba-to-ptyc.md +71 -0
  60. package/commands/v.bugfix.md +86 -0
  61. package/commands/v.check.md +131 -0
  62. package/commands/v.constitute.md +87 -0
  63. package/commands/v.constitution.md +84 -0
  64. package/commands/v.fork.md +127 -0
  65. package/commands/v.help.md +73 -0
  66. package/commands/v.hotfix.md +200 -0
  67. package/commands/v.implement.md +92 -0
  68. package/commands/v.import-ba-docs.md +222 -0
  69. package/commands/v.metrics.md +74 -0
  70. package/commands/v.operations.md +70 -0
  71. package/commands/v.plan.md +78 -0
  72. package/commands/v.prototype.md +121 -0
  73. package/commands/v.quickfix.md +169 -0
  74. package/commands/v.retrospective.md +80 -0
  75. package/commands/v.review.md +78 -0
  76. package/commands/v.rewind.md +127 -0
  77. package/commands/v.specify.md +118 -0
  78. package/commands/v.sprint.md +75 -0
  79. package/commands/v.status.md +62 -0
  80. package/commands/v.sync.md +81 -0
  81. package/commands/v.test.md +67 -0
  82. package/commands/v.understand.md +112 -0
  83. package/package.json +65 -0
  84. package/skills/_shared/constitution-reader/SKILL.md +109 -0
  85. package/skills/_shared/constitution-reader/config.json +52 -0
  86. package/skills/_shared/constitution-reader/examples/good/b1-phase-output.md +48 -0
  87. package/skills/_shared/constitution-reader/gotchas.md +46 -0
  88. package/skills/_shared/context-reader/SKILL.md +111 -0
  89. package/skills/_shared/context-reader/config.json +54 -0
  90. package/skills/_shared/context-reader/examples/good/legacy-nodejs-output.md +35 -0
  91. package/skills/_shared/context-reader/gotchas.md +49 -0
  92. package/skills/_shared/ears-notation/SKILL.md +63 -0
  93. package/skills/_shared/ears-notation/config.json +55 -0
  94. package/skills/_shared/ears-notation/examples/good/plan-test-interpretation.md +29 -0
  95. package/skills/_shared/ears-notation/gotchas.md +43 -0
  96. package/skills/check/cross-validator/SKILL.md +206 -0
  97. package/skills/check/cross-validator/config.json +33 -0
  98. package/skills/check/cross-validator/examples/good/validation-report-pass-with-concerns.md +105 -0
  99. package/skills/check/cross-validator/gotchas.md +43 -0
  100. package/skills/implement/constitution-enforcer/SKILL.md +134 -0
  101. package/skills/implement/constitution-enforcer/config.json +16 -0
  102. package/skills/implement/constitution-enforcer/examples/bad/vague-report.md +42 -0
  103. package/skills/implement/constitution-enforcer/examples/good/compliance-report.md +57 -0
  104. package/skills/implement/constitution-enforcer/gotchas.md +26 -0
  105. package/skills/implement/constitution-enforcer/scripts/check-constitution.sh +88 -0
  106. package/skills/implement/no-go-zone-guard/SKILL.md +173 -0
  107. package/skills/implement/no-go-zone-guard/config.json +28 -0
  108. package/skills/implement/no-go-zone-guard/examples/good/adapter-workaround.md +46 -0
  109. package/skills/implement/no-go-zone-guard/gotchas.md +27 -0
  110. package/skills/implement/no-go-zone-guard/scripts/check-nogo-zones.sh +148 -0
  111. package/skills/implement/no-go-zone-guard/scripts/nogo-precommit.sh +96 -0
  112. package/skills/implement/tdd-driver/SKILL.md +159 -0
  113. package/skills/implement/tdd-driver/config.json +33 -0
  114. package/skills/implement/tdd-driver/examples/good/tdd-cycle-product-repo.md +81 -0
  115. package/skills/implement/tdd-driver/gotchas.md +34 -0
  116. package/skills/metrics/metrics-collector/SKILL.md +133 -0
  117. package/skills/metrics/metrics-collector/config.json +16 -0
  118. package/skills/metrics/metrics-collector/examples/bad/incomplete-report.md +48 -0
  119. package/skills/metrics/metrics-collector/examples/good/full-metrics-report.md +101 -0
  120. package/skills/metrics/metrics-collector/gotchas.md +26 -0
  121. package/skills/operations/incident-runbook/SKILL.md +167 -0
  122. package/skills/operations/incident-runbook/config.json +21 -0
  123. package/skills/operations/incident-runbook/examples/bad/vague-incident-report.md +48 -0
  124. package/skills/operations/incident-runbook/examples/good/p1-hotfix-response.md +119 -0
  125. package/skills/operations/incident-runbook/gotchas.md +26 -0
  126. package/skills/plan/architecture-designer/SKILL.md +228 -0
  127. package/skills/plan/architecture-designer/config.json +32 -0
  128. package/skills/plan/architecture-designer/examples/bad/vague-plan.md +62 -0
  129. package/skills/plan/architecture-designer/examples/good/expand-contract-migration.md +56 -0
  130. package/skills/plan/architecture-designer/examples/good/plan-structure.md +58 -0
  131. package/skills/plan/architecture-designer/gotchas.md +45 -0
  132. package/skills/plan/task-breakdown/SKILL.md +208 -0
  133. package/skills/plan/task-breakdown/config.json +26 -0
  134. package/skills/plan/task-breakdown/examples/bad/vague-tasks.md +77 -0
  135. package/skills/plan/task-breakdown/examples/good/spike-clarify-tasks.md +66 -0
  136. package/skills/plan/task-breakdown/examples/good/tasks-login-feature.md +111 -0
  137. package/skills/plan/task-breakdown/gotchas.md +39 -0
  138. package/skills/prototype/LOGIC.md +240 -0
  139. package/skills/prototype/SKILL.md +185 -0
  140. package/skills/prototype/UI.md +407 -0
  141. package/skills/prototype/config.json +104 -0
  142. package/skills/prototype/examples/bad/prototype-notes.md +68 -0
  143. package/skills/prototype/examples/good/prototype-notes-ui.md +109 -0
  144. package/skills/prototype/examples/good/prototype-notes.md +67 -0
  145. package/skills/prototype/gotchas.md +128 -0
  146. package/skills/prototype/scripts/check-flow-state.ps1 +112 -0
  147. package/skills/prototype/scripts/check-flow-state.sh +104 -0
  148. package/skills/prototype/scripts/check-prototype-cleanup.ps1 +124 -0
  149. package/skills/prototype/scripts/check-prototype-cleanup.sh +109 -0
  150. package/skills/prototype/scripts/check-prototype-notes.ps1 +107 -0
  151. package/skills/prototype/scripts/check-prototype-notes.sh +102 -0
  152. package/skills/review/adversarial-reviewer/SKILL.md +137 -0
  153. package/skills/review/adversarial-reviewer/config.json +32 -0
  154. package/skills/review/adversarial-reviewer/examples/good/review-report-template.md +56 -0
  155. package/skills/review/adversarial-reviewer/gotchas.md +46 -0
  156. package/skills/review/adversarial-reviewer/scripts/quick-security-scan.sh +52 -0
  157. package/skills/specify/ba-bpmn-doc-gen/SKILL.md +108 -0
  158. package/skills/specify/ba-bpmn-doc-gen/reference/reference-bpmn-generation.md +528 -0
  159. package/skills/specify/ba-bpmn-doc-gen/reference/reference-drawio-flowchart.md +466 -0
  160. package/skills/specify/ba-critic/SKILL.md +172 -0
  161. package/skills/specify/ba-critic/config.json +32 -0
  162. package/skills/specify/ba-critic/examples/good/critic-report-round1.md +51 -0
  163. package/skills/specify/ba-critic/gotchas.md +40 -0
  164. package/skills/specify/ba-critic/scripts/check-spec-quality.sh +72 -0
  165. package/skills/specify/ba-doc-generator/SKILL.md +102 -0
  166. package/skills/specify/ba-doc-generator/references/template-clevel.md +84 -0
  167. package/skills/specify/ba-doc-generator/references/template-compliance.md +83 -0
  168. package/skills/specify/ba-doc-generator/references/template-dev.md +138 -0
  169. package/skills/specify/ba-doc-generator/references/template-partner.md +167 -0
  170. package/skills/specify/ba-doc-generator/references/template-pm.md +92 -0
  171. package/skills/specify/ba-doc-generator/references/template-review.md +114 -0
  172. package/skills/specify/ba-doc-generator/references/template-tester.md +108 -0
  173. package/skills/specify/ba-doc-generator/references/template-user.md +98 -0
  174. package/skills/specify/bugfix-analyst/SKILL.md +296 -0
  175. package/skills/specify/bugfix-analyst/config.json +41 -0
  176. package/skills/specify/bugfix-analyst/examples/bad/common-mistakes.md +71 -0
  177. package/skills/specify/bugfix-analyst/examples/good/email-validation-bugfix.md +53 -0
  178. package/skills/specify/bugfix-analyst/gotchas.md +51 -0
  179. package/skills/specify/ears-writer/SKILL.md +129 -0
  180. package/skills/specify/ears-writer/config.json +20 -0
  181. package/skills/specify/ears-writer/examples/bad/common-mistakes.md +17 -0
  182. package/skills/specify/ears-writer/examples/good/login-requirements.md +41 -0
  183. package/skills/specify/ears-writer/gotchas.md +43 -0
  184. package/skills/specify/ears-writer/scripts/check-ears-compliance.sh +51 -0
  185. package/skills/test/test-case-generator/SKILL.md +161 -0
  186. package/skills/test/test-case-generator/config.json +33 -0
  187. package/skills/test/test-case-generator/examples/good/test-cases-login.md +104 -0
  188. package/skills/test/test-case-generator/gotchas.md +43 -0
  189. package/skills/understand/ba-docs-scanner/SKILL.md +239 -0
  190. package/skills/understand/ba-docs-scanner/config.json +47 -0
  191. package/skills/understand/ba-docs-scanner/examples/good/work-order-br-extract.md +28 -0
  192. package/skills/understand/ba-docs-scanner/gotchas.md +44 -0
  193. package/skills/understand/ba-docs-scanner/merge-rules.md +47 -0
  194. package/skills/understand/codebase-scanner/SKILL.md +260 -0
  195. package/skills/understand/codebase-scanner/config.json +56 -0
  196. package/skills/understand/codebase-scanner/examples/good/menu-module-output.md +44 -0
  197. package/skills/understand/codebase-scanner/gotchas.md +42 -0
  198. package/skills/understand/codebase-scanner/scripts/scan-project-structure.sh +64 -0
  199. package/templates/DESIGN.md +456 -0
  200. package/templates/agent-command-template.yaml +240 -0
  201. package/templates/agent-config-template.md +170 -0
  202. package/templates/agent-definition-template.md +145 -0
  203. package/templates/agent-metrics-template.md +150 -0
  204. package/templates/api-contract-template.md +72 -0
  205. package/templates/bugfix-report-template.md +195 -0
  206. package/templates/bugfix-spec-template.md +134 -0
  207. package/templates/code-review-report-template.md +119 -0
  208. package/templates/constitution-template.md +234 -0
  209. package/templates/context-template.md +94 -0
  210. package/templates/data-model-template.md +95 -0
  211. package/templates/decision-log-template.md +92 -0
  212. package/templates/flow-state-template.yaml +208 -0
  213. package/templates/github/workflows/v-flow-validate.yml +30 -0
  214. package/templates/knowledge/adr-template.md +70 -0
  215. package/templates/knowledge/api-contract-template.md +140 -0
  216. package/templates/knowledge/domain-glossary.md +29 -0
  217. package/templates/knowledge/golden-tests-readme.md +115 -0
  218. package/templates/knowledge/lessons-learned.md +41 -0
  219. package/templates/knowledge/patterns.md +103 -0
  220. package/templates/module-card/SKILL.md +85 -0
  221. package/templates/module-card/api-specs.md +96 -0
  222. package/templates/module-card/business-quiz.md +119 -0
  223. package/templates/module-card/cross-service.md +125 -0
  224. package/templates/module-card/db.md +85 -0
  225. package/templates/module-card/dev-quiz.md +62 -0
  226. package/templates/module-card/permissions.md +83 -0
  227. package/templates/module-card/state-diagram.md +64 -0
  228. package/templates/module-card/tech-context.md +90 -0
  229. package/templates/module-card/ui-flows.md +91 -0
  230. package/templates/module-card/use-cases.md +142 -0
  231. package/templates/module-template.yaml +161 -0
  232. package/templates/operations-report-template.md +108 -0
  233. package/templates/plan-template.md +308 -0
  234. package/templates/prototype-notes-template.md +116 -0
  235. package/templates/ptyc/PTYC.template.docx +0 -0
  236. package/templates/ptyc/ptyc.meta.example.yaml +44 -0
  237. package/templates/retrospective-report-template.md +136 -0
  238. package/templates/security-review-template.md +84 -0
  239. package/templates/session-template.md +167 -0
  240. package/templates/spec-review-log-template.md +75 -0
  241. package/templates/spec-template.md +229 -0
  242. package/templates/sprint-status-template.md +101 -0
  243. package/templates/tasks-template.md +275 -0
  244. package/templates/test-cases-template.md +124 -0
  245. package/templates/ux-checklist-template.md +79 -0
  246. package/templates/validation-report-template.md +125 -0
  247. package/templates/vflow-config-template.yaml +22 -0
@@ -0,0 +1,170 @@
1
+ # Template: Agent Configuration — Cấu hình Agent Pipeline
2
+
3
+ > Tài liệu cấu hình cho AI Agent trong dự án.
4
+ > Tạo 1 lần trong **S.0b**, cập nhật khi cần dựa trên metrics.
5
+
6
+ ## Thông tin dự án
7
+
8
+ | Mục | Giá trị |
9
+ |-----|--------|
10
+ | **Tên dự án** | [TÊN DỰ ÁN] |
11
+ | **Ngày cấu hình** | [YYYY-MM-DD] |
12
+ | **Phiên bản** | 1.0 |
13
+ | **Người cấu hình** | [Tên] |
14
+
15
+ ---
16
+
17
+ ## 1. Model Assignment
18
+
19
+ | Agent | Model | Temperature | Max Tokens | Ghi chú |
20
+ |-------|-------|-------------|------------|---------|
21
+ | BA Agent | [model-name] | 0.3 | 8192 | Advanced Elicitation |
22
+ | BA Critic Agent | [model-name] | 0.3 | 8192 | Adversarial, fresh context |
23
+ | Plan Agent | [model-name] | 0.2 | 16384 | |
24
+ | Test Agent | [model-name] | 0.2 | 8192 | |
25
+ | Master Check Agent | [model-name] | 0.1 | 16384 | Cần reasoning mạnh nhất |
26
+ | Implement Agent | [model-name] | 0.1 | 32768 | Cần code generation mạnh |
27
+ | **Review Agent** | [model-name] | 0.2 | 16384 | Adversarial, tìm ≥3 issues |
28
+ | Understand Agent | [model-name] | 0.2 | 16384 | Codebase scan |
29
+ | Constitute Agent | [model-name] | 0.3 | 8192 | Infer from code |
30
+ | Sync Agent | [model-name] | 0.1 | 8192 | Diff analysis |
31
+ | Metrics Agent | [model-name] | 0.2 | 8192 | Data collection |
32
+ | Sprint Agent | [model-name] | 0.2 | 8192 | Planning |
33
+ | Retrospective Agent | [model-name] | 0.3 | 8192 | Analysis |
34
+ | Help/Status Agent | [model-name] | 0.2 | 4096 | Quick response |
35
+
36
+ ---
37
+
38
+ ## 2. Tool Access Matrix
39
+
40
+ | Tool / Quyền | BA | Plan | Test | Master Check | Implement | Review |
41
+ |---------------|:--:|:----:|:----:|:------------:|:---------:|:------:|
42
+ | File Read (docs) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
43
+ | File Read (src) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
44
+ | File Write (src) | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
45
+ | Terminal | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
46
+ | Browser/Internet | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
47
+ | Codebase Search | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
48
+ | Image Viewer | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
49
+
50
+ > Điều chỉnh theo nhu cầu dự án. Nguyên tắc: **least privilege** — chỉ cấp quyền cần thiết.
51
+
52
+ ---
53
+
54
+ ## 3. Context & Knowledge Sources
55
+
56
+ ### 3.1 Input bắt buộc cho mỗi Agent
57
+
58
+ | Agent | Input bắt buộc | Input tùy chọn |
59
+ |-------|----------------|----------------|
60
+ | BA Agent | constitution.md, yêu cầu thô | wireframe, spec cũ, domain glossary |
61
+ | BA Critic Agent | spec.md, constitution.md | spec-review-log.md (header only) |
62
+ | Plan Agent | constitution.md, spec.md | existing codebase, ADRs, context.md |
63
+ | Test Agent | constitution.md, spec.md | existing test patterns |
64
+ | Master Check | constitution.md, spec.md, plan.md, test-cases.md | context.md (No-Go Zones) |
65
+ | Implement Agent | constitution.md, plan.md, tasks.md, test-cases.md | existing code context, concerns list |
66
+ | Review Agent | spec.md, plan.md, tasks.md, validation-report.md | constitution.md |
67
+ | Understand Agent | codebase files | context.md (existing) |
68
+ | Sync Agent | spec.md (new version), plan.md, tasks.md, test-cases.md | — |
69
+
70
+ ### 3.2 Knowledge Base Setup
71
+
72
+ | Loại | Đường dẫn | Trạng thái |
73
+ |------|-----------|------------|
74
+ | Domain Glossary | `.v-flow/knowledge/domain-glossary.md` | [ ] Đã tạo |
75
+ | Architecture Decisions | `.v-flow/knowledge/architecture-decisions/` | [ ] Đã tạo |
76
+ | Code Patterns | `.v-flow/knowledge/patterns/` | [ ] Đã tạo |
77
+ | Lessons Learned | `.v-flow/knowledge/lessons-learned/` | [ ] Đã tạo |
78
+
79
+ ---
80
+
81
+ ## 4. Non-determinism Strategy
82
+
83
+ | Chiến lược | Áp dụng cho | Mô tả |
84
+ |------------|-------------|--------|
85
+ | **Retry with review** | Tất cả agents | Nếu output bị reject, chạy lại với feedback |
86
+ | **Temperature tuning** | Implement Agent | Giảm temperature cho code generation |
87
+ | **Seed fixing** | [Agent cụ thể] | Sử dụng seed cố định khi cần reproducibility |
88
+ | **Ensemble voting** | [ ] Áp dụng / [ ] Không áp dụng | 2-3 runs, chọn output tốt nhất |
89
+
90
+ ---
91
+
92
+ ## 5. Prompt Versions
93
+
94
+ | Agent | Prompt File | Version | Lần cập nhật cuối |
95
+ |-------|-------------|---------|-------------------|
96
+ | BA Agent | `agents/ba-agent.md` | v2.0 | [YYYY-MM-DD] |
97
+ | BA Critic Agent | `agents/ba-critic-agent.md` | v2.0 | [YYYY-MM-DD] |
98
+ | Plan Agent | `agents/plan-agent.md` | v2.0 | [YYYY-MM-DD] |
99
+ | Test Agent | `agents/test-agent.md` | v2.0 | [YYYY-MM-DD] |
100
+ | Master Check | `agents/master-check-agent.md` | v2.0 | [YYYY-MM-DD] |
101
+ | Implement Agent | `agents/implement-agent.md` | v2.0 | [YYYY-MM-DD] |
102
+ | Review Agent | `agents/review-agent.md` | v2.0 | [YYYY-MM-DD] |
103
+ | Understand Agent | `agents/understand-agent.md` | v2.0 | [YYYY-MM-DD] |
104
+ | Constitute Agent | `agents/constitute-agent.md` | v2.0 | [YYYY-MM-DD] |
105
+ | Sync Agent | `agents/sync-agent.md` | v2.0 | [YYYY-MM-DD] |
106
+ | Metrics Agent | `agents/metrics-agent.md` | v2.0 | [YYYY-MM-DD] |
107
+ | Sprint Agent | `agents/sprint-agent.md` | v2.0 | [YYYY-MM-DD] |
108
+ | Retrospective Agent | `agents/retrospective-agent.md` | v2.0 | [YYYY-MM-DD] |
109
+ | Help Agent | `agents/help-agent.md` | v2.0 | [YYYY-MM-DD] |
110
+ | Status Agent | `agents/status-agent.md` | v2.0 | [YYYY-MM-DD] |
111
+ | Import BA Docs Agent | `agents/import-ba-docs-agent.md` | v2.0 | [YYYY-MM-DD] |
112
+
113
+ ---
114
+
115
+ ## 6. Guardrails — Input/Output Validation
116
+
117
+ ### 6.1 Input Guardrails
118
+
119
+ | Agent | Guardrail | Mô tả |
120
+ |-------|-----------|-------|
121
+ | Tất cả | **Constitution check** | Reject input thiếu constitution.md |
122
+ | BA Agent | **Format validation** | Yêu cầu có ≥ 1 requirement rõ ràng |
123
+ | Implement Agent | **Scope check** | Chỉ modify files trong `tasks.md` |
124
+ | Tất cả | **PII filter** | [ ] Bật / [ ] Tắt — lọc thông tin cá nhân |
125
+
126
+ ### 6.2 Output Guardrails
127
+
128
+ | Agent | Guardrail | Action khi vi phạm |
129
+ |-------|-----------|-------------------|
130
+ | Tất cả | **Template compliance** | Output phải đúng template → reject nếu sai format |
131
+ | Implement Agent | **File write scope** | Chỉ ghi vào files được chỉ định → block nếu ngoài scope |
132
+ | Implement Agent | **No secrets in code** | Scan output cho API keys, passwords → block |
133
+ | BA Agent | **Language consistency** | Output cùng ngôn ngữ với constitution |
134
+
135
+ ### 6.3 Safety & Content
136
+
137
+ - [ ] **Harmful content filter**: Bật lọc nội dung không phù hợp
138
+ - [ ] **Hallucination check**: Yêu cầu agent cite sources trong output
139
+ - [ ] **Confidence threshold**: Reject output có confidence < [X]/5
140
+
141
+ ---
142
+
143
+ ## 7. Safe Iteration — Test trước Production
144
+
145
+ ### 7.1 Staging Strategy
146
+
147
+ | Giai đoạn | Môi trường | Mục đích |
148
+ |-----------|-----------|---------|
149
+ | Dev | Local / sandbox | Test prompt changes nhanh |
150
+ | Staging | Staging environment | Test với data representative |
151
+ | Prod | Production | Sau khi staging OK |
152
+
153
+ ### 7.2 Khi thay đổi Agent Config
154
+
155
+ ```
156
+ 1. Thay đổi trên branch riêng
157
+ 2. Test với 1-2 features trên staging
158
+ 3. So sánh metrics staging vs production
159
+ 4. Nếu tốt hơn → merge vào main
160
+ 5. Ghi lại lý do thay đổi trong decision log
161
+ ```
162
+
163
+ ### 7.3 Rollback Plan
164
+
165
+ - [ ] Giữ version cũ của agent-config.md (git history)
166
+ - [ ] Nếu metrics xấu hơn sau thay đổi → revert ngay
167
+
168
+ ---
169
+
170
+ > **Lưu ý**: Agent config được tạo 1 lần và cập nhật dựa trên [Agent Metrics](../docs/agent-metrics-guide.md). Review lại config sau mỗi 5-10 features.
@@ -0,0 +1,145 @@
1
+ # {Agent Name} — {Mô tả ngắn vai trò}
2
+
3
+ > **Vai trò**: {Mô tả vai trò 1 dòng}
4
+ > **Phase**: {Phase code — ví dụ: S.1, B.0a, R.0}
5
+ > **Trigger**: {Lệnh kích hoạt — ví dụ: /v.specify, /v.plan}
6
+ > **Điều kiện**: {Điều kiện để chạy agent này — hoặc "Không có điều kiện đặc biệt"}
7
+
8
+ ---
9
+
10
+ ## 1. Vai trò & Trách nhiệm
11
+
12
+ {Mô tả 2-3 dòng: Agent này làm gì, tại sao cần, và giá trị chính nó mang lại.}
13
+
14
+ **Nguyên tắc cốt lõi**:
15
+ - {Nguyên tắc 1 — tóm tắt 1 dòng}
16
+ - {Nguyên tắc 2}
17
+ - {Nguyên tắc 3}
18
+
19
+ ---
20
+
21
+ ## 2. Quy trình làm việc
22
+
23
+ ### Bước 1: Chuẩn bị (Pre-conditions)
24
+ 1. {Kiểm tra điều kiện 1}
25
+ 2. {Đọc file input 1}
26
+ 3. {Đọc file input 2}
27
+
28
+ ### Bước 2: Thực hiện (Execution)
29
+ 1. {Bước thực hiện chính 1}
30
+ 2. {Bước thực hiện chính 2}
31
+ 3. {Bước thực hiện chính 3}
32
+
33
+ ### Bước 3: Output
34
+ 1. {Tạo artifact 1}
35
+ 2. {Cập nhật artifact 2 nếu có}
36
+
37
+ ---
38
+
39
+ ## 3. Input / Output
40
+
41
+ ### Input
42
+
43
+ | Loại | File/Data | Mô tả |
44
+ |:----:|-----------|-------|
45
+ | **Bắt buộc** | {File/data bắt buộc 1} | {Mô tả ngắn} |
46
+ | **Bắt buộc** | {File/data bắt buộc 2} | {Mô tả ngắn} |
47
+ | **Tùy chọn** | {File/data tùy chọn} | {Mô tả ngắn} |
48
+
49
+ ### Output
50
+
51
+ | File | Mô tả | Template |
52
+ |------|-------|---------|
53
+ | {File output 1} | {Mô tả nội dung} | `templates/{template}.md` |
54
+ | {File output 2} | {Mô tả nội dung} | — |
55
+
56
+ ---
57
+
58
+ ## 4. Quy tắc quan trọng
59
+
60
+ 1. **{Quy tắc 1}** — {Giải thích ngắn}
61
+ 2. **{Quy tắc 2}** — {Giải thích ngắn}
62
+ 3. **{Quy tắc 3}** — {Giải thích ngắn}
63
+
64
+ ---
65
+
66
+ ## 5. Quality Gate — Tự kiểm tra trước khi output
67
+
68
+ | Tiêu chí | Câu hỏi tự kiểm | Nếu KHÔNG → |
69
+ |----------|-----------------|-------------|
70
+ | **{Tiêu chí 1}** | "{Câu hỏi?}" | {Hành động} |
71
+ | **{Tiêu chí 2}** | "{Câu hỏi?}" | {Hành động} |
72
+ | **{Tiêu chí 3}** | "{Câu hỏi?}" | {Hành động} |
73
+
74
+ > ⚠️ Nếu bất kỳ tiêu chí Critical nào FAIL → KHÔNG output. Sửa trước.
75
+
76
+ ---
77
+
78
+ ## 6. Xử lý khi gặp vấn đề
79
+
80
+ | Tình huống | Hành động |
81
+ |-----------|---------|
82
+ | {Tình huống 1 — input thiếu} | {Cách xử lý} |
83
+ | {Tình huống 2 — conflict} | {Cách xử lý} |
84
+ | {Tình huống 3 — unclear} | {Cách xử lý — ghi Open Question} |
85
+ | {Tình huống 4 — No-Go Zone} | {DỪNG — báo cho human} |
86
+
87
+ ---
88
+
89
+ ## 7. Routing — Bước tiếp theo
90
+
91
+ ```
92
+ {Condition 1 — success}
93
+ → Route: {/v.command tiếp theo}
94
+ → Human action: {nếu cần}
95
+
96
+ {Condition 2 — failure}
97
+ → Route: {/v.command khác}
98
+ → Lý do: {giải thích}
99
+
100
+ {Condition 3 — ambiguous}
101
+ → Route: Escalate to human
102
+ ```
103
+
104
+ ---
105
+
106
+ ## 8. Cập nhật State & Session
107
+
108
+ **Cập nhật `.flow-state.yaml`**:
109
+ ```yaml
110
+ current_phase: "{phase_code}"
111
+ phase_status: "done" # done | awaiting_human | blocked
112
+ artifacts:
113
+ {artifact_name}:
114
+ exists: true
115
+ # ... thêm fields tùy artifact
116
+ ```
117
+
118
+ **Append vào `_session.md`**:
119
+ ```markdown
120
+ ### [{Phase}] {Agent Name} — [YYYY-MM-DD]
121
+ - **Agent**: {Agent Name}
122
+ - **Input**: {files đã đọc}
123
+ - **Output**: {artifacts tạo ra}
124
+ - **Key decisions**: {quyết định quan trọng nếu có}
125
+ - **Quality Gate**: PASS / FAIL
126
+ - **Routing**: → {bước tiếp theo}
127
+ ```
128
+
129
+ **Agent Command Block** *(cuối artifact output)*:
130
+ ```yaml
131
+ # --- AGENT COMMAND ---
132
+ agent: "{Agent Name}"
133
+ phase: "{phase_code}"
134
+ timestamp: "YYYY-MM-DDTHH:MM:SS"
135
+
136
+ state_updates:
137
+ current_phase: "{phase_code}"
138
+ phase_status: "done"
139
+
140
+ routing:
141
+ next_phase: "{next_phase}"
142
+ next_command: "{/v.command}"
143
+ condition: "{điều kiện}"
144
+ # --- END COMMAND ---
145
+ ```
@@ -0,0 +1,150 @@
1
+ # Template: Agent Metrics Report
2
+
3
+ > Điền sau mỗi feature cycle (**M.0**).
4
+ > Lưu tại: `.v-flow/features/NNN-ten-feature/metrics-report.md`
5
+
6
+ ## Thông tin Feature
7
+
8
+ | Mục | Giá trị |
9
+ |-----|--------|
10
+ | **Feature** | [#NNN — Tên feature] |
11
+ | **Ngày bắt đầu** | [YYYY-MM-DD] |
12
+ | **Ngày hoàn thành** | [YYYY-MM-DD] |
13
+ | **Tổng thời gian** | [X giờ / ngày] |
14
+ | **Pipeline type** | Full / Quick Fix / Hotfix |
15
+ | **Người đánh giá** | [Tên] |
16
+
17
+ ---
18
+
19
+ ## 1. Metrics theo Agent
20
+
21
+ ### 1.1 Agent Performance Matrix
22
+
23
+ | Agent | Pass lần 1? | Revisions | Thời gian | Quality (1-5) | Target | Trend |
24
+ |-------|:----------:|:---------:|:---------:|:------------:|:------:|:-----:|
25
+ | BA Agent | ✅/❌ | [N] | [N]m | /5 | ≥4 | ↑↓→ |
26
+ | BA Critic | N/A | [N] rounds | [N]m | /5 | ≥4 | ↑↓→ |
27
+ | Plan Agent | ✅/❌ | [N] | [N]m | /5 | ≥4 | ↑↓→ |
28
+ | Test Agent | ✅/❌ | [N] | [N]m | /5 | ≥4 | ↑↓→ |
29
+ | Master Check | PASS/FAIL | [N] | [N]m | /5 | ≥4 | ↑↓→ |
30
+ | Implement Agent | ✅/❌ | [N] | [N]m | /5 | ≥4 | ↑↓→ |
31
+ | Review Agent | ✅/❌ | [N] | [N]m | /5 | ≥4 | ↑↓→ |
32
+
33
+ ### 1.2 Agent Targets (Chuẩn hiệu suất)
34
+
35
+ | Agent | Tiêu chí | Target | Actual | Met? |
36
+ |-------|---------|:------:|:------:|:----:|
37
+ | BA Agent | First-pass approval | ≥70% | [XX]% | ✅/❌ |
38
+ | Plan Agent | First-pass approval | ≥80% | [XX]% | ✅/❌ |
39
+ | Test Agent | REQ coverage | 100% | [XX]% | ✅/❌ |
40
+ | Master Check | Catch rate | ≥90% | [XX]% | ✅/❌ |
41
+ | Implement Agent | Tests pass rate | 100% | [XX]% | ✅/❌ |
42
+ | Review Agent | Issues found | ≥3 | [N] | ✅/❌ |
43
+
44
+ ---
45
+
46
+ ## 2. Metrics Pipeline
47
+
48
+ | Metric | Giá trị |
49
+ |--------|--------|
50
+ | **Master Check kết quả** | PASS / PASS WITH CONCERNS / FAIL (lần thứ ___) |
51
+ | **Tổng cycle time** | [N] giờ |
52
+ | **Phase bottleneck** | [Phase nào mất nhiều thời gian nhất] |
53
+ | **Rework cycles** | [N] — quay lại phase: [phase list] |
54
+ | **Code review rounds** | [N] |
55
+ | **Concerns generated (R.0)** | [N] |
56
+ | **Concerns resolved (B.1)** | [N]/[N] |
57
+ | **UAT result** | Pass / Fail |
58
+ | **Bugs found after deploy** | [N] |
59
+
60
+ ---
61
+
62
+ ## 2.5 Cost Metrics
63
+
64
+ | Agent | Model | Tokens (Input) | Tokens (Output) | Chi phí (USD) |
65
+ |-------|-------|:--------------:|:---------------:|:-------------:|
66
+ | BA Agent | [model] | | | $ |
67
+ | BA Critic | [model] | | | $ |
68
+ | Plan Agent | [model] | | | $ |
69
+ | Test Agent | [model] | | | $ |
70
+ | Master Check | [model] | | | $ |
71
+ | Implement Agent | [model] | | | $ |
72
+ | Review Agent | [model] | | | $ |
73
+ | **Tổng cộng** | | | | **$** |
74
+
75
+ > 💡 Thu thập từ API usage logs hoặc provider dashboard.
76
+ > So sánh cost/feature để tối ưu model selection.
77
+
78
+ ---
79
+
80
+ ## 3. Requirements Coverage
81
+
82
+ | Metric | Số lượng |
83
+ |--------|---------|
84
+ | Requirements trong spec | [N] |
85
+ | Tasks mapped to REQ | [N/N] |
86
+ | Test cases mapped to REQ | [N/N] |
87
+ | Tests pass | [N] |
88
+ | Tests fail | [N] |
89
+ | Coverage % | [XX]% |
90
+
91
+ ### Ground Truth Comparison (tùy chọn)
92
+
93
+ | Agent | Golden test pass? | Score | Ghi chú |
94
+ |-------|:-----------------:|:-----:|---------|
95
+ | BA Agent | ✅/❌ | /100 | So với golden spec |
96
+ | Plan Agent | ✅/❌ | /100 | So với golden plan |
97
+ | Test Agent | ✅/❌ | /100 | So với golden test cases |
98
+
99
+ > 📎 Golden test datasets lưu tại `.v-flow/knowledge/golden-tests/`
100
+
101
+ ---
102
+
103
+ ## 4. Trend Analysis (so sánh N features gần nhất)
104
+
105
+ | Metric | Feature N-2 | Feature N-1 | **Feature N** | Trend |
106
+ |--------|:----------:|:----------:|:------------:|:-----:|
107
+ | Cycle time (giờ) | | | | ↑↓→ |
108
+ | Rework cycles | | | | ↑↓→ |
109
+ | Master Check pass lần 1 | | | | ↑↓→ |
110
+ | Code Review pass lần 1 | | | | ↑↓→ |
111
+ | Cost per feature | | | | ↑↓→ |
112
+ | Post-deploy bugs | | | | ↑↓→ |
113
+ | Avg Quality score | | | | ↑↓→ |
114
+
115
+ > ↑ = improving, ↓ = degrading, → = stable
116
+
117
+ ---
118
+
119
+ ## 5. Vấn đề & Bài học
120
+
121
+ ### Vấn đề gặp phải
122
+ <!-- Liệt kê vấn đề phát sinh trong cycle -->
123
+ 1. [Mô tả vấn đề] → [Giải pháp / Workaround]
124
+
125
+ ### Bài học rút ra
126
+ <!-- Kinh nghiệm cho cycles tiếp theo -->
127
+ 1. [Bài học]
128
+
129
+ ### Đề xuất cải tiến Agent Config
130
+ <!-- Thay đổi agent config, prompt, model nếu cần -->
131
+
132
+ | Đề xuất | Agent | Thay đổi | Priority | Lý do |
133
+ |---------|-------|---------|:--------:|-------|
134
+ | [mô tả] | [agent] | [model/temp/prompt] | High/Med/Low | [data-driven reason] |
135
+
136
+ ---
137
+
138
+ ## 6. Đánh giá tổng thể
139
+
140
+ | Tiêu chí | Điểm (1-5) | Target |
141
+ |----------|:-----------:|:------:|
142
+ | Chất lượng spec | /5 | ≥4 |
143
+ | Chất lượng plan | /5 | ≥4 |
144
+ | Chất lượng test cases | /5 | ≥4 |
145
+ | Chất lượng code | /5 | ≥4 |
146
+ | Hiệu quả pipeline tổng thể | /5 | ≥4 |
147
+ | Cost efficiency | /5 | ≥3 |
148
+ | **Trung bình** | **/5** | **≥4** |
149
+
150
+ > **So sánh với feature trước:** Tốt hơn / Tương đương / Kém hơn — [giải thích ngắn dùng data]
@@ -0,0 +1,72 @@
1
+ # Template: API Contract
2
+
3
+ > Được tạo bởi **API Contract Agent** — Phase B.0 (optional, `--with-api`)
4
+ > Lưu tại `contracts/api-contract.md`
5
+ > Feature: [TÊN FEATURE]
6
+ > Spec Version: [vX.Y]
7
+
8
+ > 📌 Contract là **nguồn chuẩn** để FE và BE làm song song (xem skill Contract-first). Đóng băng contract TRƯỚC khi implement.
9
+
10
+ ---
11
+
12
+ ## 1. Tổng quan
13
+
14
+ - **Base URL**: `[https://api.example.com/v1]`
15
+ - **Auth**: [Bearer JWT / API key / none]
16
+ - **Content-Type**: `application/json`
17
+ - **Versioning**: [path `/v1` / header `Accept-Version`]
18
+
19
+ ---
20
+
21
+ ## 2. Endpoints
22
+
23
+ | Method | Path | Mô tả | Auth | New/Sửa | REQ |
24
+ |--------|------|-------|:----:|:-------:|-----|
25
+ | POST | `/auth/login` | Đăng nhập | ❌ | Mới | REQ-xxx |
26
+ | GET | `/products` | Danh sách (paginated) | ✅ | Mới | REQ-xxx |
27
+
28
+ ---
29
+
30
+ ## 3. Request / Response Schemas
31
+
32
+ ### `POST /auth/login`
33
+
34
+ **Request**
35
+ ```json
36
+ { "email": "string", "password": "string" }
37
+ ```
38
+
39
+ **Response 200**
40
+ ```json
41
+ { "token": "string", "refreshToken": "string" }
42
+ ```
43
+
44
+ > Lặp lại block cho mỗi endpoint. Ghi rõ field bắt buộc/optional, kiểu, ràng buộc.
45
+
46
+ ---
47
+
48
+ ## 4. Error Codes
49
+
50
+ | HTTP | Code | Mô tả | Khi nào |
51
+ |:----:|------|-------|---------|
52
+ | 400 | `VALIDATION_ERROR` | Input sai | Field thiếu/sai định dạng |
53
+ | 401 | `AUTH_INVALID` | Sai credentials | Login fail |
54
+ | 429 | `RATE_LIMITED` | Quá giới hạn | Quá N request |
55
+
56
+ > Error envelope chuẩn: `{ "error": { "code": "...", "message": "...", "details": [] } }`
57
+
58
+ ---
59
+
60
+ ## 5. Tương thích & Versioning (nếu SỬA contract cũ)
61
+
62
+ | Endpoint | Field | Thay đổi | Trước | Sau | Breaking? |
63
+ |----------|-------|:--------:|-------|-----|:---------:|
64
+ | `POST /x` | `status` | Thêm | — | `enum(...)` | Không |
65
+
66
+ - **Breaking change** → bump version (`/v2`) hoặc Expand-Contract (thêm field mới, giữ field cũ tới khi consumer chuyển hết).
67
+ - **Consumer**: [ai đang gọi endpoint này — FE app / 3rd party]
68
+
69
+ ---
70
+
71
+ > **Author**: API Contract Agent
72
+ > **Mandatory khi**: Feature expose API cho client/3rd party, hoặc có cả FE + BE (contract-first)