@ngocsangairvds/vsaf 5.1.4 → 5.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/adapters/antigravity.d.ts.map +1 -1
  3. package/packages/cli/dist/adapters/antigravity.js +7 -2
  4. package/packages/cli/dist/adapters/antigravity.js.map +1 -1
  5. package/packages/cli/dist/adapters/codex.js +1 -1
  6. package/packages/cli/dist/adapters/codex.js.map +1 -1
  7. package/packages/cli/dist/adapters/cursor.js +1 -1
  8. package/packages/cli/dist/adapters/cursor.js.map +1 -1
  9. package/packages/cli/dist/commands/install.d.ts.map +1 -1
  10. package/packages/cli/dist/commands/install.js +21 -1
  11. package/packages/cli/dist/commands/install.js.map +1 -1
  12. package/packages/cli/dist/commands/skill.d.ts.map +1 -1
  13. package/packages/cli/dist/commands/skill.js +5 -2
  14. package/packages/cli/dist/commands/skill.js.map +1 -1
  15. package/skills/sdlc/architecture/current-state/SKILL.md +10 -0
  16. package/skills/sdlc/architecture/current-state/step.md +13 -0
  17. package/skills/sdlc/architecture/decision/SKILL.md +10 -0
  18. package/skills/sdlc/architecture/decision/step.md +21 -0
  19. package/skills/sdlc/architecture/epics/SKILL.md +10 -0
  20. package/skills/sdlc/architecture/epics/step.md +34 -0
  21. package/skills/sdlc/architecture/grill/SKILL.md +10 -0
  22. package/skills/sdlc/architecture/grill/step.md +26 -0
  23. package/skills/sdlc/architecture/prereq/SKILL.md +10 -0
  24. package/skills/sdlc/architecture/prereq/step.md +16 -0
  25. package/skills/sdlc/architecture/readiness/SKILL.md +10 -0
  26. package/skills/sdlc/architecture/readiness/step.md +76 -0
  27. package/skills/sdlc/complete/context/SKILL.md +10 -0
  28. package/skills/sdlc/complete/context/step.md +14 -0
  29. package/skills/sdlc/complete/knowledge/SKILL.md +10 -0
  30. package/skills/sdlc/complete/knowledge/step.md +22 -0
  31. package/skills/sdlc/complete/prereq/SKILL.md +10 -0
  32. package/skills/sdlc/complete/prereq/step.md +16 -0
  33. package/skills/sdlc/complete/reindex/SKILL.md +10 -0
  34. package/skills/sdlc/complete/reindex/step.md +24 -0
  35. package/skills/sdlc/complete/status/SKILL.md +10 -0
  36. package/skills/sdlc/complete/status/step.md +52 -0
  37. package/skills/sdlc/discovery/brainstorm/SKILL.md +10 -0
  38. package/skills/sdlc/discovery/brainstorm/step.md +27 -0
  39. package/skills/sdlc/discovery/domain/SKILL.md +10 -0
  40. package/skills/sdlc/discovery/domain/step.md +13 -0
  41. package/skills/sdlc/discovery/grill/SKILL.md +10 -0
  42. package/skills/sdlc/discovery/grill/step.md +22 -0
  43. package/skills/sdlc/discovery/prereq/SKILL.md +10 -0
  44. package/skills/sdlc/discovery/prereq/step.md +16 -0
  45. package/skills/sdlc/discovery/prfaq/SKILL.md +10 -0
  46. package/skills/sdlc/discovery/prfaq/step.md +68 -0
  47. package/skills/sdlc/discovery/system/SKILL.md +10 -0
  48. package/skills/sdlc/discovery/system/step.md +19 -0
  49. package/skills/sdlc/hotfix/analyze/entry/SKILL.md +10 -0
  50. package/skills/sdlc/hotfix/analyze/entry/step.md +15 -0
  51. package/skills/sdlc/hotfix/analyze/exit/SKILL.md +10 -0
  52. package/skills/sdlc/hotfix/analyze/exit/step.md +19 -0
  53. package/skills/sdlc/hotfix/analyze/fix-strategy/SKILL.md +10 -0
  54. package/skills/sdlc/hotfix/analyze/fix-strategy/step.md +15 -0
  55. package/skills/sdlc/hotfix/analyze/gitnexus/SKILL.md +10 -0
  56. package/skills/sdlc/hotfix/analyze/gitnexus/step.md +17 -0
  57. package/skills/sdlc/hotfix/analyze/grill/SKILL.md +10 -0
  58. package/skills/sdlc/hotfix/analyze/grill/step.md +23 -0
  59. package/skills/sdlc/hotfix/analyze/reasoning/SKILL.md +10 -0
  60. package/skills/sdlc/hotfix/analyze/reasoning/step.md +29 -0
  61. package/skills/sdlc/hotfix/analyze/write/SKILL.md +10 -0
  62. package/skills/sdlc/hotfix/analyze/write/step.md +45 -0
  63. package/skills/sdlc/hotfix/implement/branch/SKILL.md +10 -0
  64. package/skills/sdlc/hotfix/implement/branch/step.md +15 -0
  65. package/skills/sdlc/hotfix/implement/entry/SKILL.md +10 -0
  66. package/skills/sdlc/hotfix/implement/entry/step.md +20 -0
  67. package/skills/sdlc/hotfix/implement/gate/SKILL.md +10 -0
  68. package/skills/sdlc/hotfix/implement/gate/step.md +104 -0
  69. package/skills/sdlc/hotfix/implement/impact/SKILL.md +10 -0
  70. package/skills/sdlc/hotfix/implement/impact/step.md +15 -0
  71. package/skills/sdlc/hotfix/implement/sonar/SKILL.md +10 -0
  72. package/skills/sdlc/hotfix/implement/sonar/step.md +27 -0
  73. package/skills/sdlc/hotfix/implement/tdd/SKILL.md +10 -0
  74. package/skills/sdlc/hotfix/implement/tdd/step.md +33 -0
  75. package/skills/sdlc/hotfix/implement/verify/SKILL.md +10 -0
  76. package/skills/sdlc/hotfix/implement/verify/step.md +27 -0
  77. package/skills/sdlc/hotfix/prd/entry/SKILL.md +10 -0
  78. package/skills/sdlc/hotfix/prd/entry/step.md +20 -0
  79. package/skills/sdlc/hotfix/prd/gate/SKILL.md +10 -0
  80. package/skills/sdlc/hotfix/prd/gate/step.md +32 -0
  81. package/skills/sdlc/hotfix/prd/requirements/SKILL.md +10 -0
  82. package/skills/sdlc/hotfix/prd/requirements/step.md +19 -0
  83. package/skills/sdlc/hotfix/prd/validate/SKILL.md +10 -0
  84. package/skills/sdlc/hotfix/prd/validate/step.md +19 -0
  85. package/skills/sdlc/hotfix/prd/write/SKILL.md +10 -0
  86. package/skills/sdlc/hotfix/prd/write/step.md +38 -0
  87. package/skills/sdlc/hotfix/review/entry/SKILL.md +10 -0
  88. package/skills/sdlc/hotfix/review/entry/step.md +13 -0
  89. package/skills/sdlc/hotfix/review/gate/SKILL.md +10 -0
  90. package/skills/sdlc/hotfix/review/gate/step.md +51 -0
  91. package/skills/sdlc/hotfix/review/impact/SKILL.md +10 -0
  92. package/skills/sdlc/hotfix/review/impact/step.md +22 -0
  93. package/skills/sdlc/hotfix/review/minimality/SKILL.md +10 -0
  94. package/skills/sdlc/hotfix/review/minimality/step.md +18 -0
  95. package/skills/sdlc/hotfix/review/test-quality/SKILL.md +10 -0
  96. package/skills/sdlc/hotfix/review/test-quality/step.md +16 -0
  97. package/skills/sdlc/hotfix/ship/commit-pr/SKILL.md +10 -0
  98. package/skills/sdlc/hotfix/ship/commit-pr/step.md +58 -0
  99. package/skills/sdlc/hotfix/ship/entry/SKILL.md +10 -0
  100. package/skills/sdlc/hotfix/ship/entry/step.md +20 -0
  101. package/skills/sdlc/hotfix/ship/exit/SKILL.md +10 -0
  102. package/skills/sdlc/hotfix/ship/exit/step.md +31 -0
  103. package/skills/sdlc/hotfix/ship/gitignore/SKILL.md +10 -0
  104. package/skills/sdlc/hotfix/ship/gitignore/step.md +22 -0
  105. package/skills/sdlc/hotfix/ship/report/SKILL.md +10 -0
  106. package/skills/sdlc/hotfix/ship/report/step.md +47 -0
  107. package/skills/sdlc/hotfix/ship/test-gate/SKILL.md +10 -0
  108. package/skills/sdlc/hotfix/ship/test-gate/step.md +17 -0
  109. package/skills/sdlc/implement/build-run/SKILL.md +10 -0
  110. package/skills/sdlc/implement/build-run/step.md +85 -0
  111. package/skills/sdlc/implement/checkpoint/SKILL.md +10 -0
  112. package/skills/sdlc/implement/checkpoint/step.md +20 -0
  113. package/skills/sdlc/implement/debug/SKILL.md +10 -0
  114. package/skills/sdlc/implement/debug/step.md +25 -0
  115. package/skills/sdlc/implement/impact/SKILL.md +10 -0
  116. package/skills/sdlc/implement/impact/step.md +12 -0
  117. package/skills/sdlc/implement/plan/SKILL.md +10 -0
  118. package/skills/sdlc/implement/plan/step.md +13 -0
  119. package/skills/sdlc/implement/prereq/SKILL.md +10 -0
  120. package/skills/sdlc/implement/prereq/step.md +21 -0
  121. package/skills/sdlc/implement/subagents/SKILL.md +10 -0
  122. package/skills/sdlc/implement/subagents/step.md +38 -0
  123. package/skills/sdlc/implement/tdd/SKILL.md +10 -0
  124. package/skills/sdlc/implement/tdd/step.md +24 -0
  125. package/skills/sdlc/init/SKILL.md +7 -0
  126. package/skills/sdlc/onboard-code/SKILL.md +7 -0
  127. package/skills/sdlc/onboard-docs/SKILL.md +7 -0
  128. package/skills/sdlc/pack.yaml +83 -16
  129. package/skills/sdlc/prd/blast-radius/SKILL.md +10 -0
  130. package/skills/sdlc/prd/blast-radius/step.md +76 -0
  131. package/skills/sdlc/prd/create/SKILL.md +10 -0
  132. package/skills/sdlc/prd/create/step.md +21 -0
  133. package/skills/sdlc/prd/elicitation/SKILL.md +10 -0
  134. package/skills/sdlc/prd/elicitation/step.md +12 -0
  135. package/skills/sdlc/prd/prereq/SKILL.md +10 -0
  136. package/skills/sdlc/prd/prereq/step.md +16 -0
  137. package/skills/sdlc/prd/validate/SKILL.md +10 -0
  138. package/skills/sdlc/prd/validate/step.md +24 -0
  139. package/skills/sdlc/review/code/SKILL.md +10 -0
  140. package/skills/sdlc/review/code/step.md +45 -0
  141. package/skills/sdlc/review/debate/SKILL.md +10 -0
  142. package/skills/sdlc/review/debate/step.md +84 -0
  143. package/skills/sdlc/review/impact/SKILL.md +10 -0
  144. package/skills/sdlc/review/impact/step.md +14 -0
  145. package/skills/sdlc/review/prereq/SKILL.md +10 -0
  146. package/skills/sdlc/review/prereq/step.md +18 -0
  147. package/skills/sdlc/review/verification/SKILL.md +10 -0
  148. package/skills/sdlc/review/verification/step.md +16 -0
  149. package/skills/sdlc/ship/commit/SKILL.md +10 -0
  150. package/skills/sdlc/ship/commit/step.md +23 -0
  151. package/skills/sdlc/ship/gitignore/SKILL.md +10 -0
  152. package/skills/sdlc/ship/gitignore/step.md +22 -0
  153. package/skills/sdlc/ship/pr/SKILL.md +10 -0
  154. package/skills/sdlc/ship/pr/step.md +34 -0
  155. package/skills/sdlc/ship/prereq/SKILL.md +10 -0
  156. package/skills/sdlc/ship/prereq/step.md +16 -0
  157. package/skills/sdlc/ship/report/SKILL.md +10 -0
  158. package/skills/sdlc/ship/report/step.md +74 -0
  159. package/skills/sdlc/srs/interface/SKILL.md +10 -0
  160. package/skills/sdlc/srs/interface/step.md +44 -0
  161. package/skills/sdlc/srs/prereq/SKILL.md +10 -0
  162. package/skills/sdlc/srs/prereq/step.md +19 -0
  163. package/skills/sdlc/srs/validate/SKILL.md +10 -0
  164. package/skills/sdlc/srs/validate/step.md +23 -0
  165. package/skills/sdlc/srs/write/SKILL.md +10 -0
  166. package/skills/sdlc/srs/write/step.md +19 -0
  167. package/skills/sdlc/test-design/boundary/SKILL.md +10 -0
  168. package/skills/sdlc/test-design/boundary/step.md +12 -0
  169. package/skills/sdlc/test-design/cases/SKILL.md +10 -0
  170. package/skills/sdlc/test-design/cases/step.md +22 -0
  171. package/skills/sdlc/test-design/coverage/SKILL.md +10 -0
  172. package/skills/sdlc/test-design/coverage/step.md +63 -0
  173. package/skills/sdlc/test-design/prereq/SKILL.md +10 -0
  174. package/skills/sdlc/test-design/prereq/step.md +15 -0
  175. package/{skills/sdlc/workflows → workflows/sdlc}/hotfix-tdd.yaml +2 -1
  176. package/{skills/sdlc/workflows → workflows/sdlc}/hotfix.yaml +8 -4
  177. package/workflows/sdlc/master-sdlc.yaml +64 -0
  178. package/workflows/sdlc/sdlc-architecture.yaml +43 -0
  179. package/workflows/sdlc/sdlc-build.yaml +51 -0
  180. package/workflows/sdlc/sdlc-design.yaml +61 -0
  181. package/workflows/sdlc/sdlc-discovery.yaml +43 -0
  182. package/workflows/sdlc/sdlc-feature-complete.yaml +36 -0
  183. package/workflows/sdlc/sdlc-hotfix-analyze.yaml +43 -0
  184. package/workflows/sdlc/sdlc-hotfix-implement.yaml +43 -0
  185. package/workflows/sdlc/sdlc-hotfix-prd.yaml +31 -0
  186. package/workflows/sdlc/sdlc-hotfix-review.yaml +31 -0
  187. package/workflows/sdlc/sdlc-hotfix-ship.yaml +37 -0
  188. package/workflows/sdlc/sdlc-implement.yaml +60 -0
  189. package/workflows/sdlc/sdlc-prd.yaml +36 -0
  190. package/workflows/sdlc/sdlc-qa.yaml +91 -0
  191. package/workflows/sdlc/sdlc-review.yaml +36 -0
  192. package/workflows/sdlc/sdlc-ship.yaml +36 -0
  193. package/workflows/sdlc/sdlc-srs.yaml +29 -0
  194. package/workflows/sdlc/sdlc-test-design.yaml +29 -0
  195. package/workflows/sdlc/sdlc-testcase.yaml +25 -0
  196. package/workflows/sdlc/sdlc-thinking.yaml +67 -0
  197. package/skills/sdlc/architecture/SKILL.md +0 -218
  198. package/skills/sdlc/discovery/SKILL.md +0 -197
  199. package/skills/sdlc/feature-complete/SKILL.md +0 -159
  200. package/skills/sdlc/hotfix-analyze/SKILL.md +0 -198
  201. package/skills/sdlc/hotfix-implement/SKILL.md +0 -272
  202. package/skills/sdlc/hotfix-prd/SKILL.md +0 -161
  203. package/skills/sdlc/hotfix-review/SKILL.md +0 -153
  204. package/skills/sdlc/hotfix-ship/SKILL.md +0 -221
  205. package/skills/sdlc/implement/SKILL.md +0 -264
  206. package/skills/sdlc/prd/SKILL.md +0 -182
  207. package/skills/sdlc/review/SKILL.md +0 -210
  208. package/skills/sdlc/ship/SKILL.md +0 -194
  209. package/skills/sdlc/srs/SKILL.md +0 -148
  210. package/skills/sdlc/test-design/SKILL.md +0 -132
  211. package/skills/sdlc/workflows/master-sdlc.yaml +0 -55
  212. package/skills/sdlc/workflows/sdlc-build.yaml +0 -18
  213. package/skills/sdlc/workflows/sdlc-design.yaml +0 -14
  214. package/skills/sdlc/workflows/sdlc-qa.yaml +0 -20
  215. package/skills/sdlc/workflows/sdlc-testcase.yaml +0 -8
  216. package/skills/sdlc/workflows/sdlc-thinking.yaml +0 -12
  217. /package/{skills/sdlc/workflows → workflows/sdlc}/onboarding.yaml +0 -0
@@ -0,0 +1,18 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [REVIEW] [1/5] Checking prerequisites... ⏳
5
+ ```
6
+
7
+ 1. Input:
8
+ - `.vsaf/docs/features/{feature-name}/05-srs.md`
9
+ - Code diff on feature branch
10
+ 2. Check that SRS file exists
11
+ 3. Check that feature branch exists
12
+ 4. Read `.vsaf/docs/STATUS.md`
13
+ 5. Read `CONTEXT.md`
14
+ 6. Query `graph.json` for impact verification
15
+
16
+ ```
17
+ [REVIEW] [1/5] Checking prerequisites... ✅
18
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-verification
3
+ description: "Review 2/5 — system verification"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 2/5 — system verification
9
+
10
+ @include(step.md)
@@ -0,0 +1,16 @@
1
+ ### Step 2: System Verification
2
+
3
+ ```
4
+ [REVIEW] [2/5] System verification — build, tests, scope... ⏳
5
+ ```
6
+
7
+ Use `/superpowers:verification-before-completion`:
8
+ - Build passes
9
+ - All tests GREEN
10
+ - No uncommitted files
11
+ - Scope matches SRS
12
+ Write to `08-review.md` §Verification.
13
+
14
+ ```
15
+ [REVIEW] [2/5] System verification... ✅
16
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-commit
3
+ description: "Ship 3/5 — merge strategy + commit"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 3/5 — merge strategy + commit
9
+
10
+ @include(step.md)
@@ -0,0 +1,23 @@
1
+ ### Step 3: Merge Strategy + Commit
2
+
3
+ ```
4
+ [SHIP] [3/5] Commit source code + .vsaf/docs/... ⏳
5
+ ```
6
+
7
+ Use `/superpowers:finishing-a-development-branch`:
8
+ - Decide merge strategy (merge commit / squash / rebase)
9
+ - Resolve conflicts if any
10
+ - Verify final build passes
11
+
12
+ **Commit scope — ONLY commit:**
13
+ - Source code changes (implementation / fix)
14
+ - `.vsaf/docs/` folder (artifacts, CONTEXT.md, KNOWLEDGE.md, STATUS.md)
15
+ - `.gitignore` (if updated)
16
+
17
+ **DO NOT commit:**
18
+ - `graphify-out/` — local graph index
19
+ - `.gitnexus/` — local code index
20
+
21
+ ```
22
+ [SHIP] [3/5] Commit source code + .vsaf/docs/... ✅
23
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-gitignore
3
+ description: "Ship 2/5 — .gitignore enforcement"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 2/5 — .gitignore enforcement
9
+
10
+ @include(step.md)
@@ -0,0 +1,22 @@
1
+ ### Step 2: .gitignore Enforcement
2
+
3
+ ```
4
+ [SHIP] [2/5] Checking .gitignore — ensuring index files are not committed... ⏳
5
+ ```
6
+
7
+ **MANDATORY** — MUST verify before committing:
8
+
9
+ 1. Check that `.gitignore` contains:
10
+ ```
11
+ graphify-out/
12
+ .gitnexus/
13
+ ```
14
+ 2. If MISSING → **AUTOMATICALLY add to `.gitignore`** and notify user
15
+ 3. Verify with `git status` — `graphify-out/` and `.gitnexus/` DO NOT appear in staged/unstaged files
16
+ 4. If they still appear → `git rm --cached -r graphify-out/ .gitnexus/` before committing
17
+
18
+ ⚠️ **ABSOLUTELY DO NOT commit `graphify-out/` or `.gitnexus/`** — these are local indexes, each machine builds its own.
19
+
20
+ ```
21
+ [SHIP] [2/5] Checking .gitignore... ✅
22
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-pr
3
+ description: "Ship 4/5 — push + PR"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 4/5 — push + PR
9
+
10
+ @include(step.md)
@@ -0,0 +1,34 @@
1
+ ### Step 4: Push + PR
2
+
3
+ ```
4
+ [SHIP] [4/5] Push branch + create PR... ⏳
5
+ ```
6
+
7
+ Generate PR description from review artifacts:
8
+ - Read the review file from `{artifact-dir}` — summary, impact, test results
9
+ - Create a structured PR description
10
+ - Open PR (or suggest command if multi-repo)
11
+
12
+ **Branch naming:** `feat/{feature-name}`
13
+
14
+ **Single repo:**
15
+ ```bash
16
+ git push -u origin {branch}
17
+ gh pr create --title "{title}" --body "{description}"
18
+ ```
19
+
20
+ **Multi-repo:**
21
+ ```
22
+ For each repo with code changes:
23
+ cd {repo} && git push -u origin {branch}
24
+ gh pr create --title "{title}" --body "{description}"
25
+ ```
26
+
27
+ **Add note to PR description:**
28
+ ```
29
+ > **Note for reviewer:** After pulling the code, run `npx gitnexus analyze` and `/graphify` to re-index locally.
30
+ ```
31
+
32
+ ```
33
+ [SHIP] [4/5] Push branch + create PR... ✅
34
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-prereq
3
+ description: "Ship 1/5 — prerequisites"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 1/5 — prerequisites
9
+
10
+ @include(step.md)
@@ -0,0 +1,16 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [SHIP] [1/5] Checking prerequisites... ⏳
5
+ ```
6
+
7
+ 1. Input: `.vsaf/docs/features/{feature-name}/08-review.md`
8
+ 2. Check that the file exists + **check for Gate: APPROVED**
9
+ - No Gate → Stop: "Review has not been approved"
10
+ 3. Check `.vsaf/docs/STATUS.md` — feature must be in "Knowledge Updated" status
11
+ - If not → Stop: "Feature has not passed feature-complete. Run `/sdlc-feature-complete` first."
12
+ 4. Read `CONTEXT.md`
13
+
14
+ ```
15
+ [SHIP] [1/5] Checking prerequisites... ✅
16
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-report
3
+ description: "Ship 5/5 — ship report"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 5/5 — ship report
9
+
10
+ @include(step.md)
@@ -0,0 +1,74 @@
1
+ ### Step 5: Ship Report
2
+
3
+ ```
4
+ [SHIP] [5/5] Writing ship report... ⏳
5
+ ```
6
+
7
+ Write file: `.vsaf/docs/features/{feature-name}/09-ship.md`
8
+
9
+ ```
10
+ [SHIP] [5/5] Writing ship report... ✅
11
+ ```
12
+
13
+ ## Output
14
+
15
+ ```markdown
16
+ # Ship Report: {feature-name}
17
+
18
+ ## PR
19
+ - {repo}: PR #{number} — {url}
20
+
21
+ ## Merge Strategy
22
+ {merge commit / squash / rebase}
23
+
24
+ ## Commit Scope
25
+ - Source code: {N} files
26
+ - .vsaf/docs/: {M} files (artifacts + knowledge)
27
+ - Excluded: graphify-out/, .gitnexus/ (local index)
28
+
29
+ ## Final Status
30
+ - Build: PASS
31
+ - Tests: all GREEN
32
+ - Review: APPROVED
33
+ - Knowledge: UPDATED (feature-complete done)
34
+
35
+ ## Traceability
36
+ US-001 → FR-001 → TC-001 → impl ✓
37
+ US-002 → FR-002 → TC-003 → impl ✓
38
+
39
+ ## Post-pull Setup
40
+ After pulling the code, run:
41
+ - `npx gitnexus analyze` — re-index code
42
+ - `/graphify` — rebuild knowledge graph
43
+ ```
44
+
45
+ ## Phase Exit Protocol
46
+
47
+ Print PHASE REPORT:
48
+ ```
49
+ ═══════════════════════════════════════════
50
+ SHIP COMPLETE: {feature-name}
51
+ ═══════════════════════════════════════════
52
+ Phase: 9 (Ship — final phase)
53
+
54
+ PR: #{number} — {url}
55
+ Commit: source code + .vsaf/docs/ only
56
+ Excluded: graphify-out/, .gitnexus/
57
+
58
+ Phases completed: 1→2→3→4→5→6→7→8→9
59
+ Artifacts: .vsaf/docs/features/{feature-name}/ (9 files)
60
+
61
+ Feature DONE.
62
+ ═══════════════════════════════════════════
63
+ ```
64
+
65
+ Update `.vsaf/docs/STATUS.md` → move to "Completed Features".
66
+
67
+ ## Rules
68
+
69
+ - DO NOT review code — that is the review phase's job
70
+ - Only ship code that is APPROVED + knowledge UPDATED (feature-complete done)
71
+ - PR description MUST be self-contained (reading the PR alone should be enough to understand the feature without reading artifacts)
72
+ - **ABSOLUTELY DO NOT commit `graphify-out/` or `.gitnexus/`** — verify .gitignore first
73
+ - **ONLY commit source code + `.vsaf/docs/`**
74
+ - Add re-index note to PR description for team members
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-srs-interface
3
+ description: "SRS 4/4 — interface verification + output"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # SRS 4/4 — interface verification + output
9
+
10
+ @include(step.md)
@@ -0,0 +1,44 @@
1
+ ### Step 4: Interface Verification
2
+
3
+ ```
4
+ [SRS] [4/4] Interface verification via GitNexus... ⏳
5
+ ```
6
+
7
+ Use GitNexus `shape_check` — verify code structure matches SRS assumptions.
8
+ Append results to `05-srs.md` §Interface Contracts.
9
+
10
+ ```
11
+ [SRS] [4/4] Interface verification via GitNexus... ✅
12
+ ```
13
+
14
+ ## Gate
15
+
16
+ Human must approve SRS. Write `## Gate: APPROVED` at the end of the file.
17
+
18
+ **Automated mode (opt-in):** when the environment has `VSAF_CI=1` or `VSAF_AUTO_APPROVE=1`, write the Gate yourself as `## Gate: APPROVED (auto · VSAF_CI · rationale: <one line>)` and proceed — the one-line rationale is REQUIRED for audit. Without the env flag, a human must approve (default).
19
+
20
+ ## Output
21
+
22
+ - `.vsaf/docs/features/{feature-name}/05-srs.md` — SRS document (v4 template format)
23
+ - `.vsaf/docs/features/{feature-name}/05-srs-validation-report.md` — Validation report with scores
24
+
25
+ ## Phase Exit Protocol
26
+
27
+ In PHASE REPORT:
28
+ - Output files: `05-srs.md`, `05-srs-validation-report.md`
29
+ - Validation score: {overall_score}% ({GO/CONDITIONAL GO/NO-GO})
30
+ - Suggestions: [1] Phase 5 Test Design (`/sdlc-test-design`) [2] Save artifacts
31
+
32
+ Update `.vsaf/docs/STATUS.md`.
33
+
34
+ **Notify the user:**
35
+ > Artifacts have been saved. If the session is interrupted, open a new session and run the next phase — data is safe.
36
+
37
+ ## Rules
38
+
39
+ - Every FR/NFR MUST have a unique traceability ID
40
+ - DO NOT use vague language: "should", "might", "optionally" → replace with "MUST", "MUST NOT"
41
+ - All terms MUST exist in CONTEXT.md
42
+ - Every FR MUST be testable (have clear pass/fail criteria)
43
+ - SRS MUST follow the v4 template structure (12 sections)
44
+ - ⛔ DO NOT modify `graphify-out/` or `.gitnexus/`
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-srs-prereq
3
+ description: "SRS 1/4 — input artifacts"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # SRS 1/4 — input artifacts
9
+
10
+ @include(step.md)
@@ -0,0 +1,19 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [SRS] [1/4] Checking input artifacts... ⏳
5
+ ```
6
+
7
+ 1. Input:
8
+ - `.vsaf/docs/features/{feature-name}/02-prd.md`
9
+ - `.vsaf/docs/features/{feature-name}/03-adr.md`
10
+ - `.vsaf/docs/features/{feature-name}/04-epics.md`
11
+ 2. Verify 02-prd.md AND 03-adr.md exist (04-epics.md optional):
12
+ - Any required file missing → Ask: "File not found. Have you run Phase 2 (PRD) and Phase 3 (Architecture)?"
13
+ 3. Read `.vsaf/docs/STATUS.md`
14
+ 4. Read `CONTEXT.md`
15
+ 5. Query `graph.json` for code structure + business mapping (if exists)
16
+
17
+ ```
18
+ [SRS] [1/4] Checking input artifacts... ✅
19
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-srs-validate
3
+ description: "SRS 3/4 — validate SRS"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # SRS 3/4 — validate SRS
9
+
10
+ @include(step.md)
@@ -0,0 +1,23 @@
1
+ ### Step 3: Validate SRS
2
+
3
+ ```
4
+ [SRS] [3/4] Validating SRS (8 dimensions)... ⏳
5
+ ```
6
+
7
+ Use `/sdlc-validate-srs` — validate SRS across 8 dimensions with weighted scoring.
8
+
9
+ - Scope: single file (`05-srs.md`)
10
+ - Cross-validate against: `02-prd.md`, `03-adr.md`
11
+ - Output: `.vsaf/docs/features/{feature-name}/05-srs-validation-report.md`
12
+
13
+ **Decision handling:**
14
+
15
+ | Validation Result | Action |
16
+ |---|---|
17
+ | **GO** (≥80%, no CRITICAL) | Print score summary, proceed to Step 4 |
18
+ | **CONDITIONAL GO** (60-79% or HIGH findings) | Print warnings + finding summary. Ask user: "Proceed despite warnings? (Y/N)" |
19
+ | **NO-GO** (<60% or CRITICAL findings) | **STOP.** Print CRITICAL findings. Ask user to fix 05-srs.md and re-run `/sdlc-srs` |
20
+
21
+ ```
22
+ [SRS] [3/4] Validating SRS (8 dimensions)... ✅
23
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-srs-write
3
+ description: "SRS 2/4 — write SRS"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # SRS 2/4 — write SRS
9
+
10
+ @include(step.md)
@@ -0,0 +1,19 @@
1
+ ### Step 2: Write SRS
2
+
3
+ ```
4
+ [SRS] [2/4] Writing SRS from PRD + ADR + Epics... ⏳
5
+ ```
6
+
7
+ Use `/sdlc-write-srs` — write SRS following the v4 template (12 sections) from PRD + Architecture + Epics.
8
+
9
+ Input:
10
+ - `02-prd.md` as PRD source
11
+ - `03-adr.md` as architecture context
12
+ - `04-epics.md` as epic breakdown (optional)
13
+ - Figma link from `CONTEXT.md` (optional)
14
+
15
+ Output: `.vsaf/docs/features/{feature-name}/05-srs.md`
16
+
17
+ ```
18
+ [SRS] [2/4] Writing SRS from PRD + ADR + Epics... ✅
19
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-test-design-boundary
3
+ description: "Test Design 3/4 — boundary tests"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Test Design 3/4 — boundary tests
9
+
10
+ @include(step.md)
@@ -0,0 +1,12 @@
1
+ ### Step 2: Boundary Tests
2
+
3
+ ```
4
+ [TEST-DESIGN] [3/4] Boundary & edge case tests... ⏳
5
+ ```
6
+
7
+ Use `/bmad-review-edge-case-hunter` — add boundary tests.
8
+ Race conditions, null/empty, overflow, concurrent access.
9
+
10
+ ```
11
+ [TEST-DESIGN] [3/4] Boundary & edge case tests... ✅
12
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-test-design-cases
3
+ description: "Test Design 2/4 — generate test cases"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Test Design 2/4 — generate test cases
9
+
10
+ @include(step.md)
@@ -0,0 +1,22 @@
1
+ ### Step 1: Generate Test Cases
2
+
3
+ ```
4
+ [TEST-DESIGN] [2/4] Generating test cases from SRS... ⏳
5
+ ```
6
+
7
+ Use `/bmad-qa-generate-e2e-tests` — generate test cases from SRS FRs/NFRs.
8
+
9
+ For each requirement, ensure ≥1 test case with:
10
+
11
+ 1. **Unique ID** — TC-001 (sequential)
12
+ 2. **Traceability** — TC → FR/NFR → PRD user story (US-xxx)
13
+ 3. **Type** — unit / integration / e2e (based on requirement scope)
14
+ 4. **Precondition** — system state before test
15
+ 5. **Steps** — exact actions to execute
16
+ 6. **Expected result** — concrete, verifiable outcome (not "should work")
17
+
18
+ Prioritize: happy path first, then error paths, then edge cases.
19
+
20
+ ```
21
+ [TEST-DESIGN] [2/4] Generating test cases from SRS... ✅
22
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-test-design-coverage
3
+ description: "Test Design 4/4 — coverage map + output"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Test Design 4/4 — coverage map + output
9
+
10
+ @include(step.md)
@@ -0,0 +1,63 @@
1
+ ### Step 3: Coverage Map
2
+
3
+ ```
4
+ [TEST-DESIGN] [4/4] Coverage mapping via GitNexus... ⏳
5
+ ```
6
+
7
+ Use GitNexus `detect_changes` — predict files that will be modified.
8
+ Map test cases → files requiring coverage.
9
+
10
+ ```
11
+ [TEST-DESIGN] [4/4] Coverage mapping via GitNexus... ✅
12
+ ```
13
+
14
+ ## Output
15
+
16
+ Write file: `.vsaf/docs/features/{feature-name}/06-testcases.md`
17
+
18
+ ```markdown
19
+ # Test Cases: {feature-name}
20
+
21
+ ## TC-001 → FR-001 → US-003
22
+ - Type: unit
23
+ - File target: src/user/user.service.ts
24
+ - Precondition: ...
25
+ - Steps: ...
26
+ - Expected: ...
27
+
28
+ ## TC-002 → FR-001 (edge case: empty input)
29
+ - Type: unit
30
+ - Precondition: ...
31
+ - Steps: ...
32
+ - Expected: ...
33
+
34
+ ## Coverage Map
35
+ - src/user/user.service.ts → TC-001, TC-002
36
+ - src/user/user.controller.ts → TC-005, TC-006
37
+
38
+ ## Traceability Matrix
39
+ | FR/NFR | Test Cases | Coverage |
40
+ |--------|-----------|----------|
41
+ | FR-001 | TC-001, TC-002 | ✓ |
42
+ | FR-002 | TC-003 | ✓ |
43
+ | NFR-001 | TC-010 | ✓ |
44
+ ```
45
+
46
+ ## Phase Exit Protocol
47
+
48
+ In PHASE REPORT:
49
+ - Output files: `.vsaf/docs/features/{feature-name}/06-testcases.md`
50
+ - Suggestions: [1] Phase 6 Implementation (`/sdlc-implement`) [2] Save artifacts
51
+
52
+ Update `.vsaf/docs/STATUS.md`.
53
+
54
+ **Notify the user:**
55
+ > Artifacts have been saved. If the session is interrupted, open a new session and run the next phase — data is safe.
56
+
57
+ ## Rules
58
+
59
+ - Test cases derive from SRS (spec), NEVER from code
60
+ - Every FR/NFR MUST have ≥1 test case
61
+ - Traceability chain is mandatory: TC → FR → US
62
+ - DO NOT read source code when writing test cases
63
+ - ⛔ DO NOT modify `graphify-out/` or `.gitnexus/`
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-test-design-prereq
3
+ description: "Test Design 1/4 — input artifacts"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Test Design 1/4 — input artifacts
9
+
10
+ @include(step.md)
@@ -0,0 +1,15 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [TEST-DESIGN] [1/4] Checking input artifacts... ⏳
5
+ ```
6
+
7
+ 1. Input: `.vsaf/docs/features/{feature-name}/05-srs.md`
8
+ 2. Verify file exists + **check Gate: APPROVED**
9
+ - No Gate → Stop: "SRS has not been approved"
10
+ 3. Read `.vsaf/docs/STATUS.md`
11
+ 4. Read `CONTEXT.md`
12
+
13
+ ```
14
+ [TEST-DESIGN] [1/4] Checking input artifacts... ✅
15
+ ```
@@ -4,7 +4,8 @@ description: "Sub-flow: Hotfix Implement (TDD) → Test Gate"
4
4
  nodes:
5
5
  - id: implement
6
6
  description: "Implement — TDD (RED → GREEN → REFACTOR), SonarQube-in-loop"
7
- command: sdlc-hotfix-implement
7
+ bash: |
8
+ vsaf run sdlc/sdlc-hotfix-implement $ARGUMENTS
8
9
  depends_on: []
9
10
 
10
11
  - id: test-gate
@@ -4,18 +4,21 @@ description: "Hotfix — Analyze → PRD → Implement (TDD) → Ship"
4
4
  nodes:
5
5
  - id: analyze
6
6
  description: "Analyze — grill user, GitNexus impact, root cause, blast radius"
7
- command: sdlc-hotfix-analyze
7
+ bash: |
8
+ vsaf run sdlc/sdlc-hotfix-analyze $ARGUMENTS
8
9
  workspace: false
9
10
 
10
11
  - id: prd
11
12
  description: "PRD — fix requirements, acceptance criteria, scope boundary"
12
- command: sdlc-hotfix-prd
13
+ bash: |
14
+ vsaf run sdlc/sdlc-hotfix-prd $ARGUMENTS
13
15
  depends_on: [analyze]
14
16
  workspace: false
15
17
 
16
18
  - id: implement
17
19
  description: "Implement — TDD (RED → GREEN → REFACTOR), SonarQube-in-loop"
18
- command: sdlc-hotfix-implement
20
+ bash: |
21
+ vsaf run sdlc/sdlc-hotfix-implement $ARGUMENTS
19
22
  depends_on: [prd]
20
23
 
21
24
  - id: test-gate
@@ -30,6 +33,7 @@ nodes:
30
33
 
31
34
  - id: ship
32
35
  description: "Ship — commit, PR on hotfix branch"
33
- command: sdlc-hotfix-ship
36
+ bash: |
37
+ vsaf run sdlc/sdlc-hotfix-ship $ARGUMENTS
34
38
  depends_on: [test-gate]
35
39
  workspace: false