musubix2 0.5.51 → 0.5.52
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/.claude/.musubix-managed +1 -1
- package/dist/assets/skills-manifest.json +1 -1
- package/dist/cli.js +30 -6
- package/dist/index.js +30 -6
- package/package.json +1 -1
package/.claude/.musubix-managed
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generator":"musubix2","version":"0.5.
|
|
1
|
+
{"generator":"musubix2","version":"0.5.52","timestamp":"2026-07-10T07:20:28.524Z"}
|
package/dist/cli.js
CHANGED
|
@@ -2678,6 +2678,7 @@ var init_design = __esm({
|
|
|
2678
2678
|
"before",
|
|
2679
2679
|
"after",
|
|
2680
2680
|
"with",
|
|
2681
|
+
"within",
|
|
2681
2682
|
"of",
|
|
2682
2683
|
"to",
|
|
2683
2684
|
"in",
|
|
@@ -2694,11 +2695,18 @@ var init_design = __esm({
|
|
|
2694
2695
|
"about",
|
|
2695
2696
|
"over",
|
|
2696
2697
|
"under",
|
|
2698
|
+
"during",
|
|
2699
|
+
"upon",
|
|
2697
2700
|
"one",
|
|
2698
2701
|
"two",
|
|
2699
2702
|
"three",
|
|
2700
2703
|
"four",
|
|
2701
|
-
"five"
|
|
2704
|
+
"five",
|
|
2705
|
+
"six",
|
|
2706
|
+
"seven",
|
|
2707
|
+
"eight",
|
|
2708
|
+
"nine",
|
|
2709
|
+
"ten"
|
|
2702
2710
|
]);
|
|
2703
2711
|
DesignGenerator = class {
|
|
2704
2712
|
counter = 0;
|
|
@@ -2707,7 +2715,7 @@ var init_design = __esm({
|
|
|
2707
2715
|
const docId = `DES-DOC-${String(this.counter).padStart(3, "0")}`;
|
|
2708
2716
|
const groups = this.groupRequirements(requirements);
|
|
2709
2717
|
const sections = groups.map((group, idx) => {
|
|
2710
|
-
const components = this.deriveComponents(group.requirements);
|
|
2718
|
+
const components = this.deriveComponents(group.requirements, group.domain);
|
|
2711
2719
|
return {
|
|
2712
2720
|
id: `${docId}-SEC-${String(idx + 1).padStart(3, "0")}`,
|
|
2713
2721
|
title: group.title,
|
|
@@ -2770,6 +2778,7 @@ var init_design = __esm({
|
|
|
2770
2778
|
}
|
|
2771
2779
|
return Array.from(groups.entries()).map(([prefix, requirements]) => ({
|
|
2772
2780
|
title: `${prefix} Design Section`,
|
|
2781
|
+
domain: prefix.replace(/^REQ-/, ""),
|
|
2773
2782
|
requirements
|
|
2774
2783
|
}));
|
|
2775
2784
|
}
|
|
@@ -2795,17 +2804,32 @@ var init_design = __esm({
|
|
|
2795
2804
|
return `${r.id}: ${op}${r.title ? ` \u2014 ${r.title}` : ""}`;
|
|
2796
2805
|
});
|
|
2797
2806
|
}
|
|
2798
|
-
deriveComponents(reqs) {
|
|
2799
|
-
|
|
2807
|
+
deriveComponents(reqs, domain) {
|
|
2808
|
+
if (reqs.length === 1) {
|
|
2809
|
+
const r = reqs[0];
|
|
2800
2810
|
const sig = deriveMethodSignature(r.text, r.title);
|
|
2801
2811
|
const compName = this.pascal(r.title || sig.name) + (/(service|manager|controller|repository)$/i.test(r.title) ? "" : "Service");
|
|
2802
|
-
return {
|
|
2812
|
+
return [{
|
|
2803
2813
|
name: compName,
|
|
2804
2814
|
responsibility: r.title || `Handle ${r.id}`,
|
|
2805
2815
|
methods: [sig],
|
|
2806
2816
|
requirementIds: [r.id]
|
|
2807
|
-
};
|
|
2817
|
+
}];
|
|
2818
|
+
}
|
|
2819
|
+
const seen = /* @__PURE__ */ new Map();
|
|
2820
|
+
const methods = reqs.map((r) => {
|
|
2821
|
+
const sig = deriveMethodSignature(r.text, r.title);
|
|
2822
|
+
const count = seen.get(sig.name) ?? 0;
|
|
2823
|
+
seen.set(sig.name, count + 1);
|
|
2824
|
+
return count === 0 ? sig : { ...sig, name: `${sig.name}${count + 1}` };
|
|
2808
2825
|
});
|
|
2826
|
+
return [{
|
|
2827
|
+
// Normalise an all-caps domain code (PAY, LEDGER) to Title case.
|
|
2828
|
+
name: `${this.pascal(domain.toLowerCase())}Service`,
|
|
2829
|
+
responsibility: `${domain} domain \u2014 ${reqs.length} operations`,
|
|
2830
|
+
methods,
|
|
2831
|
+
requirementIds: reqs.map((r) => r.id)
|
|
2832
|
+
}];
|
|
2809
2833
|
}
|
|
2810
2834
|
deriveDataEntities(reqs) {
|
|
2811
2835
|
const entities = /* @__PURE__ */ new Set();
|
package/dist/index.js
CHANGED
|
@@ -2678,6 +2678,7 @@ var init_design = __esm({
|
|
|
2678
2678
|
"before",
|
|
2679
2679
|
"after",
|
|
2680
2680
|
"with",
|
|
2681
|
+
"within",
|
|
2681
2682
|
"of",
|
|
2682
2683
|
"to",
|
|
2683
2684
|
"in",
|
|
@@ -2694,11 +2695,18 @@ var init_design = __esm({
|
|
|
2694
2695
|
"about",
|
|
2695
2696
|
"over",
|
|
2696
2697
|
"under",
|
|
2698
|
+
"during",
|
|
2699
|
+
"upon",
|
|
2697
2700
|
"one",
|
|
2698
2701
|
"two",
|
|
2699
2702
|
"three",
|
|
2700
2703
|
"four",
|
|
2701
|
-
"five"
|
|
2704
|
+
"five",
|
|
2705
|
+
"six",
|
|
2706
|
+
"seven",
|
|
2707
|
+
"eight",
|
|
2708
|
+
"nine",
|
|
2709
|
+
"ten"
|
|
2702
2710
|
]);
|
|
2703
2711
|
DesignGenerator = class {
|
|
2704
2712
|
counter = 0;
|
|
@@ -2707,7 +2715,7 @@ var init_design = __esm({
|
|
|
2707
2715
|
const docId = `DES-DOC-${String(this.counter).padStart(3, "0")}`;
|
|
2708
2716
|
const groups = this.groupRequirements(requirements);
|
|
2709
2717
|
const sections = groups.map((group, idx) => {
|
|
2710
|
-
const components = this.deriveComponents(group.requirements);
|
|
2718
|
+
const components = this.deriveComponents(group.requirements, group.domain);
|
|
2711
2719
|
return {
|
|
2712
2720
|
id: `${docId}-SEC-${String(idx + 1).padStart(3, "0")}`,
|
|
2713
2721
|
title: group.title,
|
|
@@ -2770,6 +2778,7 @@ var init_design = __esm({
|
|
|
2770
2778
|
}
|
|
2771
2779
|
return Array.from(groups.entries()).map(([prefix, requirements]) => ({
|
|
2772
2780
|
title: `${prefix} Design Section`,
|
|
2781
|
+
domain: prefix.replace(/^REQ-/, ""),
|
|
2773
2782
|
requirements
|
|
2774
2783
|
}));
|
|
2775
2784
|
}
|
|
@@ -2795,17 +2804,32 @@ var init_design = __esm({
|
|
|
2795
2804
|
return `${r.id}: ${op}${r.title ? ` \u2014 ${r.title}` : ""}`;
|
|
2796
2805
|
});
|
|
2797
2806
|
}
|
|
2798
|
-
deriveComponents(reqs) {
|
|
2799
|
-
|
|
2807
|
+
deriveComponents(reqs, domain) {
|
|
2808
|
+
if (reqs.length === 1) {
|
|
2809
|
+
const r = reqs[0];
|
|
2800
2810
|
const sig = deriveMethodSignature(r.text, r.title);
|
|
2801
2811
|
const compName = this.pascal(r.title || sig.name) + (/(service|manager|controller|repository)$/i.test(r.title) ? "" : "Service");
|
|
2802
|
-
return {
|
|
2812
|
+
return [{
|
|
2803
2813
|
name: compName,
|
|
2804
2814
|
responsibility: r.title || `Handle ${r.id}`,
|
|
2805
2815
|
methods: [sig],
|
|
2806
2816
|
requirementIds: [r.id]
|
|
2807
|
-
};
|
|
2817
|
+
}];
|
|
2818
|
+
}
|
|
2819
|
+
const seen = /* @__PURE__ */ new Map();
|
|
2820
|
+
const methods = reqs.map((r) => {
|
|
2821
|
+
const sig = deriveMethodSignature(r.text, r.title);
|
|
2822
|
+
const count = seen.get(sig.name) ?? 0;
|
|
2823
|
+
seen.set(sig.name, count + 1);
|
|
2824
|
+
return count === 0 ? sig : { ...sig, name: `${sig.name}${count + 1}` };
|
|
2808
2825
|
});
|
|
2826
|
+
return [{
|
|
2827
|
+
// Normalise an all-caps domain code (PAY, LEDGER) to Title case.
|
|
2828
|
+
name: `${this.pascal(domain.toLowerCase())}Service`,
|
|
2829
|
+
responsibility: `${domain} domain \u2014 ${reqs.length} operations`,
|
|
2830
|
+
methods,
|
|
2831
|
+
requirementIds: reqs.map((r) => r.id)
|
|
2832
|
+
}];
|
|
2809
2833
|
}
|
|
2810
2834
|
deriveDataEntities(reqs) {
|
|
2811
2835
|
const entities = /* @__PURE__ */ new Set();
|