@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.
- package/AGENTS.md +265 -0
- package/CHANGELOG.md +318 -0
- package/LICENSE +21 -0
- package/README.md +326 -0
- package/agents/ba-agent.md +437 -0
- package/agents/ba-critic-agent.md +156 -0
- package/agents/ba-to-ptyc-agent.md +112 -0
- package/agents/bugfix-analyst-agent.md +221 -0
- package/agents/constitute-agent.md +155 -0
- package/agents/help-agent.md +168 -0
- package/agents/implement-agent.md +220 -0
- package/agents/import-ba-docs-agent.md +164 -0
- package/agents/master-check-agent.md +228 -0
- package/agents/metrics-agent.md +180 -0
- package/agents/operations-agent.md +123 -0
- package/agents/plan-agent.md +218 -0
- package/agents/prototype-agent.md +191 -0
- package/agents/retrospective-agent.md +196 -0
- package/agents/review-agent.md +210 -0
- package/agents/sprint-agent.md +191 -0
- package/agents/status-agent.md +186 -0
- package/agents/sync-agent.md +201 -0
- package/agents/test-agent.md +166 -0
- package/agents/understand-agent.md +339 -0
- package/cli/commands/check.js +96 -0
- package/cli/commands/dev-quiz.js +107 -0
- package/cli/commands/doctor.js +348 -0
- package/cli/commands/feature.js +259 -0
- package/cli/commands/hooks.js +163 -0
- package/cli/commands/init.js +189 -0
- package/cli/commands/log.js +199 -0
- package/cli/commands/plugin.js +230 -0
- package/cli/commands/score-card.js +203 -0
- package/cli/commands/status.js +269 -0
- package/cli/commands/sync.js +59 -0
- package/cli/commands/upgrade.js +150 -0
- package/cli/commands/validate.js +1259 -0
- package/cli/commands/watch.js +151 -0
- package/cli/index.js +46 -0
- package/cli/lib/ac-test-gate.js +89 -0
- package/cli/lib/activity-log.js +209 -0
- package/cli/lib/cli-error.js +183 -0
- package/cli/lib/constitution-lint.js +561 -0
- package/cli/lib/dev-quiz-grade.js +127 -0
- package/cli/lib/governance.js +78 -0
- package/cli/lib/hook-targets.js +167 -0
- package/cli/lib/i18n.js +375 -0
- package/cli/lib/knowledge-oracle.js +379 -0
- package/cli/lib/logger.js +203 -0
- package/cli/lib/module-card-lint.js +304 -0
- package/cli/lib/module-card-score.js +223 -0
- package/cli/lib/plugins.js +481 -0
- package/cli/lib/scanner.js +692 -0
- package/cli/lib/sync-core.js +232 -0
- package/cli/lib/sync-targets.js +84 -0
- package/cli/lib/templates.js +268 -0
- package/cli/lib/yaml-parser.js +203 -0
- package/commands/v.ba-critic.md +101 -0
- package/commands/v.ba-to-ptyc.md +71 -0
- package/commands/v.bugfix.md +86 -0
- package/commands/v.check.md +131 -0
- package/commands/v.constitute.md +87 -0
- package/commands/v.constitution.md +84 -0
- package/commands/v.fork.md +127 -0
- package/commands/v.help.md +73 -0
- package/commands/v.hotfix.md +200 -0
- package/commands/v.implement.md +92 -0
- package/commands/v.import-ba-docs.md +222 -0
- package/commands/v.metrics.md +74 -0
- package/commands/v.operations.md +70 -0
- package/commands/v.plan.md +78 -0
- package/commands/v.prototype.md +121 -0
- package/commands/v.quickfix.md +169 -0
- package/commands/v.retrospective.md +80 -0
- package/commands/v.review.md +78 -0
- package/commands/v.rewind.md +127 -0
- package/commands/v.specify.md +118 -0
- package/commands/v.sprint.md +75 -0
- package/commands/v.status.md +62 -0
- package/commands/v.sync.md +81 -0
- package/commands/v.test.md +67 -0
- package/commands/v.understand.md +112 -0
- package/package.json +65 -0
- package/skills/_shared/constitution-reader/SKILL.md +109 -0
- package/skills/_shared/constitution-reader/config.json +52 -0
- package/skills/_shared/constitution-reader/examples/good/b1-phase-output.md +48 -0
- package/skills/_shared/constitution-reader/gotchas.md +46 -0
- package/skills/_shared/context-reader/SKILL.md +111 -0
- package/skills/_shared/context-reader/config.json +54 -0
- package/skills/_shared/context-reader/examples/good/legacy-nodejs-output.md +35 -0
- package/skills/_shared/context-reader/gotchas.md +49 -0
- package/skills/_shared/ears-notation/SKILL.md +63 -0
- package/skills/_shared/ears-notation/config.json +55 -0
- package/skills/_shared/ears-notation/examples/good/plan-test-interpretation.md +29 -0
- package/skills/_shared/ears-notation/gotchas.md +43 -0
- package/skills/check/cross-validator/SKILL.md +206 -0
- package/skills/check/cross-validator/config.json +33 -0
- package/skills/check/cross-validator/examples/good/validation-report-pass-with-concerns.md +105 -0
- package/skills/check/cross-validator/gotchas.md +43 -0
- package/skills/implement/constitution-enforcer/SKILL.md +134 -0
- package/skills/implement/constitution-enforcer/config.json +16 -0
- package/skills/implement/constitution-enforcer/examples/bad/vague-report.md +42 -0
- package/skills/implement/constitution-enforcer/examples/good/compliance-report.md +57 -0
- package/skills/implement/constitution-enforcer/gotchas.md +26 -0
- package/skills/implement/constitution-enforcer/scripts/check-constitution.sh +88 -0
- package/skills/implement/no-go-zone-guard/SKILL.md +173 -0
- package/skills/implement/no-go-zone-guard/config.json +28 -0
- package/skills/implement/no-go-zone-guard/examples/good/adapter-workaround.md +46 -0
- package/skills/implement/no-go-zone-guard/gotchas.md +27 -0
- package/skills/implement/no-go-zone-guard/scripts/check-nogo-zones.sh +148 -0
- package/skills/implement/no-go-zone-guard/scripts/nogo-precommit.sh +96 -0
- package/skills/implement/tdd-driver/SKILL.md +159 -0
- package/skills/implement/tdd-driver/config.json +33 -0
- package/skills/implement/tdd-driver/examples/good/tdd-cycle-product-repo.md +81 -0
- package/skills/implement/tdd-driver/gotchas.md +34 -0
- package/skills/metrics/metrics-collector/SKILL.md +133 -0
- package/skills/metrics/metrics-collector/config.json +16 -0
- package/skills/metrics/metrics-collector/examples/bad/incomplete-report.md +48 -0
- package/skills/metrics/metrics-collector/examples/good/full-metrics-report.md +101 -0
- package/skills/metrics/metrics-collector/gotchas.md +26 -0
- package/skills/operations/incident-runbook/SKILL.md +167 -0
- package/skills/operations/incident-runbook/config.json +21 -0
- package/skills/operations/incident-runbook/examples/bad/vague-incident-report.md +48 -0
- package/skills/operations/incident-runbook/examples/good/p1-hotfix-response.md +119 -0
- package/skills/operations/incident-runbook/gotchas.md +26 -0
- package/skills/plan/architecture-designer/SKILL.md +228 -0
- package/skills/plan/architecture-designer/config.json +32 -0
- package/skills/plan/architecture-designer/examples/bad/vague-plan.md +62 -0
- package/skills/plan/architecture-designer/examples/good/expand-contract-migration.md +56 -0
- package/skills/plan/architecture-designer/examples/good/plan-structure.md +58 -0
- package/skills/plan/architecture-designer/gotchas.md +45 -0
- package/skills/plan/task-breakdown/SKILL.md +208 -0
- package/skills/plan/task-breakdown/config.json +26 -0
- package/skills/plan/task-breakdown/examples/bad/vague-tasks.md +77 -0
- package/skills/plan/task-breakdown/examples/good/spike-clarify-tasks.md +66 -0
- package/skills/plan/task-breakdown/examples/good/tasks-login-feature.md +111 -0
- package/skills/plan/task-breakdown/gotchas.md +39 -0
- package/skills/prototype/LOGIC.md +240 -0
- package/skills/prototype/SKILL.md +185 -0
- package/skills/prototype/UI.md +407 -0
- package/skills/prototype/config.json +104 -0
- package/skills/prototype/examples/bad/prototype-notes.md +68 -0
- package/skills/prototype/examples/good/prototype-notes-ui.md +109 -0
- package/skills/prototype/examples/good/prototype-notes.md +67 -0
- package/skills/prototype/gotchas.md +128 -0
- package/skills/prototype/scripts/check-flow-state.ps1 +112 -0
- package/skills/prototype/scripts/check-flow-state.sh +104 -0
- package/skills/prototype/scripts/check-prototype-cleanup.ps1 +124 -0
- package/skills/prototype/scripts/check-prototype-cleanup.sh +109 -0
- package/skills/prototype/scripts/check-prototype-notes.ps1 +107 -0
- package/skills/prototype/scripts/check-prototype-notes.sh +102 -0
- package/skills/review/adversarial-reviewer/SKILL.md +137 -0
- package/skills/review/adversarial-reviewer/config.json +32 -0
- package/skills/review/adversarial-reviewer/examples/good/review-report-template.md +56 -0
- package/skills/review/adversarial-reviewer/gotchas.md +46 -0
- package/skills/review/adversarial-reviewer/scripts/quick-security-scan.sh +52 -0
- package/skills/specify/ba-bpmn-doc-gen/SKILL.md +108 -0
- package/skills/specify/ba-bpmn-doc-gen/reference/reference-bpmn-generation.md +528 -0
- package/skills/specify/ba-bpmn-doc-gen/reference/reference-drawio-flowchart.md +466 -0
- package/skills/specify/ba-critic/SKILL.md +172 -0
- package/skills/specify/ba-critic/config.json +32 -0
- package/skills/specify/ba-critic/examples/good/critic-report-round1.md +51 -0
- package/skills/specify/ba-critic/gotchas.md +40 -0
- package/skills/specify/ba-critic/scripts/check-spec-quality.sh +72 -0
- package/skills/specify/ba-doc-generator/SKILL.md +102 -0
- package/skills/specify/ba-doc-generator/references/template-clevel.md +84 -0
- package/skills/specify/ba-doc-generator/references/template-compliance.md +83 -0
- package/skills/specify/ba-doc-generator/references/template-dev.md +138 -0
- package/skills/specify/ba-doc-generator/references/template-partner.md +167 -0
- package/skills/specify/ba-doc-generator/references/template-pm.md +92 -0
- package/skills/specify/ba-doc-generator/references/template-review.md +114 -0
- package/skills/specify/ba-doc-generator/references/template-tester.md +108 -0
- package/skills/specify/ba-doc-generator/references/template-user.md +98 -0
- package/skills/specify/bugfix-analyst/SKILL.md +296 -0
- package/skills/specify/bugfix-analyst/config.json +41 -0
- package/skills/specify/bugfix-analyst/examples/bad/common-mistakes.md +71 -0
- package/skills/specify/bugfix-analyst/examples/good/email-validation-bugfix.md +53 -0
- package/skills/specify/bugfix-analyst/gotchas.md +51 -0
- package/skills/specify/ears-writer/SKILL.md +129 -0
- package/skills/specify/ears-writer/config.json +20 -0
- package/skills/specify/ears-writer/examples/bad/common-mistakes.md +17 -0
- package/skills/specify/ears-writer/examples/good/login-requirements.md +41 -0
- package/skills/specify/ears-writer/gotchas.md +43 -0
- package/skills/specify/ears-writer/scripts/check-ears-compliance.sh +51 -0
- package/skills/test/test-case-generator/SKILL.md +161 -0
- package/skills/test/test-case-generator/config.json +33 -0
- package/skills/test/test-case-generator/examples/good/test-cases-login.md +104 -0
- package/skills/test/test-case-generator/gotchas.md +43 -0
- package/skills/understand/ba-docs-scanner/SKILL.md +239 -0
- package/skills/understand/ba-docs-scanner/config.json +47 -0
- package/skills/understand/ba-docs-scanner/examples/good/work-order-br-extract.md +28 -0
- package/skills/understand/ba-docs-scanner/gotchas.md +44 -0
- package/skills/understand/ba-docs-scanner/merge-rules.md +47 -0
- package/skills/understand/codebase-scanner/SKILL.md +260 -0
- package/skills/understand/codebase-scanner/config.json +56 -0
- package/skills/understand/codebase-scanner/examples/good/menu-module-output.md +44 -0
- package/skills/understand/codebase-scanner/gotchas.md +42 -0
- package/skills/understand/codebase-scanner/scripts/scan-project-structure.sh +64 -0
- package/templates/DESIGN.md +456 -0
- package/templates/agent-command-template.yaml +240 -0
- package/templates/agent-config-template.md +170 -0
- package/templates/agent-definition-template.md +145 -0
- package/templates/agent-metrics-template.md +150 -0
- package/templates/api-contract-template.md +72 -0
- package/templates/bugfix-report-template.md +195 -0
- package/templates/bugfix-spec-template.md +134 -0
- package/templates/code-review-report-template.md +119 -0
- package/templates/constitution-template.md +234 -0
- package/templates/context-template.md +94 -0
- package/templates/data-model-template.md +95 -0
- package/templates/decision-log-template.md +92 -0
- package/templates/flow-state-template.yaml +208 -0
- package/templates/github/workflows/v-flow-validate.yml +30 -0
- package/templates/knowledge/adr-template.md +70 -0
- package/templates/knowledge/api-contract-template.md +140 -0
- package/templates/knowledge/domain-glossary.md +29 -0
- package/templates/knowledge/golden-tests-readme.md +115 -0
- package/templates/knowledge/lessons-learned.md +41 -0
- package/templates/knowledge/patterns.md +103 -0
- package/templates/module-card/SKILL.md +85 -0
- package/templates/module-card/api-specs.md +96 -0
- package/templates/module-card/business-quiz.md +119 -0
- package/templates/module-card/cross-service.md +125 -0
- package/templates/module-card/db.md +85 -0
- package/templates/module-card/dev-quiz.md +62 -0
- package/templates/module-card/permissions.md +83 -0
- package/templates/module-card/state-diagram.md +64 -0
- package/templates/module-card/tech-context.md +90 -0
- package/templates/module-card/ui-flows.md +91 -0
- package/templates/module-card/use-cases.md +142 -0
- package/templates/module-template.yaml +161 -0
- package/templates/operations-report-template.md +108 -0
- package/templates/plan-template.md +308 -0
- package/templates/prototype-notes-template.md +116 -0
- package/templates/ptyc/PTYC.template.docx +0 -0
- package/templates/ptyc/ptyc.meta.example.yaml +44 -0
- package/templates/retrospective-report-template.md +136 -0
- package/templates/security-review-template.md +84 -0
- package/templates/session-template.md +167 -0
- package/templates/spec-review-log-template.md +75 -0
- package/templates/spec-template.md +229 -0
- package/templates/sprint-status-template.md +101 -0
- package/templates/tasks-template.md +275 -0
- package/templates/test-cases-template.md +124 -0
- package/templates/ux-checklist-template.md +79 -0
- package/templates/validation-report-template.md +125 -0
- package/templates/vflow-config-template.yaml +22 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Template: Integration Specification
|
|
2
|
+
> Dành cho: External Partner / Đối tác tích hợp / Third-party
|
|
3
|
+
> Mục đích: Tài liệu kỹ thuật tích hợp hệ thống
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Nguyên tắc viết cho Partner/Integration
|
|
8
|
+
- Ngôn ngữ chính thức, rõ ràng, không ambiguous
|
|
9
|
+
- API contract phải đầy đủ: endpoint, method, header, request, response, error codes
|
|
10
|
+
- Có SLA và contact point rõ ràng
|
|
11
|
+
- Bao gồm security requirements (auth method, encryption)
|
|
12
|
+
- Có môi trường test để partner tích hợp trước khi production
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## CẤU TRÚC TÀI LIỆU
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
# Integration Specification: [Tên tích hợp]
|
|
20
|
+
**Ngày**: [Date] | **Phiên bản**: [v1.0]
|
|
21
|
+
**Bên cung cấp**: [Tên công ty / hệ thống của bạn]
|
|
22
|
+
**Bên tiếp nhận**: [Tên đối tác]
|
|
23
|
+
**Phân loại**: [Confidential / Internal]
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 1. Tổng quan tích hợp
|
|
28
|
+
- **Mục đích**: [Tích hợp này dùng để làm gì]
|
|
29
|
+
- **Loại tích hợp**: REST API / SOAP / File-based / Message Queue
|
|
30
|
+
- **Chiều dữ liệu**: [A → B] / [A ↔ B] / [B → A]
|
|
31
|
+
- **Tần suất**: Real-time / Batch [X lần/ngày] / Event-driven
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Môi trường
|
|
36
|
+
|
|
37
|
+
| Môi trường | Base URL | Mục đích |
|
|
38
|
+
|-----------|----------|----------|
|
|
39
|
+
| Development | https://dev-api.[domain].com | Phát triển & unit test |
|
|
40
|
+
| Staging | https://staging-api.[domain].com | Integration test |
|
|
41
|
+
| Production | https://api.[domain].com | Live |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. Authentication & Security
|
|
46
|
+
|
|
47
|
+
- **Phương thức xác thực**: [API Key / OAuth 2.0 / JWT / Basic Auth]
|
|
48
|
+
- **Truyền credential**: Header `Authorization: Bearer {token}`
|
|
49
|
+
- **HTTPS**: Bắt buộc cho tất cả môi trường
|
|
50
|
+
- **IP Whitelist**: [Danh sách IP nếu có]
|
|
51
|
+
- **Cách lấy credential**:
|
|
52
|
+
1. [Bước 1]
|
|
53
|
+
2. [Bước 2]
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 4. API Endpoints
|
|
58
|
+
|
|
59
|
+
### 4.1 [Tên API 1 — ví dụ: Tạo đơn hàng]
|
|
60
|
+
|
|
61
|
+
| | |
|
|
62
|
+
|--|--|
|
|
63
|
+
| **Endpoint** | `POST /api/v1/orders` |
|
|
64
|
+
| **Content-Type** | `application/json` |
|
|
65
|
+
| **Timeout** | 30 giây |
|
|
66
|
+
|
|
67
|
+
**Request Headers:**
|
|
68
|
+
```
|
|
69
|
+
Authorization: Bearer {access_token}
|
|
70
|
+
Content-Type: application/json
|
|
71
|
+
X-Request-ID: {unique_request_id}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Request Body:**
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"order_code": "string (required, max 50 chars)",
|
|
78
|
+
"customer_id": "string (required)",
|
|
79
|
+
"amount": "number (required, > 0)",
|
|
80
|
+
"currency": "string (required, ISO 4217: VND/USD)",
|
|
81
|
+
"items": [
|
|
82
|
+
{
|
|
83
|
+
"product_id": "string",
|
|
84
|
+
"quantity": "integer",
|
|
85
|
+
"unit_price": "number"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"metadata": {
|
|
89
|
+
"reference_id": "string (optional)"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Response 200 — Success:**
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"success": true,
|
|
98
|
+
"data": {
|
|
99
|
+
"order_id": "string",
|
|
100
|
+
"status": "PENDING",
|
|
101
|
+
"created_at": "ISO8601 timestamp"
|
|
102
|
+
},
|
|
103
|
+
"request_id": "string"
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Error Responses:**
|
|
108
|
+
| HTTP Code | Error Code | Mô tả | Cách xử lý |
|
|
109
|
+
|-----------|-----------|-------|-----------|
|
|
110
|
+
| 400 | INVALID_INPUT | Dữ liệu đầu vào không hợp lệ | Kiểm tra lại request body |
|
|
111
|
+
| 401 | UNAUTHORIZED | Token không hợp lệ / hết hạn | Refresh token |
|
|
112
|
+
| 409 | DUPLICATE_ORDER | order_code đã tồn tại | Dùng order_code khác |
|
|
113
|
+
| 429 | RATE_LIMIT | Vượt giới hạn request | Retry sau X giây |
|
|
114
|
+
| 500 | INTERNAL_ERROR | Lỗi hệ thống | Liên hệ support |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### 4.2 [Tên API 2]
|
|
119
|
+
...
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 5. Data Dictionary
|
|
124
|
+
| Field | Type | Format | Mô tả | Ví dụ |
|
|
125
|
+
|-------|------|--------|-------|-------|
|
|
126
|
+
| order_code | String | Alphanumeric, max 50 | Mã đơn hàng duy nhất | "ORD-2024-001" |
|
|
127
|
+
| amount | Decimal | 15,2 | Số tiền, không âm | 150000.00 |
|
|
128
|
+
| currency | String | ISO 4217 | Mã tiền tệ | "VND" |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 6. SLA & Giới hạn
|
|
133
|
+
|
|
134
|
+
| Chỉ số | Giá trị |
|
|
135
|
+
|--------|---------|
|
|
136
|
+
| Uptime cam kết | 99.5% |
|
|
137
|
+
| Response time (p95) | < 2 giây |
|
|
138
|
+
| Rate limit | 100 requests/phút |
|
|
139
|
+
| Batch size tối đa | 1000 records/request |
|
|
140
|
+
| File size tối đa | 10MB |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 7. Xử lý lỗi & Retry
|
|
145
|
+
|
|
146
|
+
- **Idempotency**: Dùng `X-Request-ID` để tránh duplicate khi retry
|
|
147
|
+
- **Retry policy**: Retry tối đa 3 lần, exponential backoff (1s → 2s → 4s)
|
|
148
|
+
- **Không retry**: HTTP 400, 401, 403, 409 (lỗi client)
|
|
149
|
+
- **Có thể retry**: HTTP 429, 500, 502, 503, 504
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 8. Changelog & Versioning
|
|
154
|
+
| Phiên bản | Ngày | Thay đổi |
|
|
155
|
+
|-----------|------|---------|
|
|
156
|
+
| v1.0 | [Date] | Initial release |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 9. Contact & Support
|
|
161
|
+
| Vai trò | Họ tên | Email | Hotline |
|
|
162
|
+
|---------|--------|-------|---------|
|
|
163
|
+
| BA / Solution Owner | [Tên] | [Email] | |
|
|
164
|
+
| Technical Support | [Tên] | [Email] | [Phone] |
|
|
165
|
+
| Escalation | [Tên] | [Email] | |
|
|
166
|
+
| Giờ hỗ trợ | | | [Thứ 2-6, 8h-17h30] |
|
|
167
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Template: Product Brief
|
|
2
|
+
> Dành cho: Product Owner / Project Manager
|
|
3
|
+
> Mục đích: Quản lý scope, timeline, dependency, risk
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Nguyên tắc viết cho PM/PO
|
|
8
|
+
- Cân bằng business + technical context
|
|
9
|
+
- Focus vào: Scope rõ ràng, dependency, risk, decision log
|
|
10
|
+
- Cần đủ chi tiết để PM/PO breakdown task và estimate
|
|
11
|
+
- Highlight assumption và open question
|
|
12
|
+
- Có phần thay đổi so với version trước (nếu là update)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## CẤU TRÚC TÀI LIỆU
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
# [Tên tính năng / Epic / Change Request]
|
|
20
|
+
**Ngày**: [Date] | **BA**: [Name] | **PO/PM**: [Name] | **Phiên bản**: [v0.1]
|
|
21
|
+
**Trạng thái**: Draft / In Review / Approved
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. Mục tiêu
|
|
26
|
+
- Business goal: [Tại sao làm tính năng này?]
|
|
27
|
+
- Success metric: [Đo thành công bằng gì?]
|
|
28
|
+
- Liên kết OKR/KPI: [Nếu có]
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. Scope
|
|
33
|
+
|
|
34
|
+
### Trong scope
|
|
35
|
+
- [Tính năng / Use case 1]
|
|
36
|
+
- [Tính năng / Use case 2]
|
|
37
|
+
|
|
38
|
+
### Ngoài scope
|
|
39
|
+
- [Điều này sẽ KHÔNG được thực hiện trong iteration này]
|
|
40
|
+
|
|
41
|
+
### Giả định (Assumptions)
|
|
42
|
+
- [Assumption 1 — cần confirm với ai?]
|
|
43
|
+
- [Assumption 2]
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. User Stories / Use Cases tổng quan
|
|
48
|
+
| # | User Story | Priority | Estimate |
|
|
49
|
+
|---|-----------|----------|----------|
|
|
50
|
+
| US-01 | Là [role], tôi muốn [action] để [benefit] | Must/Should/Could | [SP/ngày] |
|
|
51
|
+
| US-02 | ... | | |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 4. Dependency & Tích hợp
|
|
56
|
+
| Dependency | Loại | Team/Hệ thống | Trạng thái |
|
|
57
|
+
|-----------|------|---------------|-----------|
|
|
58
|
+
| [API từ hệ thống X] | Kỹ thuật | [Team A] | Confirmed / TBD |
|
|
59
|
+
| [Phê duyệt từ phòng Y] | Nghiệp vụ | [Phòng Y] | Pending |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 5. Rủi ro & Biện pháp
|
|
64
|
+
| Rủi ro | Xác suất | Impact | Biện pháp |
|
|
65
|
+
|--------|----------|--------|-----------|
|
|
66
|
+
| [Rủi ro 1] | Cao/TB/Thấp | Cao/TB/Thấp | [Mitigation] |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 6. Timeline đề xuất
|
|
71
|
+
| Giai đoạn | Nội dung | Bắt đầu | Kết thúc | Owner |
|
|
72
|
+
|-----------|----------|---------|---------|-------|
|
|
73
|
+
| Analysis | Hoàn thiện requirement | [Date] | [Date] | BA |
|
|
74
|
+
| Design | UI/UX + Technical design | [Date] | [Date] | Dev/Design |
|
|
75
|
+
| Development | Implement | [Date] | [Date] | Dev |
|
|
76
|
+
| Testing | UAT + QA | [Date] | [Date] | QA/PO |
|
|
77
|
+
| Release | Deploy production | [Date] | [Date] | DevOps |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 7. Open Questions & Decision Log
|
|
82
|
+
| # | Câu hỏi | Người quyết định | Hạn | Quyết định |
|
|
83
|
+
|---|---------|-----------------|-----|------------|
|
|
84
|
+
| Q1 | [Câu hỏi còn mở] | [Tên] | [Date] | [Pending/Đã quyết định] |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 8. Lịch sử thay đổi
|
|
89
|
+
| Phiên bản | Ngày | Thay đổi | Người thực hiện |
|
|
90
|
+
|-----------|------|---------|----------------|
|
|
91
|
+
| v0.1 | [Date] | Tạo mới | [BA Name] |
|
|
92
|
+
```
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Template: Review & Approval Package
|
|
2
|
+
> Dành cho: Stakeholder Review (Business + Technical)
|
|
3
|
+
> Mục đích: Xin review chính thức, thu thập phản hồi, phê duyệt
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Nguyên tắc viết cho Review Package
|
|
8
|
+
- Đủ thông tin để reviewer hiểu mà không cần hỏi thêm
|
|
9
|
+
- Có phần comment rõ ràng để reviewer ghi ý kiến
|
|
10
|
+
- Highlight những điểm cần quyết định / xác nhận
|
|
11
|
+
- Nêu rõ deadline review và hành động tiếp theo
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## CẤU TRÚC TÀI LIỆU
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
# Review Package: [Tên tính năng / Dự án]
|
|
19
|
+
**Ngày gửi**: [Date] | **Deadline review**: [Date]
|
|
20
|
+
**BA**: [Name] | **Phiên bản**: [v0.1]
|
|
21
|
+
**Trạng thái**: Chờ review
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Hướng dẫn review
|
|
26
|
+
Vui lòng đọc tài liệu và phản hồi trước **[Deadline]** bằng cách:
|
|
27
|
+
1. Ghi ý kiến vào cột "Comment" của từng mục
|
|
28
|
+
2. Xác nhận trạng thái: ✅ Đồng ý / ❌ Không đồng ý / 💬 Cần thảo luận
|
|
29
|
+
3. Gửi lại cho: [Email BA]
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 1. Tóm tắt nội dung
|
|
34
|
+
[2-3 câu mô tả tổng quan: đây là gì, tại sao cần review, quyết định nào cần đưa ra]
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 2. Nội dung cần review
|
|
39
|
+
|
|
40
|
+
### 2.1 Phạm vi (Scope)
|
|
41
|
+
| Trong scope | Ngoài scope |
|
|
42
|
+
|-------------|-------------|
|
|
43
|
+
| [Tính năng 1] | [Tính năng X — sẽ làm sau] |
|
|
44
|
+
| [Tính năng 2] | [Tính năng Y — ngoài phạm vi] |
|
|
45
|
+
|
|
46
|
+
**Reviewer comment:**
|
|
47
|
+
> _[Để trống cho reviewer điền]_
|
|
48
|
+
**Trạng thái:** ⬜ Chưa review
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### 2.2 Yêu cầu chức năng
|
|
53
|
+
| # | Yêu cầu | Mức độ ưu tiên | Reviewer comment | Trạng thái |
|
|
54
|
+
|---|---------|---------------|-----------------|-----------|
|
|
55
|
+
| REQ-01 | [Mô tả yêu cầu] | Must/Should/Could | | ⬜ |
|
|
56
|
+
| REQ-02 | | | | ⬜ |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### 2.3 Quy trình nghiệp vụ
|
|
61
|
+
[Mô tả luồng quy trình hoặc đính kèm diagram]
|
|
62
|
+
|
|
63
|
+
**Reviewer comment:**
|
|
64
|
+
> _[Để trống]_
|
|
65
|
+
**Trạng thái:** ⬜ Chưa review
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### 2.4 Quy tắc nghiệp vụ (Business Rules)
|
|
70
|
+
| BR# | Quy tắc | Reviewer comment | Trạng thái |
|
|
71
|
+
|-----|---------|-----------------|-----------|
|
|
72
|
+
| BR-01 | [Quy tắc 1] | | ⬜ |
|
|
73
|
+
| BR-02 | [Quy tắc 2] | | ⬜ |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### 2.5 Assumption & Constraint
|
|
78
|
+
| Loại | Nội dung | Cần confirm? |
|
|
79
|
+
|------|---------|-------------|
|
|
80
|
+
| Assumption | [Giả định BA đang dựa vào] | ✅ Cần confirm |
|
|
81
|
+
| Constraint | [Ràng buộc kỹ thuật / nghiệp vụ] | |
|
|
82
|
+
|
|
83
|
+
**Reviewer comment:**
|
|
84
|
+
> _[Để trống]_
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 3. Điểm cần quyết định
|
|
89
|
+
| # | Câu hỏi / Vấn đề | Option A | Option B | Quyết định | Owner |
|
|
90
|
+
|---|-----------------|----------|----------|------------|-------|
|
|
91
|
+
| D-01 | [Vấn đề cần chọn] | [Phương án A] | [Phương án B] | _[Để trống]_ | [Tên] |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 4. Open Issues
|
|
96
|
+
| # | Vấn đề | Mức độ | Người xử lý | Deadline |
|
|
97
|
+
|---|--------|--------|------------|----------|
|
|
98
|
+
| I-01 | [Vấn đề còn mở] | Blocker / Major / Minor | [Tên] | [Date] |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 5. Kết quả review tổng hợp *(BA điền sau khi nhận feedback)*
|
|
103
|
+
| Reviewer | Ngày | Trạng thái | Ghi chú |
|
|
104
|
+
|---------|------|-----------|---------|
|
|
105
|
+
| [Tên 1] | | ✅ Approved / ❌ Rejected / 💬 Approved with comments | |
|
|
106
|
+
| [Tên 2] | | | |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 6. Các thay đổi sau review
|
|
111
|
+
| # | Nội dung thay đổi | Lý do | Phiên bản |
|
|
112
|
+
|---|-----------------|-------|-----------|
|
|
113
|
+
| 1 | [Thay đổi gì] | [Feedback từ ai] | v0.2 |
|
|
114
|
+
```
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Template: Test Basis Document
|
|
2
|
+
> Dành cho: Tester / QA Engineer
|
|
3
|
+
> Mục đích: Cơ sở để viết test case, kiểm thử nghiệm thu
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Nguyên tắc viết cho Tester/QA
|
|
8
|
+
- Liệt kê đầy đủ acceptance criteria — mỗi criteria = 1 test case tiềm năng
|
|
9
|
+
- Bao gồm cả positive và negative scenarios
|
|
10
|
+
- Edge case phải được mô tả rõ
|
|
11
|
+
- Data test gợi ý nếu có thể
|
|
12
|
+
- Không mơ hồ: "hệ thống hoạt động đúng" không phải acceptance criteria
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## CẤU TRÚC TÀI LIỆU
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
# [Tên tính năng] — Test Basis
|
|
20
|
+
**Ngày**: [Date] | **BA**: [Name] | **QA**: [Name] | **Phiên bản**: [v0.1]
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Phạm vi kiểm thử
|
|
25
|
+
- **Trong scope test**: [Danh sách chức năng cần test]
|
|
26
|
+
- **Ngoài scope test**: [Chức năng không test trong sprint này]
|
|
27
|
+
- **Môi trường**: [Dev / Staging / UAT]
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 2. Actors & Preconditions
|
|
32
|
+
| Actor | Điều kiện tiên quyết |
|
|
33
|
+
|-------|---------------------|
|
|
34
|
+
| [Role 1] | Đã đăng nhập, có quyền [X], dữ liệu [Y] đã tồn tại |
|
|
35
|
+
| [Role 2] | Tài khoản chưa kích hoạt |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. Acceptance Criteria
|
|
40
|
+
|
|
41
|
+
### [Use Case / Feature 1]: [Tên]
|
|
42
|
+
|
|
43
|
+
#### ✅ Positive Scenarios
|
|
44
|
+
| AC# | Mô tả | Input | Expected Output | Priority |
|
|
45
|
+
|-----|-------|-------|----------------|----------|
|
|
46
|
+
| AC-01 | [Tên scenario] | [Data input] | [Kết quả mong đợi cụ thể] | High |
|
|
47
|
+
| AC-02 | | | | Medium |
|
|
48
|
+
|
|
49
|
+
#### ❌ Negative Scenarios
|
|
50
|
+
| AC# | Mô tả | Input | Expected Output | Priority |
|
|
51
|
+
|-----|-------|-------|----------------|----------|
|
|
52
|
+
| AC-N01 | [Nhập sai format] | [Data sai] | [Error message cụ thể] | High |
|
|
53
|
+
| AC-N02 | [Bỏ trống field bắt buộc] | null / empty | "[Validation message]" | High |
|
|
54
|
+
|
|
55
|
+
#### ⚠️ Edge Cases
|
|
56
|
+
| AC# | Mô tả | Input | Expected Output |
|
|
57
|
+
|-----|-------|-------|----------------|
|
|
58
|
+
| AC-E01 | [Giá trị biên: max length] | [255 ký tự] | [Chấp nhận / Từ chối] |
|
|
59
|
+
| AC-E02 | [Giá trị âm / zero] | -1 / 0 | [Xử lý như thế nào] |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 4. Business Rules cần verify
|
|
64
|
+
| BR# | Rule | Cách verify |
|
|
65
|
+
|-----|------|------------|
|
|
66
|
+
| BR-01 | [Quy tắc 1] | [Test scenario tương ứng] |
|
|
67
|
+
| BR-02 | [Công thức tính: A = B + C] | Input B=[X], C=[Y] → A phải = [Z] |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 5. Integration Test Points
|
|
72
|
+
| Điểm tích hợp | Hệ thống liên quan | Cần verify |
|
|
73
|
+
|--------------|-------------------|------------|
|
|
74
|
+
| [API call đến hệ thống X] | [Hệ thống X] | Response đúng format, timeout handling |
|
|
75
|
+
| [Gửi email / notification] | [Email service] | Email được gửi, nội dung đúng |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 6. Gợi ý Data Test
|
|
80
|
+
| Loại data | Giá trị gợi ý | Mục đích |
|
|
81
|
+
|-----------|--------------|----------|
|
|
82
|
+
| Valid input | [Example] | Happy path |
|
|
83
|
+
| Boundary value | [Min/Max] | Kiểm tra biên |
|
|
84
|
+
| Invalid format | [Example] | Negative test |
|
|
85
|
+
| Special characters | `<script>`, `'`, `"` | Security / XSS |
|
|
86
|
+
| Empty / null | "" / null | Validation |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 7. Non-Functional Requirements cần test
|
|
91
|
+
- **Performance**: [Trang load trong X giây với Y concurrent users]
|
|
92
|
+
- **Security**: [Phân quyền đúng theo role, không lộ data]
|
|
93
|
+
- **Compatibility**: [Browser / Device cần test]
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 8. Regression Impact
|
|
98
|
+
Các chức năng hiện có có thể bị ảnh hưởng khi deploy tính năng này:
|
|
99
|
+
- [Module A] — vì [lý do]
|
|
100
|
+
- [Module B] — vì [lý do]
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 9. Open Questions cho QA
|
|
105
|
+
| # | Câu hỏi | Người trả lời | Trạng thái |
|
|
106
|
+
|---|---------|--------------|-----------|
|
|
107
|
+
| Q1 | [Chưa rõ behavior khi...] | BA | Pending |
|
|
108
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Template: User Guide / Training Document
|
|
2
|
+
> Dành cho: End User / Trainer
|
|
3
|
+
> Mục đích: Hướng dẫn sử dụng hệ thống, tài liệu đào tạo
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Nguyên tắc viết cho User/Trainer
|
|
8
|
+
- Ngôn ngữ đơn giản, tránh hoàn toàn jargon kỹ thuật
|
|
9
|
+
- Mỗi bước chỉ làm 1 việc, đánh số rõ ràng
|
|
10
|
+
- Có ví dụ thực tế gần gũi với công việc hàng ngày của user
|
|
11
|
+
- Dùng Note / Warning / Tip để highlight thông tin quan trọng
|
|
12
|
+
- Thêm placeholder [Hình ảnh/Screenshot] để trainer điền vào sau
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## CẤU TRÚC TÀI LIỆU
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
# Hướng dẫn sử dụng: [Tên tính năng]
|
|
20
|
+
**Phiên bản**: [v1.0] | **Cập nhật**: [Date] | **Áp dụng cho**: [Tên hệ thống]
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Giới thiệu
|
|
25
|
+
[1-2 câu mô tả tính năng này giúp được gì cho người dùng, bằng ngôn ngữ hàng ngày]
|
|
26
|
+
|
|
27
|
+
**Ai dùng tài liệu này?** [Tên role / phòng ban]
|
|
28
|
+
**Khi nào dùng?** [Trong tình huống nào thì dùng tính năng này]
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Điều kiện trước khi bắt đầu
|
|
33
|
+
Trước khi thực hiện, bạn cần:
|
|
34
|
+
- [ ] Đã có tài khoản và đăng nhập vào hệ thống
|
|
35
|
+
- [ ] Có quyền [tên quyền]
|
|
36
|
+
- [ ] [Điều kiện khác nếu có]
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Hướng dẫn thực hiện
|
|
41
|
+
|
|
42
|
+
### [Tên thao tác 1: ví dụ "Tạo đơn hàng mới"]
|
|
43
|
+
|
|
44
|
+
**Bước 1:** [Hành động cụ thể — ví dụ: Nhấn vào nút "Tạo mới" ở góc trên bên phải]
|
|
45
|
+
[Hình ảnh/Screenshot 1]
|
|
46
|
+
|
|
47
|
+
**Bước 2:** [Hành động — ví dụ: Điền thông tin vào form]
|
|
48
|
+
- Trường **[Tên trường]**: Nhập [hướng dẫn cụ thể, ví dụ: tên khách hàng]
|
|
49
|
+
- Trường **[Tên trường]**: Chọn từ danh sách [mô tả danh sách]
|
|
50
|
+
- Trường **[Tên trường]** *(bắt buộc)*: [Hướng dẫn]
|
|
51
|
+
|
|
52
|
+
> 📝 **Lưu ý:** [Thông tin quan trọng user hay bị nhầm]
|
|
53
|
+
|
|
54
|
+
**Bước 3:** [Hành động — ví dụ: Nhấn "Lưu" để hoàn tất]
|
|
55
|
+
[Hình ảnh/Screenshot 2]
|
|
56
|
+
|
|
57
|
+
> ✅ **Kết quả:** Sau khi lưu thành công, hệ thống sẽ [mô tả điều gì xảy ra tiếp theo]
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### [Tên thao tác 2: ví dụ "Tìm kiếm và xem đơn hàng"]
|
|
62
|
+
|
|
63
|
+
**Bước 1:** ...
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Các lỗi thường gặp & Cách xử lý
|
|
68
|
+
|
|
69
|
+
| Thông báo lỗi | Nguyên nhân | Cách xử lý |
|
|
70
|
+
|--------------|-------------|------------|
|
|
71
|
+
| "[Nội dung thông báo lỗi]" | [Nguyên nhân đơn giản] | [Hành động cần làm] |
|
|
72
|
+
| "[Thông báo lỗi 2]" | | |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Câu hỏi thường gặp (FAQ)
|
|
77
|
+
|
|
78
|
+
**Q: [Câu hỏi user hay hỏi 1]?**
|
|
79
|
+
A: [Trả lời đơn giản, rõ ràng]
|
|
80
|
+
|
|
81
|
+
**Q: [Câu hỏi 2]?**
|
|
82
|
+
A: [Trả lời]
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
> ⚠️ **Cảnh báo quan trọng:**
|
|
87
|
+
> [Điều tuyệt đối không được làm, hoặc hành động không thể hoàn tác]
|
|
88
|
+
|
|
89
|
+
> 💡 **Mẹo:**
|
|
90
|
+
> [Thủ thuật giúp dùng nhanh hơn / hiệu quả hơn]
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Liên hệ hỗ trợ
|
|
95
|
+
Nếu gặp vấn đề không có trong tài liệu này, liên hệ:
|
|
96
|
+
- **Bộ phận hỗ trợ**: [Tên / Email / Hotline]
|
|
97
|
+
- **Giờ làm việc**: [Thời gian hỗ trợ]
|
|
98
|
+
```
|