Configuration Reference¶
The V-Model Extension Pack uses an optional v-model-config.yml file to control extension behavior at the project level.
File Location¶
Place the configuration file in the repository root:
your-project/
├── v-model-config.yml ← Configuration file
├── .specify/
├── specs/
│ └── {feature}/
│ └── v-model/
│ ├── requirements.md
│ └── ...
└── ...
The file is Git-tracked, making configuration decisions auditable.
Schema¶
Configuration Options¶
domain¶
Controls safety-critical section generation across V-Model commands.
| Attribute | Value |
|---|---|
| Type | String (enum) |
| Default | "" (empty — non-regulated) |
| Required | No |
Valid values:
| Value | Standard | Description |
|---|---|---|
"" (empty) |
None | Non-regulated mode — no safety-critical sections |
iso_26262 |
ISO 26262 | Automotive functional safety |
do_178c |
DO-178C | Aerospace software assurance |
iec_62304 |
IEC 62304 | Medical device software lifecycle |
Domain Effects by Command¶
When a domain is set, commands generate additional safety-critical sections specific to the regulatory standard.
iso_26262 — Automotive (ISO 26262)¶
| Command | Additional Sections |
|---|---|
system-design |
Freedom from Interference (FFI) analysis, Restricted Complexity |
system-test |
Structural Coverage (MC/DC) targets, WCET verification |
architecture-design |
ASIL Decomposition (safety integrity allocation), Defensive Programming |
integration-test |
SIL/HIL Compatibility (Software/Hardware-in-the-Loop), Resource Contention |
module-design |
Complexity Limits (cyclomatic ≤ 10), Memory Management (no dynamic allocation after init), MISRA/CERT-C compliance |
unit-test |
MC/DC Coverage (each condition independently affects decision), Variable-Level Fault Injection |
do_178c — Aerospace (DO-178C)¶
| Command | Additional Sections |
|---|---|
system-design |
Freedom from Interference (FFI) analysis, Restricted Complexity |
system-test |
Structural Coverage (MC/DC) targets, WCET verification |
architecture-design |
ASIL Decomposition, Temporal Constraints |
integration-test |
SIL/HIL Compatibility, Resource Contention |
module-design |
Single Entry/Exit enforcement, Memory Management, Complexity Limits |
unit-test |
MC/DC Coverage, Variable-Level Fault Injection |
iec_62304 — Medical Devices (IEC 62304)¶
| Command | Additional Sections |
|---|---|
system-design |
Freedom from Interference (FFI) analysis, Restricted Complexity |
system-test |
Structural Coverage (MC/DC) targets, WCET verification |
architecture-design |
ASIL Decomposition, Defensive Programming |
integration-test |
SIL/HIL Compatibility, Resource Contention |
module-design |
Complexity Limits (cyclomatic ≤ 10), Memory Management |
unit-test |
MC/DC Coverage, Variable-Level Fault Injection |
Domain Comparison Matrix¶
| Section | iso_26262 |
do_178c |
iec_62304 |
|---|---|---|---|
| FFI Analysis | ✅ | ✅ | ✅ |
| Restricted Complexity | ✅ | ✅ | ✅ |
| MC/DC Targets | ✅ | ✅ | ✅ |
| WCET Verification | ✅ | ✅ | ✅ |
| ASIL Decomposition | ✅ | ✅ | ✅ |
| Defensive Programming | ✅ | — | ✅ |
| Temporal Constraints | — | ✅ | — |
| SIL/HIL Compatibility | ✅ | ✅ | ✅ |
| Resource Contention | ✅ | ✅ | ✅ |
| Complexity Limits (≤ 10) | ✅ | ✅ | ✅ |
| Memory Management | ✅ | ✅ | ✅ |
| MISRA/CERT-C Compliance | ✅ | — | — |
| Single Entry/Exit | — | ✅ | — |
| MC/DC Coverage | ✅ | ✅ | ✅ |
| Variable-Level Fault Injection | ✅ | ✅ | ✅ |
Behavior Summary¶
| Scenario | Result |
|---|---|
| Config file absent | Treated as domain: "" — non-regulated mode |
Config present, domain: "" |
Same as absent — no safety-critical sections |
Config present, domain: "iso_26262" |
Commands generate ISO 26262-specific sections |
Config present, domain: "do_178c" |
Commands generate DO-178C-specific sections |
Config present, domain: "iec_62304" |
Commands generate IEC 62304-specific sections |
Non-Regulated Projects
If you are not building for a regulated domain, you do not need a v-model-config.yml file at all. The extension works without it.
Example Configurations¶
Non-Regulated (Default)¶
No configuration file needed. Alternatively:
Automotive ADAS Project (ISO 26262)¶
This triggers:
/speckit.v-model.system-designadds Freedom from Interference (FFI) and Restricted Complexity sections/speckit.v-model.system-testadds Structural Coverage (MC/DC) and Resource Usage Testing (WCET, stack, heap) sections/speckit.v-model.architecture-designadds ASIL Decomposition and Defensive Programming sections/speckit.v-model.integration-testadds SIL/HIL Compatibility and Resource Contention sections/speckit.v-model.module-designadds Complexity Limits (≤ 10), Memory Management, and MISRA/CERT-C sections/speckit.v-model.unit-testadds MC/DC Coverage and Variable-Level Fault Injection sections
Aerospace Flight Controller (DO-178C)¶
Medical Device Software (IEC 62304)¶
Rationale¶
Why Opt-In?
Safety-critical analysis sections are mandatory under ISO 26262, DO-178C, and IEC 62304 but create noise for non-regulated projects. The opt-in approach keeps the default experience clean while enabling full regulatory compliance when needed. The configuration file is Git-tracked, making the decision auditable.