musubix2 0.5.71 → 0.5.73
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.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +131 -7
- package/dist/cli.js.map +1 -1
- package/dist/index.js +131 -7
- package/package.json +1 -1
package/.claude/.musubix-managed
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generator":"musubix2","version":"0.5.
|
|
1
|
+
{"generator":"musubix2","version":"0.5.73","timestamp":"2026-07-10T23:27:22.392Z"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -126,7 +126,7 @@ export declare function handleReqValidate(filePath: string): Promise<ExitCodeVal
|
|
|
126
126
|
export declare function handleReqWizard(): Promise<ExitCodeValue>;
|
|
127
127
|
export declare function handleReqInterview(args: Record<string, unknown>): Promise<ExitCodeValue>;
|
|
128
128
|
export declare function handleDesignGenerate(filePath: string, outPath?: string): Promise<ExitCodeValue>;
|
|
129
|
-
export declare function handleDesignC4(filePath: string, level?: string): Promise<ExitCodeValue>;
|
|
129
|
+
export declare function handleDesignC4(filePath: string, level?: string, format?: string): Promise<ExitCodeValue>;
|
|
130
130
|
export declare function handleDesignVerify(filePath: string): Promise<ExitCodeValue>;
|
|
131
131
|
export declare function handleCodegen(nameOrFile: string, type?: string, outPath?: string): Promise<ExitCodeValue>;
|
|
132
132
|
export declare function handleTestGen(filePath: string): Promise<ExitCodeValue>;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -8823,6 +8823,7 @@ __export(dist_exports5, {
|
|
|
8823
8823
|
createComplianceChecker: () => createComplianceChecker,
|
|
8824
8824
|
createSecretDetector: () => createSecretDetector,
|
|
8825
8825
|
createSecurityScanner: () => createSecurityScanner,
|
|
8826
|
+
isLikelyConfigSecret: () => isLikelyConfigSecret,
|
|
8826
8827
|
isLikelySecret: () => isLikelySecret,
|
|
8827
8828
|
isNotFormatMarker: () => isNotFormatMarker,
|
|
8828
8829
|
isNotUrlPlaceholder: () => isNotUrlPlaceholder
|
|
@@ -8910,6 +8911,19 @@ function isNotUrlPlaceholder(matchText) {
|
|
|
8910
8911
|
}
|
|
8911
8912
|
return true;
|
|
8912
8913
|
}
|
|
8914
|
+
function isLikelyConfigSecret(matchText) {
|
|
8915
|
+
const v = matchText.replace(/^[^:=]*[:=]\s*/, "").replace(/^['"]|['"]\s*$/g, "").trim();
|
|
8916
|
+
if (v.length < 8) {
|
|
8917
|
+
return false;
|
|
8918
|
+
}
|
|
8919
|
+
if (/^(change[_-]?me|your[_-].*|example.*|sample.*|placeholder|redacted|secret|password|passwd|token|none|null|true|false|undefined|xxx+|\*+|todo|tbd)$/i.test(v)) {
|
|
8920
|
+
return false;
|
|
8921
|
+
}
|
|
8922
|
+
if (/[$#]\{|\$\w|<[^>]+>|\{\{|%\(|process\.env|os\.environ|getenv/i.test(v)) {
|
|
8923
|
+
return false;
|
|
8924
|
+
}
|
|
8925
|
+
return true;
|
|
8926
|
+
}
|
|
8913
8927
|
function blankNonCode(code, hashComments) {
|
|
8914
8928
|
const out = code.split("");
|
|
8915
8929
|
const n = code.length;
|
|
@@ -9049,6 +9063,29 @@ var init_dist5 = __esm({
|
|
|
9049
9063
|
cweId: "CWE-798",
|
|
9050
9064
|
confidence: 0.95
|
|
9051
9065
|
},
|
|
9066
|
+
{
|
|
9067
|
+
// AWS *secret* access key: anchored on the well-known variable name plus a
|
|
9068
|
+
// 40-char base64 value (the AKIA rule only catches the access-key *id*).
|
|
9069
|
+
regex: /\baws_secret_access_key\b['"\s]*[=:]\s*['"]?[A-Za-z0-9/+]{40}(?![A-Za-z0-9/+])/gi,
|
|
9070
|
+
severity: "critical",
|
|
9071
|
+
type: "secret-leak",
|
|
9072
|
+
description: "AWS secret access key detected",
|
|
9073
|
+
suggestion: "Remove the AWS secret key and use environment variables or a secrets manager",
|
|
9074
|
+
cweId: "CWE-798",
|
|
9075
|
+
confidence: 0.9
|
|
9076
|
+
},
|
|
9077
|
+
{
|
|
9078
|
+
// Config-style hardcoded secret (`api_key: …`, `password = …`) in code or
|
|
9079
|
+
// YAML/env. `validate` rejects placeholders, env refs, and booleans.
|
|
9080
|
+
regex: /\b(?:api[_-]?key|secret[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|password|passwd)\b\s*[:=]\s*['"]?[^\s'"#]{8,}['"]?/gi,
|
|
9081
|
+
severity: "high",
|
|
9082
|
+
type: "hardcoded-credential",
|
|
9083
|
+
description: "Hardcoded API key / secret assignment detected",
|
|
9084
|
+
suggestion: "Load secrets from environment variables or a secrets manager",
|
|
9085
|
+
cweId: "CWE-798",
|
|
9086
|
+
confidence: 0.7,
|
|
9087
|
+
validate: isLikelyConfigSecret
|
|
9088
|
+
},
|
|
9052
9089
|
{
|
|
9053
9090
|
regex: /-----BEGIN[A-Z ]*PRIVATE KEY-----/g,
|
|
9054
9091
|
severity: "critical",
|
|
@@ -17765,6 +17802,76 @@ var EXT_TO_LANG = {
|
|
|
17765
17802
|
hs: "haskell",
|
|
17766
17803
|
lua: "lua"
|
|
17767
17804
|
};
|
|
17805
|
+
var SECRET_SCAN_EXT = /* @__PURE__ */ new Set([
|
|
17806
|
+
"env",
|
|
17807
|
+
"yml",
|
|
17808
|
+
"yaml",
|
|
17809
|
+
"json",
|
|
17810
|
+
"toml",
|
|
17811
|
+
"ini",
|
|
17812
|
+
"cfg",
|
|
17813
|
+
"conf",
|
|
17814
|
+
"config",
|
|
17815
|
+
"properties",
|
|
17816
|
+
"xml",
|
|
17817
|
+
"sh",
|
|
17818
|
+
"bash",
|
|
17819
|
+
"zsh",
|
|
17820
|
+
"tf",
|
|
17821
|
+
"tfvars",
|
|
17822
|
+
"pem",
|
|
17823
|
+
"txt"
|
|
17824
|
+
]);
|
|
17825
|
+
var RESERVED_WORDS = /* @__PURE__ */ new Set([
|
|
17826
|
+
"class",
|
|
17827
|
+
"interface",
|
|
17828
|
+
"enum",
|
|
17829
|
+
"function",
|
|
17830
|
+
"const",
|
|
17831
|
+
"let",
|
|
17832
|
+
"var",
|
|
17833
|
+
"return",
|
|
17834
|
+
"if",
|
|
17835
|
+
"else",
|
|
17836
|
+
"for",
|
|
17837
|
+
"while",
|
|
17838
|
+
"do",
|
|
17839
|
+
"switch",
|
|
17840
|
+
"case",
|
|
17841
|
+
"break",
|
|
17842
|
+
"continue",
|
|
17843
|
+
"new",
|
|
17844
|
+
"delete",
|
|
17845
|
+
"typeof",
|
|
17846
|
+
"instanceof",
|
|
17847
|
+
"void",
|
|
17848
|
+
"this",
|
|
17849
|
+
"super",
|
|
17850
|
+
"extends",
|
|
17851
|
+
"implements",
|
|
17852
|
+
"import",
|
|
17853
|
+
"export",
|
|
17854
|
+
"default",
|
|
17855
|
+
"try",
|
|
17856
|
+
"catch",
|
|
17857
|
+
"finally",
|
|
17858
|
+
"throw",
|
|
17859
|
+
"in",
|
|
17860
|
+
"of",
|
|
17861
|
+
"yield",
|
|
17862
|
+
"async",
|
|
17863
|
+
"await",
|
|
17864
|
+
"static",
|
|
17865
|
+
"public",
|
|
17866
|
+
"private",
|
|
17867
|
+
"protected",
|
|
17868
|
+
"package",
|
|
17869
|
+
"null",
|
|
17870
|
+
"true",
|
|
17871
|
+
"false",
|
|
17872
|
+
"with",
|
|
17873
|
+
"debugger"
|
|
17874
|
+
]);
|
|
17768
17875
|
var WALK_IGNORE = /* @__PURE__ */ new Set(["node_modules", ".git", "dist", "coverage", ".next", "build"]);
|
|
17769
17876
|
function collectFiles(target, extFilter) {
|
|
17770
17877
|
const stat = statSync(target);
|
|
@@ -19136,7 +19243,7 @@ async function handleSecurity(filePath, failOn, excludeTests) {
|
|
|
19136
19243
|
const taint = new TaintAnalyzer();
|
|
19137
19244
|
const dataflow = new TaintDataflowAnalyzer();
|
|
19138
19245
|
const deps = new DependencyScanner();
|
|
19139
|
-
const allFiles = collectFiles(filePath, (ext) => ext in EXT_TO_LANG).filter((f) => !isVendorOrMinified(f));
|
|
19246
|
+
const allFiles = collectFiles(filePath, (ext) => ext in EXT_TO_LANG || SECRET_SCAN_EXT.has(ext)).filter((f) => !isVendorOrMinified(f));
|
|
19140
19247
|
const files = excludeTests ? allFiles.filter((f) => !isTestFile(f)) : allFiles;
|
|
19141
19248
|
const skipped = allFiles.length - files.length;
|
|
19142
19249
|
const rawFindings = [];
|
|
@@ -19511,12 +19618,17 @@ function deriveC4FromRequirements(content) {
|
|
|
19511
19618
|
}
|
|
19512
19619
|
return { title: "System Architecture", elements, relationships };
|
|
19513
19620
|
}
|
|
19514
|
-
async function handleDesignC4(filePath, level = "context") {
|
|
19621
|
+
async function handleDesignC4(filePath, level = "context", format = "mermaid") {
|
|
19515
19622
|
try {
|
|
19516
19623
|
if (!existsSync12(filePath)) {
|
|
19517
19624
|
console.error(`\u274C Path not found: ${filePath}`);
|
|
19518
19625
|
return ExitCode.GENERAL_ERROR;
|
|
19519
19626
|
}
|
|
19627
|
+
const fmt = format.toLowerCase();
|
|
19628
|
+
if (fmt !== "mermaid" && fmt !== "plantuml") {
|
|
19629
|
+
console.error(`\u274C Unknown --format "${format}". Use mermaid or plantuml.`);
|
|
19630
|
+
return ExitCode.VALIDATION_ERROR;
|
|
19631
|
+
}
|
|
19520
19632
|
const content = readFileSync6(filePath, "utf-8");
|
|
19521
19633
|
let data;
|
|
19522
19634
|
if (content.trimStart().startsWith("{")) {
|
|
@@ -19536,8 +19648,7 @@ async function handleDesignC4(filePath, level = "context") {
|
|
|
19536
19648
|
}
|
|
19537
19649
|
const c4Level = level;
|
|
19538
19650
|
const diagram = generator.generateDiagram(c4Level, data.title ?? "System");
|
|
19539
|
-
|
|
19540
|
-
console.log(mermaid);
|
|
19651
|
+
console.log(fmt === "plantuml" ? generator.toPlantUML(diagram) : generator.toMermaid(diagram));
|
|
19541
19652
|
return ExitCode.SUCCESS;
|
|
19542
19653
|
} catch (err) {
|
|
19543
19654
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -19707,7 +19818,19 @@ async function handleCodegen(nameOrFile, type = "class", outPath) {
|
|
|
19707
19818
|
console.error(`\u2705 Generated ${targets.length} skeleton(s) from ${nameOrFile}`);
|
|
19708
19819
|
return ExitCode.SUCCESS;
|
|
19709
19820
|
}
|
|
19710
|
-
|
|
19821
|
+
if (/[\\/]/.test(nameOrFile) || /\.(md|json|ts|tsx|js|jsx|ya?ml)$/i.test(nameOrFile)) {
|
|
19822
|
+
console.error(`\u274C File not found: ${nameOrFile}`);
|
|
19823
|
+
return ExitCode.GENERAL_ERROR;
|
|
19824
|
+
}
|
|
19825
|
+
const validTypes = generator.getTemplateTypes();
|
|
19826
|
+
if (!validTypes.includes(type)) {
|
|
19827
|
+
console.error(`\u274C Unknown --type "${type}". Valid: ${validTypes.join(", ")}`);
|
|
19828
|
+
return ExitCode.VALIDATION_ERROR;
|
|
19829
|
+
}
|
|
19830
|
+
let safeName = /^[A-Za-z_$][\w$]*$/.test(nameOrFile) ? nameOrFile : toPascalCase(nameOrFile);
|
|
19831
|
+
if (RESERVED_WORDS.has(safeName)) {
|
|
19832
|
+
safeName = `${safeName}_`;
|
|
19833
|
+
}
|
|
19711
19834
|
const result = generator.generate({
|
|
19712
19835
|
templateType: type,
|
|
19713
19836
|
name: safeName
|
|
@@ -20870,11 +20993,12 @@ function getDefaultCommands() {
|
|
|
20870
20993
|
const positionalArgs = args["args"] ?? [];
|
|
20871
20994
|
const filePath = args["file"] ?? args["subcommand"] ?? positionalArgs[0];
|
|
20872
20995
|
if (!filePath) {
|
|
20873
|
-
console.error("\u274C Usage: musubix design:c4 <file> [--level context|container|component]");
|
|
20996
|
+
console.error("\u274C Usage: musubix design:c4 <file> [--level context|container|component] [--format mermaid|plantuml]");
|
|
20874
20997
|
return ExitCode.VALIDATION_ERROR;
|
|
20875
20998
|
}
|
|
20876
20999
|
const level = args["level"] ?? "context";
|
|
20877
|
-
|
|
21000
|
+
const c4Format = args["format"] ?? "mermaid";
|
|
21001
|
+
return await handleDesignC4(filePath, level, c4Format);
|
|
20878
21002
|
}
|
|
20879
21003
|
},
|
|
20880
21004
|
{
|