@stackbilt/cli 0.2.0 → 0.3.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/README.md +44 -5
- package/dist/commands/adf.d.ts +1 -1
- package/dist/commands/adf.d.ts.map +1 -1
- package/dist/commands/adf.js +434 -13
- package/dist/commands/adf.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +64 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -65,6 +65,8 @@ charter hook install --commit-msg
|
|
|
65
65
|
charter adf init # scaffold .ai/ context directory
|
|
66
66
|
charter adf fmt .ai/core.adf # reformat ADF to canonical form
|
|
67
67
|
charter adf bundle --task "fix React component"
|
|
68
|
+
charter adf sync --check # verify .adf files match locked hashes
|
|
69
|
+
charter adf evidence --auto-measure --format json # validate metric ceilings
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
## Human Onboarding (Copy/Paste)
|
|
@@ -131,6 +133,10 @@ npx charter validate --ci --format json
|
|
|
131
133
|
npx charter drift --ci --format json
|
|
132
134
|
npx charter audit --format json
|
|
133
135
|
|
|
136
|
+
# ADF context management
|
|
137
|
+
npx charter adf evidence --auto-measure --format json --ci
|
|
138
|
+
npx charter adf sync --check --format json
|
|
139
|
+
|
|
134
140
|
# recurring maintenance
|
|
135
141
|
npx charter doctor --format json
|
|
136
142
|
npx charter audit --format json
|
|
@@ -179,7 +185,7 @@ Scaffold `.charter/` config templates only. Supports `--preset worker|frontend|b
|
|
|
179
185
|
|
|
180
186
|
### `charter doctor`
|
|
181
187
|
|
|
182
|
-
Validate CLI installation
|
|
188
|
+
Validate CLI installation, `.charter/` config, and ADF readiness (manifest existence, module parseability, sync lock status).
|
|
183
189
|
|
|
184
190
|
### `charter validate`
|
|
185
191
|
|
|
@@ -260,14 +266,47 @@ ADF (Attention-Directed Format) context management. Replaces monolithic `.cursor
|
|
|
260
266
|
```bash
|
|
261
267
|
charter adf init [--ai-dir <dir>] [--force]
|
|
262
268
|
charter adf fmt <file> [--check] [--write]
|
|
263
|
-
charter adf patch <file> --ops '<json>'
|
|
269
|
+
charter adf patch <file> --ops '<json>' | --ops-file <path>
|
|
264
270
|
charter adf bundle --task "Fix React component" [--ai-dir <dir>]
|
|
271
|
+
charter adf sync --check [--ai-dir <dir>]
|
|
272
|
+
charter adf sync --write [--ai-dir <dir>]
|
|
273
|
+
charter adf evidence [--task "<prompt>"] [--ai-dir <dir>] [--auto-measure]
|
|
274
|
+
[--context '{"key": value}'] [--context-file <path>]
|
|
265
275
|
```
|
|
266
276
|
|
|
267
|
-
- `init`: Scaffold `.ai/` with `manifest.adf`, `core.adf`, and `state.adf`.
|
|
277
|
+
- `init`: Scaffold `.ai/` with `manifest.adf`, `core.adf`, and `state.adf`. Core module includes a 500-line LOC guardrail metric by default.
|
|
268
278
|
- `fmt`: Parse and reformat to canonical ADF. `--check` exits 1 if not canonical. `--write` reformats in place. Default prints to stdout.
|
|
269
|
-
- `patch`: Apply typed delta operations (ADD_BULLET, REPLACE_BULLET, REMOVE_BULLET, ADD_SECTION, REPLACE_SECTION, REMOVE_SECTION).
|
|
270
|
-
- `bundle`: Read `manifest.adf`, resolve ON_DEMAND modules via keyword matching against the task, and output merged context with token estimate.
|
|
279
|
+
- `patch`: Apply typed delta operations (ADD_BULLET, REPLACE_BULLET, REMOVE_BULLET, ADD_SECTION, REPLACE_SECTION, REMOVE_SECTION, UPDATE_METRIC). Accepts `--ops <json>` inline or `--ops-file <path>` from a file.
|
|
280
|
+
- `bundle`: Read `manifest.adf`, resolve ON_DEMAND modules via keyword matching against the task, and output merged context with token estimate, trigger observability (matched keywords, load reasons), unmatched modules, and advisory-only warnings.
|
|
281
|
+
- `sync --check`: Verify source `.adf` files match their locked hashes. Exits 1 if any source has drifted since last sync.
|
|
282
|
+
- `sync --write`: Update `.adf.lock` with current source hashes.
|
|
283
|
+
- `evidence`: Validate all metric ceilings in the merged document and produce a structured pass/fail evidence report. `--auto-measure` counts lines in files referenced by the manifest METRICS section. `--context` or `--context-file` inject external metric overrides that take precedence over auto-measured and document values. In `--ci` mode, exits 1 on constraint failures (warnings don't fail).
|
|
284
|
+
|
|
285
|
+
#### Evidence Example (from Charter's own repo)
|
|
286
|
+
|
|
287
|
+
Charter uses its own ADF system for self-governance. Running evidence with auto-measurement:
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
charter adf evidence --auto-measure --format json --ci
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Produces constraint checks against live source file line counts:
|
|
294
|
+
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"constraints": [
|
|
298
|
+
{ "metric": "adf_commands_loc", "value": 835, "ceiling": 900, "status": "pass", "source": "context" },
|
|
299
|
+
{ "metric": "bundler_loc", "value": 389, "ceiling": 500, "status": "pass", "source": "context" },
|
|
300
|
+
{ "metric": "parser_loc", "value": 214, "ceiling": 300, "status": "pass", "source": "context" },
|
|
301
|
+
{ "metric": "cli_entry_loc", "value": 142, "ceiling": 200, "status": "pass", "source": "context" }
|
|
302
|
+
],
|
|
303
|
+
"allPassing": true,
|
|
304
|
+
"failCount": 0,
|
|
305
|
+
"nextActions": []
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
`source: "context"` indicates values were auto-measured from source files (not from the document's static values). In `--ci` mode, exit code 1 is returned when any constraint fails.
|
|
271
310
|
|
|
272
311
|
## Global Options
|
|
273
312
|
|
package/dist/commands/adf.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* charter adf
|
|
3
3
|
*
|
|
4
|
-
* ADF (Attention-Directed Format) subcommands: init, fmt, patch, bundle.
|
|
4
|
+
* ADF (Attention-Directed Format) subcommands: init, fmt, patch, bundle, sync.
|
|
5
5
|
*/
|
|
6
6
|
import type { CLIOptions } from '../index';
|
|
7
7
|
export declare function adfCommand(options: CLIOptions, args: string[]): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adf.d.ts","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"adf.d.ts","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAiD3C,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBrF"}
|
package/dist/commands/adf.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* charter adf
|
|
4
4
|
*
|
|
5
|
-
* ADF (Attention-Directed Format) subcommands: init, fmt, patch, bundle.
|
|
5
|
+
* ADF (Attention-Directed Format) subcommands: init, fmt, patch, bundle, sync.
|
|
6
6
|
*/
|
|
7
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
8
|
if (k2 === undefined) k2 = k;
|
|
@@ -41,6 +41,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
41
41
|
exports.adfCommand = adfCommand;
|
|
42
42
|
const fs = __importStar(require("node:fs"));
|
|
43
43
|
const path = __importStar(require("node:path"));
|
|
44
|
+
const crypto = __importStar(require("node:crypto"));
|
|
44
45
|
const adf_1 = require("@stackbilt/adf");
|
|
45
46
|
const index_1 = require("../index");
|
|
46
47
|
// ============================================================================
|
|
@@ -68,10 +69,13 @@ const CORE_SCAFFOLD = `ADF: 0.1
|
|
|
68
69
|
- This file is loaded by default for every task.
|
|
69
70
|
- Keep it lean — add domain-specific rules to on-demand modules.
|
|
70
71
|
|
|
71
|
-
\u{26A0}\u{FE0F} CONSTRAINTS:
|
|
72
|
+
\u{26A0}\u{FE0F} CONSTRAINTS [load-bearing]:
|
|
72
73
|
- Follow conventional commits.
|
|
73
74
|
- No secrets in source code.
|
|
74
75
|
- Prefer pure functions in library code.
|
|
76
|
+
|
|
77
|
+
\u{1F4CA} METRICS [load-bearing]:
|
|
78
|
+
entry_loc: 0 / 500 [lines]
|
|
75
79
|
`;
|
|
76
80
|
const STATE_SCAFFOLD = `ADF: 0.1
|
|
77
81
|
\u{1F9E0} STATE:
|
|
@@ -97,8 +101,12 @@ async function adfCommand(options, args) {
|
|
|
97
101
|
return adfPatch(options, restArgs);
|
|
98
102
|
case 'bundle':
|
|
99
103
|
return adfBundle(options, restArgs);
|
|
104
|
+
case 'sync':
|
|
105
|
+
return adfSync(options, restArgs);
|
|
106
|
+
case 'evidence':
|
|
107
|
+
return adfEvidence(options, restArgs);
|
|
100
108
|
default:
|
|
101
|
-
throw new index_1.CLIError(`Unknown adf subcommand: ${subcommand}. Supported: init, fmt, patch, bundle`);
|
|
109
|
+
throw new index_1.CLIError(`Unknown adf subcommand: ${subcommand}. Supported: init, fmt, patch, bundle, sync, evidence`);
|
|
102
110
|
}
|
|
103
111
|
}
|
|
104
112
|
function adfInit(options, args) {
|
|
@@ -108,7 +116,7 @@ function adfInit(options, args) {
|
|
|
108
116
|
if (fs.existsSync(manifestPath) && !force) {
|
|
109
117
|
const result = { created: false, aiDir, files: [] };
|
|
110
118
|
if (options.format === 'json') {
|
|
111
|
-
console.log(JSON.stringify(result, null, 2));
|
|
119
|
+
console.log(JSON.stringify({ ...result, nextActions: ['charter adf fmt .ai/core.adf --check', 'charter adf bundle --task "<prompt>"'] }, null, 2));
|
|
112
120
|
}
|
|
113
121
|
else {
|
|
114
122
|
console.log(` .ai/ already exists at ${aiDir}/`);
|
|
@@ -126,7 +134,14 @@ function adfInit(options, args) {
|
|
|
126
134
|
files: ['manifest.adf', 'core.adf', 'state.adf'],
|
|
127
135
|
};
|
|
128
136
|
if (options.format === 'json') {
|
|
129
|
-
console.log(JSON.stringify(
|
|
137
|
+
console.log(JSON.stringify({
|
|
138
|
+
...result,
|
|
139
|
+
nextActions: [
|
|
140
|
+
'Edit core.adf with your universal repo rules',
|
|
141
|
+
'charter adf fmt .ai/core.adf --check',
|
|
142
|
+
'charter adf bundle --task "<prompt>"',
|
|
143
|
+
],
|
|
144
|
+
}, null, 2));
|
|
130
145
|
}
|
|
131
146
|
else {
|
|
132
147
|
console.log(` Initialized ADF context at ${aiDir}/`);
|
|
@@ -196,15 +211,17 @@ function adfPatch(options, args) {
|
|
|
196
211
|
throw new index_1.CLIError('adf patch requires a file path. Usage: charter adf patch <file> --ops <json>');
|
|
197
212
|
}
|
|
198
213
|
const opsJson = getFlag(args, '--ops');
|
|
199
|
-
|
|
200
|
-
|
|
214
|
+
const opsFile = getFlag(args, '--ops-file');
|
|
215
|
+
if (!opsJson && !opsFile) {
|
|
216
|
+
throw new index_1.CLIError('adf patch requires --ops <json> or --ops-file <path>.');
|
|
201
217
|
}
|
|
202
218
|
if (!fs.existsSync(filePath)) {
|
|
203
219
|
throw new index_1.CLIError(`File not found: ${filePath}`);
|
|
204
220
|
}
|
|
221
|
+
const rawOps = opsFile ? readJsonFlag(opsFile, '--ops-file') : opsJson;
|
|
205
222
|
let ops;
|
|
206
223
|
try {
|
|
207
|
-
ops = JSON.parse(
|
|
224
|
+
ops = JSON.parse(rawOps);
|
|
208
225
|
if (!Array.isArray(ops)) {
|
|
209
226
|
throw new Error('ops must be an array');
|
|
210
227
|
}
|
|
@@ -264,27 +281,78 @@ function adfBundle(options, args) {
|
|
|
264
281
|
const modulePaths = (0, adf_1.resolveModules)(manifest, keywords);
|
|
265
282
|
const readFile = (p) => fs.readFileSync(p, 'utf-8');
|
|
266
283
|
try {
|
|
267
|
-
const result = (0, adf_1.bundleModules)(aiDir, modulePaths, readFile);
|
|
284
|
+
const result = (0, adf_1.bundleModules)(aiDir, modulePaths, readFile, keywords);
|
|
268
285
|
if (options.format === 'json') {
|
|
269
|
-
|
|
286
|
+
const jsonOut = {
|
|
270
287
|
task,
|
|
271
288
|
keywords,
|
|
272
289
|
resolvedModules: result.resolvedModules,
|
|
273
290
|
tokenEstimate: result.tokenEstimate,
|
|
291
|
+
tokenBudget: result.tokenBudget,
|
|
292
|
+
tokenUtilization: result.tokenUtilization,
|
|
293
|
+
perModuleTokens: result.perModuleTokens,
|
|
274
294
|
triggerMatches: result.triggerMatches,
|
|
275
|
-
}
|
|
295
|
+
};
|
|
296
|
+
if (result.unmatchedModules.length > 0) {
|
|
297
|
+
jsonOut.unmatchedModules = result.unmatchedModules;
|
|
298
|
+
}
|
|
299
|
+
if (result.moduleBudgetOverruns.length > 0) {
|
|
300
|
+
jsonOut.moduleBudgetOverruns = result.moduleBudgetOverruns;
|
|
301
|
+
}
|
|
302
|
+
if (result.advisoryOnlyModules.length > 0) {
|
|
303
|
+
jsonOut.advisoryOnlyModules = result.advisoryOnlyModules;
|
|
304
|
+
}
|
|
305
|
+
if (result.manifest.cadence.length > 0) {
|
|
306
|
+
jsonOut.cadence = result.manifest.cadence;
|
|
307
|
+
}
|
|
308
|
+
console.log(JSON.stringify(jsonOut, null, 2));
|
|
276
309
|
}
|
|
277
310
|
else {
|
|
278
311
|
console.log(` Task: "${task}"`);
|
|
279
312
|
console.log(` Keywords: ${keywords.join(', ')}`);
|
|
280
313
|
console.log(` Resolved modules: ${result.resolvedModules.join(', ')}`);
|
|
281
314
|
console.log(` Token estimate: ~${result.tokenEstimate}`);
|
|
315
|
+
if (result.tokenBudget !== null) {
|
|
316
|
+
const pct = result.tokenUtilization !== null
|
|
317
|
+
? ` (${(result.tokenUtilization * 100).toFixed(0)}%)`
|
|
318
|
+
: '';
|
|
319
|
+
console.log(` Token budget: ${result.tokenBudget}${pct}`);
|
|
320
|
+
}
|
|
282
321
|
console.log('');
|
|
322
|
+
if (result.moduleBudgetOverruns.length > 0) {
|
|
323
|
+
console.log(' Module budget overruns:');
|
|
324
|
+
for (const o of result.moduleBudgetOverruns) {
|
|
325
|
+
console.log(` [!] ${o.module}: ~${o.tokens} tokens (budget: ${o.budget})`);
|
|
326
|
+
}
|
|
327
|
+
console.log('');
|
|
328
|
+
}
|
|
283
329
|
if (result.triggerMatches.length > 0) {
|
|
284
330
|
console.log(' Trigger report:');
|
|
285
331
|
for (const tm of result.triggerMatches) {
|
|
286
332
|
const icon = tm.matched ? '+' : '-';
|
|
287
|
-
|
|
333
|
+
const kw = tm.matchedKeywords.length > 0 ? ` [${tm.matchedKeywords.join(', ')}]` : '';
|
|
334
|
+
console.log(` [${icon}] ${tm.module} (${tm.trigger})${kw}`);
|
|
335
|
+
}
|
|
336
|
+
console.log('');
|
|
337
|
+
}
|
|
338
|
+
if (result.unmatchedModules.length > 0) {
|
|
339
|
+
console.log(' Unmatched modules (not loaded):');
|
|
340
|
+
for (const m of result.unmatchedModules) {
|
|
341
|
+
console.log(` [-] ${m}`);
|
|
342
|
+
}
|
|
343
|
+
console.log('');
|
|
344
|
+
}
|
|
345
|
+
if (result.advisoryOnlyModules.length > 0) {
|
|
346
|
+
console.log(' Advisory-only modules:');
|
|
347
|
+
for (const m of result.advisoryOnlyModules) {
|
|
348
|
+
console.log(` [!] ${m}: no load-bearing sections`);
|
|
349
|
+
}
|
|
350
|
+
console.log('');
|
|
351
|
+
}
|
|
352
|
+
if (result.manifest.cadence.length > 0) {
|
|
353
|
+
console.log(' Cadence schedule:');
|
|
354
|
+
for (const c of result.manifest.cadence) {
|
|
355
|
+
console.log(` ${c.check}: ${c.frequency}`);
|
|
288
356
|
}
|
|
289
357
|
console.log('');
|
|
290
358
|
}
|
|
@@ -308,6 +376,337 @@ function adfBundle(options, args) {
|
|
|
308
376
|
throw e;
|
|
309
377
|
}
|
|
310
378
|
}
|
|
379
|
+
function adfSync(options, args) {
|
|
380
|
+
const aiDir = getFlag(args, '--ai-dir') || '.ai';
|
|
381
|
+
const checkMode = args.includes('--check');
|
|
382
|
+
const writeMode = args.includes('--write');
|
|
383
|
+
if (!checkMode && !writeMode) {
|
|
384
|
+
throw new index_1.CLIError('adf sync requires --check or --write. Usage: charter adf sync --check');
|
|
385
|
+
}
|
|
386
|
+
const manifestPath = path.join(aiDir, 'manifest.adf');
|
|
387
|
+
if (!fs.existsSync(manifestPath)) {
|
|
388
|
+
throw new index_1.CLIError(`manifest.adf not found at ${manifestPath}. Run: charter adf init`);
|
|
389
|
+
}
|
|
390
|
+
const manifestContent = fs.readFileSync(manifestPath, 'utf-8');
|
|
391
|
+
const manifestDoc = (0, adf_1.parseAdf)(manifestContent);
|
|
392
|
+
const manifest = (0, adf_1.parseManifest)(manifestDoc);
|
|
393
|
+
if (manifest.sync.length === 0) {
|
|
394
|
+
const result = {
|
|
395
|
+
aiDir,
|
|
396
|
+
lockFile: path.join(aiDir, '.adf.lock'),
|
|
397
|
+
entries: [],
|
|
398
|
+
allInSync: true,
|
|
399
|
+
written: false,
|
|
400
|
+
};
|
|
401
|
+
if (options.format === 'json') {
|
|
402
|
+
console.log(JSON.stringify(result, null, 2));
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
console.log(' No SYNC entries in manifest. Nothing to check.');
|
|
406
|
+
}
|
|
407
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
408
|
+
}
|
|
409
|
+
const lockFile = path.join(aiDir, '.adf.lock');
|
|
410
|
+
const locked = loadLockFile(lockFile);
|
|
411
|
+
const entries = [];
|
|
412
|
+
for (const entry of manifest.sync) {
|
|
413
|
+
const sourcePath = path.join(aiDir, entry.source);
|
|
414
|
+
if (!fs.existsSync(sourcePath)) {
|
|
415
|
+
throw new index_1.CLIError(`Sync source not found: ${sourcePath}`);
|
|
416
|
+
}
|
|
417
|
+
const sourceContent = fs.readFileSync(sourcePath, 'utf-8');
|
|
418
|
+
const sourceHash = hashContent(sourceContent);
|
|
419
|
+
const lockedHash = locked[entry.source] ?? null;
|
|
420
|
+
entries.push({
|
|
421
|
+
source: entry.source,
|
|
422
|
+
target: entry.target,
|
|
423
|
+
sourceHash,
|
|
424
|
+
lockedHash,
|
|
425
|
+
inSync: lockedHash === sourceHash,
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
const allInSync = entries.every(e => e.inSync);
|
|
429
|
+
if (writeMode) {
|
|
430
|
+
const newLock = {};
|
|
431
|
+
for (const e of entries) {
|
|
432
|
+
newLock[e.source] = e.sourceHash;
|
|
433
|
+
}
|
|
434
|
+
fs.writeFileSync(lockFile, JSON.stringify(newLock, null, 2) + '\n');
|
|
435
|
+
const result = {
|
|
436
|
+
aiDir,
|
|
437
|
+
lockFile,
|
|
438
|
+
entries,
|
|
439
|
+
allInSync: true,
|
|
440
|
+
written: true,
|
|
441
|
+
};
|
|
442
|
+
if (options.format === 'json') {
|
|
443
|
+
console.log(JSON.stringify(result, null, 2));
|
|
444
|
+
}
|
|
445
|
+
else {
|
|
446
|
+
console.log(` [ok] Updated ${lockFile} with ${entries.length} hash${entries.length === 1 ? '' : 'es'}.`);
|
|
447
|
+
}
|
|
448
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
449
|
+
}
|
|
450
|
+
// --check mode
|
|
451
|
+
const result = {
|
|
452
|
+
aiDir,
|
|
453
|
+
lockFile,
|
|
454
|
+
entries,
|
|
455
|
+
allInSync,
|
|
456
|
+
written: false,
|
|
457
|
+
};
|
|
458
|
+
if (options.format === 'json') {
|
|
459
|
+
const syncOut = { ...result };
|
|
460
|
+
if (!allInSync) {
|
|
461
|
+
syncOut.nextActions = ['Regenerate targets from source .adf files', 'charter adf sync --write'];
|
|
462
|
+
}
|
|
463
|
+
console.log(JSON.stringify(syncOut, null, 2));
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
for (const e of entries) {
|
|
467
|
+
if (e.inSync) {
|
|
468
|
+
console.log(` [ok] ${e.source} -> ${e.target} (in sync)`);
|
|
469
|
+
}
|
|
470
|
+
else if (e.lockedHash === null) {
|
|
471
|
+
console.log(` [warn] ${e.source} -> ${e.target} (no lock entry — run: charter adf sync --write)`);
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
console.log(` [fail] ${e.source} -> ${e.target} (source changed since last sync)`);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
if (!allInSync) {
|
|
478
|
+
console.log('');
|
|
479
|
+
console.log(' Source .adf files have changed. Regenerate targets and run: charter adf sync --write');
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
return allInSync ? index_1.EXIT_CODE.SUCCESS : index_1.EXIT_CODE.POLICY_VIOLATION;
|
|
483
|
+
}
|
|
484
|
+
function hashContent(content) {
|
|
485
|
+
return crypto.createHash('sha256').update(content).digest('hex').slice(0, 16);
|
|
486
|
+
}
|
|
487
|
+
function loadLockFile(lockFile) {
|
|
488
|
+
if (!fs.existsSync(lockFile))
|
|
489
|
+
return {};
|
|
490
|
+
try {
|
|
491
|
+
return JSON.parse(fs.readFileSync(lockFile, 'utf-8'));
|
|
492
|
+
}
|
|
493
|
+
catch {
|
|
494
|
+
return {};
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
function adfEvidence(options, args) {
|
|
498
|
+
const task = getFlag(args, '--task');
|
|
499
|
+
const aiDir = getFlag(args, '--ai-dir') || '.ai';
|
|
500
|
+
const contextJson = getFlag(args, '--context');
|
|
501
|
+
const contextFile = getFlag(args, '--context-file');
|
|
502
|
+
const autoMeasure = args.includes('--auto-measure');
|
|
503
|
+
const manifestPath = path.join(aiDir, 'manifest.adf');
|
|
504
|
+
if (!fs.existsSync(manifestPath)) {
|
|
505
|
+
throw new index_1.CLIError(`manifest.adf not found at ${manifestPath}. Run: charter adf init`);
|
|
506
|
+
}
|
|
507
|
+
const manifestContent = fs.readFileSync(manifestPath, 'utf-8');
|
|
508
|
+
const manifestDoc = (0, adf_1.parseAdf)(manifestContent);
|
|
509
|
+
const manifest = (0, adf_1.parseManifest)(manifestDoc);
|
|
510
|
+
// Resolve modules
|
|
511
|
+
let modulePaths;
|
|
512
|
+
let keywords = [];
|
|
513
|
+
if (task) {
|
|
514
|
+
keywords = task
|
|
515
|
+
.split(/[\s,;:()[\]{}]+/)
|
|
516
|
+
.filter(w => w.length > 1)
|
|
517
|
+
.map(w => w.replace(/[^a-zA-Z0-9]/g, ''));
|
|
518
|
+
modulePaths = (0, adf_1.resolveModules)(manifest, keywords);
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
modulePaths = [...manifest.defaultLoad];
|
|
522
|
+
}
|
|
523
|
+
const readFile = (p) => fs.readFileSync(p, 'utf-8');
|
|
524
|
+
let context;
|
|
525
|
+
const rawContext = contextFile ? readJsonFlag(contextFile, '--context-file') : contextJson;
|
|
526
|
+
if (rawContext) {
|
|
527
|
+
try {
|
|
528
|
+
const parsed = JSON.parse(rawContext);
|
|
529
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
530
|
+
throw new Error('must be a JSON object');
|
|
531
|
+
}
|
|
532
|
+
context = parsed;
|
|
533
|
+
}
|
|
534
|
+
catch (e) {
|
|
535
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
536
|
+
throw new index_1.CLIError(`Invalid --context JSON: ${msg}`);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
// Auto-measure: count lines in files referenced by manifest METRICS
|
|
540
|
+
// Manifest keys are UPPERCASE (parser map disambiguation), metric keys are lowercase.
|
|
541
|
+
const autoMeasured = [];
|
|
542
|
+
if (autoMeasure && manifest.metrics.length > 0) {
|
|
543
|
+
const measured = {};
|
|
544
|
+
for (const ms of manifest.metrics) {
|
|
545
|
+
const metricKey = ms.key.toLowerCase();
|
|
546
|
+
const filePath = path.resolve(ms.path);
|
|
547
|
+
if (fs.existsSync(filePath)) {
|
|
548
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
549
|
+
const lines = content.split('\n').length;
|
|
550
|
+
measured[metricKey] = lines;
|
|
551
|
+
autoMeasured.push({ metric: metricKey, path: ms.path, lines });
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
autoMeasured.push({ metric: metricKey, path: ms.path, lines: null, error: 'file not found' });
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
// Merge: explicit --context wins over auto-measured
|
|
558
|
+
context = { ...measured, ...context };
|
|
559
|
+
}
|
|
560
|
+
try {
|
|
561
|
+
const bundle = (0, adf_1.bundleModules)(aiDir, modulePaths, readFile, keywords);
|
|
562
|
+
const evidence = (0, adf_1.validateConstraints)(bundle.mergedDocument, context);
|
|
563
|
+
// Check sync status
|
|
564
|
+
const lockFile = path.join(aiDir, '.adf.lock');
|
|
565
|
+
const locked = loadLockFile(lockFile);
|
|
566
|
+
const syncEntries = [];
|
|
567
|
+
for (const entry of manifest.sync) {
|
|
568
|
+
const sourcePath = path.join(aiDir, entry.source);
|
|
569
|
+
if (fs.existsSync(sourcePath)) {
|
|
570
|
+
const sourceContent = fs.readFileSync(sourcePath, 'utf-8');
|
|
571
|
+
const sourceHash = hashContent(sourceContent);
|
|
572
|
+
const lockedHash = locked[entry.source] ?? null;
|
|
573
|
+
syncEntries.push({ source: entry.source, inSync: lockedHash === sourceHash });
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
const allInSync = syncEntries.length === 0 || syncEntries.every(e => e.inSync);
|
|
577
|
+
const staleCount = syncEntries.filter(e => !e.inSync).length;
|
|
578
|
+
if (options.format === 'json') {
|
|
579
|
+
const jsonOut = {
|
|
580
|
+
aiDir,
|
|
581
|
+
resolvedModules: bundle.resolvedModules,
|
|
582
|
+
tokenEstimate: bundle.tokenEstimate,
|
|
583
|
+
tokenBudget: bundle.tokenBudget,
|
|
584
|
+
tokenUtilization: bundle.tokenUtilization,
|
|
585
|
+
constraints: evidence.constraints,
|
|
586
|
+
weightSummary: evidence.weightSummary,
|
|
587
|
+
allPassing: evidence.allPassing,
|
|
588
|
+
failCount: evidence.failCount,
|
|
589
|
+
warnCount: evidence.warnCount,
|
|
590
|
+
syncStatus: { allInSync, staleCount },
|
|
591
|
+
};
|
|
592
|
+
if (task) {
|
|
593
|
+
jsonOut.task = task;
|
|
594
|
+
jsonOut.keywords = keywords;
|
|
595
|
+
}
|
|
596
|
+
if (bundle.advisoryOnlyModules.length > 0) {
|
|
597
|
+
jsonOut.advisoryOnlyModules = bundle.advisoryOnlyModules;
|
|
598
|
+
}
|
|
599
|
+
if (autoMeasured.length > 0) {
|
|
600
|
+
jsonOut.autoMeasured = autoMeasured;
|
|
601
|
+
}
|
|
602
|
+
// Suggest logical next steps based on results
|
|
603
|
+
const nextActions = [];
|
|
604
|
+
if (!evidence.allPassing) {
|
|
605
|
+
nextActions.push('Fix failing constraints before merging');
|
|
606
|
+
}
|
|
607
|
+
if (!allInSync) {
|
|
608
|
+
nextActions.push('charter adf sync --write');
|
|
609
|
+
}
|
|
610
|
+
if (evidence.warnCount > 0) {
|
|
611
|
+
nextActions.push('Review metrics at ceiling boundary');
|
|
612
|
+
}
|
|
613
|
+
if (nextActions.length > 0) {
|
|
614
|
+
jsonOut.nextActions = nextActions;
|
|
615
|
+
}
|
|
616
|
+
console.log(JSON.stringify(jsonOut, null, 2));
|
|
617
|
+
}
|
|
618
|
+
else {
|
|
619
|
+
console.log('');
|
|
620
|
+
console.log(' ADF Evidence Report');
|
|
621
|
+
console.log(' ===================');
|
|
622
|
+
console.log(` Modules loaded: ${bundle.resolvedModules.join(', ')}`);
|
|
623
|
+
console.log(` Token estimate: ~${bundle.tokenEstimate}`);
|
|
624
|
+
if (bundle.tokenBudget !== null) {
|
|
625
|
+
const pct = bundle.tokenUtilization !== null
|
|
626
|
+
? ` (${(bundle.tokenUtilization * 100).toFixed(0)}%)`
|
|
627
|
+
: '';
|
|
628
|
+
console.log(` Token budget: ${bundle.tokenBudget}${pct}`);
|
|
629
|
+
}
|
|
630
|
+
console.log('');
|
|
631
|
+
// Auto-measured metrics
|
|
632
|
+
if (autoMeasured.length > 0) {
|
|
633
|
+
console.log(' Auto-measured:');
|
|
634
|
+
for (const m of autoMeasured) {
|
|
635
|
+
if (m.lines !== null) {
|
|
636
|
+
console.log(` ${m.metric}: ${m.lines} lines (${m.path})`);
|
|
637
|
+
}
|
|
638
|
+
else {
|
|
639
|
+
console.log(` ${m.metric}: [file not found] (${m.path})`);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
console.log('');
|
|
643
|
+
}
|
|
644
|
+
// Weight summary
|
|
645
|
+
console.log(' Section weights:');
|
|
646
|
+
console.log(` Load-bearing: ${evidence.weightSummary.loadBearing}`);
|
|
647
|
+
console.log(` Advisory: ${evidence.weightSummary.advisory}`);
|
|
648
|
+
console.log(` Unweighted: ${evidence.weightSummary.unweighted}`);
|
|
649
|
+
console.log('');
|
|
650
|
+
// Advisory-only module warnings
|
|
651
|
+
if (bundle.advisoryOnlyModules.length > 0) {
|
|
652
|
+
console.log(' Advisory-only modules:');
|
|
653
|
+
for (const m of bundle.advisoryOnlyModules) {
|
|
654
|
+
console.log(` [!] ${m}: no load-bearing sections`);
|
|
655
|
+
}
|
|
656
|
+
console.log('');
|
|
657
|
+
}
|
|
658
|
+
// Constraints
|
|
659
|
+
if (evidence.constraints.length > 0) {
|
|
660
|
+
console.log(' Constraints:');
|
|
661
|
+
for (const c of evidence.constraints) {
|
|
662
|
+
const icon = c.status === 'pass' ? 'ok' : c.status === 'warn' ? 'WARN' : 'FAIL';
|
|
663
|
+
console.log(` [${icon}] ${c.message}`);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
console.log(' Constraints: (none)');
|
|
668
|
+
}
|
|
669
|
+
console.log('');
|
|
670
|
+
// Sync status
|
|
671
|
+
if (syncEntries.length > 0) {
|
|
672
|
+
if (allInSync) {
|
|
673
|
+
console.log(' Sync: all sources in sync');
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
console.log(` Sync: ${staleCount} source${staleCount === 1 ? '' : 's'} out of sync`);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
else {
|
|
680
|
+
console.log(' Sync: no sync entries configured');
|
|
681
|
+
}
|
|
682
|
+
console.log('');
|
|
683
|
+
// Verdict
|
|
684
|
+
const verdict = evidence.allPassing ? 'PASS' : 'FAIL';
|
|
685
|
+
console.log(` Verdict: ${verdict}`);
|
|
686
|
+
if (evidence.warnCount > 0) {
|
|
687
|
+
console.log(` (${evidence.warnCount} warning${evidence.warnCount === 1 ? '' : 's'} — at ceiling boundary)`);
|
|
688
|
+
}
|
|
689
|
+
console.log('');
|
|
690
|
+
}
|
|
691
|
+
// CI mode: exit 1 on constraint failures
|
|
692
|
+
if (options.ciMode && !evidence.allPassing) {
|
|
693
|
+
return index_1.EXIT_CODE.POLICY_VIOLATION;
|
|
694
|
+
}
|
|
695
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
696
|
+
}
|
|
697
|
+
catch (e) {
|
|
698
|
+
if (e instanceof Error && e.name === 'AdfBundleError') {
|
|
699
|
+
if (options.format === 'json') {
|
|
700
|
+
console.log(JSON.stringify({ error: e.message }, null, 2));
|
|
701
|
+
}
|
|
702
|
+
else {
|
|
703
|
+
console.error(` [error] ${e.message}`);
|
|
704
|
+
}
|
|
705
|
+
return index_1.EXIT_CODE.RUNTIME_ERROR;
|
|
706
|
+
}
|
|
707
|
+
throw e;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
311
710
|
// ============================================================================
|
|
312
711
|
// Helpers
|
|
313
712
|
// ============================================================================
|
|
@@ -318,6 +717,12 @@ function getFlag(args, flag) {
|
|
|
318
717
|
}
|
|
319
718
|
return undefined;
|
|
320
719
|
}
|
|
720
|
+
function readJsonFlag(filePath, flagName) {
|
|
721
|
+
if (!fs.existsSync(filePath)) {
|
|
722
|
+
throw new index_1.CLIError(`File not found for ${flagName}: ${filePath}`);
|
|
723
|
+
}
|
|
724
|
+
return fs.readFileSync(filePath, 'utf-8');
|
|
725
|
+
}
|
|
321
726
|
function printHelp() {
|
|
322
727
|
console.log('');
|
|
323
728
|
console.log(' charter adf — Attention-Directed Format tools');
|
|
@@ -332,11 +737,27 @@ function printHelp() {
|
|
|
332
737
|
console.log(' --write: reformat file in place');
|
|
333
738
|
console.log(' Default: print formatted output to stdout.');
|
|
334
739
|
console.log('');
|
|
335
|
-
console.log(' charter adf patch <file> --ops <json>');
|
|
740
|
+
console.log(' charter adf patch <file> --ops <json> | --ops-file <path>');
|
|
336
741
|
console.log(' Apply ADF_PATCH operations to a file.');
|
|
337
742
|
console.log('');
|
|
338
743
|
console.log(' charter adf bundle --task "<prompt>" [--ai-dir <dir>]');
|
|
339
744
|
console.log(' Resolve manifest modules for a task and output merged context.');
|
|
340
745
|
console.log('');
|
|
746
|
+
console.log(' charter adf sync --check [--ai-dir <dir>]');
|
|
747
|
+
console.log(' Verify source .adf files match their locked hashes.');
|
|
748
|
+
console.log(' Exit 1 if any source has changed since last sync.');
|
|
749
|
+
console.log('');
|
|
750
|
+
console.log(' charter adf sync --write [--ai-dir <dir>]');
|
|
751
|
+
console.log(' Update .adf.lock with current source hashes.');
|
|
752
|
+
console.log('');
|
|
753
|
+
console.log(' charter adf evidence [--task "<prompt>"] [--ai-dir <dir>] [--auto-measure]');
|
|
754
|
+
console.log(' [--context \'{"key": value}\']');
|
|
755
|
+
console.log(' Validate metric constraints and produce a structured evidence report.');
|
|
756
|
+
console.log(' --task: resolve on-demand modules for task. Omit for defaultLoad only.');
|
|
757
|
+
console.log(' --auto-measure: count lines in files from manifest METRICS section.');
|
|
758
|
+
console.log(' --context: JSON object of external metric overrides (wins over auto).');
|
|
759
|
+
console.log(' --context-file: read --context JSON from a file instead.');
|
|
760
|
+
console.log(' In --ci mode, exit 1 if any constraint fails.');
|
|
761
|
+
console.log('');
|
|
341
762
|
}
|
|
342
763
|
//# sourceMappingURL=adf.js.map
|
package/dist/commands/adf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adf.js","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adf.js","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAc3C,wBAAsB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAkIxE"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -44,6 +44,7 @@ const fs = __importStar(require("node:fs"));
|
|
|
44
44
|
const path = __importStar(require("node:path"));
|
|
45
45
|
const index_1 = require("../index");
|
|
46
46
|
const config_1 = require("../config");
|
|
47
|
+
const adf_1 = require("@stackbilt/adf");
|
|
47
48
|
async function doctorCommand(options) {
|
|
48
49
|
const checks = [];
|
|
49
50
|
const configFile = path.join(options.configPath, 'config.json');
|
|
@@ -79,6 +80,69 @@ async function doctorCommand(options) {
|
|
|
79
80
|
status: policyCount > 0 ? 'PASS' : 'WARN',
|
|
80
81
|
details: policyCount > 0 ? `${policyCount} markdown policy file(s).` : 'No policy markdown files found.',
|
|
81
82
|
});
|
|
83
|
+
// ADF readiness checks
|
|
84
|
+
const aiDir = '.ai';
|
|
85
|
+
const manifestPath = path.join(aiDir, 'manifest.adf');
|
|
86
|
+
const hasManifest = fs.existsSync(manifestPath);
|
|
87
|
+
checks.push({
|
|
88
|
+
name: 'adf manifest',
|
|
89
|
+
status: hasManifest ? 'PASS' : 'WARN',
|
|
90
|
+
details: hasManifest ? `${manifestPath} exists.` : `${manifestPath} not found. Run: charter adf init`,
|
|
91
|
+
});
|
|
92
|
+
if (hasManifest) {
|
|
93
|
+
try {
|
|
94
|
+
const manifestContent = fs.readFileSync(manifestPath, 'utf-8');
|
|
95
|
+
const manifestDoc = (0, adf_1.parseAdf)(manifestContent);
|
|
96
|
+
const manifest = (0, adf_1.parseManifest)(manifestDoc);
|
|
97
|
+
checks.push({
|
|
98
|
+
name: 'adf manifest parse',
|
|
99
|
+
status: 'PASS',
|
|
100
|
+
details: `Parsed: ${manifest.defaultLoad.length} default-load, ${manifest.onDemand.length} on-demand module(s).`,
|
|
101
|
+
});
|
|
102
|
+
// Check that all defaultLoad modules exist and parse
|
|
103
|
+
const missingModules = [];
|
|
104
|
+
for (const mod of manifest.defaultLoad) {
|
|
105
|
+
const modPath = path.join(aiDir, mod);
|
|
106
|
+
if (!fs.existsSync(modPath)) {
|
|
107
|
+
missingModules.push(mod);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
try {
|
|
111
|
+
(0, adf_1.parseAdf)(fs.readFileSync(modPath, 'utf-8'));
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
missingModules.push(`${mod} (parse error)`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
checks.push({
|
|
119
|
+
name: 'adf default modules',
|
|
120
|
+
status: missingModules.length === 0 ? 'PASS' : 'WARN',
|
|
121
|
+
details: missingModules.length === 0
|
|
122
|
+
? `All ${manifest.defaultLoad.length} default-load module(s) present and parseable.`
|
|
123
|
+
: `Missing or unparseable: ${missingModules.join(', ')}`,
|
|
124
|
+
});
|
|
125
|
+
// Sync lock status
|
|
126
|
+
if (manifest.sync.length > 0) {
|
|
127
|
+
const lockFile = path.join(aiDir, '.adf.lock');
|
|
128
|
+
const hasLock = fs.existsSync(lockFile);
|
|
129
|
+
checks.push({
|
|
130
|
+
name: 'adf sync lock',
|
|
131
|
+
status: hasLock ? 'PASS' : 'WARN',
|
|
132
|
+
details: hasLock
|
|
133
|
+
? `${lockFile} exists (${manifest.sync.length} sync entry/entries).`
|
|
134
|
+
: `${lockFile} not found. Run: charter adf sync --write`,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
checks.push({
|
|
140
|
+
name: 'adf manifest parse',
|
|
141
|
+
status: 'WARN',
|
|
142
|
+
details: `${manifestPath} failed to parse.`,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
82
146
|
const hasWarn = checks.some((check) => check.status === 'WARN');
|
|
83
147
|
const result = {
|
|
84
148
|
status: hasWarn ? 'WARN' : 'PASS',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,sCAkIC;AAnJD,2DAA8C;AAC9C,4CAA8B;AAC9B,gDAAkC;AAElC,oCAAqC;AACrC,sCAAyC;AACzC,wCAAyD;AAWlD,KAAK,UAAU,aAAa,CAAC,OAAmB;IACrD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;IAE9B,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACnC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,8BAA8B;KAC7E,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACnC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,gCAAgC;KAC7F,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC7C,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,qBAAqB;YACzC,CAAC,CAAC,gDAAgD;KACrD,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAC1C,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACnE,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACzC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,2BAA2B,CAAC,CAAC,CAAC,iCAAiC;KACzG,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACrC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,mCAAmC;KACtG,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAA,cAAQ,EAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAA,mBAAa,EAAC,WAAW,CAAC,CAAC;YAE5C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,QAAQ,CAAC,WAAW,CAAC,MAAM,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,MAAM,uBAAuB;aACjH,CAAC,CAAC;YAEH,qDAAqD;YACrD,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,IAAA,cAAQ,EAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBAAC,MAAM,CAAC;wBACP,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBACrD,OAAO,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC;oBAClC,CAAC,CAAC,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,gDAAgD;oBACpF,CAAC,CAAC,2BAA2B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3D,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACjC,OAAO,EAAE,OAAO;wBACd,CAAC,CAAC,GAAG,QAAQ,YAAY,QAAQ,CAAC,IAAI,CAAC,MAAM,uBAAuB;wBACpE,CAAC,CAAC,GAAG,QAAQ,2CAA2C;iBAC3D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,YAAY,mBAAmB;aAC5C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAChE,MAAM,MAAM,GAAiB;QAC3B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACjC,MAAM;KACP,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,iBAAS,CAAC,gBAAgB,CAAC;IACpC,CAAC;IAED,OAAO,iBAAS,CAAC,OAAO,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,IAAA,6BAAQ,EAAC,qCAAqC,EAAE;YAC9C,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,4BAA4B;SACtC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,8BAA8B;SACxC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ Usage:
|
|
|
40
40
|
charter classify <subject> Classify a change (SURFACE/LOCAL/CROSS_CUTTING)
|
|
41
41
|
charter hook install --commit-msg
|
|
42
42
|
Install git commit-msg hook for trailer normalization
|
|
43
|
-
charter adf <subcommand> ADF context format tools (init, fmt, patch, bundle)
|
|
43
|
+
charter adf <subcommand> ADF context format tools (init, fmt, patch, bundle, sync, evidence)
|
|
44
44
|
charter why Explain why teams adopt Charter and expected ROI
|
|
45
45
|
charter doctor Check CLI + config health
|
|
46
46
|
charter --help Show this help
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackbilt/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Charter CLI — repo-level governance checks",
|
|
5
5
|
"bin": {
|
|
6
6
|
"charter": "./dist/bin.js"
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@stackbilt/types": "^0.
|
|
38
|
-
"@stackbilt/core": "^0.
|
|
39
|
-
"@stackbilt/git": "^0.
|
|
40
|
-
"@stackbilt/classify": "^0.
|
|
41
|
-
"@stackbilt/validate": "^0.
|
|
42
|
-
"@stackbilt/adf": "^0.
|
|
43
|
-
"@stackbilt/drift": "^0.
|
|
37
|
+
"@stackbilt/types": "^0.3.0",
|
|
38
|
+
"@stackbilt/core": "^0.3.0",
|
|
39
|
+
"@stackbilt/git": "^0.3.0",
|
|
40
|
+
"@stackbilt/classify": "^0.3.0",
|
|
41
|
+
"@stackbilt/validate": "^0.3.0",
|
|
42
|
+
"@stackbilt/adf": "^0.3.0",
|
|
43
|
+
"@stackbilt/drift": "^0.3.0"
|
|
44
44
|
},
|
|
45
45
|
"license": "Apache-2.0",
|
|
46
46
|
"scripts": {
|