@torus-engineering/tas-kit 1.10.0 → 1.11.1
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/commands/ado-create.md +17 -17
- package/.claude/commands/ado-delete.md +11 -11
- package/.claude/commands/ado-get.md +12 -12
- package/.claude/commands/ado-status.md +12 -12
- package/.claude/commands/ado-update.md +15 -15
- package/.claude/commands/tas-adr.md +33 -33
- package/.claude/commands/tas-apitest-plan.md +173 -173
- package/.claude/commands/tas-apitest.md +143 -143
- package/.claude/commands/tas-brainstorm.md +14 -14
- package/.claude/commands/tas-bug.md +113 -113
- package/.claude/commands/tas-design.md +37 -37
- package/.claude/commands/tas-dev.md +128 -128
- package/.claude/commands/tas-e2e-mobile.md +155 -155
- package/.claude/commands/tas-e2e-web.md +163 -163
- package/.claude/commands/tas-e2e.md +102 -102
- package/.claude/commands/tas-epic.md +35 -35
- package/.claude/commands/tas-feature.md +47 -47
- package/.claude/commands/tas-fix.md +51 -51
- package/.claude/commands/tas-functest-mobile.md +144 -144
- package/.claude/commands/tas-functest-web.md +192 -192
- package/.claude/commands/tas-functest.md +76 -76
- package/.claude/commands/tas-init.md +14 -14
- package/.claude/commands/tas-plan.md +198 -200
- package/.claude/commands/tas-prd.md +37 -37
- package/.claude/commands/tas-review.md +111 -111
- package/.claude/commands/tas-sad.md +43 -43
- package/.claude/commands/tas-security.md +87 -87
- package/.claude/commands/tas-spec.md +20 -20
- package/.claude/commands/tas-status.md +13 -13
- package/.claude/commands/tas-story.md +91 -91
- package/.claude/commands/tas-verify.md +51 -51
- package/.claude/rules/common/post-review-agent.md +49 -49
- package/.claude/rules/common/project-status.md +14 -14
- package/.claude/rules/common/stack-detection.md +6 -6
- package/.claude/rules/common/token-logging.md +27 -27
- package/.claude/rules/csharp/api-testing.md +171 -171
- package/.claude/skills/ado-integration/SKILL.md +36 -36
- package/.claude/skills/tas-conventions/SKILL.md +32 -32
- package/.claude/skills/tas-implementation-complete/SKILL.md +100 -99
- package/.claude/skills/tas-tdd/SKILL.md +123 -123
- package/.claude/skills/token-logger/SKILL.md +19 -19
- package/.tas/README.md +334 -334
- package/.tas/checklists/code-review.md +13 -13
- package/.tas/checklists/security.md +3 -3
- package/.tas/checklists/story-done.md +11 -11
- package/.tas/project-status-example.yaml +3 -3
- package/.tas/tas-example.yaml +126 -126
- package/.tas/templates/ADR.md +16 -16
- package/.tas/templates/API-Test-Spec.md +3 -3
- package/.tas/templates/Bug.md +12 -12
- package/.tas/templates/Design-Spec.md +8 -8
- package/.tas/templates/E2E-Execution-Report.md +1 -1
- package/.tas/templates/Epic.md +1 -1
- package/.tas/templates/Feature.md +10 -10
- package/.tas/templates/Func-Test-Spec.md +3 -3
- package/.tas/templates/SAD.md +106 -106
- package/.tas/templates/Security-Report.md +3 -3
- package/.tas/templates/Story.md +9 -9
- package/.tas/tools/tas-ado-readme.md +169 -169
- package/.tas/tools/tas-ado.py +1 -1
- package/CLAUDE-Example.md +29 -53
- package/README.md +334 -334
- package/package.json +1 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
# Code Review Checklist
|
|
2
2
|
|
|
3
3
|
## Architecture
|
|
4
|
-
- [ ] Code
|
|
5
|
-
- [ ]
|
|
6
|
-
- [ ]
|
|
4
|
+
- [ ] Code aligns with SAD
|
|
5
|
+
- [ ] No ADR violations
|
|
6
|
+
- [ ] Correct layer separation
|
|
7
7
|
|
|
8
8
|
## Code Quality
|
|
9
|
-
- [ ] Naming
|
|
10
|
-
- [ ]
|
|
11
|
-
- [ ] Error handling
|
|
12
|
-
- [ ]
|
|
13
|
-
- [ ]
|
|
9
|
+
- [ ] Naming follows conventions in CLAUDE.md
|
|
10
|
+
- [ ] No magic numbers/strings
|
|
11
|
+
- [ ] Error handling complete
|
|
12
|
+
- [ ] Meaningful logging
|
|
13
|
+
- [ ] No code duplication
|
|
14
14
|
|
|
15
15
|
## Security
|
|
16
16
|
- [ ] Input validation
|
|
17
17
|
- [ ] No SQL injection risk
|
|
18
18
|
- [ ] No XSS risk
|
|
19
|
-
- [ ] Sensitive data
|
|
19
|
+
- [ ] Sensitive data not logged
|
|
20
20
|
|
|
21
21
|
## Testing
|
|
22
22
|
- [ ] Unit tests cover happy path
|
|
23
23
|
- [ ] Unit tests cover edge cases
|
|
24
|
-
- [ ] Tests
|
|
24
|
+
- [ ] Tests have clear assertions
|
|
25
25
|
|
|
26
26
|
## Performance
|
|
27
|
-
- [ ]
|
|
28
|
-
- [ ] Async/await
|
|
29
|
-
- [ ]
|
|
27
|
+
- [ ] No N+1 queries
|
|
28
|
+
- [ ] Async/await used correctly
|
|
29
|
+
- [ ] Resources disposed properly
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Security Checklist - .NET Specific
|
|
2
2
|
|
|
3
3
|
## Authentication & Authorization
|
|
4
|
-
- [ ] JWT validation
|
|
4
|
+
- [ ] JWT validation correct
|
|
5
5
|
- [ ] Role-based authorization
|
|
6
|
-
- [ ] Anti-forgery token
|
|
6
|
+
- [ ] Anti-forgery token for forms
|
|
7
7
|
|
|
8
8
|
## Data Protection
|
|
9
|
-
- [ ] Connection strings
|
|
9
|
+
- [ ] Connection strings in secrets, not hardcoded
|
|
10
10
|
- [ ] PII data encrypted at rest
|
|
11
11
|
- [ ] HTTPS enforced
|
|
12
12
|
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
# Definition of Done Checklist
|
|
2
2
|
|
|
3
3
|
## Code
|
|
4
|
-
- [ ] Code implemented
|
|
5
|
-
- [ ]
|
|
6
|
-
- [ ]
|
|
4
|
+
- [ ] Code implemented per acceptance criteria
|
|
5
|
+
- [ ] Follows conventions in CLAUDE.md
|
|
6
|
+
- [ ] Each public method has XML doc comment
|
|
7
7
|
|
|
8
8
|
## Testing
|
|
9
9
|
- [ ] Unit tests pass (happy path + edge cases + negative cases)
|
|
10
|
-
- [ ] No regression
|
|
10
|
+
- [ ] No regression on existing tests
|
|
11
11
|
|
|
12
12
|
## Review
|
|
13
|
-
- [ ] Code review passed (
|
|
14
|
-
- [ ]
|
|
13
|
+
- [ ] Code review passed (per code-review checklist)
|
|
14
|
+
- [ ] If auto_review = true, passed automated review
|
|
15
15
|
|
|
16
16
|
## Documentation
|
|
17
|
-
- [ ] Technical notes
|
|
18
|
-
- [ ]
|
|
17
|
+
- [ ] Technical notes in Story updated
|
|
18
|
+
- [ ] If API changes, corresponding docs updated
|
|
19
19
|
|
|
20
20
|
## Status
|
|
21
|
-
- [ ] Story status
|
|
22
|
-
- [ ] project-status.yaml
|
|
23
|
-
- [ ] Commit message
|
|
21
|
+
- [ ] Story status updated in Story file
|
|
22
|
+
- [ ] project-status.yaml updated
|
|
23
|
+
- [ ] Commit message follows correct format
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# .tas/project-status-example.yaml - Reference template
|
|
2
|
-
# /tas-init
|
|
3
|
-
# Human
|
|
1
|
+
# .tas/project-status-example.yaml - Reference template for root/project-status.yaml
|
|
2
|
+
# /tas-init will create root/project-status.yaml from this template.
|
|
3
|
+
# Human can edit manually. Run /tas-init to re-sync if drifted.
|
|
4
4
|
last_updated: ""
|
|
5
5
|
|
|
6
6
|
artifacts:
|
package/.tas/tas-example.yaml
CHANGED
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
# .tas/tas-example.yaml - Reference template
|
|
2
|
-
# Copy file
|
|
3
|
-
#
|
|
4
|
-
# Tech stack, coding conventions, build commands
|
|
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: "
|
|
11
|
-
|
|
12
|
-
# Azure DevOps integration
|
|
13
|
-
ado:
|
|
14
|
-
enabled: true # false
|
|
15
|
-
organization: "https://dev.azure.com/torus-
|
|
16
|
-
project_id: "
|
|
17
|
-
|
|
18
|
-
team:
|
|
19
|
-
- name: "Nguyen Van A"
|
|
20
|
-
role: pe
|
|
21
|
-
ado_id: "nguyenvana@torus.vn"
|
|
22
|
-
- name: "Tran Van B"
|
|
23
|
-
role: se
|
|
24
|
-
ado_id: "tranvanb@torus.vn"
|
|
25
|
-
- name: "Le Van C"
|
|
26
|
-
role: dse
|
|
27
|
-
ado_id: "levanc@torus.vn"
|
|
28
|
-
|
|
29
|
-
# Flow configuration
|
|
30
|
-
workflow:
|
|
31
|
-
# Phase 0: Discovery & Design (Human-led, AI-powered)
|
|
32
|
-
discovery:
|
|
33
|
-
enabled: true
|
|
34
|
-
lead: pe
|
|
35
|
-
artifacts:
|
|
36
|
-
- prd
|
|
37
|
-
- design_spec
|
|
38
|
-
- sad
|
|
39
|
-
- adr
|
|
40
|
-
- epic
|
|
41
|
-
- feature
|
|
42
|
-
- story
|
|
43
|
-
gate: ready_for_development
|
|
44
|
-
|
|
45
|
-
# Phase 1: Develop (Orchestrated Agentic)
|
|
46
|
-
develop:
|
|
47
|
-
enabled: true
|
|
48
|
-
lead: se
|
|
49
|
-
environment: test
|
|
50
|
-
use_tdd: true
|
|
51
|
-
auto_review: true
|
|
52
|
-
|
|
53
|
-
# Phase 2: Verify (Agentic + PE Review)
|
|
54
|
-
verify:
|
|
55
|
-
enabled: true
|
|
56
|
-
lead: pe
|
|
57
|
-
environment: staging
|
|
58
|
-
auto_integration_test: true
|
|
59
|
-
gate: pe_approved
|
|
60
|
-
|
|
61
|
-
# Phase 3: Deploy with Feature Flag (Agentic)
|
|
62
|
-
deploy:
|
|
63
|
-
enabled: true
|
|
64
|
-
lead: dse
|
|
65
|
-
environment: production
|
|
66
|
-
feature_flag: true
|
|
67
|
-
gate: pe_approved_production
|
|
68
|
-
|
|
69
|
-
# Phase 4: Operate (Autonomous)
|
|
70
|
-
operate:
|
|
71
|
-
enabled: false
|
|
72
|
-
lead: dse
|
|
73
|
-
environment: production
|
|
74
|
-
security_check: true
|
|
75
|
-
performance_monitor: true
|
|
76
|
-
|
|
77
|
-
# Brownfield-specific config
|
|
78
|
-
brownfield:
|
|
79
|
-
existing_docs_path: "docs/"
|
|
80
|
-
codebase_scan_on_init: true
|
|
81
|
-
|
|
82
|
-
# Pre-commit security hook (installed via tas-kit install --security-hook=husky|native)
|
|
83
|
-
# See .tas/hooks/README.md for details
|
|
84
|
-
#
|
|
85
|
-
# 3-tier scan:
|
|
86
|
-
# Tier 1 (always): built-in regex scan for ~45 secret patterns — blocks
|
|
87
|
-
# Tier 2 (if on PATH): gitleaks / trufflehog — only runs if installed — blocks
|
|
88
|
-
# Tier 3 (opt-in, LOCAL ONLY): AI deep scan → writes docs/security-report.md;
|
|
89
|
-
# does NOT block. Use a personal Claude Code
|
|
90
|
-
# subscription (no API charges). Not for CI.
|
|
91
|
-
security:
|
|
92
|
-
pre_commit_hook: true # master switch; false to disable without uninstalling
|
|
93
|
-
external_scanner: auto # auto | gitleaks | trufflehog | none — tier 2
|
|
94
|
-
tool: claude # claude | codex | gemini | none — tier 3 AI (report-only)
|
|
95
|
-
deep_scan_on_every_commit: false # true = opt into tier 3 AI review each local commit
|
|
96
|
-
block_on: [critical, high] # severities that block commit (tier 1 & 2 only)
|
|
97
|
-
allow_bypass: true # print hint about SKIP_SECURITY_SCAN / --no-verify
|
|
98
|
-
|
|
99
|
-
# Template overrides (optional)
|
|
100
|
-
templates:
|
|
101
|
-
sad: ".tas/templates/SAD.md"
|
|
102
|
-
adr: ".tas/templates/ADR.md"
|
|
103
|
-
prd: ".tas/templates/PRD.md"
|
|
104
|
-
epic: ".tas/templates/Epic.md"
|
|
105
|
-
feature: ".tas/templates/Feature.md"
|
|
106
|
-
story: ".tas/templates/Story.md"
|
|
107
|
-
bug: ".tas/templates/Bug.md"
|
|
108
|
-
|
|
109
|
-
# Model mapping
|
|
110
|
-
models:
|
|
111
|
-
default: sonnet
|
|
112
|
-
commands:
|
|
113
|
-
tas-prd: sonnet
|
|
114
|
-
tas-design: sonnet
|
|
115
|
-
tas-sad: opus
|
|
116
|
-
tas-adr: opus
|
|
117
|
-
tas-epic: sonnet
|
|
118
|
-
tas-feature: sonnet
|
|
119
|
-
tas-story: sonnet
|
|
120
|
-
tas-dev: sonnet
|
|
121
|
-
tas-review-code: opus
|
|
122
|
-
tas-brainstorm: opus
|
|
123
|
-
tas-bug: sonnet
|
|
124
|
-
tas-verify: haiku
|
|
125
|
-
tas-status: haiku
|
|
126
|
-
tas-security-check: opus
|
|
1
|
+
# .tas/tas-example.yaml - Reference template for tas.yaml at root
|
|
2
|
+
# Copy this file to root (tas.yaml) and fill in project information.
|
|
3
|
+
# This file ONLY contains TAS flow and logic.
|
|
4
|
+
# Tech stack, coding conventions, build commands belong in 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: "Brief project description"
|
|
11
|
+
|
|
12
|
+
# Azure DevOps integration
|
|
13
|
+
ado:
|
|
14
|
+
enabled: true # false if project doesn't use ADO
|
|
15
|
+
organization: "https://dev.azure.com/torus-engineering"
|
|
16
|
+
project_id: "f80dac23-9fa5-4b8e-a1db-da4d5aea7b31"
|
|
17
|
+
|
|
18
|
+
team:
|
|
19
|
+
- name: "Nguyen Van A"
|
|
20
|
+
role: pe
|
|
21
|
+
ado_id: "nguyenvana@torus.vn"
|
|
22
|
+
- name: "Tran Van B"
|
|
23
|
+
role: se
|
|
24
|
+
ado_id: "tranvanb@torus.vn"
|
|
25
|
+
- name: "Le Van C"
|
|
26
|
+
role: dse
|
|
27
|
+
ado_id: "levanc@torus.vn"
|
|
28
|
+
|
|
29
|
+
# Flow configuration
|
|
30
|
+
workflow:
|
|
31
|
+
# Phase 0: Discovery & Design (Human-led, AI-powered)
|
|
32
|
+
discovery:
|
|
33
|
+
enabled: true
|
|
34
|
+
lead: pe
|
|
35
|
+
artifacts:
|
|
36
|
+
- prd
|
|
37
|
+
- design_spec
|
|
38
|
+
- sad
|
|
39
|
+
- adr
|
|
40
|
+
- epic
|
|
41
|
+
- feature
|
|
42
|
+
- story
|
|
43
|
+
gate: ready_for_development
|
|
44
|
+
|
|
45
|
+
# Phase 1: Develop (Orchestrated Agentic)
|
|
46
|
+
develop:
|
|
47
|
+
enabled: true
|
|
48
|
+
lead: se
|
|
49
|
+
environment: test
|
|
50
|
+
use_tdd: true
|
|
51
|
+
auto_review: true
|
|
52
|
+
|
|
53
|
+
# Phase 2: Verify (Agentic + PE Review)
|
|
54
|
+
verify:
|
|
55
|
+
enabled: true
|
|
56
|
+
lead: pe
|
|
57
|
+
environment: staging
|
|
58
|
+
auto_integration_test: true
|
|
59
|
+
gate: pe_approved
|
|
60
|
+
|
|
61
|
+
# Phase 3: Deploy with Feature Flag (Agentic)
|
|
62
|
+
deploy:
|
|
63
|
+
enabled: true
|
|
64
|
+
lead: dse
|
|
65
|
+
environment: production
|
|
66
|
+
feature_flag: true
|
|
67
|
+
gate: pe_approved_production
|
|
68
|
+
|
|
69
|
+
# Phase 4: Operate (Autonomous)
|
|
70
|
+
operate:
|
|
71
|
+
enabled: false
|
|
72
|
+
lead: dse
|
|
73
|
+
environment: production
|
|
74
|
+
security_check: true
|
|
75
|
+
performance_monitor: true
|
|
76
|
+
|
|
77
|
+
# Brownfield-specific config
|
|
78
|
+
brownfield:
|
|
79
|
+
existing_docs_path: "docs/"
|
|
80
|
+
codebase_scan_on_init: true
|
|
81
|
+
|
|
82
|
+
# Pre-commit security hook (installed via tas-kit install --security-hook=husky|native)
|
|
83
|
+
# See .tas/hooks/README.md for details
|
|
84
|
+
#
|
|
85
|
+
# 3-tier scan:
|
|
86
|
+
# Tier 1 (always): built-in regex scan for ~45 secret patterns — blocks
|
|
87
|
+
# Tier 2 (if on PATH): gitleaks / trufflehog — only runs if installed — blocks
|
|
88
|
+
# Tier 3 (opt-in, LOCAL ONLY): AI deep scan → writes docs/security-report.md;
|
|
89
|
+
# does NOT block. Use a personal Claude Code
|
|
90
|
+
# subscription (no API charges). Not for CI.
|
|
91
|
+
security:
|
|
92
|
+
pre_commit_hook: true # master switch; false to disable without uninstalling
|
|
93
|
+
external_scanner: auto # auto | gitleaks | trufflehog | none — tier 2
|
|
94
|
+
tool: claude # claude | codex | gemini | none — tier 3 AI (report-only)
|
|
95
|
+
deep_scan_on_every_commit: false # true = opt into tier 3 AI review each local commit
|
|
96
|
+
block_on: [critical, high] # severities that block commit (tier 1 & 2 only)
|
|
97
|
+
allow_bypass: true # print hint about SKIP_SECURITY_SCAN / --no-verify
|
|
98
|
+
|
|
99
|
+
# Template overrides (optional)
|
|
100
|
+
templates:
|
|
101
|
+
sad: ".tas/templates/SAD.md"
|
|
102
|
+
adr: ".tas/templates/ADR.md"
|
|
103
|
+
prd: ".tas/templates/PRD.md"
|
|
104
|
+
epic: ".tas/templates/Epic.md"
|
|
105
|
+
feature: ".tas/templates/Feature.md"
|
|
106
|
+
story: ".tas/templates/Story.md"
|
|
107
|
+
bug: ".tas/templates/Bug.md"
|
|
108
|
+
|
|
109
|
+
# Model mapping
|
|
110
|
+
models:
|
|
111
|
+
default: sonnet
|
|
112
|
+
commands:
|
|
113
|
+
tas-prd: sonnet
|
|
114
|
+
tas-design: sonnet
|
|
115
|
+
tas-sad: opus
|
|
116
|
+
tas-adr: opus
|
|
117
|
+
tas-epic: sonnet
|
|
118
|
+
tas-feature: sonnet
|
|
119
|
+
tas-story: sonnet
|
|
120
|
+
tas-dev: sonnet
|
|
121
|
+
tas-review-code: opus
|
|
122
|
+
tas-brainstorm: opus
|
|
123
|
+
tas-bug: sonnet
|
|
124
|
+
tas-verify: haiku
|
|
125
|
+
tas-status: haiku
|
|
126
|
+
tas-security-check: opus
|
package/.tas/templates/ADR.md
CHANGED
|
@@ -3,29 +3,29 @@
|
|
|
3
3
|
> **Status:** Proposed | Accepted | Deprecated | Superseded
|
|
4
4
|
> **Date:** [Date]
|
|
5
5
|
> **Author:** [SE name]
|
|
6
|
-
> **Supersedes:** [ADR-NNN
|
|
7
|
-
> **Related:** [ADR-NNN
|
|
6
|
+
> **Supersedes:** [ADR-NNN if any]
|
|
7
|
+
> **Related:** [ADR-NNN if any]
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
|
-
[
|
|
10
|
+
[Describe context leading to this decision. What problem needs solving?]
|
|
11
11
|
|
|
12
12
|
## Decision
|
|
13
|
-
[
|
|
13
|
+
[Describe the chosen architectural decision.]
|
|
14
14
|
|
|
15
15
|
## Rationale
|
|
16
|
-
[
|
|
16
|
+
[Why choose this approach? Technical and business reasons.]
|
|
17
17
|
|
|
18
18
|
## Alternatives Considered
|
|
19
19
|
|
|
20
|
-
### Alternative 1: [
|
|
21
|
-
- **Pros:** [
|
|
22
|
-
- **Cons:** [
|
|
23
|
-
- **
|
|
20
|
+
### Alternative 1: [Name]
|
|
21
|
+
- **Pros:** [advantages]
|
|
22
|
+
- **Cons:** [disadvantages]
|
|
23
|
+
- **Why not chosen:** [explanation]
|
|
24
24
|
|
|
25
|
-
### Alternative 2: [
|
|
26
|
-
- **Pros:** [
|
|
27
|
-
- **Cons:** [
|
|
28
|
-
- **
|
|
25
|
+
### Alternative 2: [Name]
|
|
26
|
+
- **Pros:** [advantages]
|
|
27
|
+
- **Cons:** [disadvantages]
|
|
28
|
+
- **Why not chosen:** [explanation]
|
|
29
29
|
|
|
30
30
|
## Consequences
|
|
31
31
|
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
- [consequence 2]
|
|
39
39
|
|
|
40
40
|
### SAD Updates
|
|
41
|
-
*(
|
|
42
|
-
- [ ] [
|
|
43
|
-
- [ ] [
|
|
41
|
+
*(List changes needed to update docs/sad.md - only add when ADR affects overall architecture)*
|
|
42
|
+
- [ ] [change 1]
|
|
43
|
+
- [ ] [change 2]
|
|
44
44
|
|
|
45
45
|
## Changelog
|
|
46
46
|
| Date | Changes | Author |
|
|
@@ -28,7 +28,7 @@ framework: xUnit
|
|
|
28
28
|
|
|
29
29
|
## Version History
|
|
30
30
|
|
|
31
|
-
>
|
|
31
|
+
> Each API version has separate section. APPEND-ONLY: don't modify old versions.
|
|
32
32
|
|
|
33
33
|
| Version | Status | Created | Description |
|
|
34
34
|
|---------|--------|---------|-------------|
|
|
@@ -354,7 +354,7 @@ framework: xUnit
|
|
|
354
354
|
|
|
355
355
|
## Story-Specific Test Cases (Optional)
|
|
356
356
|
|
|
357
|
-
>
|
|
357
|
+
> If spec generated from Story, add AC mapping here.
|
|
358
358
|
|
|
359
359
|
| AC ID | AC Description | Test Case IDs |
|
|
360
360
|
|-------|----------------|---------------|
|
|
@@ -365,7 +365,7 @@ framework: xUnit
|
|
|
365
365
|
|
|
366
366
|
## Regression Tests (Optional)
|
|
367
367
|
|
|
368
|
-
> Test cases
|
|
368
|
+
> Test cases for bugs that were found and fixed.
|
|
369
369
|
|
|
370
370
|
| Bug ID | Description | Test Case ID | Date Added |
|
|
371
371
|
|--------|-------------|--------------|------------|
|
package/.tas/templates/Bug.md
CHANGED
|
@@ -19,7 +19,7 @@ parent_ado_id:
|
|
|
19
19
|
> **Created:** {Date}
|
|
20
20
|
|
|
21
21
|
## Description
|
|
22
|
-
{
|
|
22
|
+
{Brief bug description}
|
|
23
23
|
|
|
24
24
|
## Steps to Reproduce
|
|
25
25
|
1. {Step 1}
|
|
@@ -27,22 +27,22 @@ parent_ado_id:
|
|
|
27
27
|
3. {Step 3}
|
|
28
28
|
|
|
29
29
|
## Expected Behavior
|
|
30
|
-
{
|
|
30
|
+
{Expected result}
|
|
31
31
|
|
|
32
32
|
## Actual Behavior
|
|
33
|
-
{
|
|
33
|
+
{Actual result}
|
|
34
34
|
|
|
35
35
|
## Evidence
|
|
36
36
|
{Screenshots, logs, error messages}
|
|
37
37
|
|
|
38
38
|
## Root Cause Analysis
|
|
39
|
-
*SE
|
|
40
|
-
- **Root Cause:** {
|
|
41
|
-
- **Affected Files:** {
|
|
42
|
-
- **Impact Scope:** {
|
|
39
|
+
*SE fills when analyzing*
|
|
40
|
+
- **Root Cause:** {Root cause description}
|
|
41
|
+
- **Affected Files:** {List of related files}
|
|
42
|
+
- **Impact Scope:** {Affected functionality}
|
|
43
43
|
|
|
44
44
|
## Regression Test Cases
|
|
45
|
-
*SE
|
|
45
|
+
*SE designs before fixing*
|
|
46
46
|
|
|
47
47
|
| ID | Description | Input | Expected | Status |
|
|
48
48
|
|----|-------------|-------|----------|--------|
|
|
@@ -50,13 +50,13 @@ parent_ado_id:
|
|
|
50
50
|
| RT-2 | Related regression | {input} | {expected} | - |
|
|
51
51
|
|
|
52
52
|
## Fix Notes
|
|
53
|
-
*SE
|
|
54
|
-
- **Fix Description:** {
|
|
55
|
-
- **Files Changed:** {
|
|
53
|
+
*SE fills after fixing*
|
|
54
|
+
- **Fix Description:** {Fix description}
|
|
55
|
+
- **Files Changed:** {List of changed files}
|
|
56
56
|
- **Commit:** {commit hash}
|
|
57
57
|
|
|
58
58
|
## Verify Notes
|
|
59
|
-
*PE
|
|
59
|
+
*PE fills when verifying*
|
|
60
60
|
|
|
61
61
|
| Date | Environment | Result | Verified by | Notes |
|
|
62
62
|
|------|-------------|--------|-------------|-------|
|
|
@@ -8,26 +8,26 @@
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
## 1. Overview
|
|
11
|
-
{
|
|
11
|
+
{Design overview}
|
|
12
12
|
|
|
13
13
|
## 2. User Flows
|
|
14
|
-
<!--
|
|
14
|
+
<!-- Use Mermaid flowchart, :::mermaid wrapper, no () -->
|
|
15
15
|
|
|
16
16
|
## 3. Screen Descriptions
|
|
17
17
|
|
|
18
18
|
### Screen 1: {Name}
|
|
19
|
-
- **Purpose:** {
|
|
20
|
-
- **Key Elements:** {
|
|
21
|
-
- **Actions Available:** {
|
|
19
|
+
- **Purpose:** {purpose}
|
|
20
|
+
- **Key Elements:** {key elements}
|
|
21
|
+
- **Actions Available:** {user actions available}
|
|
22
22
|
|
|
23
23
|
## 4. Navigation Structure
|
|
24
|
-
<!--
|
|
24
|
+
<!-- Use Mermaid flowchart -->
|
|
25
25
|
|
|
26
26
|
## 5. Interaction Patterns
|
|
27
|
-
{
|
|
27
|
+
{Describe patterns: form submission, search, pagination...}
|
|
28
28
|
|
|
29
29
|
## 6. Responsive Behavior
|
|
30
|
-
{
|
|
30
|
+
{Describe breakpoints and behavior changes}
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -51,7 +51,7 @@ environment: # dev | staging | prod
|
|
|
51
51
|
### {Test ID}: {Test Description}
|
|
52
52
|
|
|
53
53
|
**AC Reference**: AC-{N}
|
|
54
|
-
**Failure Reason**: {
|
|
54
|
+
**Failure Reason**: {Brief description of WHY it failed — e.g.: "Button 'Submit' not visible after entering valid email", "API returns 401 instead of 200", "Timeout after 5s waiting for Home screen to load"}
|
|
55
55
|
**Error Type**: {Assertion Failure | Timeout | Crash | Element Not Found}
|
|
56
56
|
**Error Message**:
|
|
57
57
|
```
|
package/.tas/templates/Epic.md
CHANGED
|
@@ -14,10 +14,10 @@ parent_ado_id:
|
|
|
14
14
|
> **Epic:** Epic-{NNN}
|
|
15
15
|
> **Owner:** {PE name}
|
|
16
16
|
> **Created:** {Date}
|
|
17
|
-
> **Verified Date:** {Date
|
|
17
|
+
> **Verified Date:** {Date when status = Verified}
|
|
18
18
|
|
|
19
19
|
## Description
|
|
20
|
-
{
|
|
20
|
+
{Feature description}
|
|
21
21
|
|
|
22
22
|
## User Stories
|
|
23
23
|
| ID | Story | Priority | Estimate | Status |
|
|
@@ -29,26 +29,26 @@ parent_ado_id:
|
|
|
29
29
|
- [ ] AC-2: {criteria}
|
|
30
30
|
|
|
31
31
|
## UI/UX Notes
|
|
32
|
-
{
|
|
32
|
+
{If any, reference to design-spec.md}
|
|
33
33
|
|
|
34
34
|
## Technical Notes
|
|
35
|
-
{
|
|
35
|
+
{If any, reference to SAD/ADR}
|
|
36
36
|
|
|
37
37
|
## Integration Test Cases
|
|
38
|
-
PE
|
|
38
|
+
PE designs when creating Feature. SE implements in code.
|
|
39
39
|
|
|
40
40
|
| ID | AC Ref | Scenario | Expected Result | Status |
|
|
41
41
|
|----|--------|----------|-----------------|--------|
|
|
42
|
-
| IT-1 | AC-1 | {
|
|
43
|
-
| IT-2 | AC-2 | {
|
|
42
|
+
| IT-1 | AC-1 | {Integration flow description} | {Expected result} | - |
|
|
43
|
+
| IT-2 | AC-2 | {Integration flow description} | {Expected result} | - |
|
|
44
44
|
|
|
45
45
|
## E2E / Acceptance Test Cases
|
|
46
|
-
PE
|
|
46
|
+
PE designs when creating Feature. PE verifies on Staging in Phase 2 using /tas-verify.
|
|
47
47
|
|
|
48
48
|
| ID | AC Ref | User Scenario | Steps | Expected Result | Status | Verified Date |
|
|
49
49
|
|----|--------|---------------|-------|-----------------|--------|---------------|
|
|
50
|
-
| E2E-1 | AC-1 | {Scenario} | {
|
|
51
|
-
| E2E-2 | AC-2 | {Scenario} | {
|
|
50
|
+
| E2E-1 | AC-1 | {Scenario} | {Execution steps} | {Expected result} | - | - |
|
|
51
|
+
| E2E-2 | AC-2 | {Scenario} | {Execution steps} | {Expected result} | - | - |
|
|
52
52
|
|
|
53
53
|
## Changelog
|
|
54
54
|
| Date | Changes | Author |
|
|
@@ -23,7 +23,7 @@ platform: # mobile | web | backend
|
|
|
23
23
|
|
|
24
24
|
## Test Case Naming Convention
|
|
25
25
|
|
|
26
|
-
> Functional Tests
|
|
26
|
+
> Functional Tests use type code **FT** following TAS standard format
|
|
27
27
|
|
|
28
28
|
### Format
|
|
29
29
|
```
|
|
@@ -60,8 +60,8 @@ AL_E002_F002_S001_FT_003_E - Functional Test Edge case
|
|
|
60
60
|
|
|
61
61
|
## AC to Functional Test Mapping
|
|
62
62
|
|
|
63
|
-
>
|
|
64
|
-
>
|
|
63
|
+
> IMPORTANT: Every FT case MUST reference AC-ID to ensure traceability.
|
|
64
|
+
> When AC changes, grep by AC-ID to know which FTs need update.
|
|
65
65
|
|
|
66
66
|
| AC ID | AC Description (Given/When/Then) | FT Test ID | Test Scenario | Modifier | Priority | Status |
|
|
67
67
|
|-------|----------------------------------|------------|---------------|----------|----------|--------|
|