airgen-cli 0.10.2 → 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.
@@ -56,59 +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
- // Document codes are short prefixes (STK, SYS, SUB, ARC, VER, TRC).
60
- // Section codes distinguish within the document.
61
- // Ref pattern: {docCode}-{sectionCode}-{number} e.g. STK-OPS-001
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 Needs", code: "STK", sections: [
64
- { name: "Operational Needs", code: "OPS" },
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: "Functional Requirements", code: "FUNC" },
70
- { name: "Performance Requirements", code: "PERF" },
71
- { name: "Interface Requirements", code: "IFC" },
72
- { name: "Environmental Requirements", code: "ENV" },
67
+ { name: "System Requirements", code: "SYS" },
73
68
  ] },
74
69
  { name: "Subsystem Requirements", code: "SUB", sections: [
75
- { name: "Subsystem Functional", code: "FUNC" },
76
- { name: "Subsystem Performance", code: "PERF" },
77
- { name: "Subsystem Interface", code: "IFC" },
70
+ { name: "Subsystem Requirements", code: "SUB" },
78
71
  ] },
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" },
83
- ] },
84
- { name: "Verification Plan", code: "VER", sections: [
85
- { name: "Test Cases", code: "TEST" },
86
- { name: "Analysis Cases", code: "ANAL" },
87
- { name: "Inspection Cases", code: "INSP" },
88
- ] },
89
- { name: "Traceability Matrix", code: "TRC", sections: [
90
- { name: "Coverage Summary", code: "COV" },
72
+ { name: "Verification Requirements", code: "VER", sections: [
73
+ { name: "Verification Requirements", code: "VER" },
91
74
  ] },
92
75
  ];
93
76
  const seLinksets = [
94
- { source: "stakeholder-needs", target: "system-requirements" },
77
+ { source: "stakeholder-requirements", target: "system-requirements" },
95
78
  { source: "system-requirements", target: "subsystem-requirements" },
96
- { source: "architecture-description", target: "subsystem-requirements" },
97
- { source: "system-requirements", target: "verification-plan" },
98
- { source: "subsystem-requirements", target: "verification-plan" },
79
+ { source: "system-requirements", target: "verification-requirements" },
80
+ { source: "subsystem-requirements", target: "verification-requirements" },
99
81
  ];
100
82
  const safetyExtras = [
101
83
  { name: "Hazard Analysis", code: "HAZ", sections: [
102
- { name: "Hazard Identification", code: "ID" },
103
- { name: "Risk Assessment", code: "RISK" },
104
- { name: "Safety Requirements", code: "SAFE" },
84
+ { name: "Hazard Analysis", code: "HAZ" },
105
85
  ] },
106
86
  ];
107
87
  const documents = [...seDocuments];
108
88
  const linksets = [...seLinksets];
109
89
  if (opts.template === "safety") {
110
90
  documents.push(...safetyExtras);
111
- linksets.push({ source: "hazard-analysis", target: "system-requirements" }, { source: "hazard-analysis", target: "verification-plan" });
91
+ linksets.push({ source: "hazard-analysis", target: "system-requirements" }, { source: "hazard-analysis", target: "verification-requirements" });
112
92
  }
113
93
  console.error(`Scaffolding project "${opts.name}" (${slug})...`);
114
94
  // 1. Create project
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "airgen-cli",
3
- "version": "0.10.2",
3
+ "version": "0.11.0",
4
4
  "description": "AIRGen CLI — requirements engineering from the command line",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",