@ngocsangairvds/vsaf 3.1.14 → 3.1.15
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/package.json +1 -1
- package/src/global.js +1 -7
- package/src/project.js +1 -7
- package/tools/skills/vsaf-build/SKILL.md +3 -3
- package/tools/skills/vsaf-discover/SKILL.md +10 -10
- package/tools/skills/vsaf-doc-prd/SKILL.md +3 -3
- package/tools/skills/vsaf-doc-srs/SKILL.md +9 -9
- package/tools/skills/vsaf-docs/SKILL.md +1 -1
- package/tools/skills/vsaf-onboard/SKILL.md +2 -2
- package/tools/skills/vsaf-plan/SKILL.md +1 -1
- package/tools/skills/vsaf-retro/SKILL.md +1 -1
- package/tools/skills/vsaf-ship/SKILL.md +3 -3
- package/tools/skills/vsaf-sprint/SKILL.md +3 -3
- package/tools/skills/vsaf-test/SKILL.md +7 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngocsangairvds/vsaf",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.15",
|
|
4
4
|
"description": "VSAF — Agentic AI SDLC Framework. 3 integrated tools: BMAD, GitNexus, Superpowers. 2-layer review.",
|
|
5
5
|
"keywords": ["claude", "claude-code", "ai", "sdlc", "framework", "bmad", "gitnexus", "superpowers"],
|
|
6
6
|
"bin": {
|
package/src/global.js
CHANGED
|
@@ -32,22 +32,16 @@ function installSkills() {
|
|
|
32
32
|
fs.mkdirSync(SKILLS_DST, { recursive: true });
|
|
33
33
|
|
|
34
34
|
let installed = 0;
|
|
35
|
-
let skipped = 0;
|
|
36
35
|
|
|
37
36
|
for (const entry of fs.readdirSync(SKILLS_SRC, { withFileTypes: true })) {
|
|
38
37
|
const src = path.join(SKILLS_SRC, entry.name);
|
|
39
38
|
const dst = path.join(SKILLS_DST, entry.name);
|
|
40
39
|
|
|
41
|
-
if (fs.existsSync(dst)) {
|
|
42
|
-
skipped++;
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
40
|
entry.isDirectory() ? copyDir(src, dst) : copyFile(src, dst);
|
|
47
41
|
installed++;
|
|
48
42
|
}
|
|
49
43
|
|
|
50
|
-
ok(`${installed} skill(s) installed
|
|
44
|
+
ok(`${installed} skill(s) installed/updated`);
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
// ── Binary helpers ───────────────────────────────────────────────────────────
|
package/src/project.js
CHANGED
|
@@ -116,7 +116,6 @@ function syncLocalBmadSkills() {
|
|
|
116
116
|
];
|
|
117
117
|
|
|
118
118
|
let installed = 0;
|
|
119
|
-
let skipped = 0;
|
|
120
119
|
|
|
121
120
|
for (const targetRoot of targets) {
|
|
122
121
|
fs.mkdirSync(targetRoot, { recursive: true });
|
|
@@ -125,17 +124,12 @@ function syncLocalBmadSkills() {
|
|
|
125
124
|
const src = path.join(SKILLS_SRC, entry.name);
|
|
126
125
|
const dst = path.join(targetRoot, entry.name);
|
|
127
126
|
|
|
128
|
-
if (fs.existsSync(dst)) {
|
|
129
|
-
skipped++;
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
127
|
entry.isDirectory() ? copyDir(src, dst) : copyFile(src, dst);
|
|
134
128
|
installed++;
|
|
135
129
|
}
|
|
136
130
|
}
|
|
137
131
|
|
|
138
|
-
ok(`${installed} BMAD skill
|
|
132
|
+
ok(`${installed} BMAD skill(s) installed/updated`);
|
|
139
133
|
}
|
|
140
134
|
|
|
141
135
|
function initGitNexus() {
|
|
@@ -34,9 +34,9 @@ Implement code strictly following PRD, SRS, and testcases, one task at a time, w
|
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### Step 1 — Read PRD + SRS + testcase (mandatory — must read all 3 fully)
|
|
37
|
-
- Read the PRD file in
|
|
38
|
-
- Read the SRS file in
|
|
39
|
-
- Read the testcase file in
|
|
37
|
+
- Read the PRD file in `.vsaf/docs/planning-artifacts/` — understand WHY and WHAT
|
|
38
|
+
- Read the SRS file in `.vsaf/docs/srs/` — understand HOW, FRs/NFRs
|
|
39
|
+
- Read the testcase file in `.vsaf/docs/testcases/` — understand acceptance criteria
|
|
40
40
|
- Confirm FR/NFR → testcase mapping before starting
|
|
41
41
|
- If a gap is found (FR/NFR without testcase, or testcase contradicts SRS): NOTIFY USER before continuing
|
|
42
42
|
- **Do NOT start coding without having read all 3 documents**
|
|
@@ -21,14 +21,14 @@ Thoroughly understand the domain, market, user needs, and technical feasibility
|
|
|
21
21
|
### Step 1 — Domain Research
|
|
22
22
|
- Use skill `bmad-domain-research` to deep dive into the domain/industry
|
|
23
23
|
- Output: terminology, business rules, regulatory constraints, domain patterns
|
|
24
|
-
- Save to
|
|
24
|
+
- Save to `.vsaf/docs/planning-artifacts/domain-research-[topic].md`
|
|
25
25
|
|
|
26
26
|
### Step 2 — Market Research
|
|
27
27
|
- Use skill `bmad-market-research` to analyze:
|
|
28
28
|
- Competition landscape: who is doing what, strengths/weaknesses
|
|
29
29
|
- Customer needs: pain points, underserved segments
|
|
30
30
|
- Market trends: which directions are growing
|
|
31
|
-
- Save to
|
|
31
|
+
- Save to `.vsaf/docs/planning-artifacts/market-research-[topic].md`
|
|
32
32
|
|
|
33
33
|
### Step 3 — Technical Feasibility
|
|
34
34
|
- Use skill `bmad-technical-research` to assess:
|
|
@@ -36,12 +36,12 @@ Thoroughly understand the domain, market, user needs, and technical feasibility
|
|
|
36
36
|
- Integration constraints
|
|
37
37
|
- Performance/scale requirements
|
|
38
38
|
- Build vs buy decisions
|
|
39
|
-
- Save to
|
|
39
|
+
- Save to `.vsaf/docs/planning-artifacts/tech-research-[topic].md`
|
|
40
40
|
|
|
41
41
|
### Step 4 — Product Brief
|
|
42
42
|
- Use skill `bmad-product-brief` to synthesize findings into a product brief
|
|
43
43
|
- Product brief = summary of: what problem, for whom, what solution, why now
|
|
44
|
-
- Save to
|
|
44
|
+
- Save to `.vsaf/docs/planning-artifacts/product-brief-[name].md`
|
|
45
45
|
|
|
46
46
|
### Step 5 — PRFAQ Challenge (Working Backwards)
|
|
47
47
|
- Use skill `bmad-prfaq` to stress-test the product concept
|
|
@@ -55,7 +55,7 @@ Thoroughly understand the domain, market, user needs, and technical feasibility
|
|
|
55
55
|
- PRD includes: vision, goals, FRs, NFRs, epics, user stories, success metrics
|
|
56
56
|
- After creation: use skill `bmad-validate-prd` to validate the PRD meets standards
|
|
57
57
|
- If validation FAILs: John will use `bmad-edit-prd` to fix issues immediately
|
|
58
|
-
- Save to
|
|
58
|
+
- Save to `.vsaf/docs/planning-artifacts/prd-[name].md`
|
|
59
59
|
|
|
60
60
|
### Step 7 — Multi-agent Review (Party Mode)
|
|
61
61
|
- Use skill `bmad-party-mode` to organize a roundtable:
|
|
@@ -69,11 +69,11 @@ Thoroughly understand the domain, market, user needs, and technical feasibility
|
|
|
69
69
|
## Discovery Complete: [product/domain]
|
|
70
70
|
|
|
71
71
|
### Research artifacts
|
|
72
|
-
- Domain research: docs/
|
|
73
|
-
- Market research: docs/
|
|
74
|
-
- Tech research: docs/
|
|
75
|
-
- Product brief: docs/
|
|
76
|
-
- PRD: docs/
|
|
72
|
+
- Domain research: .vsaf/docs/planning-artifacts/domain-research-[topic].md
|
|
73
|
+
- Market research: .vsaf/docs/planning-artifacts/market-research-[topic].md
|
|
74
|
+
- Tech research: .vsaf/docs/planning-artifacts/tech-research-[topic].md
|
|
75
|
+
- Product brief: .vsaf/docs/planning-artifacts/product-brief-[name].md
|
|
76
|
+
- PRD: .vsaf/docs/planning-artifacts/prd-[name].md
|
|
77
77
|
|
|
78
78
|
### Key findings
|
|
79
79
|
- [3-5 bullet point summary]
|
|
@@ -14,7 +14,7 @@ Must have run `/vsaf-plan` and have its output before running this skill.
|
|
|
14
14
|
## Steps
|
|
15
15
|
|
|
16
16
|
### Step 0 — Determine mode: Create or Edit
|
|
17
|
-
- Check if a PRD already exists in
|
|
17
|
+
- Check if a PRD already exists in `.vsaf/docs/planning-artifacts/` for this feature
|
|
18
18
|
- **If none exists** → Mode: CREATE (create from scratch)
|
|
19
19
|
- **If one exists** → Mode: EDIT (edit based on feedback/changes)
|
|
20
20
|
- Ask user: "A PRD already exists. Do you want to create a new one from scratch or edit the existing one?"
|
|
@@ -25,7 +25,7 @@ Must have run `/vsaf-plan` and have its output before running this skill.
|
|
|
25
25
|
- Use skill `bmad-agent-pm` (John) to guide the PRD creation process from `/vsaf-plan` output
|
|
26
26
|
- John will call skill `bmad-create-prd` to generate a standard PRD
|
|
27
27
|
- PRD must include: vision, goals, FRs, NFRs, epics, user stories, success metrics, scope, out-of-scope, assumptions
|
|
28
|
-
- Save to
|
|
28
|
+
- Save to `.vsaf/docs/planning-artifacts/prd-[feature].md`
|
|
29
29
|
|
|
30
30
|
#### Mode EDIT:
|
|
31
31
|
- Use skill `bmad-edit-prd` to edit the existing PRD
|
|
@@ -43,7 +43,7 @@ Must have run `/vsaf-plan` and have its output before running this skill.
|
|
|
43
43
|
## PRD Created/Updated
|
|
44
44
|
|
|
45
45
|
### File
|
|
46
|
-
- docs/
|
|
46
|
+
- .vsaf/docs/planning-artifacts/prd-[feature].md
|
|
47
47
|
- Mode: [CREATE / EDIT]
|
|
48
48
|
- Validation: [PASS / FAIL — details if fail]
|
|
49
49
|
|
|
@@ -15,9 +15,9 @@ Analyze the PRD and write a feature-level SRS following a standard template —
|
|
|
15
15
|
|
|
16
16
|
## Configuration
|
|
17
17
|
```yaml
|
|
18
|
-
outputDir: docs/
|
|
19
|
-
featureTemplate: _bmad/bmm/1-analysis/bmad-document-project/templates/srs-feature-template.md
|
|
20
|
-
systemTemplate: _bmad/bmm/1-analysis/bmad-document-project/templates/srs-system-template.md
|
|
18
|
+
outputDir: .vsaf/docs/srs
|
|
19
|
+
featureTemplate: .vsaf/_bmad/bmm/1-analysis/bmad-document-project/templates/srs-feature-template.md
|
|
20
|
+
systemTemplate: .vsaf/_bmad/bmm/1-analysis/bmad-document-project/templates/srs-system-template.md
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## Steps
|
|
@@ -27,7 +27,7 @@ systemTemplate: _bmad/bmm/1-analysis/bmad-document-project/templates/srs-system-
|
|
|
27
27
|
Before starting, check if the user has provided sufficient information:
|
|
28
28
|
|
|
29
29
|
**Required:**
|
|
30
|
-
- [ ] PRD document (file path or content) — typically at
|
|
30
|
+
- [ ] PRD document (file path or content) — typically at `.vsaf/docs/planning-artifacts/prd-[feature].md`
|
|
31
31
|
- [ ] Figma link (URL figma.com/design/...) — if available
|
|
32
32
|
|
|
33
33
|
If PRD is missing, **stop immediately** and request from the user:
|
|
@@ -48,7 +48,7 @@ Only continue when the PRD is available.
|
|
|
48
48
|
---
|
|
49
49
|
|
|
50
50
|
### Step 1 — Determine mode: Create or Edit
|
|
51
|
-
- Check if an SRS already exists in
|
|
51
|
+
- Check if an SRS already exists in `.vsaf/docs/srs/` for this feature
|
|
52
52
|
- **If none exists** → Mode: CREATE
|
|
53
53
|
- **If one exists** → Mode: EDIT
|
|
54
54
|
- Ask user: "An SRS already exists. Do you want to create a new one from scratch or edit the existing one?"
|
|
@@ -104,7 +104,7 @@ After this step, output a **"Gap Analysis Report"** and ask the user if they wan
|
|
|
104
104
|
|
|
105
105
|
### Step 4 — Write SRS following the Feature Template
|
|
106
106
|
|
|
107
|
-
Read the template at
|
|
107
|
+
Read the template at `.vsaf/_bmad/bmm/1-analysis/bmad-document-project/templates/srs-feature-template.md` and write the SRS **strictly following the template structure**, including all 12 sections (0-11):
|
|
108
108
|
|
|
109
109
|
0. **Preamble** — Document information, change log table, approval table
|
|
110
110
|
1. **Introduction** — Objectives, scope, reference documents
|
|
@@ -140,14 +140,14 @@ Read the template at `_bmad/bmm/1-analysis/bmad-document-project/templates/srs-f
|
|
|
140
140
|
---
|
|
141
141
|
|
|
142
142
|
### Step 6 — Save SRS file
|
|
143
|
-
Save the SRS document to:
|
|
143
|
+
Save the SRS document to: `.vsaf/docs/srs/SRS-[project-name]-[FR-ID]-[feature-name]-v1.0.md`
|
|
144
144
|
|
|
145
145
|
### Step 7 — Output to user
|
|
146
146
|
```
|
|
147
147
|
## SRS Created/Updated
|
|
148
148
|
|
|
149
149
|
### File
|
|
150
|
-
- docs/
|
|
150
|
+
- .vsaf/docs/srs/SRS-[project-name]-[FR-ID]-[feature-name]-v1.0.md
|
|
151
151
|
- Mode: [CREATE / EDIT]
|
|
152
152
|
- Use Cases written: [N]
|
|
153
153
|
- Validation: [PASS / FAIL — details if fail]
|
|
@@ -159,7 +159,7 @@ Save the SRS document to: `docs/project/srs/SRS-[project-name]-[FR-ID]-[feature-
|
|
|
159
159
|
- [SRS sections still containing {{...}} that need additional input]
|
|
160
160
|
|
|
161
161
|
## Next step
|
|
162
|
-
Run /vsaf-test docs/
|
|
162
|
+
Run /vsaf-test .vsaf/docs/srs/SRS-[...].md to generate testcases
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
## Notes
|
|
@@ -29,7 +29,7 @@ Ensure documentation is always up to date and AI agents have sufficient context.
|
|
|
29
29
|
### Step 2 — Generate project documentation
|
|
30
30
|
- Use skill `bmad-document-project` to generate/update project docs
|
|
31
31
|
- Output: architecture description, module breakdown, API endpoints, data flows
|
|
32
|
-
- Save to
|
|
32
|
+
- Save to `.vsaf/docs/`
|
|
33
33
|
|
|
34
34
|
### Step 3 — Generate project context for AI
|
|
35
35
|
- Use skill `bmad-generate-project-context` to create `project-context.md`
|
|
@@ -38,8 +38,8 @@ Build a full mental model of the project before touching any code.
|
|
|
38
38
|
- Identify: hot symbols (many callers), risk areas (high fan-out)
|
|
39
39
|
|
|
40
40
|
### Step 7 — Read project documentation + synthesize
|
|
41
|
-
- Read
|
|
42
|
-
- Read
|
|
41
|
+
- Read `.vsaf/docs/planning-artifacts/` to find PRDs, ADRs, architecture docs
|
|
42
|
+
- Read `.vsaf/docs/srs/` to find existing SRS documents
|
|
43
43
|
- Synthesize all findings into a project overview
|
|
44
44
|
|
|
45
45
|
### Step 8 — Output to user
|
|
@@ -33,7 +33,7 @@ Fully understand the requirement, analyze impact, and determine the implementati
|
|
|
33
33
|
- Use skill `bmad-agent-architect` to propose an architecture approach
|
|
34
34
|
- Compare alternatives, choose the most suitable approach
|
|
35
35
|
- **If risk is HIGH or > 3 modules**: use skill `bmad-create-architecture` to create a formal ADR (Architecture Decision Record)
|
|
36
|
-
- Save to
|
|
36
|
+
- Save to `.vsaf/docs/planning-artifacts/adr-[feature].md`
|
|
37
37
|
|
|
38
38
|
### Step 4 — Dual Brainstorm
|
|
39
39
|
|
|
@@ -91,4 +91,4 @@ Date: [YYYY-MM-DD]
|
|
|
91
91
|
- Retro must be data-backed — do not accept "I feel like..." without evidence
|
|
92
92
|
- If GitNexus index is stale: run `vsaf index` before the retro
|
|
93
93
|
- Action items must be actionable and have an owner — do not write vague "improve testing"
|
|
94
|
-
- Save retro output to
|
|
94
|
+
- Save retro output to `.vsaf/docs/implementation-artifacts/retro-[sprint].md` to track historical data
|
|
@@ -10,7 +10,7 @@ Multi-layer review, verify scope, validate architecture, push PR. Ensure code ha
|
|
|
10
10
|
|
|
11
11
|
## Prerequisites
|
|
12
12
|
- Have run `/vsaf-build` with PRD + SRS + testcase
|
|
13
|
-
- Have run `/vsaf-test run` — results file exists at
|
|
13
|
+
- Have run `/vsaf-test run` — results file exists at `.vsaf/docs/testcases/[feature]-results.md`
|
|
14
14
|
- Ship gate from `/vsaf-test run` = PASS
|
|
15
15
|
- No failing tests
|
|
16
16
|
|
|
@@ -78,7 +78,7 @@ git push origin feature/<name>
|
|
|
78
78
|
```
|
|
79
79
|
PR description must include:
|
|
80
80
|
- Impact summary (from GitNexus detect_changes)
|
|
81
|
-
- Test results file path:
|
|
81
|
+
- Test results file path: `.vsaf/docs/testcases/[feature]-results.md`
|
|
82
82
|
- Adversarial triage: MUST FIX: 0, SHOULD FIX: N, NOTED: N
|
|
83
83
|
- Shape check result
|
|
84
84
|
|
|
@@ -98,7 +98,7 @@ PR description must include:
|
|
|
98
98
|
### PR
|
|
99
99
|
- Branch: feature/[name]
|
|
100
100
|
- PR: [link]
|
|
101
|
-
- Test results: docs/
|
|
101
|
+
- Test results: .vsaf/docs/testcases/[feature]-results.md
|
|
102
102
|
|
|
103
103
|
## Next step
|
|
104
104
|
- Run /vsaf-retro if this is the end of a sprint/epic
|
|
@@ -33,7 +33,7 @@ Manage backlog and sprints for the project — break PRD/SRS into stories, creat
|
|
|
33
33
|
- Prioritize stories (MoSCoW or WSJF)
|
|
34
34
|
- Assign stories to sprint based on capacity
|
|
35
35
|
- Identify dependencies between stories
|
|
36
|
-
- Save sprint plan to
|
|
36
|
+
- Save sprint plan to `.vsaf/docs/planning-artifacts/sprint-plan.md`
|
|
37
37
|
|
|
38
38
|
#### Step 3 — Output
|
|
39
39
|
```
|
|
@@ -94,12 +94,12 @@ Or: /vsaf-plan <story description> to start the first feature
|
|
|
94
94
|
#### Step 1 — Create story file
|
|
95
95
|
- Use skill `bmad-create-story` with story ID from the sprint plan
|
|
96
96
|
- Story file includes: full context, acceptance criteria, technical notes, dependencies
|
|
97
|
-
- Save to
|
|
97
|
+
- Save to `.vsaf/docs/planning-artifacts/stories/story-[id].md`
|
|
98
98
|
|
|
99
99
|
#### Step 2 — Output
|
|
100
100
|
```
|
|
101
101
|
## Story Created: [story title]
|
|
102
|
-
- File: docs/
|
|
102
|
+
- File: .vsaf/docs/planning-artifacts/stories/story-[id].md
|
|
103
103
|
|
|
104
104
|
### Next step
|
|
105
105
|
Run /vsaf-plan <story description> to plan implementation
|
|
@@ -21,7 +21,7 @@ Create comprehensive testcase coverage documentation from SRS to serve as a cont
|
|
|
21
21
|
|
|
22
22
|
## Prerequisites
|
|
23
23
|
- Already ran `/vsaf-doc-prd` and `/vsaf-doc-srs`
|
|
24
|
-
- SRS file exists in
|
|
24
|
+
- SRS file exists in `.vsaf/docs/srs/`
|
|
25
25
|
|
|
26
26
|
## Steps
|
|
27
27
|
|
|
@@ -30,7 +30,7 @@ Create comprehensive testcase coverage documentation from SRS to serve as a cont
|
|
|
30
30
|
- Reference existing patterns to generate testcases consistent with the codebase
|
|
31
31
|
|
|
32
32
|
### Step 1 — Generate test cases from SRS (BMAD qa)
|
|
33
|
-
- Use skill `bmad-qa-generate-e2e-tests` with the SRS file in
|
|
33
|
+
- Use skill `bmad-qa-generate-e2e-tests` with the SRS file in `.vsaf/docs/srs/` as input
|
|
34
34
|
- Test cases must cover: happy path, edge cases, error cases, NFRs
|
|
35
35
|
- Source: from FRs/NFRs in SRS — NOT based on implementation
|
|
36
36
|
|
|
@@ -50,7 +50,7 @@ Create comprehensive testcase coverage documentation from SRS to serve as a cont
|
|
|
50
50
|
- Each testcase has: input, expected output, pass/fail criteria
|
|
51
51
|
|
|
52
52
|
### Step 5 — Save testcase document
|
|
53
|
-
- Save testcases to
|
|
53
|
+
- Save testcases to `.vsaf/docs/testcases/[feature].md`
|
|
54
54
|
- Format:
|
|
55
55
|
|
|
56
56
|
```markdown
|
|
@@ -89,7 +89,7 @@ Create comprehensive testcase coverage documentation from SRS to serve as a cont
|
|
|
89
89
|
- Implementation readiness: [PASS / FAIL]
|
|
90
90
|
|
|
91
91
|
Files:
|
|
92
|
-
- docs/
|
|
92
|
+
- .vsaf/docs/testcases/[feature].md
|
|
93
93
|
|
|
94
94
|
## Next step
|
|
95
95
|
[If PASS]: Run /vsaf-build <path/to/prd> <path/to/srs> <path/to/testcases>
|
|
@@ -105,7 +105,7 @@ Execute the full test suite, verify coverage matches changed code, write a struc
|
|
|
105
105
|
|
|
106
106
|
## Prerequisites
|
|
107
107
|
- Already ran `/vsaf-build` — code implementation is complete
|
|
108
|
-
- Testcase file exists at
|
|
108
|
+
- Testcase file exists at `.vsaf/docs/testcases/[feature].md`
|
|
109
109
|
|
|
110
110
|
## Steps
|
|
111
111
|
|
|
@@ -132,7 +132,7 @@ Execute the full test suite, verify coverage matches changed code, write a struc
|
|
|
132
132
|
- Record constraint compliance results in the results file
|
|
133
133
|
|
|
134
134
|
### Step 6 — Write results file
|
|
135
|
-
- Save results to
|
|
135
|
+
- Save results to `.vsaf/docs/testcases/[feature]-results.md`
|
|
136
136
|
- Format:
|
|
137
137
|
|
|
138
138
|
```markdown
|
|
@@ -188,7 +188,7 @@ Date: [YYYY-MM-DD]
|
|
|
188
188
|
- Shape check: [PASS / SKIP / FAIL]
|
|
189
189
|
- Ship gate: [PASS ✓ / FAIL ✗]
|
|
190
190
|
|
|
191
|
-
Results file: docs/
|
|
191
|
+
Results file: .vsaf/docs/testcases/[feature]-results.md
|
|
192
192
|
|
|
193
193
|
## Next step
|
|
194
194
|
[If PASS]: Run /vsaf-ship
|