@torus-engineering/tas-kit 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/.claude/agents/ado-agent.md +39 -0
- package/.claude/agents/code-reviewer.md +41 -0
- package/.claude/commands/ado-create.md +26 -0
- package/.claude/commands/ado-delete.md +20 -0
- package/.claude/commands/ado-get.md +19 -0
- package/.claude/commands/ado-status.md +17 -0
- package/.claude/commands/ado-update.md +25 -0
- package/.claude/commands/tas-adr.md +28 -0
- package/.claude/commands/tas-brainstorm.md +19 -0
- package/.claude/commands/tas-bug.md +62 -0
- package/.claude/commands/tas-design.md +31 -0
- package/.claude/commands/tas-dev-story.md +61 -0
- package/.claude/commands/tas-epic.md +29 -0
- package/.claude/commands/tas-feature.md +41 -0
- package/.claude/commands/tas-init.md +17 -0
- package/.claude/commands/tas-prd.md +31 -0
- package/.claude/commands/tas-review-code.md +42 -0
- package/.claude/commands/tas-sad.md +37 -0
- package/.claude/commands/tas-security-check.md +30 -0
- package/.claude/commands/tas-status.md +16 -0
- package/.claude/commands/tas-story.md +50 -0
- package/.claude/commands/tas-verify.md +33 -0
- package/.claude/settings.json +21 -0
- package/.claude/skills/ado-integration/SKILL.md +32 -0
- package/.claude/skills/tas-conventions/SKILL.md +17 -0
- package/.claude/skills/tas-tdd/SKILL.md +26 -0
- package/.env.example +1 -0
- package/.tas/README.md +1583 -0
- package/.tas/checklists/code-review.md +29 -0
- package/.tas/checklists/security.md +21 -0
- package/.tas/checklists/story-done.md +23 -0
- package/.tas/project-status-example.yaml +17 -0
- package/.tas/tas-example.yaml +108 -0
- package/.tas/templates/ADR.md +47 -0
- package/.tas/templates/Bug.md +67 -0
- package/.tas/templates/Design-Spec.md +36 -0
- package/.tas/templates/Epic.md +46 -0
- package/.tas/templates/Feature.md +55 -0
- package/.tas/templates/PRD.md +142 -0
- package/.tas/templates/Performance-Report.md +30 -0
- package/.tas/templates/SAD.md +64 -0
- package/.tas/templates/Security-Report.md +27 -0
- package/.tas/templates/Story.md +88 -0
- package/.tas/tools/tas-ado-readme.md +169 -0
- package/.tas/tools/tas-ado.py +621 -0
- package/CLAUDE-Example.md +58 -0
- package/README.md +67 -0
- package/bin/cli.js +49 -0
- package/lib/install.js +114 -0
- package/package.json +34 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Code Review Checklist
|
|
2
|
+
|
|
3
|
+
## Architecture
|
|
4
|
+
- [ ] Code align với SAD
|
|
5
|
+
- [ ] Không vi phạm ADR nào
|
|
6
|
+
- [ ] Đúng layer separation
|
|
7
|
+
|
|
8
|
+
## Code Quality
|
|
9
|
+
- [ ] Naming theo conventions trong CLAUDE.md
|
|
10
|
+
- [ ] Không có magic numbers/strings
|
|
11
|
+
- [ ] Error handling đầy đủ
|
|
12
|
+
- [ ] Logging có ý nghĩa
|
|
13
|
+
- [ ] Không có code duplication
|
|
14
|
+
|
|
15
|
+
## Security
|
|
16
|
+
- [ ] Input validation
|
|
17
|
+
- [ ] No SQL injection risk
|
|
18
|
+
- [ ] No XSS risk
|
|
19
|
+
- [ ] Sensitive data không log
|
|
20
|
+
|
|
21
|
+
## Testing
|
|
22
|
+
- [ ] Unit tests cover happy path
|
|
23
|
+
- [ ] Unit tests cover edge cases
|
|
24
|
+
- [ ] Tests có assertion rõ ràng
|
|
25
|
+
|
|
26
|
+
## Performance
|
|
27
|
+
- [ ] Không có N+1 query
|
|
28
|
+
- [ ] Async/await đúng cách
|
|
29
|
+
- [ ] Dispose resources properly
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Security Checklist - .NET Specific
|
|
2
|
+
|
|
3
|
+
## Authentication & Authorization
|
|
4
|
+
- [ ] JWT validation đúng
|
|
5
|
+
- [ ] Role-based authorization
|
|
6
|
+
- [ ] Anti-forgery token cho forms
|
|
7
|
+
|
|
8
|
+
## Data Protection
|
|
9
|
+
- [ ] Connection strings trong secrets, không hardcode
|
|
10
|
+
- [ ] PII data encrypted at rest
|
|
11
|
+
- [ ] HTTPS enforced
|
|
12
|
+
|
|
13
|
+
## Input Validation
|
|
14
|
+
- [ ] Model validation attributes
|
|
15
|
+
- [ ] Parameterized queries (EF Core)
|
|
16
|
+
- [ ] File upload validation
|
|
17
|
+
|
|
18
|
+
## CORS & Headers
|
|
19
|
+
- [ ] CORS policy restrictive
|
|
20
|
+
- [ ] Security headers: X-Content-Type-Options, X-Frame-Options
|
|
21
|
+
- [ ] HSTS enabled
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Definition of Done Checklist
|
|
2
|
+
|
|
3
|
+
## Code
|
|
4
|
+
- [ ] Code implemented theo acceptance criteria
|
|
5
|
+
- [ ] Tuân thủ conventions trong CLAUDE.md
|
|
6
|
+
- [ ] Mỗi public method có XML doc comment
|
|
7
|
+
|
|
8
|
+
## Testing
|
|
9
|
+
- [ ] Unit tests pass (happy path + edge cases + negative cases)
|
|
10
|
+
- [ ] No regression trên existing tests
|
|
11
|
+
|
|
12
|
+
## Review
|
|
13
|
+
- [ ] Code review passed (theo code-review checklist)
|
|
14
|
+
- [ ] Nếu auto_review = true, đã qua automated review
|
|
15
|
+
|
|
16
|
+
## Documentation
|
|
17
|
+
- [ ] Technical notes trong Story cập nhật
|
|
18
|
+
- [ ] Nếu thay đổi API, cập nhật docs tương ứng
|
|
19
|
+
|
|
20
|
+
## Status
|
|
21
|
+
- [ ] Story status cập nhật trong file Story
|
|
22
|
+
- [ ] project-status.yaml cập nhật
|
|
23
|
+
- [ ] Commit message đúng format
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# .tas/project-status-example.yaml - Reference template cho root/project-status.yaml
|
|
2
|
+
# /tas-init sẽ tạo file root/project-status.yaml từ template này.
|
|
3
|
+
# Human có thể sửa tay. Chạy /tas-init để đồng bộ lại nếu lệch.
|
|
4
|
+
last_updated: ""
|
|
5
|
+
|
|
6
|
+
artifacts:
|
|
7
|
+
prd: {}
|
|
8
|
+
design_spec: {}
|
|
9
|
+
sad: {}
|
|
10
|
+
security_report: {}
|
|
11
|
+
performance_report: {}
|
|
12
|
+
|
|
13
|
+
adrs: {}
|
|
14
|
+
|
|
15
|
+
bugs: {}
|
|
16
|
+
|
|
17
|
+
epics: {}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# .tas/tas-example.yaml - Reference template cho tas.yaml ở root
|
|
2
|
+
# Copy file này ra root (tas.yaml) và điền thông tin dự án.
|
|
3
|
+
# File này CHỈ chứa flow và logic của TAS.
|
|
4
|
+
# Tech stack, coding conventions, build commands thuộc về CLAUDE.md.
|
|
5
|
+
|
|
6
|
+
project:
|
|
7
|
+
name: "My Project"
|
|
8
|
+
code: "PROJ" # Prefix for file naming: PROJ-Epic-001, PROJ-Feature-001, etc.
|
|
9
|
+
type: greenfield # greenfield | brownfield
|
|
10
|
+
description: "Mô tả ngắn về dự án"
|
|
11
|
+
|
|
12
|
+
# Azure DevOps integration
|
|
13
|
+
ado:
|
|
14
|
+
organization: "https://dev.azure.com/torus-bellesoft"
|
|
15
|
+
project_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
16
|
+
|
|
17
|
+
team:
|
|
18
|
+
- name: "Nguyen Van A"
|
|
19
|
+
role: pe
|
|
20
|
+
ado_id: "nguyenvana@torus.vn"
|
|
21
|
+
- name: "Tran Van B"
|
|
22
|
+
role: se
|
|
23
|
+
ado_id: "tranvanb@torus.vn"
|
|
24
|
+
- name: "Le Van C"
|
|
25
|
+
role: dse
|
|
26
|
+
ado_id: "levanc@torus.vn"
|
|
27
|
+
|
|
28
|
+
# Flow configuration
|
|
29
|
+
workflow:
|
|
30
|
+
# Phase 0: Discovery & Design (Human-led, AI-powered)
|
|
31
|
+
discovery:
|
|
32
|
+
enabled: true
|
|
33
|
+
lead: pe
|
|
34
|
+
artifacts:
|
|
35
|
+
- prd
|
|
36
|
+
- design_spec
|
|
37
|
+
- sad
|
|
38
|
+
- adr
|
|
39
|
+
- epic
|
|
40
|
+
- feature
|
|
41
|
+
- story
|
|
42
|
+
gate: ready_for_development
|
|
43
|
+
|
|
44
|
+
# Phase 1: Develop (Orchestrated Agentic)
|
|
45
|
+
develop:
|
|
46
|
+
enabled: true
|
|
47
|
+
lead: se
|
|
48
|
+
environment: test
|
|
49
|
+
use_tdd: true
|
|
50
|
+
auto_review: true
|
|
51
|
+
|
|
52
|
+
# Phase 2: Verify (Agentic + PE Review)
|
|
53
|
+
verify:
|
|
54
|
+
enabled: true
|
|
55
|
+
lead: pe
|
|
56
|
+
environment: staging
|
|
57
|
+
auto_integration_test: true
|
|
58
|
+
gate: pe_approved
|
|
59
|
+
|
|
60
|
+
# Phase 3: Deploy with Feature Flag (Agentic)
|
|
61
|
+
deploy:
|
|
62
|
+
enabled: true
|
|
63
|
+
lead: dse
|
|
64
|
+
environment: production
|
|
65
|
+
feature_flag: true
|
|
66
|
+
gate: pe_approved_production
|
|
67
|
+
|
|
68
|
+
# Phase 4: Operate (Autonomous)
|
|
69
|
+
operate:
|
|
70
|
+
enabled: false
|
|
71
|
+
lead: dse
|
|
72
|
+
environment: production
|
|
73
|
+
security_check: true
|
|
74
|
+
performance_monitor: true
|
|
75
|
+
|
|
76
|
+
# Brownfield-specific config
|
|
77
|
+
brownfield:
|
|
78
|
+
existing_docs_path: "docs/"
|
|
79
|
+
codebase_scan_on_init: true
|
|
80
|
+
|
|
81
|
+
# Template overrides (optional)
|
|
82
|
+
templates:
|
|
83
|
+
sad: ".tas/templates/SAD.md"
|
|
84
|
+
adr: ".tas/templates/ADR.md"
|
|
85
|
+
prd: ".tas/templates/PRD.md"
|
|
86
|
+
epic: ".tas/templates/Epic.md"
|
|
87
|
+
feature: ".tas/templates/Feature.md"
|
|
88
|
+
story: ".tas/templates/Story.md"
|
|
89
|
+
bug: ".tas/templates/Bug.md"
|
|
90
|
+
|
|
91
|
+
# Model mapping
|
|
92
|
+
models:
|
|
93
|
+
default: sonnet
|
|
94
|
+
commands:
|
|
95
|
+
tas-prd: sonnet
|
|
96
|
+
tas-design: sonnet
|
|
97
|
+
tas-sad: opus
|
|
98
|
+
tas-adr: opus
|
|
99
|
+
tas-epic: sonnet
|
|
100
|
+
tas-feature: sonnet
|
|
101
|
+
tas-story: sonnet
|
|
102
|
+
tas-dev-story: sonnet
|
|
103
|
+
tas-review-code: opus
|
|
104
|
+
tas-brainstorm: opus
|
|
105
|
+
tas-bug: sonnet
|
|
106
|
+
tas-verify: haiku
|
|
107
|
+
tas-status: haiku
|
|
108
|
+
tas-security-check: opus
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# ADR-{NNN}: {Title}
|
|
2
|
+
|
|
3
|
+
> **Status:** Proposed | Accepted | Deprecated | Superseded
|
|
4
|
+
> **Date:** [Date]
|
|
5
|
+
> **Author:** [SE name]
|
|
6
|
+
> **Supersedes:** [ADR-NNN nếu có]
|
|
7
|
+
> **Related:** [ADR-NNN nếu có]
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
[Mô tả bối cảnh dẫn đến quyết định này. Vấn đề cần giải quyết là gì?]
|
|
11
|
+
|
|
12
|
+
## Decision
|
|
13
|
+
[Mô tả quyết định kiến trúc đã chọn.]
|
|
14
|
+
|
|
15
|
+
## Rationale
|
|
16
|
+
[Tại sao chọn hướng này? Lý do kỹ thuật và kinh doanh.]
|
|
17
|
+
|
|
18
|
+
## Alternatives Considered
|
|
19
|
+
|
|
20
|
+
### Alternative 1: [Tên]
|
|
21
|
+
- **Pros:** [ưu điểm]
|
|
22
|
+
- **Cons:** [nhược điểm]
|
|
23
|
+
- **Lý do không chọn:** [giải thích]
|
|
24
|
+
|
|
25
|
+
### Alternative 2: [Tên]
|
|
26
|
+
- **Pros:** [ưu điểm]
|
|
27
|
+
- **Cons:** [nhược điểm]
|
|
28
|
+
- **Lý do không chọn:** [giải thích]
|
|
29
|
+
|
|
30
|
+
## Consequences
|
|
31
|
+
|
|
32
|
+
### Positive
|
|
33
|
+
- [consequence 1]
|
|
34
|
+
- [consequence 2]
|
|
35
|
+
|
|
36
|
+
### Negative
|
|
37
|
+
- [consequence 1]
|
|
38
|
+
- [consequence 2]
|
|
39
|
+
|
|
40
|
+
### SAD Updates
|
|
41
|
+
*(Liệt kê các thay đổi cần cập nhật vào docs/sad.md - chỉ thêm khi ADR ảnh hưởng đến kiến trúc chung)*
|
|
42
|
+
- [ ] [thay đổi 1]
|
|
43
|
+
- [ ] [thay đổi 2]
|
|
44
|
+
|
|
45
|
+
## Changelog
|
|
46
|
+
| Date | Changes | Author |
|
|
47
|
+
|------|---------|--------|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
ado_id:
|
|
3
|
+
ado_type: Bug
|
|
4
|
+
ado_title: "{Title}"
|
|
5
|
+
ado_state: New
|
|
6
|
+
ado_assigned_to:
|
|
7
|
+
ado_created:
|
|
8
|
+
last_ado_sync:
|
|
9
|
+
parent_ado_id:
|
|
10
|
+
---
|
|
11
|
+
# Bug-{NNN}: {Title}
|
|
12
|
+
|
|
13
|
+
> **Status:** New | Committed | In Progress | Deploy Test | Verify Test | Deploy Stag | Verify Stag | Deploy Prod | Verify Prod | Done
|
|
14
|
+
> **Feature:** Feature-{NNN}
|
|
15
|
+
> **Severity:** Critical | High | Medium | Low
|
|
16
|
+
> **Found in:** Test | Staging | Production
|
|
17
|
+
> **Found by:** {PE/SE name}
|
|
18
|
+
> **Assigned to:** {SE name}
|
|
19
|
+
> **Created:** {Date}
|
|
20
|
+
|
|
21
|
+
## Description
|
|
22
|
+
{Mô tả bug ngắn gọn}
|
|
23
|
+
|
|
24
|
+
## Steps to Reproduce
|
|
25
|
+
1. {Step 1}
|
|
26
|
+
2. {Step 2}
|
|
27
|
+
3. {Step 3}
|
|
28
|
+
|
|
29
|
+
## Expected Behavior
|
|
30
|
+
{Kết quả mong đợi}
|
|
31
|
+
|
|
32
|
+
## Actual Behavior
|
|
33
|
+
{Kết quả thực tế}
|
|
34
|
+
|
|
35
|
+
## Evidence
|
|
36
|
+
{Screenshots, logs, error messages}
|
|
37
|
+
|
|
38
|
+
## Root Cause Analysis
|
|
39
|
+
*SE điền khi phân tích*
|
|
40
|
+
- **Root Cause:** {Mô tả nguyên nhân gốc}
|
|
41
|
+
- **Affected Files:** {Danh sách file liên quan}
|
|
42
|
+
- **Impact Scope:** {Ảnh hưởng đến những chức năng nào khác}
|
|
43
|
+
|
|
44
|
+
## Regression Test Cases
|
|
45
|
+
*SE thiết kế trước khi fix*
|
|
46
|
+
|
|
47
|
+
| ID | Description | Input | Expected | Status |
|
|
48
|
+
|----|-------------|-------|----------|--------|
|
|
49
|
+
| RT-1 | Reproduce bug case | {input} | {expected} | - |
|
|
50
|
+
| RT-2 | Related regression | {input} | {expected} | - |
|
|
51
|
+
|
|
52
|
+
## Fix Notes
|
|
53
|
+
*SE ghi sau khi fix*
|
|
54
|
+
- **Fix Description:** {Mô tả cách fix}
|
|
55
|
+
- **Files Changed:** {Danh sách file đã sửa}
|
|
56
|
+
- **Commit:** {commit hash}
|
|
57
|
+
|
|
58
|
+
## Verify Notes
|
|
59
|
+
*PE ghi khi verify*
|
|
60
|
+
|
|
61
|
+
| Date | Environment | Result | Verified by | Notes |
|
|
62
|
+
|------|-------------|--------|-------------|-------|
|
|
63
|
+
| {Date} | {env} | Pass/Fail | {PE name} | {notes} |
|
|
64
|
+
|
|
65
|
+
## Changelog
|
|
66
|
+
| Date | Changes | Author |
|
|
67
|
+
|------|---------|--------|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Design Specification
|
|
2
|
+
|
|
3
|
+
> **Status:** Draft | Approved
|
|
4
|
+
> **Last Updated:** [Date]
|
|
5
|
+
> **Author:** [PE name]
|
|
6
|
+
> **PRD Reference:** docs/prd.md
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. Overview
|
|
11
|
+
{Tổng quan design}
|
|
12
|
+
|
|
13
|
+
## 2. User Flows
|
|
14
|
+
<!-- Dùng Mermaid flowchart, :::mermaid wrapper, không dùng () -->
|
|
15
|
+
|
|
16
|
+
## 3. Screen Descriptions
|
|
17
|
+
|
|
18
|
+
### Screen 1: {Name}
|
|
19
|
+
- **Purpose:** {mục đích}
|
|
20
|
+
- **Key Elements:** {thành phần chính}
|
|
21
|
+
- **Actions Available:** {hành động người dùng có thể thực hiện}
|
|
22
|
+
|
|
23
|
+
## 4. Navigation Structure
|
|
24
|
+
<!-- Dùng Mermaid flowchart -->
|
|
25
|
+
|
|
26
|
+
## 5. Interaction Patterns
|
|
27
|
+
{Mô tả patterns: form submission, search, pagination...}
|
|
28
|
+
|
|
29
|
+
## 6. Responsive Behavior
|
|
30
|
+
{Mô tả breakpoints và behavior thay đổi}
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Changelog
|
|
35
|
+
| Date | Changes | Author |
|
|
36
|
+
|------|---------|--------|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
ado_id:
|
|
3
|
+
ado_type: Epic
|
|
4
|
+
ado_title: "{Title}"
|
|
5
|
+
ado_state: New
|
|
6
|
+
ado_assigned_to:
|
|
7
|
+
ado_created:
|
|
8
|
+
last_ado_sync:
|
|
9
|
+
---
|
|
10
|
+
# Epic-{NNN}: {Title}
|
|
11
|
+
|
|
12
|
+
> **Status:** New | Pending | In Design | In Progress | In Monitoring | In Closing | Done | Removed
|
|
13
|
+
> **Owner:** {PE name}
|
|
14
|
+
> **Created:** {Date}
|
|
15
|
+
> **PRD Reference:** {link to PRD section}
|
|
16
|
+
|
|
17
|
+
## Business Value
|
|
18
|
+
{Mô tả giá trị kinh doanh}
|
|
19
|
+
|
|
20
|
+
## Scope
|
|
21
|
+
### In Scope
|
|
22
|
+
- Item 1
|
|
23
|
+
- Item 2
|
|
24
|
+
|
|
25
|
+
### Out of Scope
|
|
26
|
+
- Item 1
|
|
27
|
+
|
|
28
|
+
## Acceptance Criteria (High-level)
|
|
29
|
+
- [ ] Criteria 1
|
|
30
|
+
- [ ] Criteria 2
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
| ID | Feature | Priority | Estimate |
|
|
34
|
+
|----|---------|----------|----------|
|
|
35
|
+
| Feature-001 | {name} | Must | M |
|
|
36
|
+
| Feature-002 | {name} | Should | L |
|
|
37
|
+
|
|
38
|
+
## Dependencies
|
|
39
|
+
- {dependency 1}
|
|
40
|
+
|
|
41
|
+
## Risks
|
|
42
|
+
- {risk 1}
|
|
43
|
+
|
|
44
|
+
## Changelog
|
|
45
|
+
| Date | Changes | Author |
|
|
46
|
+
|------|---------|--------|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
ado_id:
|
|
3
|
+
ado_type: Feature
|
|
4
|
+
ado_title: "{Title}"
|
|
5
|
+
ado_state: New
|
|
6
|
+
ado_assigned_to:
|
|
7
|
+
ado_created:
|
|
8
|
+
last_ado_sync:
|
|
9
|
+
parent_ado_id:
|
|
10
|
+
---
|
|
11
|
+
# Feature-{NNN}: {Title}
|
|
12
|
+
|
|
13
|
+
> **Status:** New | Pending | In Design | In Progress | Ready for Dev | In Development | Ready To Verify | Verified | Done | Removed
|
|
14
|
+
> **Epic:** Epic-{NNN}
|
|
15
|
+
> **Owner:** {PE name}
|
|
16
|
+
> **Created:** {Date}
|
|
17
|
+
> **Verified Date:** {Date khi status = Verified}
|
|
18
|
+
|
|
19
|
+
## Description
|
|
20
|
+
{Mô tả chức năng}
|
|
21
|
+
|
|
22
|
+
## User Stories
|
|
23
|
+
| ID | Story | Priority | Estimate | Status |
|
|
24
|
+
|----|-------|----------|----------|--------|
|
|
25
|
+
| Story-001 | {name} | Must | S | New |
|
|
26
|
+
|
|
27
|
+
## Acceptance Criteria
|
|
28
|
+
- [ ] AC-1: {criteria}
|
|
29
|
+
- [ ] AC-2: {criteria}
|
|
30
|
+
|
|
31
|
+
## UI/UX Notes
|
|
32
|
+
{Nếu có, reference đến design-spec.md}
|
|
33
|
+
|
|
34
|
+
## Technical Notes
|
|
35
|
+
{Nếu có, reference đến SAD/ADR}
|
|
36
|
+
|
|
37
|
+
## Integration Test Cases
|
|
38
|
+
PE thiết kế khi tạo Feature. SE implement trong code.
|
|
39
|
+
|
|
40
|
+
| ID | Scenario | Expected Result | Status |
|
|
41
|
+
|----|----------|-----------------|--------|
|
|
42
|
+
| IT-1 | {Mô tả flow liên kết} | {Kết quả mong đợi} | - |
|
|
43
|
+
| IT-2 | {Mô tả flow liên kết} | {Kết quả mong đợi} | - |
|
|
44
|
+
|
|
45
|
+
## E2E / Acceptance Test Cases
|
|
46
|
+
PE thiết kế khi tạo Feature. PE verify trên Staging ở Phase 2 bằng /tas-verify.
|
|
47
|
+
|
|
48
|
+
| ID | User Scenario | Steps | Expected Result | Status | Verified Date |
|
|
49
|
+
|----|---------------|-------|-----------------|--------|---------------|
|
|
50
|
+
| E2E-1 | {Scenario} | {Bước thực hiện} | {Kết quả mong đợi} | - | - |
|
|
51
|
+
| E2E-2 | {Scenario} | {Bước thực hiện} | {Kết quả mong đợi} | - | - |
|
|
52
|
+
|
|
53
|
+
## Changelog
|
|
54
|
+
| Date | Changes | Author |
|
|
55
|
+
|------|---------|--------|
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
> **Document Status:** [Draft | In Review | Approved | Archived]
|
|
4
|
+
> **Last Updated:** [Date]
|
|
5
|
+
> **Product Manager:** [Name]
|
|
6
|
+
> **Contributors:** [Names/Roles]
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
**Product Name:** [Product/Feature Name]
|
|
13
|
+
|
|
14
|
+
**Problem Statement:**
|
|
15
|
+
[In 2-3 sentences, describe the core problem you're solving.]
|
|
16
|
+
|
|
17
|
+
**Proposed Solution:**
|
|
18
|
+
[In 2-3 sentences, describe your solution approach.]
|
|
19
|
+
|
|
20
|
+
**Success Metrics:**
|
|
21
|
+
- [Key metric 1 with target]
|
|
22
|
+
- [Key metric 2 with target]
|
|
23
|
+
|
|
24
|
+
**Launch Target:** [Quarter/Date]
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Background & Context
|
|
29
|
+
|
|
30
|
+
### Why Now?
|
|
31
|
+
[Market timing, competitive landscape, internal factors]
|
|
32
|
+
|
|
33
|
+
### User Research & Insights
|
|
34
|
+
- **Research Methods:** [Interviews, surveys, usage data]
|
|
35
|
+
- **Key Findings:**
|
|
36
|
+
- [Finding 1]
|
|
37
|
+
- [Finding 2]
|
|
38
|
+
|
|
39
|
+
### Market Analysis
|
|
40
|
+
- **Competitive Landscape:** [Key competitors]
|
|
41
|
+
- **Differentiation:** [What makes our approach unique]
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Goals & Success Criteria
|
|
46
|
+
|
|
47
|
+
### Business Goals
|
|
48
|
+
1. [Primary business objective]
|
|
49
|
+
2. [Secondary business objective]
|
|
50
|
+
|
|
51
|
+
### User Goals
|
|
52
|
+
1. [What users should accomplish]
|
|
53
|
+
2. [What friction we're removing]
|
|
54
|
+
|
|
55
|
+
### Non-Goals (Out of Scope)
|
|
56
|
+
- [Explicitly what this will NOT do]
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## User Personas & Use Cases
|
|
61
|
+
|
|
62
|
+
### Primary Persona: [Name]
|
|
63
|
+
- **Role:** [Job title]
|
|
64
|
+
- **Goals:** [What they're trying to achieve]
|
|
65
|
+
- **Pain Points:** [Current frustrations]
|
|
66
|
+
|
|
67
|
+
### Key Use Cases
|
|
68
|
+
|
|
69
|
+
#### Use Case 1: [Title]
|
|
70
|
+
**Actor:** [Which persona]
|
|
71
|
+
**Flow:**
|
|
72
|
+
1. User [action]
|
|
73
|
+
2. System [response]
|
|
74
|
+
**Expected Outcome:** [Success looks like]
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Product Requirements
|
|
79
|
+
|
|
80
|
+
### Functional Requirements
|
|
81
|
+
|
|
82
|
+
#### Must Have (P0)
|
|
83
|
+
- **FR-001:** [Description]
|
|
84
|
+
- User Story: As a [persona], I want to [action] so that [benefit]
|
|
85
|
+
- Acceptance Criteria: [testable criteria]
|
|
86
|
+
|
|
87
|
+
#### Should Have (P1)
|
|
88
|
+
- **FR-010:** [Description]
|
|
89
|
+
|
|
90
|
+
#### Could Have (P2)
|
|
91
|
+
- **FR-020:** [Description]
|
|
92
|
+
|
|
93
|
+
### Non-Functional Requirements
|
|
94
|
+
- **NFR-001:** Performance - [requirement]
|
|
95
|
+
- **NFR-002:** Security - [requirement]
|
|
96
|
+
- **NFR-003:** Scalability - [requirement]
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Technical Specifications
|
|
101
|
+
[High-level architecture overview - link to SAD]
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Go-to-Market Strategy
|
|
106
|
+
|
|
107
|
+
### Launch Plan
|
|
108
|
+
- **Beta Testing:** [Timeline, criteria]
|
|
109
|
+
- **Launch Date:** [Target date]
|
|
110
|
+
|
|
111
|
+
### Marketing & Positioning
|
|
112
|
+
- **Value Proposition:** [One sentence]
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Dependencies & Risks
|
|
117
|
+
|
|
118
|
+
### Risks & Mitigation
|
|
119
|
+
| Risk | Impact | Probability | Mitigation |
|
|
120
|
+
|------|--------|-------------|------------|
|
|
121
|
+
| [Risk 1] | High | Medium | [Mitigation] |
|
|
122
|
+
|
|
123
|
+
### Open Questions
|
|
124
|
+
- [Question 1]
|
|
125
|
+
- [Question 2]
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Timeline & Milestones
|
|
130
|
+
| Phase | Timeline | Deliverables | Owner |
|
|
131
|
+
|-------|----------|-------------|-------|
|
|
132
|
+
| Discovery | [Dates] | PRD, Design | PE |
|
|
133
|
+
| Development | [Dates] | Features | SE |
|
|
134
|
+
| QA & Testing | [Dates] | Test reports | PE |
|
|
135
|
+
| Launch | [Dates] | Production | DSE |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Changelog
|
|
140
|
+
| Date | Version | Changes | Author |
|
|
141
|
+
|------|---------|---------|--------|
|
|
142
|
+
| [Date] | 1.0 | Initial draft | [Name] |
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Performance Report
|
|
2
|
+
|
|
3
|
+
> **Last Test:** {Date}
|
|
4
|
+
> **Environment:** {Test | Staging | Production}
|
|
5
|
+
> **Tested by:** {DSE name}
|
|
6
|
+
|
|
7
|
+
## Baseline Metrics
|
|
8
|
+
| Metric | Target | Actual | Status |
|
|
9
|
+
|--------|--------|--------|--------|
|
|
10
|
+
| API Response Time (p95) | < 200ms | {value} | Pass/Fail |
|
|
11
|
+
| Throughput | > 1000 req/s | {value} | Pass/Fail |
|
|
12
|
+
| Database Query (p95) | < 100ms | {value} | Pass/Fail |
|
|
13
|
+
| Memory Usage | < 512MB | {value} | Pass/Fail |
|
|
14
|
+
| CPU Usage (peak) | < 80% | {value} | Pass/Fail |
|
|
15
|
+
|
|
16
|
+
## Bottlenecks
|
|
17
|
+
| ID | Description | Impact | Recommendation | Status |
|
|
18
|
+
|----|-------------|--------|----------------|--------|
|
|
19
|
+
| PERF-001 | {description} | {impact} | {recommendation} | Open/Fixed |
|
|
20
|
+
|
|
21
|
+
## Load Test Results
|
|
22
|
+
- **Tool:** {k6 | JMeter | NBomber...}
|
|
23
|
+
- **Scenario:** {description}
|
|
24
|
+
- **Duration:** {minutes}
|
|
25
|
+
- **Concurrent users:** {count}
|
|
26
|
+
- **Results:** {summary}
|
|
27
|
+
|
|
28
|
+
## Test History
|
|
29
|
+
| Date | Environment | Result | Notes |
|
|
30
|
+
|------|-------------|--------|-------|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Solution Architecture Document (SAD)
|
|
2
|
+
|
|
3
|
+
> **Version:** 1.0
|
|
4
|
+
> **Last Updated:** [Date]
|
|
5
|
+
> **Author:** [SE name]
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Executive Summary
|
|
10
|
+
### 1.1 Purpose
|
|
11
|
+
### 1.2 Scope
|
|
12
|
+
### 1.3 Key Objectives
|
|
13
|
+
|
|
14
|
+
## 2. Architecture Vision
|
|
15
|
+
### 2.1 Vision Statement
|
|
16
|
+
### 2.2 Architecture Principles
|
|
17
|
+
### 2.3 Constraints & Assumptions
|
|
18
|
+
|
|
19
|
+
## 3. Business Requirements
|
|
20
|
+
### 3.1 Business Problem
|
|
21
|
+
### 3.2 Stakeholders
|
|
22
|
+
### 3.3 Functional Requirements
|
|
23
|
+
### 3.4 Non-Functional Requirements
|
|
24
|
+
|
|
25
|
+
## 4. Technology Baseline
|
|
26
|
+
### 4.1 Current State
|
|
27
|
+
### 4.2 Technology Stack
|
|
28
|
+
### 4.3 Dependencies
|
|
29
|
+
|
|
30
|
+
## 5. System Context (C4 Level 1)
|
|
31
|
+
<!-- Dùng Mermaid flow diagram, :::mermaid wrapper, không dùng () -->
|
|
32
|
+
|
|
33
|
+
## 6. Logical View (C4 Level 2 - Container)
|
|
34
|
+
<!-- Dùng Mermaid flow diagram -->
|
|
35
|
+
|
|
36
|
+
## 7. Component View (C4 Level 3)
|
|
37
|
+
<!-- Dùng Mermaid flow diagram -->
|
|
38
|
+
|
|
39
|
+
## 8. Data Architecture & ERD
|
|
40
|
+
<!-- Dùng Mermaid erDiagram -->
|
|
41
|
+
|
|
42
|
+
## 9. Integration & Data Flow
|
|
43
|
+
<!-- Dùng Mermaid sequenceDiagram -->
|
|
44
|
+
|
|
45
|
+
## 10. Security Architecture
|
|
46
|
+
|
|
47
|
+
## 11. Deployment View
|
|
48
|
+
<!-- Dùng Mermaid flow diagram -->
|
|
49
|
+
|
|
50
|
+
## 12. Non-Functional Requirements
|
|
51
|
+
|
|
52
|
+
## 13. Architectural Decisions
|
|
53
|
+
| ID | Decision | Status | Date | Rationale |
|
|
54
|
+
|----|----------|--------|------|-----------|
|
|
55
|
+
|
|
56
|
+
## 14. Risks & Mitigation
|
|
57
|
+
| Risk | Impact | Probability | Mitigation |
|
|
58
|
+
|------|--------|-------------|------------|
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Changelog
|
|
63
|
+
| Date | Version | Changes | Author |
|
|
64
|
+
|------|---------|---------|--------|
|