Elements
graph TD;
%% REQVIRE-AUTOGENERATED-DIAGRAM
%% Graph styling
classDef userRequirement fill:#D1C4E9,stroke:#7E57C2,stroke-width:2px;
classDef systemRequirement fill:#E1D8EE,stroke:#673AB7,stroke-width:1.5px;
classDef verification fill:#DCEDC8,stroke:#4CAF50,stroke-width:2px;
classDef folder fill:#FAFAFA,stroke:#9E9E9E,stroke-width:3px;
classDef file fill:#FFF8E1,stroke:#FFCA28,stroke-width:2px;
classDef default fill:#F5F5F5,stroke:#424242,stroke-width:1.5px;
subgraph 8735c0a811307e57["π requirements/Functional/Core"]
subgraph d1a073c5dbdc4a00["π Behaviors.md"]
c7a7113c11f9175d["Subdirectory Auto-Detection Behavior"];
class c7a7113c11f9175d default;
click c7a7113c11f9175d "Behaviors.html#subdirectory-auto-detection-behavior";
end
subgraph 793b6191caf1a62f["π Constraints.md"]
c1660a11594249ca["Element Type Relation Compatibility Constraint"];
class c1660a11594249ca default;
click c1660a11594249ca "Constraints.html#element-type-relation-compatibility-constraint";
end
subgraph 193cce1f294b91c8["π ModelManagement.md"]
42398f2c82684691["Attachment Identifier Updates
π requirements/Functional/Core/Behaviors.md#attachment-identifier-crud-update-behavior"];
class 42398f2c82684691 systemRequirement;
click 42398f2c82684691 "ModelManagement.html#attachment-identifier-updates";
659a813dd417bc5e["Default Requirement Type Assignment
π requirements/Functional/Core/Specifications.md#element-type-metadata-specification"];
class 659a813dd417bc5e userRequirement;
click 659a813dd417bc5e "ModelManagement.html#default-requirement-type-assignment";
d27e40511b457522["Efficient Processing"];
class d27e40511b457522 userRequirement;
click d27e40511b457522 "ModelManagement.html#efficient-processing";
d7718b70035d8d84["Element Manipulation Operations
π requirements/Functional/Operations/Behaviors.md#file-persistence-behavior
π requirements/Functional/Operations/Behaviors.md#dry-run-mode-behavior
π requirements/Functional/Output/Specifications.md#diff-output-format-specification"];
class d7718b70035d8d84 userRequirement;
click d7718b70035d8d84 "ModelManagement.html#element-manipulation-operations";
3b924660b3d92e9d["Element Type Relation Compatibility
π requirements/Refinements.md#supported-element-types-specification"];
class 3b924660b3d92e9d systemRequirement;
click 3b924660b3d92e9d "ModelManagement.html#element-type-relation-compatibility";
43eafdd22a501023["Git Repository as Project Root
π requirements/Refinements.md#containment-specification"];
class 43eafdd22a501023 userRequirement;
click 43eafdd22a501023 "ModelManagement.html#git-repository-as-project-root";
7b8a81499865dbaa["Refinement Element Structure Constraints
π RelationTypes.md
π requirements/Refinements.md#supported-element-types-specification"];
class 7b8a81499865dbaa systemRequirement;
click 7b8a81499865dbaa "ModelManagement.html#refinement-element-structure-constraints";
ac192cac778569d0["Relation Management Operations"];
class ac192cac778569d0 systemRequirement;
click ac192cac778569d0 "ModelManagement.html#relation-management-operations";
15293612289d990c["Relation Types and behaviors
π RelationTypes.md
π requirements/Refinements.md#relation-semantics-specification"];
class 15293612289d990c systemRequirement;
click 15293612289d990c "ModelManagement.html#relation-types-and-behaviors";
5dea9fe53eee419e["Template-Based Model Bootstrapping"];
class 5dea9fe53eee419e userRequirement;
click 5dea9fe53eee419e "ModelManagement.html#template-based-model-bootstrapping";
1275026756e287b9["Verification Type Categories
π requirements/Refinements.md#supported-element-types-specification"];
class 1275026756e287b9 systemRequirement;
click 1275026756e287b9 "ModelManagement.html#verification-type-categories";
end
subgraph 525b4b735cf204bb["π Specifications.md"]
f95149e7369cd429["Git Repository Scope Specification"];
class f95149e7369cd429 default;
click f95149e7369cd429 "Specifications.html#git-repository-scope-specification";
75dfb35477f838d5["Verification Type Selection Guidelines"];
class 75dfb35477f838d5 default;
click 75dfb35477f838d5 "Specifications.html#verification-type-selection-guidelines";
end
subgraph 98067cc5207d6b91["π Validation.md"]
9f1021634cff7f57["Relation Element Type Validator"];
class 9f1021634cff7f57 systemRequirement;
click 9f1021634cff7f57 "Validation.html#relation-element-type-validator";
4a77e514d9e5539b["Validate Relation Types
π requirements/Refinements.md#relation-semantics-specification"];
class 4a77e514d9e5539b userRequirement;
click 4a77e514d9e5539b "Validation.html#validate-relation-types";
end
end
subgraph 6c93988fc728d1f8["π requirements/Functional/Core/Verifications"]
subgraph 622a654342e7abad["π AttachmentsVerifications.md"]
2b94b4f8deb0b47d["Attachment Identifier CRUD Verification"];
class 2b94b4f8deb0b47d verification;
click 2b94b4f8deb0b47d "Verifications/AttachmentsVerifications.html#attachment-identifier-crud-verification";
end
subgraph 83363717080555bd["π ParsingVerifications.md"]
98ae4e1997fb1002["Element Subsection Parsing Test"];
class 98ae4e1997fb1002 verification;
click 98ae4e1997fb1002 "Verifications/ParsingVerifications.html#element-subsection-parsing-test";
581d470f0ef1f431["Refinement Element Type Parsing Test"];
class 581d470f0ef1f431 verification;
click 581d470f0ef1f431 "Verifications/ParsingVerifications.html#refinement-element-type-parsing-test";
52b50094727794f3["Refinement Relations Rejection Test"];
class 52b50094727794f3 verification;
click 52b50094727794f3 "Verifications/ParsingVerifications.html#refinement-relations-rejection-test";
end
subgraph 46a9d0ceb9db210e["π ValidationVerifications.md"]
40f8f3dcc6a4e8bd["Default Element Type Assignment Test"];
class 40f8f3dcc6a4e8bd verification;
click 40f8f3dcc6a4e8bd "Verifications/ValidationVerifications.html#default-element-type-assignment-test";
4bbdeefb4231596e["Element Type Relation Compatibility Test"];
class 4bbdeefb4231596e verification;
click 4bbdeefb4231596e "Verifications/ValidationVerifications.html#element-type-relation-compatibility-test";
c40e17e0f8f2b5ec["Subdirectory Processing Verification"];
class c40e17e0f8f2b5ec verification;
click c40e17e0f8f2b5ec "Verifications/ValidationVerifications.html#subdirectory-processing-verification";
end
end
subgraph 91eede421faaa553["π requirements/Functional/Operations"]
subgraph e1e686bef27807d6["π ElementManipulation.md"]
bf9a2f73b67492b9["Create Element Operation
π requirements/Functional/Operations/Constraints.md#target-location-constraint
π requirements/Functional/Operations/Behaviors.md#element-ordering-behavior"];
class bf9a2f73b67492b9 systemRequirement;
click bf9a2f73b67492b9 "../Operations/ElementManipulation.html#create-element-operation";
591265fa14ecd72d["Delete Element Operation"];
class 591265fa14ecd72d systemRequirement;
click 591265fa14ecd72d "../Operations/ElementManipulation.html#delete-element-operation";
cab861a199d11c3c["Element Manipulation File Persistence
π requirements/Functional/Operations/Behaviors.md#element-ordering-behavior"];
class cab861a199d11c3c systemRequirement;
click cab861a199d11c3c "../Operations/ElementManipulation.html#element-manipulation-file-persistence";
451abcac00b45de4["Merge Element Operation"];
class 451abcac00b45de4 systemRequirement;
click 451abcac00b45de4 "../Operations/ElementManipulation.html#merge-element-operation";
c68daf5bfafc5a05["Move Element Operation
π requirements/Functional/Operations/Constraints.md#target-location-constraint
π requirements/Functional/Operations/Behaviors.md#element-ordering-behavior"];
class c68daf5bfafc5a05 systemRequirement;
click c68daf5bfafc5a05 "../Operations/ElementManipulation.html#move-element-operation";
b9c9829782477a6c["Move File Operation
π requirements/Functional/Operations/Constraints.md#target-location-constraint"];
class b9c9829782477a6c systemRequirement;
click b9c9829782477a6c "../Operations/ElementManipulation.html#move-file-operation";
f006550e707e055f["Relation Consistency Maintenance"];
class f006550e707e055f systemRequirement;
click f006550e707e055f "../Operations/ElementManipulation.html#relation-consistency-maintenance";
8f31bcc56d19f6e9["Rename Element Operation"];
class 8f31bcc56d19f6e9 systemRequirement;
click 8f31bcc56d19f6e9 "../Operations/ElementManipulation.html#rename-element-operation";
9cdb6297e49a3802["Target Location Validation and Auto-Creation
π requirements/Functional/Core/Specifications.md#git-repository-scope-specification"];
class 9cdb6297e49a3802 systemRequirement;
click 9cdb6297e49a3802 "../Operations/ElementManipulation.html#target-location-validation-and-auto-creation";
end
subgraph 7c2e7eef0051f760["π Specifications.md"]
2a23f1dee6913aeb["Relation Operations Specification"];
class 2a23f1dee6913aeb default;
click 2a23f1dee6913aeb "../Operations/Specifications.html#relation-operations-specification";
end
end
subgraph 75874bcc96c01d2f["π requirements/Functional/Operations/Verifications"]
subgraph 264302f069db5bdb["π ElementManipulationVerifications.md"]
ea3a2bf2fbe74057["Link Command Verification"];
class ea3a2bf2fbe74057 verification;
click ea3a2bf2fbe74057 "../Operations/Verifications/ElementManipulationVerifications.html#link-command-verification";
9f8ff23aca853fa0["Unlink Command Verification"];
class 9f8ff23aca853fa0 verification;
click 9f8ff23aca853fa0 "../Operations/Verifications/ElementManipulationVerifications.html#unlink-command-verification";
end
end
subgraph e6e9a42ade18cb0e["π requirements/Functional/Output"]
subgraph a1762b6e181c2fd0["π DiagramGeneration.md"]
6a54472e974b0c63["Trace Relation Non-Directional Behavior"];
class 6a54472e974b0c63 systemRequirement;
click 6a54472e974b0c63 "../Output/DiagramGeneration.html#trace-relation-non-directional-behavior";
end
end
993c12e82435a78e["crud.rs"];
class 993c12e82435a78e default;
click 993c12e82435a78e "../../../core/src/crud.rs";
42398f2c82684691 -->|satisfiedBy| 993c12e82435a78e;
42398f2c82684691 -.->|verifiedBy| 2b94b4f8deb0b47d;
659a813dd417bc5e -.->|verifiedBy| 98ae4e1997fb1002;
659a813dd417bc5e -.->|verifiedBy| 40f8f3dcc6a4e8bd;
d7718b70035d8d84 -.->|deriveReqT| 42398f2c82684691;
d7718b70035d8d84 -.->|deriveReqT| bf9a2f73b67492b9;
d7718b70035d8d84 -.->|deriveReqT| 591265fa14ecd72d;
d7718b70035d8d84 -.->|deriveReqT| cab861a199d11c3c;
d7718b70035d8d84 -.->|deriveReqT| 451abcac00b45de4;
d7718b70035d8d84 -.->|deriveReqT| c68daf5bfafc5a05;
d7718b70035d8d84 -.->|deriveReqT| b9c9829782477a6c;
d7718b70035d8d84 -.->|deriveReqT| f006550e707e055f;
d7718b70035d8d84 -.->|deriveReqT| 8f31bcc56d19f6e9;
d7718b70035d8d84 -.->|deriveReqT| 9cdb6297e49a3802;
3b924660b3d92e9d -.->|deriveReqT| 9f1021634cff7f57;
3b924660b3d92e9d -->|satisfiedBy| c1660a11594249ca;
3b924660b3d92e9d -.->|verifiedBy| 4bbdeefb4231596e;
43eafdd22a501023 -.->|deriveReqT| 9cdb6297e49a3802;
9893721bc67f82c9["git_commands.rs"];
class 9893721bc67f82c9 default;
click 9893721bc67f82c9 "../../../core/src/git_commands.rs";
43eafdd22a501023 -->|satisfiedBy| 9893721bc67f82c9;
43eafdd22a501023 -->|satisfiedBy| c7a7113c11f9175d;
43eafdd22a501023 -->|satisfiedBy| f95149e7369cd429;
43eafdd22a501023 -.->|verifiedBy| c40e17e0f8f2b5ec;
499d48218b73f571["model.rs"];
class 499d48218b73f571 default;
click 499d48218b73f571 "../../../core/src/model.rs";
7b8a81499865dbaa -->|satisfiedBy| 499d48218b73f571;
7b8a81499865dbaa -.->|verifiedBy| 581d470f0ef1f431;
7b8a81499865dbaa -.->|verifiedBy| 52b50094727794f3;
ac192cac778569d0 -->|satisfiedBy| 993c12e82435a78e;
95cf526671ec752c["graph_registry.rs"];
class 95cf526671ec752c default;
click 95cf526671ec752c "../../../core/src/graph_registry.rs";
ac192cac778569d0 -->|satisfiedBy| 95cf526671ec752c;
ac192cac778569d0 -->|satisfiedBy| 2a23f1dee6913aeb;
ac192cac778569d0 -.->|verifiedBy| ea3a2bf2fbe74057;
ac192cac778569d0 -.->|verifiedBy| 9f8ff23aca853fa0;
15293612289d990c -.->|deriveReqT| 3b924660b3d92e9d;
15293612289d990c -.->|deriveReqT| 7b8a81499865dbaa;
15293612289d990c -.->|deriveReqT| ac192cac778569d0;
15293612289d990c -.->|deriveReqT| 4a77e514d9e5539b;
15293612289d990c -.->|deriveReqT| 6a54472e974b0c63;
1cfe88f8d3cc7aac["relation.rs"];
class 1cfe88f8d3cc7aac default;
click 1cfe88f8d3cc7aac "../../../core/src/relation.rs";
15293612289d990c -->|satisfiedBy| 1cfe88f8d3cc7aac;
15293612289d990c -.->|verifiedBy| 98ae4e1997fb1002;
1275026756e287b9 -->|satisfiedBy| 75dfb35477f838d5;
5f9cbc6f907e8045["test.sh"];
class 5f9cbc6f907e8045 default;
click 5f9cbc6f907e8045 "../../../tests/test-parsing-functionality/test.sh";
98ae4e1997fb1002 -->|satisfiedBy| 5f9cbc6f907e8045;
f63a7acfc08bf665["test.sh"];
class f63a7acfc08bf665 default;
click f63a7acfc08bf665 "../../../tests/test-default-type-assignment/test.sh";
40f8f3dcc6a4e8bd -->|satisfiedBy| f63a7acfc08bf665;
25bf5cc42f41e395["cli.rs"];
class 25bf5cc42f41e395 default;
click 25bf5cc42f41e395 "../../../cli/src/cli.rs";
bf9a2f73b67492b9 -->|satisfiedBy| 25bf5cc42f41e395;
bf9a2f73b67492b9 -->|satisfiedBy| 993c12e82435a78e;
d07e49b06be4058e["diff.rs"];
class d07e49b06be4058e default;
click d07e49b06be4058e "../../../core/src/diff.rs";
bf9a2f73b67492b9 -->|satisfiedBy| d07e49b06be4058e;
bf9a2f73b67492b9 -->|satisfiedBy| 95cf526671ec752c;
35bd98d101f36b62["parser.rs"];
class 35bd98d101f36b62 default;
click 35bd98d101f36b62 "../../../core/src/parser.rs";
bf9a2f73b67492b9 -->|satisfiedBy| 35bd98d101f36b62;
bdf9762d399478a5["utils.rs"];
class bdf9762d399478a5 default;
click bdf9762d399478a5 "../../../core/src/utils.rs";
bf9a2f73b67492b9 -->|satisfiedBy| bdf9762d399478a5;
bf9a2f73b67492b9 -->|satisfiedBy| 40714cbda978a508;
bf9a2f73b67492b9 -->|satisfiedBy| 3c85593db589fd04;
bf9a2f73b67492b9 -->|satisfiedBy| 86e301b42cc16d0d;
bf9a2f73b67492b9 -.->|verifiedBy| 221f6c008823a4d0;
bf9a2f73b67492b9 -.->|verifiedBy| d5bf7d0addaf6d19;
591265fa14ecd72d -->|satisfiedBy| 25bf5cc42f41e395;
591265fa14ecd72d -->|satisfiedBy| 993c12e82435a78e;
591265fa14ecd72d -->|satisfiedBy| d07e49b06be4058e;
591265fa14ecd72d -->|satisfiedBy| 95cf526671ec752c;
591265fa14ecd72d -->|satisfiedBy| bc1f889f5f12a980;
591265fa14ecd72d -->|satisfiedBy| 4366fe5150f6d7c2;
591265fa14ecd72d -.->|verifiedBy| bfd28e1e74918526;
cab861a199d11c3c -->|satisfiedBy| 993c12e82435a78e;
cab861a199d11c3c -->|satisfiedBy| 95cf526671ec752c;
cab861a199d11c3c -.->|verifiedBy| 362774efb36e2279;
cab861a199d11c3c -.->|verifiedBy| c89bd750e0ad5b9d;
451abcac00b45de4 -->|satisfiedBy| 993c12e82435a78e;
451abcac00b45de4 -->|satisfiedBy| d07e49b06be4058e;
451abcac00b45de4 -->|satisfiedBy| 95cf526671ec752c;
451abcac00b45de4 -->|satisfiedBy| 2a2729a903e6692f;
451abcac00b45de4 -->|satisfiedBy| 3e506d76554b3740;
451abcac00b45de4 -->|satisfiedBy| 9a6c593ffee9a214;
451abcac00b45de4 -.->|verifiedBy| c7b35d6963f1017;
c68daf5bfafc5a05 -->|satisfiedBy| 25bf5cc42f41e395;
c68daf5bfafc5a05 -->|satisfiedBy| 993c12e82435a78e;
c68daf5bfafc5a05 -->|satisfiedBy| d07e49b06be4058e;
c68daf5bfafc5a05 -->|satisfiedBy| 95cf526671ec752c;
c68daf5bfafc5a05 -->|satisfiedBy| c75283445bce637a;
c68daf5bfafc5a05 -.->|verifiedBy| 9ae2cd53e62b6a33;
b9c9829782477a6c -.->|verifiedBy| af599fec38b8c0bf;
f006550e707e055f -->|satisfiedBy| 95cf526671ec752c;
f006550e707e055f -.->|verifiedBy| 81422a9a6525acd7;
8f31bcc56d19f6e9 -->|satisfiedBy| 993c12e82435a78e;
8f31bcc56d19f6e9 -->|satisfiedBy| d07e49b06be4058e;
8f31bcc56d19f6e9 -->|satisfiedBy| 95cf526671ec752c;
9cdb6297e49a3802 -->|satisfiedBy| 95cf526671ec752c;
9cdb6297e49a3802 -->|satisfiedBy| bdf9762d399478a5;
9cdb6297e49a3802 -->|satisfiedBy| 1dc0e8b76789ffce;
9cdb6297e49a3802 -.->|verifiedBy| c0a8cdea5e5972df;
9f1021634cff7f57 -->|satisfiedBy| 95cf526671ec752c;
9f1021634cff7f57 -->|satisfiedBy| 499d48218b73f571;
9f1021634cff7f57 -->|satisfiedBy| 35bd98d101f36b62;
9f1021634cff7f57 -.->|verifiedBy| 4bbdeefb4231596e;
9f1021634cff7f57 -.->|verifiedBy| ad323c8d4c0751e;
845fe9ccbc0f0550["test.sh"];
class 845fe9ccbc0f0550 default;
click 845fe9ccbc0f0550 "../../../tests/test-element-type-relation-compatibility/test.sh";
4bbdeefb4231596e -->|satisfiedBy| 845fe9ccbc0f0550;
661275cf7a337c0e["test.sh"];
class 661275cf7a337c0e default;
click 661275cf7a337c0e "../../../tests/test-subdirectory-functionality/test.sh";
c40e17e0f8f2b5ec -->|satisfiedBy| 661275cf7a337c0e;
e2ae1addbaec6335["test.sh"];
class e2ae1addbaec6335 default;
click e2ae1addbaec6335 "../../../tests/test-link-unlink/test.sh";
ea3a2bf2fbe74057 -->|satisfiedBy| e2ae1addbaec6335;
9f8ff23aca853fa0 -->|satisfiedBy| e2ae1addbaec6335;
4a77e514d9e5539b -.->|deriveReqT| 9f1021634cff7f57;
6a54472e974b0c63 -.->|verifiedBy| ad323c8d4c0751e;
6a54472e974b0c63 -.->|verifiedBy| 881f005c754cdc5b;
Default Requirement Type Assignment
The system shall automatically assign the default type requirement to all elements if not explicitly specified in their metadata subsection.
Details
Type Assignment Rules
When an element does not have a #### Metadata subsection with a type property, the system assigns the default type requirement.
This behavior is location-independent: All elements default to type requirement regardless of their folder location within the Git repository.
To use other element types, users must explicitly specify the type in the elementβs Metadata subsection:
#### Metadata
* type: user-requirement
Supported element types:
requirement (default)
user-requirement
verification / test-verification
analysis-verification
inspection-verification
demonstration-verification
constraint (refinement type)
behavior (refinement type)
specification (refinement type)
other
Metadata
Attachments
Relations
Efficient Processing
The system shall process structured documents and relations to extract model-relevant information efficiently.
Metadata
Relations
Element Manipulation Operations
The system shall provide programmatic manipulation of model elements through operations including, but not limited to, creating new elements, deleting existing elements, moving elements between locations, and renaming elements while maintaining model integrity and traceability.
Details
All manipulation operations shall:
- Maintain model integrity and consistency
- Update or remove affected relations automatically
- Preserve traceability where appropriate
Metadata
Attachments
Relations
Attachment Identifier Updates
When moving or renaming Refinement elements, the system shall update attachment identifiers in all referencing elements, using the same behavior as relation target updates.
Details
This requirement ensures consistency between relation updates and attachment identifier updates during CRUD operations:
- When a Refinement element is moved to a different file, all attachments referencing that element shall be updated with the new identifier path
- When a Refinement element is renamed, all attachments referencing that element shall be updated with the new element name in the identifier
- The update behavior mirrors how relation targets are updated during move/rename operations
- All files containing attachments that reference the affected element shall be modified
Metadata
Attachments
Relations
Git Repository as Project Root
The system shall use the Git repository root as the project base for path resolution and scope management.
Details
- The system shall treat the root directory of the Git repository as the projectβs base for all file and folder references
- The system shall implement path resolution following clearly defined specifications
- When run from git root, the system shall process all files with paths resolved relative to git root
- When run from a subdirectory, the system shall automatically detect the subdirectory context and limit processing scope
- When run from a subdirectory, the system shall validate that all references stay within scope boundaries following clearly defined specifications
Metadata
Attachments
Relations
Relation Types and behaviors
The system shall implement relations following clearly defined specifications for types and behaviors.
Metadata
Attachments
Relations
Element Type Relation Compatibility
The system shall enforce element type constraints for relation types, ensuring that only valid combinations of source and target element types are allowed for each relation type.
Details
The system shall define element type relation compatibility constraints.
Metadata
Attachments
Relations
Refinement Element Structure Constraints
The system shall restrict Refinement elements (constraint, behavior, specification) to only allow satisfy relations.
Details
Refinement elements serve as detailed documentation that can be attached to other elements. Their relation usage is restricted because:
- They represent atomic pieces of information focused on documenting requirements
- They are primarily referenced through the Attachments subsection of other elements
- Their
satisfy relation links back to the requirement they fulfill
When a Refinement element contains relations other than satisfy, the validator shall report an error indicating that only satisfy relations are allowed for refinement types.
Metadata
Attachments
Relations
Relation Management Operations
The system shall provide programmatic manipulation of element relations through link and unlink operations while maintaining model integrity.
Details
When linking, the system shall:
- Add a relation entry to the elementβs Relations subsection
- Create the Relations subsection if it does not exist
- Validate the relation type and element type compatibility
- Skip if relation already exists (idempotent operation)
When unlinking, the system shall:
- Remove the relation entry from the elementβs Relations subsection
- Remove the Relations subsection if no relations remain
Metadata
Relations
Template-Based Model Bootstrapping
The system shall enable systems engineers to quickly bootstrap new System models from predefined templates stored in Git repositories, accelerating project initialization and promoting best-practice model structures.
Details
Template Bootstrapping Capabilities
Users can initialize new models using the CLI with templates from Git repositories:
- Discover available templates within a specified repository
- Select and apply templates interactively
- Bootstrap model structure with predefined files, folders, and requirements
Templates are consumed from Git repositories only, with support for repositories containing multiple templates alongside other content.
Example usage:
reqvire init --template <github-repo-url>
The system discovers all available templates in the repository and allows the user to select which template to apply.
Metadata
Relations
Verification Type Categories
The system shall support defined verification categories following clearly defined specifications.
Metadata
Attachments
Relations