@standards-kit/conform 0.1.3 → 0.2.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/{chunk-RXA4FO7L.js → chunk-NADY2H35.js} +12 -8
- package/dist/chunk-NADY2H35.js.map +1 -0
- package/dist/chunk-O745CMWG.js +29 -0
- package/dist/chunk-O745CMWG.js.map +1 -0
- package/dist/chunk-RHM53NLG.js +49 -0
- package/dist/chunk-RHM53NLG.js.map +1 -0
- package/dist/{chunk-PZ2NVKI7.js → chunk-YGDEM6K5.js} +19 -5
- package/dist/chunk-YGDEM6K5.js.map +1 -0
- package/dist/cli.js +47 -36
- package/dist/cli.js.map +1 -1
- package/dist/{cloudwatch-KSZ4A256.js → cloudwatch-3LTDYG6G.js} +6 -10
- package/dist/cloudwatch-3LTDYG6G.js.map +1 -0
- package/dist/constants.d.ts +69 -0
- package/dist/core/schema.d.ts +28 -0
- package/dist/{core-KB2W6SE2.js → core-QRFGIQ42.js} +3 -2
- package/dist/{dynamodb-5KVESCVJ.js → dynamodb-HQH3IMAI.js} +6 -10
- package/dist/dynamodb-HQH3IMAI.js.map +1 -0
- package/dist/{ec2-HKPE6GZV.js → ec2-AEPT735A.js} +6 -10
- package/dist/ec2-AEPT735A.js.map +1 -0
- package/dist/{ecs-OS3NJZTA.js → ecs-UHKCH5A7.js} +6 -10
- package/dist/ecs-UHKCH5A7.js.map +1 -0
- package/dist/{elasticache-7TCRHYYM.js → elasticache-5Y6K7GKJ.js} +6 -10
- package/dist/elasticache-5Y6K7GKJ.js.map +1 -0
- package/dist/{elb-PEDLXW5R.js → elb-CN6ELVM5.js} +6 -10
- package/dist/elb-CN6ELVM5.js.map +1 -0
- package/dist/{iam-7H5HFWVQ.js → iam-YXMHK2MV.js} +6 -2
- package/dist/iam-YXMHK2MV.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +92 -118
- package/dist/index.js.map +1 -1
- package/dist/infra/checkers/client-factory.d.ts +45 -0
- package/dist/infra/schemas.d.ts +4 -4
- package/dist/{infra-ZQRXX7AW.js → infra-TO54IUSC.js} +20 -18
- package/dist/{infra-ZQRXX7AW.js.map → infra-TO54IUSC.js.map} +1 -1
- package/dist/{lambda-NFB5UILT.js → lambda-YTJOCYV5.js} +6 -10
- package/dist/lambda-YTJOCYV5.js.map +1 -0
- package/dist/{mcp-WXYRFNEV.js → mcp-73FZXT3P.js} +4 -3
- package/dist/{mcp-WXYRFNEV.js.map → mcp-73FZXT3P.js.map} +1 -1
- package/dist/projects/tier-loader.d.ts +10 -3
- package/dist/projects/types.d.ts +4 -4
- package/dist/{rds-KLG5O5SI.js → rds-GZ5RVPIU.js} +6 -10
- package/dist/rds-GZ5RVPIU.js.map +1 -0
- package/dist/{registry-7CDIMOLZ.js → registry-JRCQAIHR.js} +3 -2
- package/dist/{s3-2DH7PRVR.js → s3-53UELUWT.js} +16 -12
- package/dist/s3-53UELUWT.js.map +1 -0
- package/dist/s3-S4GXNR7H.js +53 -0
- package/dist/s3-S4GXNR7H.js.map +1 -0
- package/dist/{scan-IKEHLZXV.js → scan-RHQWHASY.js} +4 -3
- package/dist/{scan-IKEHLZXV.js.map → scan-RHQWHASY.js.map} +1 -1
- package/dist/{secretsmanager-MOOIHLAO.js → secretsmanager-FJKTPIXI.js} +6 -10
- package/dist/secretsmanager-FJKTPIXI.js.map +1 -0
- package/dist/{sns-Y36LVTWA.js → sns-RV64OMK2.js} +6 -10
- package/dist/sns-RV64OMK2.js.map +1 -0
- package/dist/{sqs-RRS3GRHK.js → sqs-MHBW6UFC.js} +6 -10
- package/dist/sqs-MHBW6UFC.js.map +1 -0
- package/dist/{standards-RXK5G4IG.js → standards-XAZKTKYJ.js} +3 -2
- package/dist/{sync-XV6XBLVZ.js → sync-P3UZECLW.js} +3 -2
- package/dist/{sync-XV6XBLVZ.js.map → sync-P3UZECLW.js.map} +1 -1
- package/dist/validate/index.d.ts +1 -1
- package/dist/validate/tier.d.ts +3 -0
- package/dist/validate/types.d.ts +3 -9
- package/dist/{validate-DKEJICCK.js → validate-J5E336GX.js} +52 -83
- package/dist/validate-J5E336GX.js.map +1 -0
- package/package.json +5 -15
- package/dist/chunk-PZ2NVKI7.js.map +0 -1
- package/dist/chunk-RXA4FO7L.js.map +0 -1
- package/dist/cloudwatch-KSZ4A256.js.map +0 -1
- package/dist/dynamodb-5KVESCVJ.js.map +0 -1
- package/dist/ec2-HKPE6GZV.js.map +0 -1
- package/dist/ecs-OS3NJZTA.js.map +0 -1
- package/dist/elasticache-7TCRHYYM.js.map +0 -1
- package/dist/elb-PEDLXW5R.js.map +0 -1
- package/dist/iam-7H5HFWVQ.js.map +0 -1
- package/dist/lambda-NFB5UILT.js.map +0 -1
- package/dist/rds-KLG5O5SI.js.map +0 -1
- package/dist/s3-2DH7PRVR.js.map +0 -1
- package/dist/secretsmanager-MOOIHLAO.js.map +0 -1
- package/dist/sns-Y36LVTWA.js.map +0 -1
- package/dist/sqs-RRS3GRHK.js.map +0 -1
- package/dist/validate-DKEJICCK.js.map +0 -1
- /package/dist/{core-KB2W6SE2.js.map → core-QRFGIQ42.js.map} +0 -0
- /package/dist/{registry-7CDIMOLZ.js.map → registry-JRCQAIHR.js.map} +0 -0
- /package/dist/{standards-RXK5G4IG.js.map → standards-XAZKTKYJ.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -11,7 +11,12 @@ import {
|
|
|
11
11
|
getProjectRoot,
|
|
12
12
|
loadConfig,
|
|
13
13
|
loadConfigAsync
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YGDEM6K5.js";
|
|
15
|
+
import {
|
|
16
|
+
AWS_DEFAULTS,
|
|
17
|
+
GITHUB_API,
|
|
18
|
+
TIMEOUTS
|
|
19
|
+
} from "./chunk-RHM53NLG.js";
|
|
15
20
|
|
|
16
21
|
// src/cli.ts
|
|
17
22
|
import * as fs22 from "fs";
|
|
@@ -351,7 +356,7 @@ var CoverageRunRunner = class extends BaseToolRunner {
|
|
|
351
356
|
const result = await execa(testCommand.cmd, testCommand.args, {
|
|
352
357
|
cwd: projectRoot,
|
|
353
358
|
reject: false,
|
|
354
|
-
timeout:
|
|
359
|
+
timeout: TIMEOUTS.codeToolExtended,
|
|
355
360
|
env: { ...process.env, CI: "true" }
|
|
356
361
|
});
|
|
357
362
|
return { exitCode: result.exitCode, stderr: result.stderr, stdout: result.stdout };
|
|
@@ -852,7 +857,7 @@ var ESLintRunner = class extends BaseToolRunner {
|
|
|
852
857
|
const result = await execa2("npx", ["eslint", ...args], {
|
|
853
858
|
cwd: projectRoot,
|
|
854
859
|
reject: false,
|
|
855
|
-
timeout:
|
|
860
|
+
timeout: TIMEOUTS.codeTool
|
|
856
861
|
});
|
|
857
862
|
const violations = this.parseOutput(result.stdout, projectRoot);
|
|
858
863
|
if (violations === null && result.exitCode !== 0 && result.stderr) {
|
|
@@ -936,7 +941,7 @@ var ESLintRunner = class extends BaseToolRunner {
|
|
|
936
941
|
const result = await execa2("npx", ["eslint", "--print-config", sampleFile], {
|
|
937
942
|
cwd: projectRoot,
|
|
938
943
|
reject: false,
|
|
939
|
-
timeout:
|
|
944
|
+
timeout: TIMEOUTS.quick
|
|
940
945
|
});
|
|
941
946
|
if (result.exitCode !== 0) {
|
|
942
947
|
return { error: `Failed to read ESLint config: ${result.stderr || "Unknown error"}` };
|
|
@@ -1260,7 +1265,7 @@ var GitleaksRunner = class extends BaseToolRunner {
|
|
|
1260
1265
|
const result = await execa3("gitleaks", args, {
|
|
1261
1266
|
cwd: projectRoot,
|
|
1262
1267
|
reject: false,
|
|
1263
|
-
timeout:
|
|
1268
|
+
timeout: TIMEOUTS.codeTool
|
|
1264
1269
|
});
|
|
1265
1270
|
return this.processResult(result, elapsed);
|
|
1266
1271
|
} catch (error) {
|
|
@@ -1340,7 +1345,7 @@ var GitleaksRunner = class extends BaseToolRunner {
|
|
|
1340
1345
|
await execa3("gitleaks", ["version"], {
|
|
1341
1346
|
cwd: projectRoot,
|
|
1342
1347
|
reject: true,
|
|
1343
|
-
timeout:
|
|
1348
|
+
timeout: TIMEOUTS.versionCheck
|
|
1344
1349
|
});
|
|
1345
1350
|
return this.pass(Date.now() - startTime);
|
|
1346
1351
|
} catch (error) {
|
|
@@ -1377,7 +1382,7 @@ var KnipRunner = class extends BaseToolRunner {
|
|
|
1377
1382
|
const result = await execa4("npx", ["knip", "--reporter", "json"], {
|
|
1378
1383
|
cwd: projectRoot,
|
|
1379
1384
|
reject: false,
|
|
1380
|
-
timeout:
|
|
1385
|
+
timeout: TIMEOUTS.codeTool
|
|
1381
1386
|
});
|
|
1382
1387
|
const output = result.stdout || result.stderr;
|
|
1383
1388
|
const violations = this.parseOutput(output, projectRoot);
|
|
@@ -1839,13 +1844,13 @@ var PipAuditRunner = class extends BaseToolRunner {
|
|
|
1839
1844
|
return await execa5("uvx", args, {
|
|
1840
1845
|
cwd: projectRoot,
|
|
1841
1846
|
reject: false,
|
|
1842
|
-
timeout:
|
|
1847
|
+
timeout: TIMEOUTS.codeTool
|
|
1843
1848
|
});
|
|
1844
1849
|
} catch {
|
|
1845
1850
|
return await execa5("pip-audit", args.slice(1), {
|
|
1846
1851
|
cwd: projectRoot,
|
|
1847
1852
|
reject: false,
|
|
1848
|
-
timeout:
|
|
1853
|
+
timeout: TIMEOUTS.codeTool
|
|
1849
1854
|
});
|
|
1850
1855
|
}
|
|
1851
1856
|
}
|
|
@@ -1962,7 +1967,7 @@ var PnpmAuditRunner = class extends BaseToolRunner {
|
|
|
1962
1967
|
const result = await execa6("pnpm", args, {
|
|
1963
1968
|
cwd: projectRoot,
|
|
1964
1969
|
reject: false,
|
|
1965
|
-
timeout:
|
|
1970
|
+
timeout: TIMEOUTS.codeTool
|
|
1966
1971
|
});
|
|
1967
1972
|
return this.processAuditResult(result, elapsed);
|
|
1968
1973
|
} catch (error) {
|
|
@@ -2140,7 +2145,7 @@ var RuffRunner = class extends BaseToolRunner {
|
|
|
2140
2145
|
const result = await execa7("ruff", this.buildCliArgs(), {
|
|
2141
2146
|
cwd: projectRoot,
|
|
2142
2147
|
reject: false,
|
|
2143
|
-
timeout:
|
|
2148
|
+
timeout: TIMEOUTS.codeTool
|
|
2144
2149
|
});
|
|
2145
2150
|
if (this.isBinaryNotFound(result)) {
|
|
2146
2151
|
return this.skipNotInstalled(Date.now() - startTime);
|
|
@@ -2306,7 +2311,7 @@ var TscRunner = class extends BaseToolRunner {
|
|
|
2306
2311
|
return execa8("npx", ["tsc", "--noEmit"], {
|
|
2307
2312
|
cwd: projectRoot,
|
|
2308
2313
|
reject: false,
|
|
2309
|
-
timeout:
|
|
2314
|
+
timeout: TIMEOUTS.codeTool
|
|
2310
2315
|
});
|
|
2311
2316
|
}
|
|
2312
2317
|
processRunResult(result, projectRoot, elapsed) {
|
|
@@ -2537,7 +2542,7 @@ var TyRunner = class extends BaseToolRunner {
|
|
|
2537
2542
|
const result = await execa9("uvx", ["ty", "check", "--output-format", "concise", "."], {
|
|
2538
2543
|
cwd: projectRoot,
|
|
2539
2544
|
reject: false,
|
|
2540
|
-
timeout:
|
|
2545
|
+
timeout: TIMEOUTS.codeTool
|
|
2541
2546
|
});
|
|
2542
2547
|
return this.handleExitCode(result, projectRoot, elapsed);
|
|
2543
2548
|
} catch (error) {
|
|
@@ -2686,7 +2691,7 @@ var VultureRunner = class _VultureRunner extends BaseToolRunner {
|
|
|
2686
2691
|
const result = await execa10("vulture", [".", "--exclude", excludePatterns], {
|
|
2687
2692
|
cwd: projectRoot,
|
|
2688
2693
|
reject: false,
|
|
2689
|
-
timeout:
|
|
2694
|
+
timeout: TIMEOUTS.codeTool
|
|
2690
2695
|
});
|
|
2691
2696
|
if (this.isBinaryNotFound(result)) {
|
|
2692
2697
|
return this.skipNotInstalled(Date.now() - startTime);
|
|
@@ -3759,7 +3764,7 @@ var BackupsRunner = class extends BaseProcessToolRunner {
|
|
|
3759
3764
|
}
|
|
3760
3765
|
getS3Client() {
|
|
3761
3766
|
return this.s3Client ?? new S3Client({
|
|
3762
|
-
region: this.config.region ?? process.env.AWS_REGION ??
|
|
3767
|
+
region: this.config.region ?? process.env.AWS_REGION ?? AWS_DEFAULTS.globalRegion
|
|
3763
3768
|
});
|
|
3764
3769
|
}
|
|
3765
3770
|
createExistsViolation() {
|
|
@@ -5727,7 +5732,7 @@ var PrRunner = class extends BaseProcessToolRunner {
|
|
|
5727
5732
|
/** Fetch a single page of PR files from GitHub API */
|
|
5728
5733
|
async fetchPrFilesPage(repo, prNumber, page, token) {
|
|
5729
5734
|
const response = await fetch(
|
|
5730
|
-
|
|
5735
|
+
`${GITHUB_API.baseUrl}/repos/${repo}/pulls/${prNumber}/files?per_page=${GITHUB_API.perPage}&page=${page}`,
|
|
5731
5736
|
{
|
|
5732
5737
|
headers: {
|
|
5733
5738
|
Authorization: `Bearer ${token}`,
|
|
@@ -6820,24 +6825,30 @@ function createRegistry(registryPath, projectTypes, dryRun) {
|
|
|
6820
6825
|
// src/projects/tier-loader.ts
|
|
6821
6826
|
import * as fs21 from "fs";
|
|
6822
6827
|
import * as path19 from "path";
|
|
6823
|
-
import
|
|
6828
|
+
import TOML from "@iarna/toml";
|
|
6824
6829
|
var DEFAULT_TIER = "internal";
|
|
6825
6830
|
var VALID_TIERS = ["production", "internal", "prototype"];
|
|
6826
6831
|
function loadProjectTier(projectDir) {
|
|
6827
|
-
const
|
|
6828
|
-
if (!fs21.existsSync(
|
|
6832
|
+
const tomlPath = path19.join(projectDir, "standards.toml");
|
|
6833
|
+
if (!fs21.existsSync(tomlPath)) {
|
|
6829
6834
|
return { tier: void 0, source: null };
|
|
6830
6835
|
}
|
|
6831
6836
|
try {
|
|
6832
|
-
const content = fs21.readFileSync(
|
|
6833
|
-
const
|
|
6834
|
-
if (!metadata?.tier) {
|
|
6837
|
+
const content = fs21.readFileSync(tomlPath, "utf-8");
|
|
6838
|
+
const parsed = TOML.parse(content);
|
|
6839
|
+
if (!parsed.metadata?.tier) {
|
|
6835
6840
|
return { tier: DEFAULT_TIER, source: "default" };
|
|
6836
6841
|
}
|
|
6837
|
-
if (!VALID_TIERS.includes(metadata.tier)) {
|
|
6842
|
+
if (!VALID_TIERS.includes(parsed.metadata.tier)) {
|
|
6838
6843
|
return { tier: DEFAULT_TIER, source: "default" };
|
|
6839
6844
|
}
|
|
6840
|
-
return {
|
|
6845
|
+
return {
|
|
6846
|
+
tier: parsed.metadata.tier,
|
|
6847
|
+
source: "standards.toml",
|
|
6848
|
+
project: parsed.metadata.project,
|
|
6849
|
+
organisation: parsed.metadata.organisation,
|
|
6850
|
+
status: parsed.metadata.status
|
|
6851
|
+
};
|
|
6841
6852
|
} catch {
|
|
6842
6853
|
return { tier: void 0, source: null };
|
|
6843
6854
|
}
|
|
@@ -7135,7 +7146,7 @@ validateCommand.command("config").description("Validate standards.toml configura
|
|
|
7135
7146
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7136
7147
|
).action(async (options) => {
|
|
7137
7148
|
try {
|
|
7138
|
-
const { loadConfigWithOverrides } = await import("./core-
|
|
7149
|
+
const { loadConfigWithOverrides } = await import("./core-QRFGIQ42.js");
|
|
7139
7150
|
const { configPath, overrides } = await loadConfigWithOverrides(options.config);
|
|
7140
7151
|
outputValidateResult(configPath, overrides, options);
|
|
7141
7152
|
process.exit(ExitCode.SUCCESS);
|
|
@@ -7228,7 +7239,7 @@ validateCommand.command("tier").description("Validate tier-ruleset alignment (re
|
|
|
7228
7239
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7229
7240
|
).action(async (options) => {
|
|
7230
7241
|
try {
|
|
7231
|
-
const { validateTierRuleset, formatTierResultText, formatTierResultJson } = await import("./validate-
|
|
7242
|
+
const { validateTierRuleset, formatTierResultText, formatTierResultJson } = await import("./validate-J5E336GX.js");
|
|
7232
7243
|
const result = validateTierRuleset({ config: options.config });
|
|
7233
7244
|
const output = options.format === "json" ? formatTierResultJson(result) : formatTierResultText(result);
|
|
7234
7245
|
process.stdout.write(`${output}
|
|
@@ -7255,7 +7266,7 @@ validateCommand.command("guidelines <path>").description("Validate guideline mar
|
|
|
7255
7266
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7256
7267
|
).action(async (dirPath, options) => {
|
|
7257
7268
|
try {
|
|
7258
|
-
const { runValidateGuidelines } = await import("./validate-
|
|
7269
|
+
const { runValidateGuidelines } = await import("./validate-J5E336GX.js");
|
|
7259
7270
|
await runValidateGuidelines(dirPath, options);
|
|
7260
7271
|
} catch (error) {
|
|
7261
7272
|
handleError(error);
|
|
@@ -7274,7 +7285,7 @@ schemaCommand.command("config").description("Output JSON schema for standards.to
|
|
|
7274
7285
|
`);
|
|
7275
7286
|
});
|
|
7276
7287
|
schemaCommand.command("guidelines").description("Output JSON schema for guideline frontmatter").action(async () => {
|
|
7277
|
-
const { frontmatterSchema } = await import("./standards-
|
|
7288
|
+
const { frontmatterSchema } = await import("./standards-XAZKTKYJ.js");
|
|
7278
7289
|
const jsonSchema = zodToJsonSchema(frontmatterSchema, {
|
|
7279
7290
|
name: "GuidelineFrontmatter",
|
|
7280
7291
|
$refStrategy: "none"
|
|
@@ -7303,14 +7314,14 @@ processCommand.command("audit").description("Verify workflow configs exist").opt
|
|
|
7303
7314
|
processCommand.command("diff").description("Show repository setting differences (current vs. config)").option("-c, --config <path>", "Path to standards.toml config file").addOption(
|
|
7304
7315
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7305
7316
|
).action(async (options) => {
|
|
7306
|
-
const { runDiff } = await import("./sync-
|
|
7317
|
+
const { runDiff } = await import("./sync-P3UZECLW.js");
|
|
7307
7318
|
await runDiff({ config: options.config, format: options.format });
|
|
7308
7319
|
});
|
|
7309
7320
|
processCommand.command("sync").description("Synchronize repository settings to match config").option("-c, --config <path>", "Path to standards.toml config file").option("--apply", "Actually apply changes (required for safety)").option("--validate-actors", "Validate bypass actor IDs against GitHub API before applying").addOption(
|
|
7310
7321
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7311
7322
|
).action(
|
|
7312
7323
|
async (options) => {
|
|
7313
|
-
const { runSync } = await import("./sync-
|
|
7324
|
+
const { runSync } = await import("./sync-P3UZECLW.js");
|
|
7314
7325
|
await runSync({
|
|
7315
7326
|
config: options.config,
|
|
7316
7327
|
format: options.format,
|
|
@@ -7322,13 +7333,13 @@ processCommand.command("sync").description("Synchronize repository settings to m
|
|
|
7322
7333
|
processCommand.command("diff-tags").description("Show tag protection differences (current vs. config)").option("-c, --config <path>", "Path to standards.toml config file").addOption(
|
|
7323
7334
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7324
7335
|
).action(async (options) => {
|
|
7325
|
-
const { runTagDiff } = await import("./sync-
|
|
7336
|
+
const { runTagDiff } = await import("./sync-P3UZECLW.js");
|
|
7326
7337
|
await runTagDiff({ config: options.config, format: options.format });
|
|
7327
7338
|
});
|
|
7328
7339
|
processCommand.command("sync-tags").description("Synchronize tag protection ruleset to match config").option("-c, --config <path>", "Path to standards.toml config file").option("--apply", "Actually apply changes (required for safety)").addOption(
|
|
7329
7340
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7330
7341
|
).action(async (options) => {
|
|
7331
|
-
const { runTagSync } = await import("./sync-
|
|
7342
|
+
const { runTagSync } = await import("./sync-P3UZECLW.js");
|
|
7332
7343
|
await runTagSync({
|
|
7333
7344
|
config: options.config,
|
|
7334
7345
|
format: options.format,
|
|
@@ -7359,7 +7370,7 @@ processCommand.command("scan").description("Scan remote repository settings via
|
|
|
7359
7370
|
).option("-c, --config <path>", "Path to standards.toml config file").addOption(
|
|
7360
7371
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7361
7372
|
).action(async (options) => {
|
|
7362
|
-
const { runScan } = await import("./scan-
|
|
7373
|
+
const { runScan } = await import("./scan-RHQWHASY.js");
|
|
7363
7374
|
await runScan({
|
|
7364
7375
|
repo: options.repo,
|
|
7365
7376
|
config: options.config,
|
|
@@ -7399,7 +7410,7 @@ var infraCommand = configureExitOverride(
|
|
|
7399
7410
|
infraCommand.command("scan").description("Verify AWS resources declared in manifest exist").option("-c, --config <path>", "Path to standards.toml config file").option("-m, --manifest <path>", "Path to manifest file (overrides config)").option("-a, --account <name>", "Filter to specific account (by alias or account key like 'aws:123')").addOption(
|
|
7400
7411
|
new Option("-f, --format <format>", "Output format").choices(["text", "json"]).default("text")
|
|
7401
7412
|
).action(async (options) => {
|
|
7402
|
-
const { runInfraScan } = await import("./infra-
|
|
7413
|
+
const { runInfraScan } = await import("./infra-TO54IUSC.js");
|
|
7403
7414
|
await runInfraScan({
|
|
7404
7415
|
configPath: options.config,
|
|
7405
7416
|
manifestPath: options.manifest,
|
|
@@ -7409,7 +7420,7 @@ infraCommand.command("scan").description("Verify AWS resources declared in manif
|
|
|
7409
7420
|
});
|
|
7410
7421
|
infraCommand.command("generate").description("Generate infra-manifest.json from Pulumi stack export").option("-i, --input <path>", "Input file (reads from stdin if not provided)").option("-o, --output <path>", "Output file path (default: infra-manifest.json)").option("-p, --project <name>", "Project name (extracted from stack if not provided)").option("-a, --account <alias>", "Account alias (e.g., 'prod-aws')").option("--account-id <id>", "Explicit account ID (e.g., 'aws:111111111111')").option("--merge", "Merge into existing manifest instead of overwriting").option("--stdout", "Output to stdout instead of file").action(
|
|
7411
7422
|
async (options) => {
|
|
7412
|
-
const { runInfraGenerate } = await import("./infra-
|
|
7423
|
+
const { runInfraGenerate } = await import("./infra-TO54IUSC.js");
|
|
7413
7424
|
await runInfraGenerate(options);
|
|
7414
7425
|
}
|
|
7415
7426
|
);
|
|
@@ -7422,7 +7433,7 @@ program.command("audit").description("Verify all configs exist (code + process)"
|
|
|
7422
7433
|
).action((options) => runAudit(options));
|
|
7423
7434
|
program.command("mcp").description("Start MCP server for coding standards (for Claude Desktop integration)").action(async () => {
|
|
7424
7435
|
try {
|
|
7425
|
-
const { startServer } = await import("./mcp-
|
|
7436
|
+
const { startServer } = await import("./mcp-73FZXT3P.js");
|
|
7426
7437
|
await startServer();
|
|
7427
7438
|
} catch (error) {
|
|
7428
7439
|
handleError(error);
|