airgen-cli 0.10.1 → 0.11.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/dist/commands/projects.js +16 -33
- package/package.json +1 -1
|
@@ -56,56 +56,39 @@ export function registerProjectCommands(program, client) {
|
|
|
56
56
|
.option("--template <tpl>", "Template: se (default), safety", "se")
|
|
57
57
|
.action(async (tenant, opts) => {
|
|
58
58
|
const slug = opts.key ?? `se-${opts.name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)/g, "")}`;
|
|
59
|
+
// Each document gets one section. Section code matches document code so
|
|
60
|
+
// the ref generator produces clean refs: STK-REQ-001, SYS-REQ-001, etc.
|
|
61
|
+
// Additional sections can be added later per project needs.
|
|
59
62
|
const seDocuments = [
|
|
60
|
-
{ name: "Stakeholder
|
|
61
|
-
{ name: "
|
|
62
|
-
{ name: "Performance Needs", code: "PERF" },
|
|
63
|
-
{ name: "Constraints", code: "CON" },
|
|
63
|
+
{ name: "Stakeholder Requirements", code: "STK", sections: [
|
|
64
|
+
{ name: "Stakeholder Requirements", code: "STK" },
|
|
64
65
|
] },
|
|
65
|
-
{ name: "System Requirements", code: "SYS
|
|
66
|
-
{ name: "
|
|
67
|
-
{ name: "Performance Requirements", code: "PERF" },
|
|
68
|
-
{ name: "Interface Requirements", code: "IFC" },
|
|
69
|
-
{ name: "Environmental Requirements", code: "ENV" },
|
|
66
|
+
{ name: "System Requirements", code: "SYS", sections: [
|
|
67
|
+
{ name: "System Requirements", code: "SYS" },
|
|
70
68
|
] },
|
|
71
|
-
{ name: "Subsystem Requirements", code: "SUB
|
|
72
|
-
{ name: "Subsystem
|
|
73
|
-
{ name: "Subsystem Performance", code: "PERF" },
|
|
74
|
-
{ name: "Subsystem Interface", code: "IFC" },
|
|
69
|
+
{ name: "Subsystem Requirements", code: "SUB", sections: [
|
|
70
|
+
{ name: "Subsystem Requirements", code: "SUB" },
|
|
75
71
|
] },
|
|
76
|
-
{ name: "
|
|
77
|
-
{ name: "
|
|
78
|
-
{ name: "Subsystem Allocation", code: "ALLOC" },
|
|
79
|
-
{ name: "Interface Definitions", code: "IFC-DEF" },
|
|
80
|
-
] },
|
|
81
|
-
{ name: "Verification Plan", code: "VER", sections: [
|
|
82
|
-
{ name: "Test Cases", code: "TEST" },
|
|
83
|
-
{ name: "Analysis Cases", code: "ANAL" },
|
|
84
|
-
{ name: "Inspection Cases", code: "INSP" },
|
|
85
|
-
] },
|
|
86
|
-
{ name: "Traceability Matrix", code: "TRC", sections: [
|
|
87
|
-
{ name: "Coverage Summary", code: "COV" },
|
|
72
|
+
{ name: "Verification Requirements", code: "VER", sections: [
|
|
73
|
+
{ name: "Verification Requirements", code: "VER" },
|
|
88
74
|
] },
|
|
89
75
|
];
|
|
90
76
|
const seLinksets = [
|
|
91
|
-
{ source: "stakeholder-
|
|
77
|
+
{ source: "stakeholder-requirements", target: "system-requirements" },
|
|
92
78
|
{ source: "system-requirements", target: "subsystem-requirements" },
|
|
93
|
-
{ source: "
|
|
94
|
-
{ source: "
|
|
95
|
-
{ source: "subsystem-requirements", target: "verification-plan" },
|
|
79
|
+
{ source: "system-requirements", target: "verification-requirements" },
|
|
80
|
+
{ source: "subsystem-requirements", target: "verification-requirements" },
|
|
96
81
|
];
|
|
97
82
|
const safetyExtras = [
|
|
98
83
|
{ name: "Hazard Analysis", code: "HAZ", sections: [
|
|
99
|
-
{ name: "Hazard
|
|
100
|
-
{ name: "Risk Assessment", code: "RISK" },
|
|
101
|
-
{ name: "Safety Requirements", code: "SAFE" },
|
|
84
|
+
{ name: "Hazard Analysis", code: "HAZ" },
|
|
102
85
|
] },
|
|
103
86
|
];
|
|
104
87
|
const documents = [...seDocuments];
|
|
105
88
|
const linksets = [...seLinksets];
|
|
106
89
|
if (opts.template === "safety") {
|
|
107
90
|
documents.push(...safetyExtras);
|
|
108
|
-
linksets.push({ source: "hazard-analysis", target: "system-requirements" }, { source: "hazard-analysis", target: "verification-
|
|
91
|
+
linksets.push({ source: "hazard-analysis", target: "system-requirements" }, { source: "hazard-analysis", target: "verification-requirements" });
|
|
109
92
|
}
|
|
110
93
|
console.error(`Scaffolding project "${opts.name}" (${slug})...`);
|
|
111
94
|
// 1. Create project
|