airgen-cli 0.10.2 → 0.11.1
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 +20 -32
- package/package.json +1 -1
|
@@ -56,59 +56,47 @@ 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
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
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.
|
|
62
62
|
const seDocuments = [
|
|
63
|
-
{ name: "Stakeholder
|
|
64
|
-
{ name: "
|
|
65
|
-
{ name: "Performance Needs", code: "PERF" },
|
|
66
|
-
{ name: "Constraints", code: "CON" },
|
|
63
|
+
{ name: "Stakeholder Requirements", code: "STK", sections: [
|
|
64
|
+
{ name: "Stakeholder Requirements", code: "STK" },
|
|
67
65
|
] },
|
|
68
66
|
{ name: "System Requirements", code: "SYS", sections: [
|
|
69
|
-
{ name: "
|
|
70
|
-
|
|
67
|
+
{ name: "System Requirements", code: "SYS" },
|
|
68
|
+
] },
|
|
69
|
+
{ name: "Interface Requirements", code: "IFC", sections: [
|
|
71
70
|
{ name: "Interface Requirements", code: "IFC" },
|
|
72
|
-
{ name: "Environmental Requirements", code: "ENV" },
|
|
73
71
|
] },
|
|
74
72
|
{ name: "Subsystem Requirements", code: "SUB", sections: [
|
|
75
|
-
{ name: "Subsystem
|
|
76
|
-
{ name: "Subsystem Performance", code: "PERF" },
|
|
77
|
-
{ name: "Subsystem Interface", code: "IFC" },
|
|
78
|
-
] },
|
|
79
|
-
{ name: "Architecture Description", code: "ARC", sections: [
|
|
80
|
-
{ name: "System Architecture", code: "SYS" },
|
|
81
|
-
{ name: "Subsystem Allocation", code: "ALLOC" },
|
|
82
|
-
{ name: "Interface Definitions", code: "IFC" },
|
|
73
|
+
{ name: "Subsystem Requirements", code: "SUB" },
|
|
83
74
|
] },
|
|
84
|
-
{ name: "
|
|
85
|
-
{ name: "
|
|
86
|
-
{ name: "Analysis Cases", code: "ANAL" },
|
|
87
|
-
{ name: "Inspection Cases", code: "INSP" },
|
|
75
|
+
{ name: "Architecture Decisions", code: "ARC", sections: [
|
|
76
|
+
{ name: "Architecture Decisions", code: "ARC" },
|
|
88
77
|
] },
|
|
89
|
-
{ name: "
|
|
90
|
-
{ name: "
|
|
78
|
+
{ name: "Verification Requirements", code: "VER", sections: [
|
|
79
|
+
{ name: "Verification Requirements", code: "VER" },
|
|
91
80
|
] },
|
|
92
81
|
];
|
|
93
82
|
const seLinksets = [
|
|
94
|
-
{ source: "stakeholder-
|
|
83
|
+
{ source: "stakeholder-requirements", target: "system-requirements" },
|
|
84
|
+
{ source: "system-requirements", target: "interface-requirements" },
|
|
95
85
|
{ source: "system-requirements", target: "subsystem-requirements" },
|
|
96
|
-
{ source: "
|
|
97
|
-
{ source: "
|
|
98
|
-
{ source: "subsystem-requirements", target: "verification-
|
|
86
|
+
{ source: "system-requirements", target: "verification-requirements" },
|
|
87
|
+
{ source: "interface-requirements", target: "verification-requirements" },
|
|
88
|
+
{ source: "subsystem-requirements", target: "verification-requirements" },
|
|
99
89
|
];
|
|
100
90
|
const safetyExtras = [
|
|
101
91
|
{ name: "Hazard Analysis", code: "HAZ", sections: [
|
|
102
|
-
{ name: "Hazard
|
|
103
|
-
{ name: "Risk Assessment", code: "RISK" },
|
|
104
|
-
{ name: "Safety Requirements", code: "SAFE" },
|
|
92
|
+
{ name: "Hazard Analysis", code: "HAZ" },
|
|
105
93
|
] },
|
|
106
94
|
];
|
|
107
95
|
const documents = [...seDocuments];
|
|
108
96
|
const linksets = [...seLinksets];
|
|
109
97
|
if (opts.template === "safety") {
|
|
110
98
|
documents.push(...safetyExtras);
|
|
111
|
-
linksets.push({ source: "hazard-analysis", target: "system-requirements" }, { source: "hazard-analysis", target: "verification-
|
|
99
|
+
linksets.push({ source: "hazard-analysis", target: "system-requirements" }, { source: "hazard-analysis", target: "verification-requirements" });
|
|
112
100
|
}
|
|
113
101
|
console.error(`Scaffolding project "${opts.name}" (${slug})...`);
|
|
114
102
|
// 1. Create project
|