{"id":45950009,"url":"https://github.com/leocamello/spec-kit-v-model","last_synced_at":"2026-02-28T12:16:23.094Z","repository":{"id":339479083,"uuid":"1161342487","full_name":"leocamello/spec-kit-v-model","owner":"leocamello","description":"V-Model Extension Pack for Spec Kit — enforces paired generation of development specs and test specs with regulatory-grade traceability","archived":false,"fork":false,"pushed_at":"2026-02-20T00:43:35.000Z","size":216,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-20T01:18:19.017Z","etag":null,"topics":["bdd","compliance","requirements-engineering","safety-critical","spec-kit","specification-driven-development","testing","traceability","v-model"],"latest_commit_sha":null,"homepage":"https://github.com/leocamello/spec-kit-v-model","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leocamello.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-19T02:03:02.000Z","updated_at":"2026-02-20T00:43:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/leocamello/spec-kit-v-model","commit_stats":null,"previous_names":["leocamello/spec-kit-v-model"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/leocamello/spec-kit-v-model","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocamello%2Fspec-kit-v-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocamello%2Fspec-kit-v-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocamello%2Fspec-kit-v-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocamello%2Fspec-kit-v-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leocamello","download_url":"https://codeload.github.com/leocamello/spec-kit-v-model/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocamello%2Fspec-kit-v-model/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29933351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T09:58:13.507Z","status":"ssl_error","status_checked_at":"2026-02-28T09:57:57.047Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd","compliance","requirements-engineering","safety-critical","spec-kit","specification-driven-development","testing","traceability","v-model"],"created_at":"2026-02-28T12:16:22.455Z","updated_at":"2026-02-28T12:16:23.047Z","avatar_url":"https://github.com/leocamello.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./media/spec-kit-v-model-logo.png\" alt=\"V-Model Extension Pack Logo\" width=\"500\" height=\"500\"/\u003e\n    \u003ch1\u003eV-Model Extension Pack for Spec Kit\u003c/h1\u003e\n    \u003ch3\u003e\u003cem\u003eEvery specification paired with its test. Full traceability.\u003c/em\u003e\u003c/h3\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/leocamello/spec-kit-v-model/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/leocamello/spec-kit-v-model/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/leocamello/spec-kit-v-model/actions/workflows/evals.yml\"\u003e\u003cimg src=\"https://github.com/leocamello/spec-kit-v-model/actions/workflows/evals.yml/badge.svg\" alt=\"Evaluations\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/leocamello/spec-kit-v-model/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/leocamello/spec-kit-v-model?style=social\" alt=\"GitHub stars\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/leocamello/spec-kit-v-model/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/leocamello/spec-kit-v-model\" alt=\"License\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/leocamello/spec-kit-v-model/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/leocamello/spec-kit-v-model\" alt=\"Latest Release\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nAn extension for [GitHub Spec Kit](https://github.com/github/spec-kit) that enforces the V-Model methodology: **every development specification has a simultaneously generated, paired testing specification with full traceability**.\n\n## Features\n\n- **`/speckit.v-model.requirements`** — Generate traceable requirements (REQ-NNN) from user input or existing `spec.md`\n- **`/speckit.v-model.acceptance`** — Generate a three-tier Acceptance Test Plan (Test Cases + BDD Scenarios) with deterministic 100% coverage validation\n- **`/speckit.v-model.system-design`** — Decompose requirements into IEEE 1016-compliant system components (SYS-NNN)\n- **`/speckit.v-model.system-test`** — Generate ISO 29119-compliant system test plans (STP/STS)\n- **`/speckit.v-model.architecture-design`** — IEEE 42010/Kruchten 4+1 architecture decomposition (ARCH-NNN) with Logical, Process, Interface, and Data Flow views\n- **`/speckit.v-model.integration-test`** — ISO 29119-4 integration testing (ITP/ITS) with Interface Contract, Data Flow, Fault Injection, and Concurrency techniques\n- **`/speckit.v-model.module-design`** — Detailed module design (MOD-NNN) with pseudocode, state machines, data structures, and error handling views\n- **`/speckit.v-model.unit-test`** — Unit test plans (UTP/UTS) with Statement \u0026 Branch Coverage, Boundary Value Analysis, State Transition Testing, and strict isolation\n- **`/speckit.v-model.trace`** — Build a regulatory-grade Quadruple Traceability Matrix (Matrix A + B + C + D)\n\n## Installation\n\n### Prerequisites\n\n- [Spec Kit](https://github.com/github/spec-kit) v0.1.0 or higher\n- A spec-kit project (directory with `.specify/` folder)\n\n### Method 1: Install from catalog (when available)\n\n```bash\nspecify extension add v-model\n```\n\n### Method 2: Install from GitHub release\n\n```bash\nspecify extension add v-model --from https://github.com/leocamello/spec-kit-v-model/archive/refs/tags/v0.4.0.zip\n```\n\n### Method 3: Install from local directory (development)\n\n```bash\ngit clone https://github.com/leocamello/spec-kit-v-model.git\nspecify extension add --dev /path/to/spec-kit-v-model\n```\n\n### Verify installation\n\n```bash\nspecify extension list\n```\n\n## Usage\n\n### Proactive Workflow (Recommended)\n\nThe V-Model extension integrates with Spec Kit's core workflow (`/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement`). Use these V-Model commands between the specify and plan steps:\n\n```\nStep 1: /speckit.v-model.requirements          →  Traceable REQ-NNN from spec.md\nStep 2: /speckit.v-model.acceptance            →  Paired ATP + SCN with 100% coverage\nStep 3: /speckit.v-model.trace                 →  Matrix A (requirements ↔ acceptance)\nStep 4: /speckit.v-model.system-design         →  SYS-NNN components (IEEE 1016 views)\nStep 5: /speckit.v-model.system-test           →  STP/STS procedures (ISO 29119-4)\nStep 6: /speckit.v-model.trace                 →  Matrix A + B (+ system verification)\nStep 7: /speckit.v-model.architecture-design   →  ARCH-NNN modules (IEEE 42010/4+1)\nStep 8: /speckit.v-model.integration-test      →  ITP/ITS procedures (ISO 29119-4)\nStep 9: /speckit.v-model.trace                 →  Matrix A + B + C (architecture traceability)\nStep 10: /speckit.v-model.module-design        →  MOD-NNN modules (pseudocode + state machines)\nStep 11: /speckit.v-model.unit-test            →  UTP/UTS procedures (white-box techniques)\nStep 12: /speckit.v-model.trace                →  Matrix A + B + C + D (full traceability)\n```\n\n\u003e **Progressive traceability:** The `/speckit.v-model.trace` command is run four times — after each design↔test pair — so coverage gaps are caught at each V-level rather than discovered at the end.\n\n**Example — Feature 002: Custom ID Prefix Support**\n\n```bash\n# Before: define the feature with spec-kit core\n/speckit.specify Allow users to configure custom ID prefixes (e.g., SRS instead of REQ)\n\n# 1. Generate traceable requirements from the spec\n/speckit.v-model.requirements\n\n# 2. Generate acceptance tests — validates 100% coverage automatically\n/speckit.v-model.acceptance\n\n# 3. Build traceability matrix (Matrix A: requirements ↔ acceptance)\n/speckit.v-model.trace\n\n# 4. Generate system design elements (IEEE 1016 views)\n/speckit.v-model.system-design\n\n# 5. Generate system test procedures (ISO 29119-4 techniques)\n/speckit.v-model.system-test\n\n# 6. Build traceability matrix (Matrix A + B: + system verification)\n/speckit.v-model.trace\n\n# 7. Generate architecture design (IEEE 42010/Kruchten 4+1 views)\n/speckit.v-model.architecture-design\n\n# 8. Generate integration tests (ISO 29119-4 integration techniques)\n/speckit.v-model.integration-test\n\n# 9. Build traceability matrix (Matrix A + B + C: architecture traceability)\n/speckit.v-model.trace\n\n# 10. Generate module design (pseudocode, state machines, data structures)\n/speckit.v-model.module-design\n\n# 11. Generate unit test plan (white-box techniques, strict isolation)\n/speckit.v-model.unit-test\n\n# 12. Build traceability matrix (Matrix A + B + C + D: full traceability)\n/speckit.v-model.trace\n\n# After: continue with spec-kit core\n/speckit.plan\n/speckit.tasks\n/speckit.implement\n```\n\nEach step produces artifacts in `specs/{feature}/v-model/`:\n\n```\nspecs/{feature}/v-model/\n├── requirements.md              →  REQ-NNN requirements\n├── acceptance-plan.md           →  ATP + SCN test cases\n├── system-design.md             →  SYS-NNN components\n├── system-test.md               →  STP/STS procedures\n├── architecture-design.md       →  ARCH-NNN modules\n├── integration-test.md          →  ITP/ITS procedures\n├── module-design.md             →  MOD-NNN detailed modules\n├── unit-test.md                 →  UTP/UTS unit test procedures\n└── traceability-matrix.md       →  Matrix A + B + C + D\n```\n\n### Key Principle: Scripts Verify, AI Generates\n\nThe V-Model commands use AI (GitHub Copilot) for creative translation —\nturning specs into requirements and test plans. But all compliance-critical\ncalculations are performed by **deterministic scripts**:\n\n| Concern | Handled by | Why |\n|---------|-----------|-----|\n| Generate requirements \u0026 test plans | AI (Copilot) | Creative translation from natural language |\n| Validate requirements ↔ acceptance coverage | `validate-requirement-coverage.sh` | Deterministic — regex-based, mathematically correct |\n| Validate system design ↔ system test coverage | `validate-system-coverage.sh` | Deterministic — SYS→STP→STS cross-reference |\n| Validate architecture ↔ integration coverage | `validate-architecture-coverage.sh` | Deterministic — ARCH→ITP→ITS cross-reference |\n| Validate module ↔ unit test coverage | `validate-module-coverage.sh` | Deterministic — ARCH→MOD→UTP→UTS cross-reference |\n| Build traceability matrix | `build-matrix.sh` | Deterministic — audit-grade accuracy, 4 matrices |\n| Detect requirement changes | `diff-requirements.sh` | Deterministic — git-based diff |\n\n### Command Reference\n\n#### 1. Generate Requirements (Step 1)\n\n```bash\n/speckit.v-model.requirements Build a user authentication system with OAuth2 support\n```\n\nOutputs `specs/{feature}/v-model/requirements.md` with traceable `REQ-NNN` IDs.\n\n#### 2. Generate Acceptance Test Plan (Step 2)\n\n```bash\n/speckit.v-model.acceptance\n```\n\nReads `requirements.md` and generates:\n- **Test Cases** (`ATP-NNN-X`) — logical validation conditions\n- **User Scenarios** (`SCN-NNN-X#`) — BDD Given/When/Then executable steps\n\nValidates 100% coverage via deterministic script (not AI self-assessment).\n\n#### 3. Generate System Design (Step 4)\n\n```bash\n/speckit.v-model.system-design\n```\n\nReads `requirements.md` and generates `system-design.md` with `SYS-NNN` components across four IEEE 1016 views (Decomposition, Dependency, Interface, Data Design).\n\n#### 4. Generate System Test Plan (Step 5)\n\n```bash\n/speckit.v-model.system-test\n```\n\nReads `system-design.md` and generates `system-test.md` with `STP-NNN-X` test procedures and `STS-NNN-X#` test steps using ISO 29119-4 techniques.\n\n#### 5. Generate Architecture Design (Step 7)\n\n```bash\n/speckit.v-model.architecture-design\n```\n\nReads `system-design.md` and generates `architecture-design.md` with `ARCH-NNN` modules across four IEEE 42010/Kruchten 4+1 views (Logical, Process, Interface, Data Flow).\n\n#### 6. Generate Integration Test Plan (Step 8)\n\n```bash\n/speckit.v-model.integration-test\n```\n\nReads `architecture-design.md` and generates `integration-test.md` with `ITP-NNN-X` test procedures and `ITS-NNN-X#` test steps using four integration techniques (Interface Contract, Data Flow, Fault Injection, Concurrency).\n\n#### 7. Generate Module Design (Step 10)\n\n```bash\n/speckit.v-model.module-design\n```\n\nReads `architecture-design.md` and generates `module-design.md` with `MOD-NNN` modules. Each module includes pseudocode (Algorithmic / Logic View), state machine diagrams, internal data structures, and error handling specifications. Modules tagged `[EXTERNAL]` or `[CROSS-CUTTING]` are handled with appropriate bypass rules.\n\n#### 8. Generate Unit Test Plan (Step 11)\n\n```bash\n/speckit.v-model.unit-test\n```\n\nReads `module-design.md` and generates `unit-test.md` with `UTP-NNN-X` test procedures and `UTS-NNN-X#` scenarios. Uses white-box techniques (Statement \u0026 Branch Coverage, Boundary Value Analysis, State Transition Testing, Equivalence Partitioning) with strict isolation — every external dependency is mocked via Dependency \u0026 Mock Registries.\n\n#### 9. Build Traceability Matrix (Step 3/6/9/12)\n\n```bash\n/speckit.v-model.trace\n```\n\nUses deterministic scripts (not AI) to build a regulatory-grade quadruple matrix. Run progressively — after acceptance for Matrix A, after system-test for A+B, after integration-test for A+B+C, after unit-test for A+B+C+D.\n\n## ID Schema\n\nThe ID scheme encodes traceability directly in the identifier:\n\n| Layer | Design ID | Test Case ID | Test Step ID | Matrix |\n|-------|-----------|-------------|-------------|--------|\n| Requirements ↔ Acceptance | `REQ-NNN` | `ATP-NNN-X` | `SCN-NNN-X#` | A |\n| System ↔ System Test | `SYS-NNN` | `STP-NNN-X` | `STS-NNN-X#` | B |\n| Architecture ↔ Integration | `ARCH-NNN` | `ITP-NNN-X` | `ITS-NNN-X#` | C |\n| Module ↔ Unit Test | `MOD-NNN` | `UTP-NNN-X` | `UTS-NNN-X#` | D |\n\nCategory prefixes: `NF` (Non-Functional), `IF` (Interface), `CN` (Constraint). Functional requirements have no prefix (e.g., `REQ-NF-001`, `ATP-NF-001-A`).\n\nEach ID is self-documenting — reading `SCN-001-A1` tells you: Scenario 1 → of Test Case A → validating Requirement 001. The same lineage applies at every level: `ITS-003-A2` → `ITP-003-A` → `ARCH-003`, and `UTS-001-A1` → `UTP-001-A` → `MOD-001`.\n\nFor a comprehensive explanation of ID formats, lifecycle, cross-level linking mechanisms, and end-to-end traceability examples, see the [Artifact ID Schema Guide](docs/id-schema-guide.md).\n\n## Configuration\n\nOptional configuration via `v-model-config.yml`:\n\n```yaml\noutput_dir: \"v-model\"\nid_prefixes:\n  requirements: \"REQ\"\n  test_cases: \"ATP\"\n  scenarios: \"SCN\"\n  system_components: \"SYS\"\n  system_test_procedures: \"STP\"\n  system_test_steps: \"STS\"\n  architecture_modules: \"ARCH\"\n  integration_test_procedures: \"ITP\"\n  integration_test_steps: \"ITS\"\n  module_designs: \"MOD\"\n  unit_test_procedures: \"UTP\"\n  unit_test_scenarios: \"UTS\"\ncoverage_threshold: 100\nbatch_size: 5\n```\n\n## Testing\n\n```bash\n# BATS tests (Bash scripts)\ntests/bats/lib/bats-core/bin/bats tests/bats/*.bats\n\n# Structural eval tests (Python, deterministic)\npip install -e \".[dev]\"\npytest tests/evals/ -m structural -v\n\n# LLM-as-judge evals (requires GOOGLE_API_KEY)\nGOOGLE_API_KEY=... pytest tests/evals/ -m eval -v\n```\n\n| Layer | Tests | What it validates |\n|-------|-------|-------------------|\n| BATS | 91 | Bash script logic (setup, coverage, system coverage, architecture coverage, module coverage, matrix, diff) |\n| Pester | 91 | PowerShell script parity |\n| Structural evals | 51 | ID format, template conformance, section completeness across all V-levels |\n| LLM-as-judge evals | 36 | Requirements quality, BDD quality, design quality, traceability (requires API key) |\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md#testing) for full details.\n\n## Target Audience\n\n- **Any engineering team** wanting rigorous spec + test pairing\n- **Regulated industries** (medical devices, automotive, aerospace) needing audit-ready traceability artifacts\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleocamello%2Fspec-kit-v-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleocamello%2Fspec-kit-v-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleocamello%2Fspec-kit-v-model/lists"}