@codeledger/cli 0.6.7 → 0.6.9
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/architecture-graph/dependency-scanner.d.ts +16 -0
- package/dist/architecture-graph/dependency-scanner.d.ts.map +1 -0
- package/dist/architecture-graph/dependency-scanner.js +96 -0
- package/dist/architecture-graph/dependency-scanner.js.map +1 -0
- package/dist/architecture-graph/graph-builder.d.ts +70 -0
- package/dist/architecture-graph/graph-builder.d.ts.map +1 -0
- package/dist/architecture-graph/graph-builder.js +231 -0
- package/dist/architecture-graph/graph-builder.js.map +1 -0
- package/dist/architecture-graph/index.d.ts +4 -0
- package/dist/architecture-graph/index.d.ts.map +1 -0
- package/dist/architecture-graph/index.js +7 -0
- package/dist/architecture-graph/index.js.map +1 -0
- package/dist/architecture-graph/service-scanner.d.ts +22 -0
- package/dist/architecture-graph/service-scanner.d.ts.map +1 -0
- package/dist/architecture-graph/service-scanner.js +181 -0
- package/dist/architecture-graph/service-scanner.js.map +1 -0
- package/dist/commands/activate.d.ts.map +1 -1
- package/dist/commands/activate.js +16 -1
- package/dist/commands/activate.js.map +1 -1
- package/dist/commands/audit-export.d.ts +8 -0
- package/dist/commands/audit-export.d.ts.map +1 -0
- package/dist/commands/audit-export.js +190 -0
- package/dist/commands/audit-export.js.map +1 -0
- package/dist/commands/commit-msg.d.ts +58 -0
- package/dist/commands/commit-msg.d.ts.map +1 -0
- package/dist/commands/commit-msg.js +461 -0
- package/dist/commands/commit-msg.js.map +1 -0
- package/dist/commands/fix.d.ts +7 -0
- package/dist/commands/fix.d.ts.map +1 -0
- package/dist/commands/fix.js +107 -0
- package/dist/commands/fix.js.map +1 -0
- package/dist/commands/graph.d.ts +8 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +29 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +14 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/intent.d.ts +3 -1
- package/dist/commands/intent.d.ts.map +1 -1
- package/dist/commands/intent.js +68 -2
- package/dist/commands/intent.js.map +1 -1
- package/dist/commands/learn.d.ts +8 -0
- package/dist/commands/learn.d.ts.map +1 -0
- package/dist/commands/learn.js +33 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/pack.d.ts +12 -0
- package/dist/commands/pack.d.ts.map +1 -0
- package/dist/commands/pack.js +75 -0
- package/dist/commands/pack.js.map +1 -0
- package/dist/commands/pr-summary.d.ts +59 -0
- package/dist/commands/pr-summary.d.ts.map +1 -0
- package/dist/commands/pr-summary.js +524 -0
- package/dist/commands/pr-summary.js.map +1 -0
- package/dist/commands/serve.d.ts +13 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +179 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/session-cleanup.js +1 -0
- package/dist/commands/session-cleanup.js.map +1 -1
- package/dist/commands/session-summary.d.ts.map +1 -1
- package/dist/commands/session-summary.js +135 -3
- package/dist/commands/session-summary.js.map +1 -1
- package/dist/commands/setup-ci.d.ts +6 -4
- package/dist/commands/setup-ci.d.ts.map +1 -1
- package/dist/commands/setup-ci.js +228 -23
- package/dist/commands/setup-ci.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +35 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +127 -4
- package/dist/index.js.map +1 -1
- package/dist/intent/extractor.d.ts +15 -0
- package/dist/intent/extractor.d.ts.map +1 -0
- package/dist/intent/extractor.js +149 -0
- package/dist/intent/extractor.js.map +1 -0
- package/dist/intent/fetcher.d.ts +33 -0
- package/dist/intent/fetcher.d.ts.map +1 -0
- package/dist/intent/fetcher.js +364 -0
- package/dist/intent/fetcher.js.map +1 -0
- package/dist/intent/loader.d.ts +26 -0
- package/dist/intent/loader.d.ts.map +1 -0
- package/dist/intent/loader.js +80 -0
- package/dist/intent/loader.js.map +1 -0
- package/dist/intent/types.d.ts +33 -0
- package/dist/intent/types.d.ts.map +1 -0
- package/dist/intent/types.js +9 -0
- package/dist/intent/types.js.map +1 -0
- package/dist/project-config.d.ts +38 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +206 -0
- package/dist/project-config.js.map +1 -0
- package/dist/review-intelligence/detectors/architecture-graph.d.ts +18 -0
- package/dist/review-intelligence/detectors/architecture-graph.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/architecture-graph.js +73 -0
- package/dist/review-intelligence/detectors/architecture-graph.js.map +1 -0
- package/dist/review-intelligence/detectors/cjs-named-import.d.ts +13 -0
- package/dist/review-intelligence/detectors/cjs-named-import.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/cjs-named-import.js +134 -0
- package/dist/review-intelligence/detectors/cjs-named-import.js.map +1 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.d.ts +17 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.js +93 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.js.map +1 -0
- package/dist/review-intelligence/detectors/exports-map-missing.d.ts +14 -0
- package/dist/review-intelligence/detectors/exports-map-missing.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/exports-map-missing.js +131 -0
- package/dist/review-intelligence/detectors/exports-map-missing.js.map +1 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.d.ts +12 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.js +82 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.js.map +1 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.d.ts +12 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.js +97 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.js.map +1 -0
- package/dist/review-intelligence/detectors/pack-rules.d.ts +16 -0
- package/dist/review-intelligence/detectors/pack-rules.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/pack-rules.js +107 -0
- package/dist/review-intelligence/detectors/pack-rules.js.map +1 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.d.ts +11 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.js +100 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.js.map +1 -0
- package/dist/review-intelligence/engine/ast-parser.d.ts +90 -0
- package/dist/review-intelligence/engine/ast-parser.d.ts.map +1 -0
- package/dist/review-intelligence/engine/ast-parser.js +266 -0
- package/dist/review-intelligence/engine/ast-parser.js.map +1 -0
- package/dist/review-intelligence/engine/dataflow.d.ts +34 -0
- package/dist/review-intelligence/engine/dataflow.d.ts.map +1 -0
- package/dist/review-intelligence/engine/dataflow.js +115 -0
- package/dist/review-intelligence/engine/dataflow.js.map +1 -0
- package/dist/review-intelligence/engine/index.d.ts +7 -0
- package/dist/review-intelligence/engine/index.d.ts.map +1 -0
- package/dist/review-intelligence/engine/index.js +7 -0
- package/dist/review-intelligence/engine/index.js.map +1 -0
- package/dist/review-intelligence/engine/symbol-resolver.d.ts +34 -0
- package/dist/review-intelligence/engine/symbol-resolver.d.ts.map +1 -0
- package/dist/review-intelligence/engine/symbol-resolver.js +106 -0
- package/dist/review-intelligence/engine/symbol-resolver.js.map +1 -0
- package/dist/review-intelligence/fixes/index.d.ts +54 -0
- package/dist/review-intelligence/fixes/index.d.ts.map +1 -0
- package/dist/review-intelligence/fixes/index.js +346 -0
- package/dist/review-intelligence/fixes/index.js.map +1 -0
- package/dist/review-intelligence/index.d.ts +4 -1
- package/dist/review-intelligence/index.d.ts.map +1 -1
- package/dist/review-intelligence/index.js +22 -3
- package/dist/review-intelligence/index.js.map +1 -1
- package/dist/review-intelligence/invariants.d.ts +15 -0
- package/dist/review-intelligence/invariants.d.ts.map +1 -1
- package/dist/review-intelligence/invariants.js +48 -4
- package/dist/review-intelligence/invariants.js.map +1 -1
- package/dist/review-intelligence/learning/index.d.ts +39 -0
- package/dist/review-intelligence/learning/index.d.ts.map +1 -0
- package/dist/review-intelligence/learning/index.js +265 -0
- package/dist/review-intelligence/learning/index.js.map +1 -0
- package/dist/review-intelligence/packs/index.d.ts +69 -0
- package/dist/review-intelligence/packs/index.d.ts.map +1 -0
- package/dist/review-intelligence/packs/index.js +168 -0
- package/dist/review-intelligence/packs/index.js.map +1 -0
- package/dist/review-intelligence/repair-guidance.d.ts.map +1 -1
- package/dist/review-intelligence/repair-guidance.js +46 -0
- package/dist/review-intelligence/repair-guidance.js.map +1 -1
- package/dist/review-intelligence/types.d.ts +18 -9
- package/dist/review-intelligence/types.d.ts.map +1 -1
- package/dist/review-intelligence/types.js +9 -1
- package/dist/review-intelligence/types.js.map +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +23 -128
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/templates/hooks.d.ts.map +1 -1
- package/dist/templates/hooks.js +39 -0
- package/dist/templates/hooks.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { join, resolve } from 'node:path';
|
|
3
|
+
const VALID_PROVIDERS = ['github', 'gitlab', 'circleci', 'azure'];
|
|
4
|
+
/** Default output directory per provider */
|
|
5
|
+
const DEFAULT_OUTPUT_DIRS = {
|
|
6
|
+
github: '.github/workflows',
|
|
7
|
+
gitlab: '.',
|
|
8
|
+
circleci: '.circleci',
|
|
9
|
+
azure: '.',
|
|
10
|
+
};
|
|
11
|
+
/** Output filename per provider */
|
|
12
|
+
const WORKFLOW_FILENAMES = {
|
|
13
|
+
github: 'codeledger-verify.yml',
|
|
14
|
+
gitlab: '.gitlab-ci.yml',
|
|
15
|
+
circleci: 'config.yml',
|
|
16
|
+
azure: 'azure-pipelines-codeledger.yml',
|
|
17
|
+
};
|
|
3
18
|
/**
|
|
4
|
-
* `codeledger setup-ci [--mode observe|warn|block] [--output <path>]`
|
|
19
|
+
* `codeledger setup-ci [--mode observe|warn|block] [--provider github|gitlab|circleci|azure] [--output <path>]`
|
|
5
20
|
*
|
|
6
|
-
* Generates a ready-to-use
|
|
7
|
-
*
|
|
8
|
-
* integration in one command.
|
|
21
|
+
* Generates a ready-to-use CI workflow and policy file for CI enforcement.
|
|
22
|
+
* Supports GitHub Actions, GitLab CI, CircleCI, and Azure Pipelines.
|
|
9
23
|
*/
|
|
10
24
|
export async function runSetupCi(cwd, flags) {
|
|
11
25
|
const mode = (flags['mode'] ?? 'warn');
|
|
@@ -13,7 +27,12 @@ export async function runSetupCi(cwd, flags) {
|
|
|
13
27
|
console.error(`Invalid --mode "${mode}". Must be one of: observe, warn, block`);
|
|
14
28
|
process.exit(1);
|
|
15
29
|
}
|
|
16
|
-
const
|
|
30
|
+
const provider = (flags['provider'] ?? 'github');
|
|
31
|
+
if (!VALID_PROVIDERS.includes(provider)) {
|
|
32
|
+
console.error(`Invalid --provider "${provider}". Must be one of: ${VALID_PROVIDERS.join(', ')}`);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
const outputDir = flags['output'] ?? DEFAULT_OUTPUT_DIRS[provider];
|
|
17
36
|
const resolvedOutputDir = resolve(cwd, outputDir);
|
|
18
37
|
const policyDir = join(cwd, '.codeledger', 'policy', 'org');
|
|
19
38
|
// -- Step 1: Create policy file -------------------------------------------
|
|
@@ -39,6 +58,18 @@ export async function runSetupCi(cwd, flags) {
|
|
|
39
58
|
],
|
|
40
59
|
bundle_max_files: 50,
|
|
41
60
|
bundle_max_bytes: 2_000_000,
|
|
61
|
+
review_intelligence: {
|
|
62
|
+
enabled: true,
|
|
63
|
+
severity_threshold: mode === 'block' ? 'P1' : 'P2',
|
|
64
|
+
invariants: {
|
|
65
|
+
runtime_validation: { enabled: true },
|
|
66
|
+
outbound_io: { enabled: true },
|
|
67
|
+
platform_helpers: { enabled: true },
|
|
68
|
+
build_runtime: { enabled: true },
|
|
69
|
+
test_integrity: { enabled: true },
|
|
70
|
+
architecture_graph: { enabled: true },
|
|
71
|
+
},
|
|
72
|
+
},
|
|
42
73
|
};
|
|
43
74
|
writeFileSync(policyPath, JSON.stringify(policy, null, 2) + '\n');
|
|
44
75
|
console.log(`Created policy: ${policyPath}`);
|
|
@@ -47,29 +78,23 @@ export async function runSetupCi(cwd, flags) {
|
|
|
47
78
|
console.log(` Max drift: ${policy.max_drift}`);
|
|
48
79
|
console.log(` Deny paths: ${policy.deny_paths.join(', ')}`);
|
|
49
80
|
}
|
|
50
|
-
// -- Step 2: Create
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
mkdirSync(workflowDir, { recursive: true });
|
|
81
|
+
// -- Step 2: Create CI workflow file --------------------------------------
|
|
82
|
+
if (!existsSync(resolvedOutputDir)) {
|
|
83
|
+
mkdirSync(resolvedOutputDir, { recursive: true });
|
|
54
84
|
}
|
|
55
|
-
const
|
|
85
|
+
const workflowFilename = WORKFLOW_FILENAMES[provider];
|
|
86
|
+
const workflowPath = join(resolvedOutputDir, workflowFilename);
|
|
56
87
|
if (existsSync(workflowPath)) {
|
|
57
88
|
console.log(`\nWorkflow already exists at ${workflowPath}`);
|
|
58
89
|
console.log('To overwrite, delete it and re-run this command.');
|
|
59
90
|
}
|
|
60
91
|
else {
|
|
61
|
-
const workflow = generateWorkflow(mode);
|
|
92
|
+
const workflow = generateWorkflow(provider, mode);
|
|
62
93
|
writeFileSync(workflowPath, workflow);
|
|
63
|
-
console.log(`\nCreated workflow: ${workflowPath}`);
|
|
94
|
+
console.log(`\nCreated ${provider} workflow: ${workflowPath}`);
|
|
64
95
|
}
|
|
65
|
-
// -- Step 3:
|
|
66
|
-
|
|
67
|
-
console.log('To enable tamper-evident manifests, add a repository secret:');
|
|
68
|
-
console.log('');
|
|
69
|
-
console.log(' 1. Go to: Settings > Secrets and variables > Actions');
|
|
70
|
-
console.log(' 2. Add: CODELEDGER_SIGNING_SECRET = <your-secret-key>');
|
|
71
|
-
console.log('');
|
|
72
|
-
console.log('When set, `codeledger verify` will also produce a signed manifest.');
|
|
96
|
+
// -- Step 3: Provider-specific setup instructions -------------------------
|
|
97
|
+
printProviderInstructions(provider, mode);
|
|
73
98
|
// -- Summary ---------------------------------------------------------------
|
|
74
99
|
console.log('\n--- What happens next ---');
|
|
75
100
|
console.log('');
|
|
@@ -78,7 +103,7 @@ export async function runSetupCi(cwd, flags) {
|
|
|
78
103
|
console.log(' but will never fail the build. Good for evaluation.');
|
|
79
104
|
}
|
|
80
105
|
else if (mode === 'warn') {
|
|
81
|
-
console.log(' Mode: WARN — CI will annotate PRs with warnings for policy');
|
|
106
|
+
console.log(' Mode: WARN — CI will annotate PRs/MRs with warnings for policy');
|
|
82
107
|
console.log(' violations but will not block merging. Good for rollout.');
|
|
83
108
|
}
|
|
84
109
|
else {
|
|
@@ -89,9 +114,23 @@ export async function runSetupCi(cwd, flags) {
|
|
|
89
114
|
console.log(' Commit the workflow and policy files to enable CI verification.');
|
|
90
115
|
console.log(' Tune thresholds in: .codeledger/policy/org/default.json');
|
|
91
116
|
}
|
|
92
|
-
|
|
117
|
+
// ─── Workflow Generators ──────────────────────────────────────────────────────
|
|
118
|
+
/** Generate CI workflow content for the given provider and mode */
|
|
119
|
+
export function generateWorkflow(provider, mode) {
|
|
120
|
+
switch (provider) {
|
|
121
|
+
case 'github':
|
|
122
|
+
return generateGitHubWorkflow(mode);
|
|
123
|
+
case 'gitlab':
|
|
124
|
+
return generateGitLabWorkflow(mode);
|
|
125
|
+
case 'circleci':
|
|
126
|
+
return generateCircleCiWorkflow(mode);
|
|
127
|
+
case 'azure':
|
|
128
|
+
return generateAzurePipelinesWorkflow(mode);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function generateGitHubWorkflow(mode) {
|
|
93
132
|
return `# CodeLedger CI Verification
|
|
94
|
-
# Generated by: codeledger setup-ci --mode ${mode}
|
|
133
|
+
# Generated by: codeledger setup-ci --provider github --mode ${mode}
|
|
95
134
|
# Docs: codeledger verify --help
|
|
96
135
|
|
|
97
136
|
name: CodeLedger Verify
|
|
@@ -136,4 +175,170 @@ jobs:
|
|
|
136
175
|
retention-days: 30
|
|
137
176
|
`;
|
|
138
177
|
}
|
|
178
|
+
function generateGitLabWorkflow(mode) {
|
|
179
|
+
const allowFailure = mode !== 'block' ? 'true' : 'false';
|
|
180
|
+
return `# CodeLedger CI Verification
|
|
181
|
+
# Generated by: codeledger setup-ci --provider gitlab --mode ${mode}
|
|
182
|
+
# Docs: codeledger verify --help
|
|
183
|
+
|
|
184
|
+
stages:
|
|
185
|
+
- verify
|
|
186
|
+
|
|
187
|
+
codeledger-verify:
|
|
188
|
+
stage: verify
|
|
189
|
+
image: node:20-alpine
|
|
190
|
+
rules:
|
|
191
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
192
|
+
variables:
|
|
193
|
+
CODELEDGER_SIGNING_SECRET: $CODELEDGER_SIGNING_SECRET
|
|
194
|
+
before_script:
|
|
195
|
+
- npm ci
|
|
196
|
+
script:
|
|
197
|
+
- |
|
|
198
|
+
# Extract task from MR title
|
|
199
|
+
TASK="$CI_MERGE_REQUEST_TITLE"
|
|
200
|
+
npx codeledger verify \\
|
|
201
|
+
--task "\${TASK}" \\
|
|
202
|
+
--artifacts-dir ./codeledger-artifacts
|
|
203
|
+
allow_failure: ${allowFailure}
|
|
204
|
+
artifacts:
|
|
205
|
+
when: always
|
|
206
|
+
paths:
|
|
207
|
+
- codeledger-artifacts/
|
|
208
|
+
expire_in: 30 days
|
|
209
|
+
`;
|
|
210
|
+
}
|
|
211
|
+
function generateCircleCiWorkflow(mode) {
|
|
212
|
+
// In block mode, verify exits non-zero on violations — CircleCI treats this
|
|
213
|
+
// as a step failure which fails the job. In observe/warn mode, we append
|
|
214
|
+
// `|| true` so the job always succeeds regardless of verify exit code.
|
|
215
|
+
const verifySuffix = mode === 'block' ? '' : ' || true';
|
|
216
|
+
return `# CodeLedger CI Verification
|
|
217
|
+
# Generated by: codeledger setup-ci --provider circleci --mode ${mode}
|
|
218
|
+
# Docs: codeledger verify --help
|
|
219
|
+
#
|
|
220
|
+
# Required environment variables (set in CircleCI project settings):
|
|
221
|
+
# CODELEDGER_SIGNING_SECRET - (optional) HMAC signing key
|
|
222
|
+
|
|
223
|
+
version: 2.1
|
|
224
|
+
|
|
225
|
+
jobs:
|
|
226
|
+
codeledger-verify:
|
|
227
|
+
docker:
|
|
228
|
+
- image: cimg/node:20.0
|
|
229
|
+
steps:
|
|
230
|
+
- checkout
|
|
231
|
+
|
|
232
|
+
- restore_cache:
|
|
233
|
+
keys:
|
|
234
|
+
- deps-v1-{{ checksum "package-lock.json" }}
|
|
235
|
+
- deps-v1-
|
|
236
|
+
|
|
237
|
+
- run:
|
|
238
|
+
name: Install dependencies
|
|
239
|
+
command: npm ci
|
|
240
|
+
|
|
241
|
+
- save_cache:
|
|
242
|
+
key: deps-v1-{{ checksum "package-lock.json" }}
|
|
243
|
+
paths:
|
|
244
|
+
- node_modules
|
|
245
|
+
|
|
246
|
+
- run:
|
|
247
|
+
name: Run CodeLedger verification
|
|
248
|
+
command: |
|
|
249
|
+
# Extract task from branch name or use default
|
|
250
|
+
TASK="\${CIRCLE_BRANCH:-verification}"
|
|
251
|
+
npx codeledger verify \\
|
|
252
|
+
--task "\${TASK}" \\
|
|
253
|
+
--artifacts-dir ./codeledger-artifacts${verifySuffix}
|
|
254
|
+
|
|
255
|
+
- store_artifacts:
|
|
256
|
+
path: codeledger-artifacts
|
|
257
|
+
destination: codeledger-verify
|
|
258
|
+
|
|
259
|
+
workflows:
|
|
260
|
+
verify:
|
|
261
|
+
jobs:
|
|
262
|
+
- codeledger-verify:
|
|
263
|
+
filters:
|
|
264
|
+
branches:
|
|
265
|
+
ignore:
|
|
266
|
+
- main
|
|
267
|
+
- master
|
|
268
|
+
`;
|
|
269
|
+
}
|
|
270
|
+
function generateAzurePipelinesWorkflow(mode) {
|
|
271
|
+
const continueOnError = mode !== 'block' ? 'true' : 'false';
|
|
272
|
+
return `# CodeLedger CI Verification
|
|
273
|
+
# Generated by: codeledger setup-ci --provider azure --mode ${mode}
|
|
274
|
+
# Docs: codeledger verify --help
|
|
275
|
+
#
|
|
276
|
+
# Required pipeline variables (set in Azure DevOps project settings):
|
|
277
|
+
# CODELEDGER_SIGNING_SECRET - (optional) HMAC signing key
|
|
278
|
+
|
|
279
|
+
trigger: none
|
|
280
|
+
|
|
281
|
+
pr:
|
|
282
|
+
branches:
|
|
283
|
+
include:
|
|
284
|
+
- main
|
|
285
|
+
- master
|
|
286
|
+
|
|
287
|
+
pool:
|
|
288
|
+
vmImage: 'ubuntu-latest'
|
|
289
|
+
|
|
290
|
+
steps:
|
|
291
|
+
- task: NodeTool@0
|
|
292
|
+
inputs:
|
|
293
|
+
versionSpec: '20.x'
|
|
294
|
+
displayName: 'Install Node.js'
|
|
295
|
+
|
|
296
|
+
- script: npm ci
|
|
297
|
+
displayName: 'Install dependencies'
|
|
298
|
+
|
|
299
|
+
- script: |
|
|
300
|
+
# Extract task from PR title
|
|
301
|
+
TASK="$(System.PullRequest.SourceBranch)"
|
|
302
|
+
npx codeledger verify \\
|
|
303
|
+
--task "\${TASK}" \\
|
|
304
|
+
--artifacts-dir $(Build.ArtifactStagingDirectory)/codeledger-artifacts
|
|
305
|
+
displayName: 'Run CodeLedger verification'
|
|
306
|
+
continueOnError: ${continueOnError}
|
|
307
|
+
env:
|
|
308
|
+
CODELEDGER_SIGNING_SECRET: $(CODELEDGER_SIGNING_SECRET)
|
|
309
|
+
|
|
310
|
+
- publish: $(Build.ArtifactStagingDirectory)/codeledger-artifacts
|
|
311
|
+
artifact: codeledger-verify
|
|
312
|
+
condition: always()
|
|
313
|
+
displayName: 'Publish verification artifacts'
|
|
314
|
+
`;
|
|
315
|
+
}
|
|
316
|
+
// ─── Provider-Specific Instructions ───────────────────────────────────────────
|
|
317
|
+
function printProviderInstructions(provider, _mode) {
|
|
318
|
+
console.log('\n--- Signing (optional) ---');
|
|
319
|
+
console.log('To enable tamper-evident manifests, add a secret:');
|
|
320
|
+
console.log('');
|
|
321
|
+
switch (provider) {
|
|
322
|
+
case 'github':
|
|
323
|
+
console.log(' 1. Go to: Settings > Secrets and variables > Actions');
|
|
324
|
+
console.log(' 2. Add: CODELEDGER_SIGNING_SECRET = <your-secret-key>');
|
|
325
|
+
break;
|
|
326
|
+
case 'gitlab':
|
|
327
|
+
console.log(' 1. Go to: Settings > CI/CD > Variables');
|
|
328
|
+
console.log(' 2. Add: CODELEDGER_SIGNING_SECRET = <your-secret-key>');
|
|
329
|
+
console.log(' Mark as "Masked" and optionally "Protected"');
|
|
330
|
+
break;
|
|
331
|
+
case 'circleci':
|
|
332
|
+
console.log(' 1. Go to: Project Settings > Environment Variables');
|
|
333
|
+
console.log(' 2. Add: CODELEDGER_SIGNING_SECRET = <your-secret-key>');
|
|
334
|
+
break;
|
|
335
|
+
case 'azure':
|
|
336
|
+
console.log(' 1. Go to: Pipelines > Edit > Variables');
|
|
337
|
+
console.log(' 2. Add: CODELEDGER_SIGNING_SECRET = <your-secret-key>');
|
|
338
|
+
console.log(' Mark as secret');
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
console.log('');
|
|
342
|
+
console.log('When set, `codeledger verify` will also produce a signed manifest.');
|
|
343
|
+
}
|
|
139
344
|
//# sourceMappingURL=setup-ci.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ci.js","sourceRoot":"","sources":["../../src/commands/setup-ci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-ci.js","sourceRoot":"","sources":["../../src/commands/setup-ci.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Uf"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -182,12 +182,16 @@ export async function runVerify(cwd, flags) {
|
|
|
182
182
|
const showTriaged = flags['show-triaged'] === 'true';
|
|
183
183
|
const baselinePath = flags['baseline-path'] || DEFAULT_BASELINE_PATH;
|
|
184
184
|
if (riEnabled) {
|
|
185
|
-
//
|
|
185
|
+
// Analyze both bundle files AND changed files from git diff.
|
|
186
|
+
// This ensures RI catches violations in all PR-changed files, not
|
|
187
|
+
// just those that happen to be in the bundle.
|
|
186
188
|
const bundleFiles = bundle.files.map((f) => f.path);
|
|
189
|
+
const changedFiles = getChangedFiles(cwd);
|
|
190
|
+
const allFiles = [...new Set([...bundleFiles, ...changedFiles])];
|
|
187
191
|
try {
|
|
188
192
|
const riResult = runReviewIntelligence({
|
|
189
193
|
cwd,
|
|
190
|
-
files:
|
|
194
|
+
files: allFiles,
|
|
191
195
|
policy: riPolicy,
|
|
192
196
|
explain,
|
|
193
197
|
debug: debugReview,
|
|
@@ -221,7 +225,7 @@ export async function runVerify(cwd, flags) {
|
|
|
221
225
|
// Re-run without baseline to get ALL findings for the baseline
|
|
222
226
|
const allResult = runReviewIntelligence({
|
|
223
227
|
cwd,
|
|
224
|
-
files:
|
|
228
|
+
files: allFiles,
|
|
225
229
|
policy: riPolicy,
|
|
226
230
|
explain: false,
|
|
227
231
|
debug: false,
|
|
@@ -347,6 +351,34 @@ function getCommitSha(cwd) {
|
|
|
347
351
|
return null;
|
|
348
352
|
}
|
|
349
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Get changed files from the git working tree.
|
|
356
|
+
* Tries: git diff HEAD (staged+unstaged), then git diff HEAD~1 HEAD (last commit),
|
|
357
|
+
* then falls back to empty list (bundle-only analysis).
|
|
358
|
+
*/
|
|
359
|
+
function getChangedFiles(cwd) {
|
|
360
|
+
const commands = [
|
|
361
|
+
'git diff --name-only HEAD 2>/dev/null',
|
|
362
|
+
'git diff --name-only HEAD~1 HEAD 2>/dev/null',
|
|
363
|
+
'git diff --name-only --cached 2>/dev/null',
|
|
364
|
+
];
|
|
365
|
+
for (const cmd of commands) {
|
|
366
|
+
try {
|
|
367
|
+
const output = execSync(cmd, {
|
|
368
|
+
cwd,
|
|
369
|
+
encoding: 'utf-8',
|
|
370
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
371
|
+
}).trim();
|
|
372
|
+
if (output.length > 0) {
|
|
373
|
+
return output.split('\n').filter((f) => f.length > 0);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
// Try next command
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
return [];
|
|
381
|
+
}
|
|
350
382
|
/**
|
|
351
383
|
* Compute drift from the most recent baseline manifest in the artifacts directory.
|
|
352
384
|
* If no previous manifest exists, drift is 0.0 (first run).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQ9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,UAAU,IAAI,IAAI,EAClB,aAAa,IAAI,OAAO,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAGzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,KAA6B;IAE7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,mGAAmG,CAAC,CAAC;QACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAqB,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC;YACrB,GAAG;YACH,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,cAAc,CAAC;YACb,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU,EAAE,SAAS;YACrB,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAoB,CAAC;IACzB,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAc,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,oBAAoB,CAAC;YAClC,QAAQ,EAAE,IAAI;YACd,SAAS;YACT,cAAc,EAAE,MAAM,CAAC,QAAQ;YAC/B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;YACtC,OAAO,EAAE,KAAK;YACd,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAyB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAmB;QAC/B,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,EAAE;QACd,mBAAmB,EAAE,EAAE;QACvB,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAA4B;QAChD,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1D,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1D,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;IAEF,gCAAgC;IAChC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,SAAS,IAAI,SAAS,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC9C,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,mDAAmD;IACnD,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAE5E,yDAAyD;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,MAAM;QACN,QAAQ,EAAE,GAAG;QACb,QAAQ;QACR,SAAS;QACT,iBAAiB,EAAE,WAAW;QAC9B,gBAAgB,EAAE,gBAAgB;QAClC,UAAU,EAAE,eAAe;QAC3B,UAAU;KACX,CAAC,CAAC;IAEH,qCAAqC;IACrC,IAAI,mBAAsD,CAAC;IAC3D,MAAM,uBAAuB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9D,IAAI,uBAAuB,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC;YACH,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAA0B,CAAC;QAC5G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,oDAAoD,uBAAuB,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEzE,sBAAsB;IACtB,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAC/B,QAAQ;QACR,MAAM;QACN,UAAU;QACV,iBAAiB,EAAE,WAAW;KAC/B,CAAC,CAAC;IAEH,yEAAyE;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAClD,MAAM,SAAS,GAAG,cAAc,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,qBAAqB;IAC1E,IAAI,iBAAuD,CAAC;IAE5D,MAAM,QAAQ,GAA6B,cAAc;QACvD,CAAC,CAAC;YACE,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;YACrD,UAAU,EAAE,cAAc,CAAC,UAAU;SACtC;QACH,CAAC,CAAC,kCAAkC,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,MAAM,CAAC;IAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,qBAAqB,CAAC;IAErE,IAAI,SAAS,EAAE,CAAC;QACd,6DAA6D;QAC7D,kEAAkE;QAClE,8CAA8C;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC;gBACrC,GAAG;gBACH,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,OAAO;gBACP,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,eAAe;gBAC1B,cAAc,EAAE,kBAAkB;aACnC,CAAC,CAAC;YAEH,iBAAiB,GAAG,QAAQ,CAAC;YAE7B,0BAA0B;YAC1B,MAAM,CAAC,mBAAmB,GAAG;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC;YAEF,mCAAmC;YACnC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;YAC9E,CAAC;YAED,8EAA8E;YAC9E,IACE,MAAM,CAAC,IAAI,KAAK,OAAO;gBACvB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,EACpD,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA+B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,4EAA4E;QAC5E,IAAI,kBAAkB,EAAE,CAAC;YACvB,+DAA+D;YAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC;gBACtC,GAAG;gBACH,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvD,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,OAAO,CAAC,MAAM,wBAAwB,YAAY,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IACjE,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAC5D,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;IAChE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE1C,gDAAgD;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAqB;YAC/B,cAAc,EAAE,4BAA4B;YAC5C,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE;gBACT,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM,CAAC,KAAK;aACrB;SACF,CAAC;QACF,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC;IAErE,uCAAuC;IACvC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,UAAU;IACV,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAExD,gFAAgF;IAChF,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAAC;QACnC,IAAI,UAAU,EAAE,CAAC;YACf,6DAA6D;YAC7D,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;gBACpE,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;aACrE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,KAAK,MAAM,CAAC,IAAI,UAAU,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAExD,IACE,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;gBACnC,OAAO;gBACP,WAAW;gBACX,WAAW,EACX,CAAC;gBACD,OAAO,CAAC,GAAG,CACT,iBAAiB,CAAC,iBAAiB,EAAE;oBACnC,OAAO;oBACP,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB;oBAC9C,WAAW;iBACZ,CAAC,CACH,CAAC;YACJ,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CACT,iBAAiB,CAAC,iBAAiB,EAAE;oBACnC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAClC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK;iBAC/C,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,KAAK,MAAM,CAAC,IAAI,UAAU,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YAChD,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,oBAAoB,EAAE;YACpC,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,QAAQ,GAAG;QACf,uCAAuC;QACvC,8CAA8C;QAC9C,2CAA2C;KAC5C,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;gBAC3B,GAAG;gBACH,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAC/B,aAAqB,EACrB,iBAAyB;IAEzB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,GAAG,CAAC;IAE3C,6EAA6E;IAC7E,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,SAAS,CAA6B,CAAC;QACjF,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,cAAc,GAA6B,IAAI,CAAC;QACpD,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;gBAC7C,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;wBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,CAAC;wBACxD,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;4BAC/B,cAAc,GAAG,MAAM,CAAC;4BACxB,WAAW,GAAG,KAAK,CAAC;wBACtB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,uBAAuB;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc;YAAE,OAAO,GAAG,CAAC;QAChC,IAAI,cAAc,CAAC,MAAM,CAAC,WAAW,KAAK,iBAAiB;YAAE,OAAO,GAAG,CAAC;QAExE,gDAAgD;QAChD,wEAAwE;QACxE,yEAAyE;QACzE,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA+CA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBhE"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,14 @@ import { runReviewGate } from './commands/review-gate.js';
|
|
|
31
31
|
import { runProgressCheck } from './commands/progress-check.js';
|
|
32
32
|
import { runVendor } from './commands/vendor.js';
|
|
33
33
|
import { runDetectSecrets } from './commands/detect-secrets.js';
|
|
34
|
+
import { runFix } from './commands/fix.js';
|
|
35
|
+
import { runLearn } from './commands/learn.js';
|
|
36
|
+
import { runGraph } from './commands/graph.js';
|
|
37
|
+
import { runPack } from './commands/pack.js';
|
|
38
|
+
import { runServe } from './commands/serve.js';
|
|
39
|
+
import { runAuditExport } from './commands/audit-export.js';
|
|
40
|
+
import { runCommitMsg } from './commands/commit-msg.js';
|
|
41
|
+
import { runPRSummary } from './commands/pr-summary.js';
|
|
34
42
|
import { CLI_VERSION } from './version.js';
|
|
35
43
|
const args = process.argv.slice(2);
|
|
36
44
|
const command = args[0];
|
|
@@ -60,18 +68,26 @@ const KNOWN_FLAGS = {
|
|
|
60
68
|
'session-summary': new Set(['session', 'quiet', 'final']),
|
|
61
69
|
'session-progress': new Set(['session', 'quiet']),
|
|
62
70
|
checkpoint: new Set(['session', 'quiet', 'id']),
|
|
63
|
-
intent: new Set(['objective', 'deliverable', 'scope-in', 'scope-out', 'constraint', 'accept', 'risk', 'paths', 'session', 'as-baseline']),
|
|
71
|
+
intent: new Set(['objective', 'deliverable', 'scope-in', 'scope-out', 'constraint', 'accept', 'risk', 'paths', 'session', 'as-baseline', 'id', 'json', 'format', 'write']),
|
|
64
72
|
manifest: new Set(['task', 'out', 'artifacts-dir']),
|
|
65
73
|
'sign-manifest': new Set(['in', 'out']),
|
|
66
74
|
policy: new Set(['print', 'policy-root']),
|
|
67
|
-
'setup-ci': new Set(['mode', 'output']),
|
|
68
|
-
verify: new Set(['task', 'policy-root', 'artifacts-dir', 'coverage-attestation', 'explain', 'json', 'debug-review', 'invariant', 'update-baseline', 'show-triaged']),
|
|
75
|
+
'setup-ci': new Set(['mode', 'output', 'provider']),
|
|
76
|
+
verify: new Set(['task', 'policy-root', 'artifacts-dir', 'coverage-attestation', 'explain', 'json', 'debug-review', 'invariant', 'update-baseline', 'show-triaged', 'baseline-path']),
|
|
69
77
|
init: new Set(['force']),
|
|
70
78
|
'review-coverage': new Set(['session']),
|
|
71
79
|
'review-gate': new Set(['session']),
|
|
72
80
|
'progress-check': new Set(['session']),
|
|
73
81
|
'vendor': new Set(['target']),
|
|
74
82
|
'detect-secrets': new Set(['json', 'sarif', 'severity', 'bundle', 'paths-from-bundle', 'baseline', 'update-baseline', 'entropy']),
|
|
83
|
+
fix: new Set(['rule', 'dry-run']),
|
|
84
|
+
learn: new Set(['save', 'enable', 'json']),
|
|
85
|
+
graph: new Set(['json', 'save']),
|
|
86
|
+
pack: new Set(['name', 'pack']),
|
|
87
|
+
serve: new Set(['port']),
|
|
88
|
+
'audit-export': new Set(['format', 'output', 'table']),
|
|
89
|
+
'commit-msg': new Set(['ticket', 'notes', 'json', 'apply', 'signature', 'format', 'install-hook', 'force', 'issue', 'intent-file']),
|
|
90
|
+
'pr-summary': new Set(['base', 'issue', 'intent-file', 'format', 'write', 'title-only', 'body-only']),
|
|
75
91
|
};
|
|
76
92
|
function warnUnknownFlags(command, flags) {
|
|
77
93
|
const known = KNOWN_FLAGS[command];
|
|
@@ -239,6 +255,10 @@ async function main() {
|
|
|
239
255
|
const intentFlags = parseArgs(args.slice(2));
|
|
240
256
|
// First positional arg after 'intent' is the subcommand
|
|
241
257
|
intentFlags['_sub'] = args[1] ?? 'show';
|
|
258
|
+
// Capture positional arg for from-issue: `intent from-issue owner/repo#123`
|
|
259
|
+
if (intentFlags['_sub'] === 'from-issue' && args[2] && !args[2].startsWith('--')) {
|
|
260
|
+
intentFlags['_positional'] = args[2];
|
|
261
|
+
}
|
|
242
262
|
warnUnknownFlags('intent', intentFlags);
|
|
243
263
|
await runIntent(process.cwd(), intentFlags);
|
|
244
264
|
break;
|
|
@@ -273,6 +293,59 @@ async function main() {
|
|
|
273
293
|
await runDetectSecrets(process.cwd(), detectSecretsFlags);
|
|
274
294
|
break;
|
|
275
295
|
}
|
|
296
|
+
case 'fix': {
|
|
297
|
+
const fixFlags = parseArgs(args.slice(1));
|
|
298
|
+
warnUnknownFlags('fix', fixFlags);
|
|
299
|
+
await runFix(process.cwd(), fixFlags);
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
case 'learn': {
|
|
303
|
+
const learnFlags = parseArgs(args.slice(1));
|
|
304
|
+
warnUnknownFlags('learn', learnFlags);
|
|
305
|
+
await runLearn(process.cwd(), learnFlags);
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
case 'graph': {
|
|
309
|
+
const graphFlags = parseArgs(args.slice(1));
|
|
310
|
+
warnUnknownFlags('graph', graphFlags);
|
|
311
|
+
await runGraph(process.cwd(), graphFlags);
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
case 'pack': {
|
|
315
|
+
const packFlags = parseArgs(args.slice(2));
|
|
316
|
+
packFlags['_sub'] = args[1] ?? 'list';
|
|
317
|
+
// Capture positional pack name: `pack enable platform-api-pack`
|
|
318
|
+
if (args[2] && !args[2].startsWith('--')) {
|
|
319
|
+
packFlags['name'] = args[2];
|
|
320
|
+
}
|
|
321
|
+
warnUnknownFlags('pack', packFlags);
|
|
322
|
+
await runPack(process.cwd(), packFlags);
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
case 'audit-export': {
|
|
326
|
+
const auditExportFlags = parseArgs(args.slice(1));
|
|
327
|
+
warnUnknownFlags('audit-export', auditExportFlags);
|
|
328
|
+
await runAuditExport(process.cwd(), auditExportFlags);
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
case 'serve': {
|
|
332
|
+
const serveFlags = parseArgs(args.slice(1));
|
|
333
|
+
warnUnknownFlags('serve', serveFlags);
|
|
334
|
+
await runServe(process.cwd(), serveFlags);
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
case 'commit-msg': {
|
|
338
|
+
const commitMsgFlags = parseArgs(args.slice(1));
|
|
339
|
+
warnUnknownFlags('commit-msg', commitMsgFlags);
|
|
340
|
+
await runCommitMsg(process.cwd(), commitMsgFlags);
|
|
341
|
+
break;
|
|
342
|
+
}
|
|
343
|
+
case 'pr-summary': {
|
|
344
|
+
const prFlags = parseArgs(args.slice(1));
|
|
345
|
+
warnUnknownFlags('pr-summary', prFlags);
|
|
346
|
+
await runPRSummary(process.cwd(), prFlags);
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
276
349
|
case 'version':
|
|
277
350
|
case '--version':
|
|
278
351
|
case '-v':
|
|
@@ -334,7 +407,8 @@ Commands:
|
|
|
334
407
|
verify --task "..." CI enforcement: evaluate policy, emit artifacts, return exit code
|
|
335
408
|
[--policy-root <dir>] [--artifacts-dir <dir>]
|
|
336
409
|
[--explain] [--json] [--debug-review] [--invariant <name>]
|
|
337
|
-
setup-ci Generate
|
|
410
|
+
setup-ci Generate CI workflow + policy for CI integration
|
|
411
|
+
[--provider github|gitlab|circleci|azure] (default: github)
|
|
338
412
|
[--mode observe|warn|block] [--output <dir>]
|
|
339
413
|
intent [init|show|set|ack]
|
|
340
414
|
Intent governance (deterministic drift detection)
|
|
@@ -342,6 +416,44 @@ Commands:
|
|
|
342
416
|
set: --objective|--constraint|--scope-in|--scope-out "..."
|
|
343
417
|
ack: [--as-baseline] acknowledge intent drift
|
|
344
418
|
|
|
419
|
+
Commit Message:
|
|
420
|
+
commit-msg Generate a structured commit message from staged changes
|
|
421
|
+
[--ticket <id>] [--notes "..."] [--json]
|
|
422
|
+
[--apply] Write to .git/COMMIT_EDITMSG (hook integration)
|
|
423
|
+
[--signature on|off] Append CodeLedger signature (default: off)
|
|
424
|
+
[--format full|minimal] Full message or subject-only
|
|
425
|
+
[--install-hook] Install prepare-commit-msg git hook [--force]
|
|
426
|
+
[--issue <ID>] [--intent-file <path>] Intent context
|
|
427
|
+
|
|
428
|
+
PR Intelligence:
|
|
429
|
+
pr-summary Generate a structured PR summary from branch changes
|
|
430
|
+
[--base <branch>] Base branch to diff against (default: main)
|
|
431
|
+
[--issue <ID>] [--intent-file <path>] Intent context
|
|
432
|
+
[--format markdown|json] Output format (default: markdown)
|
|
433
|
+
[--write <file>] Write output to file
|
|
434
|
+
[--title-only] [--body-only] Partial output
|
|
435
|
+
|
|
436
|
+
Intent:
|
|
437
|
+
intent from-issue <ID> Extract intent from external issue tracker
|
|
438
|
+
Supported: owner/repo#123, #123, PREFIX-123
|
|
439
|
+
[--json] Output as JSON (legacy; prefer --format json)
|
|
440
|
+
[--format json|markdown] Output format (default: markdown)
|
|
441
|
+
[--write <file>] Write output to file
|
|
442
|
+
|
|
443
|
+
Architecture:
|
|
444
|
+
fix [--rule <id>] Apply auto-fixes for architectural violations
|
|
445
|
+
[--dry-run] Preview fixes without applying
|
|
446
|
+
learn Discover repository conventions and generate invariant packs
|
|
447
|
+
[--save] Save generated pack [--enable] Auto-enable
|
|
448
|
+
[--json] Output as JSON
|
|
449
|
+
graph Build and display architecture graph
|
|
450
|
+
[--json] Output as JSON [--save] Save to .codeledger/
|
|
451
|
+
pack [list|enable|disable]
|
|
452
|
+
Manage invariant packs
|
|
453
|
+
list: Show all packs and status
|
|
454
|
+
enable <name>: Enable a pack
|
|
455
|
+
disable <name>: Disable a pack
|
|
456
|
+
|
|
345
457
|
Security:
|
|
346
458
|
detect-secrets Scan repo for hardcoded secrets and credentials
|
|
347
459
|
[--json] [--sarif] [--severity high|medium|low]
|
|
@@ -353,6 +465,17 @@ Mid-Session:
|
|
|
353
465
|
progress-check Lightweight mid-session bundle coverage check
|
|
354
466
|
[--session <id>]
|
|
355
467
|
|
|
468
|
+
Compliance / Audit:
|
|
469
|
+
audit-export Export ledger data to JSON, CSV, or JSON Lines (SIEM)
|
|
470
|
+
[--format json|csv|jsonl] (default: json)
|
|
471
|
+
[--output <path>] Write to file instead of stdout
|
|
472
|
+
[--table runs|events|bundles|coverage] Single table only
|
|
473
|
+
|
|
474
|
+
API Server:
|
|
475
|
+
serve Start lightweight HTTP API server
|
|
476
|
+
[--port 7400] (default: 7400)
|
|
477
|
+
Endpoints: GET /health, POST /verify, POST /bundle
|
|
478
|
+
|
|
356
479
|
Cloud / Web:
|
|
357
480
|
vendor Vendor standalone CLI into a repo for cloud environments
|
|
358
481
|
[--target <dir>] (default: current directory)
|