@ngocsangairvds/vsaf 3.0.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/skills/bmad-advanced-elicitation/SKILL.md +136 -0
- package/.claude/skills/bmad-advanced-elicitation/methods.csv +51 -0
- package/.claude/skills/bmad-agent-analyst/SKILL.md +59 -0
- package/.claude/skills/bmad-agent-analyst/bmad-skill-manifest.yaml +11 -0
- package/.claude/skills/bmad-agent-architect/SKILL.md +54 -0
- package/.claude/skills/bmad-agent-architect/bmad-skill-manifest.yaml +11 -0
- package/.claude/skills/bmad-agent-dev/SKILL.md +69 -0
- package/.claude/skills/bmad-agent-dev/bmad-skill-manifest.yaml +11 -0
- package/.claude/skills/bmad-agent-pm/SKILL.md +59 -0
- package/.claude/skills/bmad-agent-pm/bmad-skill-manifest.yaml +11 -0
- package/.claude/skills/bmad-agent-tech-writer/SKILL.md +57 -0
- package/.claude/skills/bmad-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
- package/.claude/skills/bmad-agent-tech-writer/explain-concept.md +20 -0
- package/.claude/skills/bmad-agent-tech-writer/mermaid-gen.md +20 -0
- package/.claude/skills/bmad-agent-tech-writer/validate-doc.md +19 -0
- package/.claude/skills/bmad-agent-tech-writer/write-document.md +20 -0
- package/.claude/skills/bmad-agent-ux-designer/SKILL.md +55 -0
- package/.claude/skills/bmad-agent-ux-designer/bmad-skill-manifest.yaml +11 -0
- package/.claude/skills/bmad-brainstorming/SKILL.md +6 -0
- package/.claude/skills/bmad-brainstorming/brain-methods.csv +62 -0
- package/.claude/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
- package/.claude/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
- package/.claude/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
- package/.claude/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
- package/.claude/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
- package/.claude/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
- package/.claude/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
- package/.claude/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
- package/.claude/skills/bmad-brainstorming/template.md +15 -0
- package/.claude/skills/bmad-brainstorming/workflow.md +53 -0
- package/.claude/skills/bmad-check-implementation-readiness/SKILL.md +6 -0
- package/.claude/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/.claude/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/.claude/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/.claude/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/.claude/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/.claude/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
- package/.claude/skills/bmad-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/.claude/skills/bmad-check-implementation-readiness/workflow.md +47 -0
- package/.claude/skills/bmad-checkpoint-preview/SKILL.md +29 -0
- package/.claude/skills/bmad-checkpoint-preview/generate-trail.md +38 -0
- package/.claude/skills/bmad-checkpoint-preview/step-01-orientation.md +105 -0
- package/.claude/skills/bmad-checkpoint-preview/step-02-walkthrough.md +89 -0
- package/.claude/skills/bmad-checkpoint-preview/step-03-detail-pass.md +106 -0
- package/.claude/skills/bmad-checkpoint-preview/step-04-testing.md +74 -0
- package/.claude/skills/bmad-checkpoint-preview/step-05-wrapup.md +24 -0
- package/.claude/skills/bmad-code-review/SKILL.md +6 -0
- package/.claude/skills/bmad-code-review/steps/step-01-gather-context.md +85 -0
- package/.claude/skills/bmad-code-review/steps/step-02-review.md +34 -0
- package/.claude/skills/bmad-code-review/steps/step-03-triage.md +49 -0
- package/.claude/skills/bmad-code-review/steps/step-04-present.md +129 -0
- package/.claude/skills/bmad-code-review/workflow.md +55 -0
- package/.claude/skills/bmad-correct-course/SKILL.md +6 -0
- package/.claude/skills/bmad-correct-course/checklist.md +288 -0
- package/.claude/skills/bmad-correct-course/workflow.md +267 -0
- package/.claude/skills/bmad-create-architecture/SKILL.md +6 -0
- package/.claude/skills/bmad-create-architecture/architecture-decision-template.md +12 -0
- package/.claude/skills/bmad-create-architecture/data/domain-complexity.csv +13 -0
- package/.claude/skills/bmad-create-architecture/data/project-types.csv +7 -0
- package/.claude/skills/bmad-create-architecture/steps/step-01-init.md +153 -0
- package/.claude/skills/bmad-create-architecture/steps/step-01b-continue.md +173 -0
- package/.claude/skills/bmad-create-architecture/steps/step-02-context.md +224 -0
- package/.claude/skills/bmad-create-architecture/steps/step-03-starter.md +329 -0
- package/.claude/skills/bmad-create-architecture/steps/step-04-decisions.md +318 -0
- package/.claude/skills/bmad-create-architecture/steps/step-05-patterns.md +359 -0
- package/.claude/skills/bmad-create-architecture/steps/step-06-structure.md +379 -0
- package/.claude/skills/bmad-create-architecture/steps/step-07-validation.md +359 -0
- package/.claude/skills/bmad-create-architecture/steps/step-08-complete.md +76 -0
- package/.claude/skills/bmad-create-architecture/workflow.md +32 -0
- package/.claude/skills/bmad-create-epics-and-stories/SKILL.md +6 -0
- package/.claude/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
- package/.claude/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
- package/.claude/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/.claude/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
- package/.claude/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
- package/.claude/skills/bmad-create-epics-and-stories/workflow.md +51 -0
- package/.claude/skills/bmad-create-prd/SKILL.md +6 -0
- package/.claude/skills/bmad-create-prd/data/domain-complexity.csv +15 -0
- package/.claude/skills/bmad-create-prd/data/prd-purpose.md +197 -0
- package/.claude/skills/bmad-create-prd/data/project-types.csv +11 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-01-init.md +178 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-03-success.md +214 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-05-domain.md +194 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-08-scoping.md +216 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-09-functional.md +219 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-11-polish.md +221 -0
- package/.claude/skills/bmad-create-prd/steps-c/step-12-complete.md +115 -0
- package/.claude/skills/bmad-create-prd/templates/prd-template.md +10 -0
- package/.claude/skills/bmad-create-prd/workflow.md +61 -0
- package/.claude/skills/bmad-create-story/SKILL.md +6 -0
- package/.claude/skills/bmad-create-story/checklist.md +357 -0
- package/.claude/skills/bmad-create-story/discover-inputs.md +88 -0
- package/.claude/skills/bmad-create-story/template.md +49 -0
- package/.claude/skills/bmad-create-story/workflow.md +380 -0
- package/.claude/skills/bmad-create-ux-design/SKILL.md +6 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-01-init.md +135 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
- package/.claude/skills/bmad-create-ux-design/steps/step-14-complete.md +171 -0
- package/.claude/skills/bmad-create-ux-design/ux-design-template.md +13 -0
- package/.claude/skills/bmad-create-ux-design/workflow.md +35 -0
- package/.claude/skills/bmad-dev-story/SKILL.md +6 -0
- package/.claude/skills/bmad-dev-story/checklist.md +80 -0
- package/.claude/skills/bmad-dev-story/workflow.md +450 -0
- package/.claude/skills/bmad-distillator/SKILL.md +177 -0
- package/.claude/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
- package/.claude/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
- package/.claude/skills/bmad-distillator/resources/compression-rules.md +51 -0
- package/.claude/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
- package/.claude/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
- package/.claude/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
- package/.claude/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
- package/.claude/skills/bmad-document-project/SKILL.md +6 -0
- package/.claude/skills/bmad-document-project/checklist.md +245 -0
- package/.claude/skills/bmad-document-project/documentation-requirements.csv +12 -0
- package/.claude/skills/bmad-document-project/instructions.md +128 -0
- package/.claude/skills/bmad-document-project/templates/deep-dive-template.md +345 -0
- package/.claude/skills/bmad-document-project/templates/index-template.md +169 -0
- package/.claude/skills/bmad-document-project/templates/project-overview-template.md +103 -0
- package/.claude/skills/bmad-document-project/templates/project-scan-report-schema.json +160 -0
- package/.claude/skills/bmad-document-project/templates/source-tree-template.md +135 -0
- package/.claude/skills/bmad-document-project/workflow.md +25 -0
- package/.claude/skills/bmad-document-project/workflows/deep-dive-instructions.md +299 -0
- package/.claude/skills/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
- package/.claude/skills/bmad-document-project/workflows/full-scan-instructions.md +1107 -0
- package/.claude/skills/bmad-document-project/workflows/full-scan-workflow.md +34 -0
- package/.claude/skills/bmad-domain-research/SKILL.md +6 -0
- package/.claude/skills/bmad-domain-research/domain-steps/step-01-init.md +137 -0
- package/.claude/skills/bmad-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/.claude/skills/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/.claude/skills/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/.claude/skills/bmad-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/.claude/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
- package/.claude/skills/bmad-domain-research/research.template.md +29 -0
- package/.claude/skills/bmad-domain-research/workflow.md +51 -0
- package/.claude/skills/bmad-edit-prd/SKILL.md +6 -0
- package/.claude/skills/bmad-edit-prd/data/prd-purpose.md +197 -0
- package/.claude/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
- package/.claude/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
- package/.claude/skills/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
- package/.claude/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
- package/.claude/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +163 -0
- package/.claude/skills/bmad-edit-prd/workflow.md +62 -0
- package/.claude/skills/bmad-editorial-review-prose/SKILL.md +86 -0
- package/.claude/skills/bmad-editorial-review-structure/SKILL.md +179 -0
- package/.claude/skills/bmad-generate-project-context/SKILL.md +6 -0
- package/.claude/skills/bmad-generate-project-context/project-context-template.md +21 -0
- package/.claude/skills/bmad-generate-project-context/steps/step-01-discover.md +186 -0
- package/.claude/skills/bmad-generate-project-context/steps/step-02-generate.md +321 -0
- package/.claude/skills/bmad-generate-project-context/steps/step-03-complete.md +278 -0
- package/.claude/skills/bmad-generate-project-context/workflow.md +39 -0
- package/.claude/skills/bmad-help/SKILL.md +75 -0
- package/.claude/skills/bmad-index-docs/SKILL.md +66 -0
- package/.claude/skills/bmad-market-research/SKILL.md +6 -0
- package/.claude/skills/bmad-market-research/research.template.md +29 -0
- package/.claude/skills/bmad-market-research/steps/step-01-init.md +184 -0
- package/.claude/skills/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
- package/.claude/skills/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/.claude/skills/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
- package/.claude/skills/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/.claude/skills/bmad-market-research/steps/step-06-research-completion.md +478 -0
- package/.claude/skills/bmad-market-research/workflow.md +51 -0
- package/.claude/skills/bmad-party-mode/SKILL.md +125 -0
- package/.claude/skills/bmad-prfaq/SKILL.md +96 -0
- package/.claude/skills/bmad-prfaq/agents/artifact-analyzer.md +60 -0
- package/.claude/skills/bmad-prfaq/agents/web-researcher.md +49 -0
- package/.claude/skills/bmad-prfaq/assets/prfaq-template.md +62 -0
- package/.claude/skills/bmad-prfaq/bmad-manifest.json +16 -0
- package/.claude/skills/bmad-prfaq/references/customer-faq.md +55 -0
- package/.claude/skills/bmad-prfaq/references/internal-faq.md +51 -0
- package/.claude/skills/bmad-prfaq/references/press-release.md +60 -0
- package/.claude/skills/bmad-prfaq/references/verdict.md +79 -0
- package/.claude/skills/bmad-product-brief/SKILL.md +82 -0
- package/.claude/skills/bmad-product-brief/agents/artifact-analyzer.md +60 -0
- package/.claude/skills/bmad-product-brief/agents/opportunity-reviewer.md +44 -0
- package/.claude/skills/bmad-product-brief/agents/skeptic-reviewer.md +44 -0
- package/.claude/skills/bmad-product-brief/agents/web-researcher.md +49 -0
- package/.claude/skills/bmad-product-brief/bmad-manifest.json +17 -0
- package/.claude/skills/bmad-product-brief/prompts/contextual-discovery.md +57 -0
- package/.claude/skills/bmad-product-brief/prompts/draft-and-review.md +86 -0
- package/.claude/skills/bmad-product-brief/prompts/finalize.md +75 -0
- package/.claude/skills/bmad-product-brief/prompts/guided-elicitation.md +70 -0
- package/.claude/skills/bmad-product-brief/resources/brief-template.md +60 -0
- package/.claude/skills/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
- package/.claude/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
- package/.claude/skills/bmad-qa-generate-e2e-tests/workflow.md +136 -0
- package/.claude/skills/bmad-quick-dev/SKILL.md +6 -0
- package/.claude/skills/bmad-quick-dev/compile-epic-context.md +62 -0
- package/.claude/skills/bmad-quick-dev/spec-template.md +88 -0
- package/.claude/skills/bmad-quick-dev/step-01-clarify-and-route.md +91 -0
- package/.claude/skills/bmad-quick-dev/step-02-plan.md +47 -0
- package/.claude/skills/bmad-quick-dev/step-03-implement.md +39 -0
- package/.claude/skills/bmad-quick-dev/step-04-review.md +49 -0
- package/.claude/skills/bmad-quick-dev/step-05-present.md +63 -0
- package/.claude/skills/bmad-quick-dev/step-oneshot.md +61 -0
- package/.claude/skills/bmad-quick-dev/workflow.md +75 -0
- package/.claude/skills/bmad-retrospective/SKILL.md +6 -0
- package/.claude/skills/bmad-retrospective/workflow.md +1479 -0
- package/.claude/skills/bmad-review-adversarial-general/SKILL.md +37 -0
- package/.claude/skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
- package/.claude/skills/bmad-shard-doc/SKILL.md +105 -0
- package/.claude/skills/bmad-sprint-planning/SKILL.md +6 -0
- package/.claude/skills/bmad-sprint-planning/checklist.md +33 -0
- package/.claude/skills/bmad-sprint-planning/sprint-status-template.yaml +56 -0
- package/.claude/skills/bmad-sprint-planning/workflow.md +263 -0
- package/.claude/skills/bmad-sprint-status/SKILL.md +6 -0
- package/.claude/skills/bmad-sprint-status/workflow.md +261 -0
- package/.claude/skills/bmad-technical-research/SKILL.md +6 -0
- package/.claude/skills/bmad-technical-research/research.template.md +29 -0
- package/.claude/skills/bmad-technical-research/technical-steps/step-01-init.md +137 -0
- package/.claude/skills/bmad-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/.claude/skills/bmad-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/.claude/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/.claude/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/.claude/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
- package/.claude/skills/bmad-technical-research/workflow.md +52 -0
- package/.claude/skills/bmad-validate-prd/SKILL.md +6 -0
- package/.claude/skills/bmad-validate-prd/data/domain-complexity.csv +15 -0
- package/.claude/skills/bmad-validate-prd/data/prd-purpose.md +197 -0
- package/.claude/skills/bmad-validate-prd/data/project-types.csv +11 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
- package/.claude/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
- package/.claude/skills/bmad-validate-prd/workflow.md +61 -0
- package/.claude/skills/gitnexus/gitnexus-cli/SKILL.md +82 -0
- package/.claude/skills/gitnexus/gitnexus-debugging/SKILL.md +89 -0
- package/.claude/skills/gitnexus/gitnexus-exploring/SKILL.md +78 -0
- package/.claude/skills/gitnexus/gitnexus-guide/SKILL.md +64 -0
- package/.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md +97 -0
- package/.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md +121 -0
- package/.claude/skills/openspec-apply-change/SKILL.md +156 -0
- package/.claude/skills/openspec-archive-change/SKILL.md +114 -0
- package/.claude/skills/openspec-explore/SKILL.md +288 -0
- package/.claude/skills/openspec-propose/SKILL.md +110 -0
- package/.claude/skills/vsaf-build/SKILL.md +52 -0
- package/.claude/skills/vsaf-doc/SKILL.md +66 -0
- package/.claude/skills/vsaf-memory-protocol.md +51 -0
- package/.claude/skills/vsaf-onboard/SKILL.md +55 -0
- package/.claude/skills/vsaf-plan/SKILL.md +68 -0
- package/.claude/skills/vsaf-ship/SKILL.md +76 -0
- package/.claude/skills/vsaf-test/SKILL.md +70 -0
- package/README.md +124 -0
- package/assets/templates/.claude/settings.json +82 -0
- package/assets/templates/CLAUDE.md +248 -0
- package/assets/templates/Makefile +77 -0
- package/assets/templates/scripts/session-end-check.sh +28 -0
- package/bin/vsaf.js +68 -0
- package/package.json +22 -0
- package/src/global.js +98 -0
- package/src/project.js +94 -0
- package/src/status.js +51 -0
- package/src/utils.js +42 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vsaf-ship
|
|
3
|
+
description: Review 3 lớp, ship code, và ghi lại toàn bộ knowledge vào bộ nhớ. Dùng sau /vsaf-test khi tất cả tests đã pass. Bước cuối cùng của mọi feature.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# VSAF Ship
|
|
7
|
+
|
|
8
|
+
## Mục tiêu
|
|
9
|
+
Đảm bảo code chất lượng, đóng gói feature, và ghi lại toàn bộ knowledge để các session sau kế thừa được.
|
|
10
|
+
|
|
11
|
+
## Điều kiện tiên quyết
|
|
12
|
+
- Đã chạy `/vsaf-test` và tất cả tests đã pass
|
|
13
|
+
- Không có failing tests
|
|
14
|
+
|
|
15
|
+
## Các bước thực hiện
|
|
16
|
+
|
|
17
|
+
### Bước 1 — Review Layer 1: Methodology (Superpowers)
|
|
18
|
+
- Dùng skill `superpowers:requesting-code-review`
|
|
19
|
+
- Kiểm tra: code structure, naming, patterns, SOLID principles
|
|
20
|
+
- Fix issues nếu có, commit lại
|
|
21
|
+
|
|
22
|
+
### Bước 2 — Review Layer 2: Spec compliance (OpenSpec)
|
|
23
|
+
- Dùng skill `opsx:verify` (hoặc `make verify`)
|
|
24
|
+
- Kiểm tra: code có implement đúng tất cả FRs/NFRs trong spec không
|
|
25
|
+
- Nếu fail: quay lại `/vsaf-build` để fix
|
|
26
|
+
|
|
27
|
+
### Bước 3 — Review Layer 3: Security (ECC)
|
|
28
|
+
- Chạy `npx ecc-agentshield scan`
|
|
29
|
+
- Fix tất cả issues trước khi tiếp tục
|
|
30
|
+
- Không skip warnings
|
|
31
|
+
|
|
32
|
+
### Bước 4 — Re-index knowledge graph
|
|
33
|
+
- Chạy `gitnexus analyze` để cập nhật call graph
|
|
34
|
+
- Chạy `/graphify . --update` để cập nhật visual graph
|
|
35
|
+
- Hoặc: `make index`
|
|
36
|
+
|
|
37
|
+
### Bước 5 — Archive spec
|
|
38
|
+
- Dùng skill `opsx:archive` để đóng spec proposal đã hoàn thành
|
|
39
|
+
- Lưu vào `openspec/archived/`
|
|
40
|
+
|
|
41
|
+
### Bước 6 — Ghi nhớ tự động (MemPalace)
|
|
42
|
+
Thực hiện AUTO-WRITE từ `.claude/skills/vsaf-memory-protocol.md`.
|
|
43
|
+
|
|
44
|
+
### Bước 9 — Push PR
|
|
45
|
+
```bash
|
|
46
|
+
git push origin feature/<name>
|
|
47
|
+
```
|
|
48
|
+
PR description phải bao gồm:
|
|
49
|
+
- Link OpenSpec proposal
|
|
50
|
+
- Impact summary (từ GitNexus)
|
|
51
|
+
- Test results summary
|
|
52
|
+
|
|
53
|
+
### Bước 10 — Output cho user
|
|
54
|
+
```
|
|
55
|
+
## Ship Complete: [feature]
|
|
56
|
+
|
|
57
|
+
### Reviews
|
|
58
|
+
- Layer 1 (Methodology): PASS
|
|
59
|
+
- Layer 2 (Spec): PASS
|
|
60
|
+
- Layer 3 (Security): PASS
|
|
61
|
+
|
|
62
|
+
### Knowledge saved
|
|
63
|
+
- Diary entry: ✓
|
|
64
|
+
- Decisions: [X entries]
|
|
65
|
+
- Reasoning chain: ✓
|
|
66
|
+
|
|
67
|
+
### PR
|
|
68
|
+
- Branch: feature/[name]
|
|
69
|
+
- PR: [link]
|
|
70
|
+
|
|
71
|
+
Workflow hoàn tất. Chạy /vsaf-plan <next-feature> cho task tiếp theo.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Lưu ý
|
|
75
|
+
- Không ship nếu bất kỳ layer review nào fail
|
|
76
|
+
- `mempalace mine ~/chats/` — chạy weekly, không phải mỗi feature
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vsaf-test
|
|
3
|
+
description: Viết tài liệu test từ spec, sau đó thực hiện test. Dùng sau /vsaf-build khi code đã implement xong. Test cases dựa trên spec, không phải dựa trên code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# VSAF Test
|
|
7
|
+
|
|
8
|
+
## Mục tiêu
|
|
9
|
+
Tạo tài liệu test coverage đầy đủ từ spec, sau đó thực thi và verify kết quả.
|
|
10
|
+
|
|
11
|
+
## Điều kiện tiên quyết
|
|
12
|
+
- Đã chạy `/vsaf-build` và tất cả tasks đã commit
|
|
13
|
+
- Có file spec trong `openspec/`
|
|
14
|
+
|
|
15
|
+
## Các bước thực hiện
|
|
16
|
+
|
|
17
|
+
### Bước 1 — Sinh test cases từ spec (BMAD qa)
|
|
18
|
+
- Dùng skill `bmad-qa-generate-e2e-tests` với spec file làm input
|
|
19
|
+
- Test cases phải cover: happy path, edge cases, error cases, NFRs
|
|
20
|
+
- Nguồn gốc: từ FRs/NFRs trong spec — KHÔNG dựa trên implementation
|
|
21
|
+
|
|
22
|
+
### Bước 2 — Đối chiếu coverage
|
|
23
|
+
- So sánh test cases với task list trong spec
|
|
24
|
+
- Mỗi task trong spec phải có ít nhất 1 test case tương ứng
|
|
25
|
+
- Ghi nhận gaps nếu có
|
|
26
|
+
|
|
27
|
+
### Bước 3 — Tạo task list test (Superpowers)
|
|
28
|
+
- Dùng skill `superpowers:writing-plans` để tạo execution plan cho test
|
|
29
|
+
- Mỗi test task có: input, expected output, pass/fail criteria
|
|
30
|
+
|
|
31
|
+
### Bước 4 — Lưu tài liệu test
|
|
32
|
+
- Lưu test plan vào `docs/test/[feature]-test-plan.md`
|
|
33
|
+
- Format:
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
## Test Plan: [feature]
|
|
37
|
+
|
|
38
|
+
### Unit Tests
|
|
39
|
+
| Test case | Input | Expected | Status |
|
|
40
|
+
|-----------|-------|----------|--------|
|
|
41
|
+
| ... | ... | ... | [ ] |
|
|
42
|
+
|
|
43
|
+
### Integration Tests
|
|
44
|
+
| ... | ... | ... | [ ] |
|
|
45
|
+
|
|
46
|
+
### Edge Cases
|
|
47
|
+
| ... | ... | ... | [ ] |
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Bước 5 — Thực thi test
|
|
51
|
+
- Chạy toàn bộ test suite
|
|
52
|
+
- Cập nhật status trong test plan
|
|
53
|
+
- Nếu test fail: fix code, không sửa test để pass
|
|
54
|
+
|
|
55
|
+
### Bước 6 — Output cho user
|
|
56
|
+
```
|
|
57
|
+
## Test Results: [feature]
|
|
58
|
+
|
|
59
|
+
- Unit tests: [X/Y passed]
|
|
60
|
+
- Integration tests: [X/Y passed]
|
|
61
|
+
- Edge cases: [X/Y passed]
|
|
62
|
+
|
|
63
|
+
Coverage: [X%]
|
|
64
|
+
|
|
65
|
+
[PASS / FAIL — chi tiết nếu fail]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Lưu ý
|
|
69
|
+
- Nếu có test fail sau fix 2 lần: báo user, có thể cần quay lại `/vsaf-build`
|
|
70
|
+
- Sau khi tất cả tests pass: chạy `/vsaf-ship`
|
package/README.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# VSAF — SDLC Agentic Framework
|
|
2
|
+
|
|
3
|
+
A spec-driven development framework for Claude Code. Write specs first, let AI
|
|
4
|
+
agents plan and execute, review in 3 layers, track every decision. 8 integrated
|
|
5
|
+
tools, $20/month total.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Architecture
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
┌──────────────────────────────────────────────────────────────────────┐
|
|
13
|
+
│ PLANNING BMAD (agents) ──▶ OpenSpec (specs, tasks, verify) │
|
|
14
|
+
├──────────────────────────────────────────────────────────────────────┤
|
|
15
|
+
│ CODE INTEL GitNexus (MCP backbone) + Graphify (multimodal) │
|
|
16
|
+
├──────────────────────────────────────────────────────────────────────┤
|
|
17
|
+
│ MEMORY claude-mem (auto) + MemPalace (knowledge base) │
|
|
18
|
+
├──────────────────────────────────────────────────────────────────────┤
|
|
19
|
+
│ IMPLEMENTATION Claude Code + Superpowers + ECC cherry-pick │
|
|
20
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
See [1-setup-guide.md](docs/onboarding/1-setup-guide.md#2-how-the-tools-fit-together) for what each layer does and how the tools relate.
|
|
24
|
+
|
|
25
|
+
## Quickstart
|
|
26
|
+
|
|
27
|
+
Requires **Node.js ≥ 18**, **Python ≥ 3.10**, **Git**, **jq**, and a
|
|
28
|
+
**Claude Code subscription** ($20/mo). Full prerequisites in
|
|
29
|
+
[1-setup-guide.md](docs/onboarding/1-setup-guide.md#3-prerequisites).
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
git clone <this-repo> && cd vsaf
|
|
33
|
+
make setup # Install all 8 tools (idempotent — safe to re-run)
|
|
34
|
+
make index # Build knowledge graph
|
|
35
|
+
make status # Verify everything is working
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
One manual post-setup step (requires an interactive Claude Code session):
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
/plugin install superpowers@claude-plugins-official
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Restart Claude Code after installing Superpowers.
|
|
45
|
+
|
|
46
|
+
## Documentation
|
|
47
|
+
|
|
48
|
+
All onboarding docs live in [`docs/onboarding/`](docs/onboarding/).
|
|
49
|
+
|
|
50
|
+
| # | Doc | Covers |
|
|
51
|
+
|---|-----|--------|
|
|
52
|
+
| 1 | [1-setup-guide.md](docs/onboarding/1-setup-guide.md) | Install, tool overview, first walkthrough, glossary |
|
|
53
|
+
| 2 | [2-workflow-guide.md](docs/onboarding/2-workflow-guide.md) | Deep dives, coordination playbooks, JWT demo, troubleshooting |
|
|
54
|
+
| 3 | [3-cheatsheet.md](docs/onboarding/3-cheatsheet.md) | 1-page command reference — print and pin |
|
|
55
|
+
| 4 | [4-milestones.md](docs/onboarding/4-milestones.md) | Day 1 / Week 1 / Month 1 ramp-up path |
|
|
56
|
+
| 5 | [5-faq.md](docs/onboarding/5-faq.md) | Mindset questions every new dev asks |
|
|
57
|
+
| — | [2-workflow-guide.vi.md](docs/onboarding/2-workflow-guide.vi.md) | Bản tiếng Việt của workflow guide |
|
|
58
|
+
|
|
59
|
+
**New here?** Start with **1-setup-guide** → then **4-milestones** for your
|
|
60
|
+
first 30 days.
|
|
61
|
+
|
|
62
|
+
## Directory Layout
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
.
|
|
66
|
+
├── .claude/
|
|
67
|
+
│ ├── settings.json # ECC hooks: block secrets, protect config files
|
|
68
|
+
│ └── skills/ # Coding standards for Go, Rust, Python
|
|
69
|
+
├── docs/
|
|
70
|
+
│ ├── architecture/ # Architecture documents (from BMAD Architect)
|
|
71
|
+
│ └── onboarding/ # Developer onboarding (see table above)
|
|
72
|
+
├── githooks/ # Git hooks (pre-push runs verify + security scan)
|
|
73
|
+
├── graphify-out/ # Graphify output (gitignored, regenerated by make index)
|
|
74
|
+
├── openspec/ # OpenSpec workspace (proposals, specs, designs, tasks)
|
|
75
|
+
├── scripts/
|
|
76
|
+
│ └── setup-vsaf.sh # Full setup automation (called by make setup)
|
|
77
|
+
├── CLAUDE.md # Claude Code system prompt — workflow rules
|
|
78
|
+
└── Makefile # All day-to-day operations
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Daily Operations
|
|
82
|
+
|
|
83
|
+
Run `make help` for the full list. Highlights:
|
|
84
|
+
|
|
85
|
+
| Command | What It Does |
|
|
86
|
+
|---|---|
|
|
87
|
+
| `make setup` | Install or update all tools |
|
|
88
|
+
| `make index` | Re-index codebase (GitNexus + Graphify) — run after every merge |
|
|
89
|
+
| `make verify` | Check implementation against OpenSpec specs |
|
|
90
|
+
| `make review` | Full 3-layer review coordinator |
|
|
91
|
+
| `make status` | Show status of all installed tools |
|
|
92
|
+
|
|
93
|
+
All commands — including BMAD agents, OpenSpec, Superpowers, and GitNexus — are
|
|
94
|
+
listed in [3-cheatsheet.md](docs/onboarding/3-cheatsheet.md).
|
|
95
|
+
|
|
96
|
+
## Workflow
|
|
97
|
+
|
|
98
|
+
Every feature follows a **10-step cycle**: scope → plan → spec → impact
|
|
99
|
+
analysis → brainstorm → TDD execute → 3-layer review → push → archive.
|
|
100
|
+
Bug fixes ("Quick Flow") skip planning steps and go straight to brainstorm.
|
|
101
|
+
|
|
102
|
+
See [1-setup-guide.md § Your First Project](docs/onboarding/1-setup-guide.md#5-your-first-project--a-walkthrough)
|
|
103
|
+
for a walkthrough, or [2-workflow-guide.md § JWT Demo](docs/onboarding/2-workflow-guide.md#4-full-sdlc-demo)
|
|
104
|
+
for a full command-by-command example.
|
|
105
|
+
|
|
106
|
+
## Tools
|
|
107
|
+
|
|
108
|
+
| Tool | What It Does | Cost |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| **Claude Code** | AI coding agent — everything else plugs into it | $20/mo |
|
|
111
|
+
| **BMAD Method** | AI agents for planning: Analyst, PM, Architect, Product Owner | Free |
|
|
112
|
+
| **OpenSpec** | Spec-driven development: proposals, specs, designs, task lists, verification | Free |
|
|
113
|
+
| **Superpowers** | Methodology engine: brainstorm, plan, TDD execution, code review | Free |
|
|
114
|
+
| **ECC (cherry-pick)** | Security scanner (AgentShield) + git hooks (block secrets) + coding standards | Free |
|
|
115
|
+
| **GitNexus** | Code knowledge graph via MCP — impact analysis, dependency queries | Free |
|
|
116
|
+
| **Graphify** | Multimodal knowledge graph — visual dependency maps, path tracing | Free |
|
|
117
|
+
| **claude-mem** | Auto-pilot memory — captures sessions, re-injects context next time | Free |
|
|
118
|
+
| **MemPalace** | Knowledge base — verbatim storage of decisions, temporal knowledge graph | Free |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
**Core principles:** Spec before code. Context is king. Git is source of truth.
|
|
123
|
+
3-layer review before every PR. Re-index after every merge. Mine decisions
|
|
124
|
+
weekly.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PreToolUse": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "Edit|Write|Create|MultiEdit",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "FILE=\"$TOOL_INPUT_FILE\"; if [ -n \"$FILE\" ]; then if echo \"$FILE\" | grep -qE '\\.env$|\\.env\\.|\\.pem$|\\.key$|id_rsa|id_ed25519|\\.claude/settings\\.json'; then echo 'BLOCK: Protected file. Manual edit required for secrets/config files.'; exit 2; fi; fi"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"matcher": "Edit|Write|Create|Bash",
|
|
15
|
+
"hooks": [
|
|
16
|
+
{
|
|
17
|
+
"type": "command",
|
|
18
|
+
"command": "INPUT=\"$TOOL_INPUT\"; if [ -n \"$INPUT\" ]; then if echo \"$INPUT\" | grep -qE 'AKIA[0-9A-Z]{16}|ASIA[0-9A-Z]{16}|ghp_[a-zA-Z0-9]{36}|sk-[a-zA-Z0-9]{48}|xox[bpoas]-[a-zA-Z0-9-]+|eyJ[a-zA-Z0-9_-]*\\.[a-zA-Z0-9_-]*\\.[a-zA-Z0-9_-]*'; then echo 'BLOCK: Hardcoded secret/token detected. Use environment variables.'; exit 2; fi; fi"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"Stop": [
|
|
24
|
+
{
|
|
25
|
+
"matcher": "",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "bash scripts/session-end-check.sh"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"permissions": {
|
|
36
|
+
"allow": [
|
|
37
|
+
"Read",
|
|
38
|
+
"Edit",
|
|
39
|
+
"MultiEdit",
|
|
40
|
+
"Bash(cat:*)",
|
|
41
|
+
"Bash(ls:*)",
|
|
42
|
+
"Bash(find:*)",
|
|
43
|
+
"Bash(grep:*)",
|
|
44
|
+
"Bash(rg:*)",
|
|
45
|
+
"Bash(head:*)",
|
|
46
|
+
"Bash(tail:*)",
|
|
47
|
+
"Bash(wc:*)",
|
|
48
|
+
"Bash(git status:*)",
|
|
49
|
+
"Bash(git diff:*)",
|
|
50
|
+
"Bash(git log:*)",
|
|
51
|
+
"Bash(git branch:*)",
|
|
52
|
+
"Bash(git show:*)",
|
|
53
|
+
"Bash(npm test:*)",
|
|
54
|
+
"Bash(npm run:*)",
|
|
55
|
+
"Bash(npx:*)",
|
|
56
|
+
"Bash(make:*)",
|
|
57
|
+
"Bash(python:*)",
|
|
58
|
+
"Bash(node:*)"
|
|
59
|
+
],
|
|
60
|
+
"deny": [
|
|
61
|
+
"Bash(rm -rf:*)",
|
|
62
|
+
"Bash(rm -r /:*)",
|
|
63
|
+
"Bash(git push --force:*)",
|
|
64
|
+
"Bash(git push -f:*)",
|
|
65
|
+
"Bash(git reset --hard:*)",
|
|
66
|
+
"Bash(git clean -fd:*)",
|
|
67
|
+
"Bash(chmod 777:*)",
|
|
68
|
+
"Bash(curl * | bash:*)",
|
|
69
|
+
"Bash(wget * | bash:*)",
|
|
70
|
+
"Bash(eval:*)",
|
|
71
|
+
"Bash(DROP TABLE:*)",
|
|
72
|
+
"Bash(DROP DATABASE:*)",
|
|
73
|
+
"Bash(mkfs:*)",
|
|
74
|
+
"Bash(dd if=:*)",
|
|
75
|
+
"Bash(sudo:*)",
|
|
76
|
+
"Bash(ssh :*)",
|
|
77
|
+
"Bash(ssh -:*)",
|
|
78
|
+
"Bash(> /dev/:*)"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"enabledPlugins": {}
|
|
82
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
> VSAF v3 — Agentic AI SDLC Framework. Spec-driven development. 3-layer review. 7 integrated tools.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
Node.js ≥18, Python ≥3.10, Git, jq, Claude Code subscription. Run `npx vsaf init` (idempotent) to install all tools.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Architecture
|
|
16
|
+
|
|
17
|
+
VSAF is a meta-framework for AI-driven SDLC — not an application. It has no source code to compile. The 4-layer stack:
|
|
18
|
+
|
|
19
|
+
| Layer | Tools | Purpose |
|
|
20
|
+
|-------|-------|---------|
|
|
21
|
+
| Planning | BMAD Method, OpenSpec | PRD, architecture docs, spec proposals |
|
|
22
|
+
| Code Intelligence | GitNexus (MCP), Graphify | Impact analysis, dependency graphs, path tracing |
|
|
23
|
+
| Memory | claude-mem, MemPalace | Session continuity (auto), architecture decisions (manual) |
|
|
24
|
+
| Implementation | Superpowers, Claude Code | TDD execution, code review |
|
|
25
|
+
|
|
26
|
+
Key directories: `.claude/` (settings + skills), `openspec/` (spec proposals), `scripts/` (helper scripts), `.gitnexus/` (knowledge graph index).
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Make Commands
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx vsaf init # Install all tools (one-time, idempotent)
|
|
34
|
+
make index # Re-index: gitnexus analyze + graphify update
|
|
35
|
+
make verify # Check implementation against OpenSpec specs
|
|
36
|
+
make review # Full 3-layer review coordinator
|
|
37
|
+
make archive # Archive specs + re-index (post-merge)
|
|
38
|
+
make mine # Mine conversations into MemPalace
|
|
39
|
+
make status # Show status of all tools
|
|
40
|
+
make clean # Clean GitNexus index
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Identity
|
|
46
|
+
|
|
47
|
+
This project uses the **VSAF v3 (Agentic AI SDLC Framework)**. All development
|
|
48
|
+
follows the 10-step workflow below. No code ships without spec compliance and
|
|
49
|
+
3-layer review.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Memory Management
|
|
54
|
+
|
|
55
|
+
### claude-mem (auto-pilot)
|
|
56
|
+
- claude-mem handles session continuity automatically. **Do not duplicate** its work.
|
|
57
|
+
- Session context is auto-injected on start. No manual action needed.
|
|
58
|
+
- Web viewer: http://localhost:37777
|
|
59
|
+
|
|
60
|
+
### MemPalace (knowledge base)
|
|
61
|
+
- Call `mempalace_search` **BEFORE** answering about past decisions, architecture
|
|
62
|
+
rationale, or "why did we choose X" questions.
|
|
63
|
+
- Use `mempalace_add_drawer` for important decisions worth preserving verbatim.
|
|
64
|
+
- Write `mempalace_diary_write` at end of meaningful sessions.
|
|
65
|
+
- Run `mempalace mine ~/chats/ --mode convos` weekly to capture decision history.
|
|
66
|
+
|
|
67
|
+
### Separation of Concerns
|
|
68
|
+
| claude-mem | MemPalace |
|
|
69
|
+
|---|---|
|
|
70
|
+
| Session recall, debug history | Architecture decisions, team knowledge |
|
|
71
|
+
| Auto-compressed summaries | Verbatim lossless storage |
|
|
72
|
+
| "What file did I change yesterday?" | "Why did we choose Patroni over Stolon?" |
|
|
73
|
+
| Lossy — may lose reasoning chain | Temporal KG with stale fact invalidation |
|
|
74
|
+
|
|
75
|
+
**Anti-pattern:** Do not use MemPalace for session recall. Do not use claude-mem
|
|
76
|
+
for architecture decisions. Do not dump knowledge into CLAUDE.md.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Knowledge Graph
|
|
81
|
+
|
|
82
|
+
### GitNexus (MCP backbone)
|
|
83
|
+
- Use GitNexus MCP tools for impact analysis before any code change.
|
|
84
|
+
- Query: "What breaks if I change X?" before touching cross-module code.
|
|
85
|
+
- Re-index after every merge: `gitnexus analyze`
|
|
86
|
+
|
|
87
|
+
### Graphify (multimodal KG)
|
|
88
|
+
- Read `graphify-out/GRAPH_REPORT.md` **before** answering architecture questions.
|
|
89
|
+
- Use `/graphify query "question"` for structural queries.
|
|
90
|
+
- Use `/graphify path ServiceA ServiceB` to trace dependency paths.
|
|
91
|
+
- Re-build after merge: `/graphify . --update`
|
|
92
|
+
|
|
93
|
+
### Mandatory Re-indexing
|
|
94
|
+
After every merge or significant change:
|
|
95
|
+
```
|
|
96
|
+
gitnexus analyze && /graphify . --update
|
|
97
|
+
```
|
|
98
|
+
Or: `make index`
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 10-Step Workflow
|
|
103
|
+
|
|
104
|
+
### Step 0: Setup (one-time)
|
|
105
|
+
```bash
|
|
106
|
+
npx vsaf init
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 1: Understand Codebase
|
|
110
|
+
- Read `graphify-out/GRAPH_REPORT.md` first.
|
|
111
|
+
- Run `gitnexus serve` for web UI exploration.
|
|
112
|
+
- Query MemPalace for past team decisions.
|
|
113
|
+
- Do not modify code on day one.
|
|
114
|
+
|
|
115
|
+
### Step 2: Scope
|
|
116
|
+
```
|
|
117
|
+
*agent analyst # BMAD: clarify scope
|
|
118
|
+
*workflow-init # Quick/Standard/Enterprise
|
|
119
|
+
bmad-help # What's next?
|
|
120
|
+
```
|
|
121
|
+
Quick Flow (bug fix) --> skip to Step 6.
|
|
122
|
+
|
|
123
|
+
### Step 3: Planning (skip for Quick Flow)
|
|
124
|
+
```
|
|
125
|
+
*agent pm # PRD: FRs, NFRs, Epics
|
|
126
|
+
*agent architect # Architecture doc
|
|
127
|
+
*agent po # Sprint stories
|
|
128
|
+
git add docs/ && git commit -m "feat: PRD + arch for <feature>"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Step 4: Specs (skip for Quick Flow)
|
|
132
|
+
```
|
|
133
|
+
/opsx:propose <feature>
|
|
134
|
+
/opsx:ff # Fast-forward all docs
|
|
135
|
+
git add openspec/ && git commit -m "spec: <feature>"
|
|
136
|
+
```
|
|
137
|
+
Tasks must be atomic (2-5 min). Include edge cases.
|
|
138
|
+
|
|
139
|
+
### Step 5: Impact Analysis
|
|
140
|
+
```
|
|
141
|
+
"What breaks if I change PaymentService?" # GitNexus MCP
|
|
142
|
+
/graphify path PaymentService NotificationService
|
|
143
|
+
mempalace search "PaymentService refactor" # Past attempts
|
|
144
|
+
```
|
|
145
|
+
Impact > 3 modules --> split PRs. Update specs if new edge cases found.
|
|
146
|
+
|
|
147
|
+
### Step 6: Brainstorm + Plan
|
|
148
|
+
```
|
|
149
|
+
/superpowers:brainstorm # Socratic Q&A, explore alternatives
|
|
150
|
+
/superpowers:write-plan # Bite-sized tasks + verification steps
|
|
151
|
+
```
|
|
152
|
+
Do not approve until every task has a verification step.
|
|
153
|
+
|
|
154
|
+
### Step 7: Execute
|
|
155
|
+
```
|
|
156
|
+
/superpowers:execute-plan # RED -> GREEN -> REFACTOR per task
|
|
157
|
+
```
|
|
158
|
+
- 1 commit per task.
|
|
159
|
+
- Tests after EVERY task.
|
|
160
|
+
- Fail 3x on same task --> stop, do architectural review.
|
|
161
|
+
|
|
162
|
+
### Step 8: Self-Review (3-layer -- MANDATORY)
|
|
163
|
+
```bash
|
|
164
|
+
# Layer 1: Methodology compliance
|
|
165
|
+
/superpowers:code-review
|
|
166
|
+
|
|
167
|
+
# Layer 2: Spec compliance
|
|
168
|
+
/opsx:verify # or: make verify
|
|
169
|
+
|
|
170
|
+
# Layer 3: Knowledge graph sync
|
|
171
|
+
make index # gitnexus analyze + graphify update
|
|
172
|
+
```
|
|
173
|
+
If Layer 2 fails --> return to Step 7.
|
|
174
|
+
|
|
175
|
+
### Step 9: Push PR
|
|
176
|
+
```bash
|
|
177
|
+
git push origin feature/<name>
|
|
178
|
+
```
|
|
179
|
+
PR description must include: OpenSpec proposal link, impact summary, test results.
|
|
180
|
+
|
|
181
|
+
### Step 10: Archive + Ship
|
|
182
|
+
```bash
|
|
183
|
+
make archive # openspec archive + re-index
|
|
184
|
+
mempalace mine ~/chats/ --mode convos # Mine decisions
|
|
185
|
+
git tag v<version> && git push --tags
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Tool Commands — Quick Reference
|
|
191
|
+
|
|
192
|
+
| Action | Command |
|
|
193
|
+
|---|---|
|
|
194
|
+
| BMAD analyst | `*agent analyst` |
|
|
195
|
+
| BMAD PRD | `*agent pm` |
|
|
196
|
+
| BMAD architect | `*agent architect` |
|
|
197
|
+
| BMAD next step | `bmad-help` |
|
|
198
|
+
| OpenSpec propose | `/opsx:propose <feature>` |
|
|
199
|
+
| OpenSpec fast-forward | `/opsx:ff` |
|
|
200
|
+
| OpenSpec verify | `/opsx:verify` |
|
|
201
|
+
| OpenSpec archive | `/opsx:archive` |
|
|
202
|
+
| Superpowers brainstorm | `/superpowers:brainstorm` |
|
|
203
|
+
| Superpowers plan | `/superpowers:write-plan` |
|
|
204
|
+
| Superpowers execute | `/superpowers:execute-plan` |
|
|
205
|
+
| Superpowers review | `/superpowers:code-review` |
|
|
206
|
+
| GitNexus index | `gitnexus analyze` |
|
|
207
|
+
| GitNexus web | `gitnexus serve` |
|
|
208
|
+
| Graphify build | `/graphify .` |
|
|
209
|
+
| Graphify query | `/graphify query "question"` |
|
|
210
|
+
| Graphify update | `/graphify . --update` |
|
|
211
|
+
| MemPalace search | `mempalace search "query"` |
|
|
212
|
+
| MemPalace mine | `mempalace mine ~/chats/ --mode convos` |
|
|
213
|
+
| MemPalace status | `mempalace status` |
|
|
214
|
+
| claude-mem viewer | `http://localhost:37777` |
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Anti-Patterns
|
|
219
|
+
|
|
220
|
+
| Do Not | Instead |
|
|
221
|
+
|---|---|
|
|
222
|
+
| Write code before specs | Spec first, code second: `/opsx:propose` |
|
|
223
|
+
| Skip brainstorm | `/superpowers:brainstorm` before planning |
|
|
224
|
+
| Push without review | 3-layer: Superpowers + OpenSpec verify + re-index |
|
|
225
|
+
| Forget to re-index | `make index` after every merge |
|
|
226
|
+
| Create PRs > 400 lines | Split into smaller PRs |
|
|
227
|
+
| Trust AI output blindly | AI writes -> Superpowers reviews -> human approves |
|
|
228
|
+
| Skip impact analysis | GitNexus + Graphify + MemPalace BEFORE coding |
|
|
229
|
+
| Dump knowledge into CLAUDE.md | CLAUDE.md = rules. claude-mem = sessions. MemPalace = decisions |
|
|
230
|
+
| Use MemPalace for session recall | claude-mem auto-handles session continuity |
|
|
231
|
+
| Use claude-mem for architecture decisions | MemPalace verbatim + temporal KG for decisions |
|
|
232
|
+
| Skip MemPalace mining | `mempalace mine` weekly for architecture decisions |
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Commit Discipline
|
|
237
|
+
|
|
238
|
+
- 1 commit per task from the plan.
|
|
239
|
+
- Each commit message: `<type>: <description>` (feat, fix, refactor, spec, docs, test).
|
|
240
|
+
- Tests must pass after every commit.
|
|
241
|
+
- If a task fails 3 times, stop and trigger an architectural review.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Security
|
|
246
|
+
|
|
247
|
+
- Never hardcode credentials. Use environment variables.
|
|
248
|
+
- Review `.claude/settings.json` hook rules if a block triggers unexpectedly.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# VSAF v3 — Agentic AI SDLC Framework
|
|
2
|
+
# Day-to-day operations via Make targets.
|
|
3
|
+
# Run `make help` for available commands.
|
|
4
|
+
|
|
5
|
+
.PHONY: help index verify review archive status mine clean
|
|
6
|
+
|
|
7
|
+
SHELL := /bin/bash
|
|
8
|
+
|
|
9
|
+
# ── Help ───────────────────────────────────────────────────────────────────────
|
|
10
|
+
|
|
11
|
+
help: ## Show this help
|
|
12
|
+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
|
|
13
|
+
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-14s\033[0m %s\n", $$1, $$2}'
|
|
14
|
+
|
|
15
|
+
# ── Knowledge Graph ────────────────────────────────────────────────────────────
|
|
16
|
+
|
|
17
|
+
index: ## Re-index codebase (GitNexus + Graphify)
|
|
18
|
+
@echo "==> Re-indexing codebase..."
|
|
19
|
+
gitnexus analyze
|
|
20
|
+
@if command -v graphify &>/dev/null; then \
|
|
21
|
+
graphify . --update 2>/dev/null || echo "[WARN] graphify update failed — run '/graphify . --update' in Claude Code"; \
|
|
22
|
+
fi
|
|
23
|
+
@echo "==> Index complete"
|
|
24
|
+
|
|
25
|
+
# ── Review (3-layer) ──────────────────────────────────────────────────────────
|
|
26
|
+
|
|
27
|
+
verify: ## Layer 2: Check implementation against OpenSpec specs
|
|
28
|
+
openspec validate --all
|
|
29
|
+
|
|
30
|
+
review: ## Run 3-layer review (methodology + spec + re-index)
|
|
31
|
+
@echo "==> Layer 1: Methodology review"
|
|
32
|
+
@echo " Run in Claude Code: /superpowers:code-review"
|
|
33
|
+
@echo ""
|
|
34
|
+
@echo "==> Layer 2: Spec compliance"
|
|
35
|
+
openspec validate --all
|
|
36
|
+
@echo ""
|
|
37
|
+
@echo "==> Layer 3: Re-index knowledge graph"
|
|
38
|
+
$(MAKE) index
|
|
39
|
+
@echo ""
|
|
40
|
+
@echo "==> 3-layer review complete"
|
|
41
|
+
|
|
42
|
+
# ── Spec Lifecycle ─────────────────────────────────────────────────────────────
|
|
43
|
+
|
|
44
|
+
archive: ## Archive specs + re-index (post-merge)
|
|
45
|
+
openspec archive
|
|
46
|
+
$(MAKE) index
|
|
47
|
+
@echo "==> Archived and re-indexed"
|
|
48
|
+
|
|
49
|
+
# ── Memory ─────────────────────────────────────────────────────────────────────
|
|
50
|
+
|
|
51
|
+
mine: ## Mine conversations into MemPalace knowledge base
|
|
52
|
+
@export PATH="$$HOME/.local/bin:$$PATH"; mempalace mine ~/chats/ --mode convos --extract general
|
|
53
|
+
|
|
54
|
+
# ── Status ─────────────────────────────────────────────────────────────────────
|
|
55
|
+
|
|
56
|
+
status: ## Show status of all tools
|
|
57
|
+
@export PATH="$$HOME/.local/bin:$$PATH"; \
|
|
58
|
+
echo "==> GitNexus"; \
|
|
59
|
+
gitnexus status 2>/dev/null || echo " [not indexed]"; \
|
|
60
|
+
echo ""; \
|
|
61
|
+
echo "==> MemPalace"; \
|
|
62
|
+
mempalace status 2>/dev/null || echo " [not initialized]"; \
|
|
63
|
+
echo ""; \
|
|
64
|
+
echo "==> OpenSpec"; \
|
|
65
|
+
openspec list 2>/dev/null || echo " [no active changes]"; \
|
|
66
|
+
echo ""; \
|
|
67
|
+
echo "==> Graphify output"; \
|
|
68
|
+
ls graphify-out/ 2>/dev/null || echo " [no output — run '/graphify .' in Claude Code]"; \
|
|
69
|
+
echo ""; \
|
|
70
|
+
echo "==> claude-mem"; \
|
|
71
|
+
curl -sf http://localhost:37777 >/dev/null 2>&1 && echo " Web viewer: http://localhost:37777" || echo " [web viewer not running]"
|
|
72
|
+
|
|
73
|
+
# ── Maintenance ────────────────────────────────────────────────────────────────
|
|
74
|
+
|
|
75
|
+
clean: ## Clean GitNexus index (requires confirmation)
|
|
76
|
+
@read -p "This will remove the GitNexus index. Continue? [y/N] " confirm && \
|
|
77
|
+
[ "$$confirm" = "y" ] && gitnexus clean || echo "Aborted."
|