@xenos1996/usa 2.25.3 → 2.26.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/USA.md +3 -0
- package/dist/cli-audit.d.ts.map +1 -1
- package/dist/cli-audit.js +6 -0
- package/dist/cli-audit.js.map +1 -1
- package/dist/cli-docs.d.ts +18 -0
- package/dist/cli-docs.d.ts.map +1 -0
- package/dist/cli-docs.js +416 -0
- package/dist/cli-docs.js.map +1 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +18 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -1
- package/dist/config.js.map +1 -1
- package/dist/engine/audit.d.ts +8 -0
- package/dist/engine/audit.d.ts.map +1 -1
- package/dist/engine/audit.js +63 -0
- package/dist/engine/audit.js.map +1 -1
- package/dist/engine/docs-audit.d.ts +125 -0
- package/dist/engine/docs-audit.d.ts.map +1 -0
- package/dist/engine/docs-audit.js +405 -0
- package/dist/engine/docs-audit.js.map +1 -0
- package/dist/engine/docs-impact.d.ts +62 -0
- package/dist/engine/docs-impact.d.ts.map +1 -0
- package/dist/engine/docs-impact.js +165 -0
- package/dist/engine/docs-impact.js.map +1 -0
- package/dist/engine/docs-invariants.d.ts +66 -0
- package/dist/engine/docs-invariants.d.ts.map +1 -0
- package/dist/engine/docs-invariants.js +667 -0
- package/dist/engine/docs-invariants.js.map +1 -0
- package/dist/engine/docs-taxonomy.d.ts +72 -0
- package/dist/engine/docs-taxonomy.d.ts.map +1 -0
- package/dist/engine/docs-taxonomy.js +294 -0
- package/dist/engine/docs-taxonomy.js.map +1 -0
- package/dist/engine/gate.d.ts +5 -1
- package/dist/engine/gate.d.ts.map +1 -1
- package/dist/engine/gate.js +14 -3
- package/dist/engine/gate.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util/project.d.ts +4 -0
- package/dist/util/project.d.ts.map +1 -1
- package/dist/util/project.js +9 -1
- package/dist/util/project.js.map +1 -1
- package/package.json +1 -1
- package/rules/docs-taxonomy.yaml +3362 -0
package/USA.md
CHANGED
|
@@ -392,6 +392,9 @@ The original checklist this project grew from covered sections S1–S13 well. Fo
|
|
|
392
392
|
- [ ] Docs live in the repo, next to the code
|
|
393
393
|
- [ ] Onboarding page for new contributors
|
|
394
394
|
- [ ] Doc examples executed in CI (🔵 FUTURE)
|
|
395
|
+
- [ ] Doc universe checked with `usa docs audit .` (tiered by maturity;
|
|
396
|
+
`usa audit . --docs-universe` folds it into the main report — see
|
|
397
|
+
[documentation audit](docs/documentation-audit.md))
|
|
395
398
|
|
|
396
399
|
---
|
|
397
400
|
|
package/dist/cli-audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-audit.d.ts","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"AAYA,OAAO,EAUL,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-audit.d.ts","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"AAYA,OAAO,EAUL,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AA6EvB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA4D3C"}
|
package/dist/cli-audit.js
CHANGED
|
@@ -30,6 +30,11 @@ function parseCountFlag(v) {
|
|
|
30
30
|
const n = Number(v);
|
|
31
31
|
return Number.isFinite(n) ? n : NaN;
|
|
32
32
|
}
|
|
33
|
+
/** CLI flag wins; otherwise `.usa.yaml` `docs.universe: true` stands. */
|
|
34
|
+
function resolveDocsUniverse(args, config) {
|
|
35
|
+
const flag = bool(args, 'docs-universe');
|
|
36
|
+
return flag || config.docs?.universe || undefined;
|
|
37
|
+
}
|
|
33
38
|
function readAuditOptions(args) {
|
|
34
39
|
const out = str(args, 'out', 'AUDIT.md') ?? 'AUDIT.md';
|
|
35
40
|
return {
|
|
@@ -96,6 +101,7 @@ export function cmdAudit(args) {
|
|
|
96
101
|
excludePacks: list(args, 'exclude'),
|
|
97
102
|
maxFiles: o.maxFiles,
|
|
98
103
|
maxBytes: o.maxBytes,
|
|
104
|
+
docsUniverse: resolveDocsUniverse(args, config),
|
|
99
105
|
});
|
|
100
106
|
for (const w of warnings)
|
|
101
107
|
console.error(`warning: ${w}`);
|
package/dist/cli-audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-audit.js","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-audit.js","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Args } from './cli-args.js';
|
|
2
|
+
/**
|
|
3
|
+
* `usa docs` — the documentation universe surface.
|
|
4
|
+
*
|
|
5
|
+
* usa docs audit [path] full 14-category documentation audit
|
|
6
|
+
* usa docs impact [path] which docs a change affects (semantic model)
|
|
7
|
+
* usa docs coverage [path] coverage report against the taxonomy
|
|
8
|
+
*
|
|
9
|
+
* Read-only by construction: USA audits, it never rewrites the target repo.
|
|
10
|
+
* The `--fail-on` gate on `audit` is the CI-equivalent check (AC-8/9) — the
|
|
11
|
+
* same findings the main audit emits with `--docs-universe`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DOCS_HELP_TEXT: string;
|
|
14
|
+
export declare function cmdDocsAudit(args: Args): number;
|
|
15
|
+
export declare function cmdDocsImpact(args: Args): number;
|
|
16
|
+
export declare function cmdDocsCoverage(args: Args): number;
|
|
17
|
+
export declare function cmdDocs(args: Args): number;
|
|
18
|
+
//# sourceMappingURL=cli-docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-docs.d.ts","sourceRoot":"","sources":["../src/cli-docs.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAgBvB;;;;;;;;;;GAUG;AAGH,eAAO,MAAM,cAAc,QA2CnB,CAAC;AAgGT,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA8B/C;AA6DD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAqChD;AA6FD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAsBlD;AAqED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAqB1C"}
|
package/dist/cli-docs.js
ADDED
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { DEFAULT_RULES_DIR, VERSION, bool, dryRunWrites, list, str, } from './cli-args.js';
|
|
4
|
+
import { loadConfig } from './config.js';
|
|
5
|
+
import { evaluateGateForFindings } from './engine/gate.js';
|
|
6
|
+
import { loadDocAuditContext, renderDocAuditMd, resolveTargetLabel, runDocAudit, } from './engine/docs-audit.js';
|
|
7
|
+
import { describeFile } from './engine/docs-impact.js';
|
|
8
|
+
import { writeTextFile } from './util/files.js';
|
|
9
|
+
/**
|
|
10
|
+
* `usa docs` — the documentation universe surface.
|
|
11
|
+
*
|
|
12
|
+
* usa docs audit [path] full 14-category documentation audit
|
|
13
|
+
* usa docs impact [path] which docs a change affects (semantic model)
|
|
14
|
+
* usa docs coverage [path] coverage report against the taxonomy
|
|
15
|
+
*
|
|
16
|
+
* Read-only by construction: USA audits, it never rewrites the target repo.
|
|
17
|
+
* The `--fail-on` gate on `audit` is the CI-equivalent check (AC-8/9) — the
|
|
18
|
+
* same findings the main audit emits with `--docs-universe`.
|
|
19
|
+
*/
|
|
20
|
+
/* ------------------------------------------------------------------ help -- */
|
|
21
|
+
export const DOCS_HELP_TEXT = `
|
|
22
|
+
usa docs — documentation universe audit (14 categories, 220 artifacts)
|
|
23
|
+
|
|
24
|
+
usa docs audit [path] Audit documentation: inventory, tier coverage,
|
|
25
|
+
invariants, optional impact (--changed), gate
|
|
26
|
+
usa docs impact [path] Which documentation a set of changed files affects
|
|
27
|
+
usa docs coverage [path] Coverage report against the full taxonomy
|
|
28
|
+
|
|
29
|
+
audit options
|
|
30
|
+
--out <file> Report path (default DOC-AUDIT.md)
|
|
31
|
+
--format <fmt> md | json (default md; inferred from --out)
|
|
32
|
+
--fail-on <sev> Exit 1 on findings >= sev: critical|high|medium|low|none
|
|
33
|
+
--changed <file> Changed file for impact analysis (repeatable, or comma separated)
|
|
34
|
+
--tiers <list> Expected tiers, comma separated (default: by detected maturity)
|
|
35
|
+
--profile <stage> auto | prototype | mvp | beta | production | legacy
|
|
36
|
+
--rules-dir <dir> Rule pack directory (default bundled rules/)
|
|
37
|
+
--config <file> Explicit .usa.yaml location
|
|
38
|
+
--fact <ns:value> Assert a fact detection missed
|
|
39
|
+
--dry-run Print the report path that would be written and exit
|
|
40
|
+
--quiet Only errors
|
|
41
|
+
|
|
42
|
+
impact options
|
|
43
|
+
--changed <file> Changed file (repeatable, or comma separated) — required
|
|
44
|
+
--describe <file> Instead of impact: show the documentation relationship
|
|
45
|
+
of one file (what it invalidates, what it documents,
|
|
46
|
+
what derives from it)
|
|
47
|
+
--format <fmt> md | json (default md)
|
|
48
|
+
--profile <stage> auto | prototype | mvp | beta | production | legacy
|
|
49
|
+
--rules-dir <dir> Rule pack directory (default bundled rules/)
|
|
50
|
+
--config <file> Explicit .usa.yaml location
|
|
51
|
+
|
|
52
|
+
coverage options
|
|
53
|
+
--format <fmt> md | json (default md)
|
|
54
|
+
--profile <stage> auto | prototype | mvp | beta | production | legacy
|
|
55
|
+
--rules-dir <dir> Rule pack directory (default bundled rules/)
|
|
56
|
+
--config <file> Explicit .usa.yaml location
|
|
57
|
+
|
|
58
|
+
examples
|
|
59
|
+
usa docs audit . --out DOC-AUDIT.md
|
|
60
|
+
usa docs audit . --fail-on medium # CI-equivalent gate
|
|
61
|
+
usa docs impact . --changed src/api/users.ts --changed .env.example
|
|
62
|
+
usa docs impact . --describe docs/api/users.md
|
|
63
|
+
usa docs coverage . --format json
|
|
64
|
+
`.trim();
|
|
65
|
+
/* ----------------------------------------------------------------- shared -- */
|
|
66
|
+
const MATURITIES = ['prototype', 'mvp', 'beta', 'production', 'legacy'];
|
|
67
|
+
function validateProfile(arg) {
|
|
68
|
+
if (arg === undefined || arg === 'auto')
|
|
69
|
+
return null;
|
|
70
|
+
if (!MATURITIES.includes(arg)) {
|
|
71
|
+
return `--profile must be auto or one of ${MATURITIES.join('|')}`;
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
/** Comma list of 0..4 → sorted unique tiers; error message on bad input. */
|
|
76
|
+
function parseTiers(raw) {
|
|
77
|
+
if (raw === undefined)
|
|
78
|
+
return {};
|
|
79
|
+
const tiers = [...new Set(raw.split(',').map((s) => Number(s.trim())))].filter((n) => Number.isInteger(n));
|
|
80
|
+
if (tiers.length === 0 || tiers.some((n) => n < 0 || n > 4)) {
|
|
81
|
+
return { error: '--tiers must be a comma separated list of integers 0..4' };
|
|
82
|
+
}
|
|
83
|
+
return { tiers: tiers.sort((a, b) => a - b) };
|
|
84
|
+
}
|
|
85
|
+
/** Mirrors EXPECTED_TIERS (docs-taxonomy.ts) — one place for the CLI view. */
|
|
86
|
+
function defaultTiersFor(maturity) {
|
|
87
|
+
switch (maturity) {
|
|
88
|
+
case 'mvp':
|
|
89
|
+
return [0, 1, 2];
|
|
90
|
+
case 'beta':
|
|
91
|
+
return [0, 1, 2, 3];
|
|
92
|
+
case 'production':
|
|
93
|
+
return [0, 1, 2, 3, 4];
|
|
94
|
+
default:
|
|
95
|
+
return [0, 1];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** Shared load; `error` means the caller prints it and returns 2. */
|
|
99
|
+
function loadContext(target, args) {
|
|
100
|
+
if (!fs.existsSync(target)) {
|
|
101
|
+
return { error: `Target path does not exist: ${target}` };
|
|
102
|
+
}
|
|
103
|
+
const rulesDir = path.resolve(str(args, 'rules-dir', DEFAULT_RULES_DIR) ?? DEFAULT_RULES_DIR);
|
|
104
|
+
let config;
|
|
105
|
+
try {
|
|
106
|
+
config = loadConfig(target, str(args, 'config'));
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
return { error: err.message };
|
|
110
|
+
}
|
|
111
|
+
const { context, taxonomy, warnings } = loadDocAuditContext(target, rulesDir, [
|
|
112
|
+
...list(args, 'fact'),
|
|
113
|
+
...(config.facts ?? []),
|
|
114
|
+
]);
|
|
115
|
+
for (const w of warnings)
|
|
116
|
+
console.error(`warning: ${w}`);
|
|
117
|
+
if (!context || !taxonomy) {
|
|
118
|
+
return { error: 'Documentation universe unavailable (see warnings above).' };
|
|
119
|
+
}
|
|
120
|
+
return { ctx: context, taxonomy };
|
|
121
|
+
}
|
|
122
|
+
function resolveMaturity(ctx, arg) {
|
|
123
|
+
return (arg && arg !== 'auto' ? arg : ctx.maturity);
|
|
124
|
+
}
|
|
125
|
+
function buildResult(target, ctx, taxonomy, maturity, tiers, changed) {
|
|
126
|
+
return runDocAudit({
|
|
127
|
+
project: ctx.project,
|
|
128
|
+
facts: ctx.facts,
|
|
129
|
+
taxonomy,
|
|
130
|
+
maturity,
|
|
131
|
+
usaVersion: VERSION,
|
|
132
|
+
target: resolveTargetLabel(target),
|
|
133
|
+
commit: ctx.commit,
|
|
134
|
+
gitTags: ctx.gitTags,
|
|
135
|
+
tiers,
|
|
136
|
+
changedFiles: changed.length > 0 ? changed : undefined,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
/* ----------------------------------------------------------------- audit -- */
|
|
140
|
+
export function cmdDocsAudit(args) {
|
|
141
|
+
const target = args._[2] ?? '.';
|
|
142
|
+
const out = str(args, 'out', 'DOC-AUDIT.md') ?? 'DOC-AUDIT.md';
|
|
143
|
+
if (!dryRunWrites(args, [out]))
|
|
144
|
+
return 0;
|
|
145
|
+
const loaded = loadContext(target, args);
|
|
146
|
+
if ('error' in loaded) {
|
|
147
|
+
console.error(loaded.error);
|
|
148
|
+
return 2;
|
|
149
|
+
}
|
|
150
|
+
const { ctx, taxonomy } = loaded;
|
|
151
|
+
const { maturity, expectedTiers, error } = resolveAuditArgs(args, ctx);
|
|
152
|
+
if (error) {
|
|
153
|
+
console.error(error);
|
|
154
|
+
return 2;
|
|
155
|
+
}
|
|
156
|
+
const result = buildResult(target, ctx, taxonomy, maturity, expectedTiers, list(args, 'changed'));
|
|
157
|
+
const rendered = renderAudit(result, resolveFormat(args, out));
|
|
158
|
+
if (rendered === null) {
|
|
159
|
+
console.error('--format must be md or json');
|
|
160
|
+
return 2;
|
|
161
|
+
}
|
|
162
|
+
if (!writeReport(out, rendered))
|
|
163
|
+
return 2;
|
|
164
|
+
if (!bool(args, 'quiet')) {
|
|
165
|
+
console.log(`usa docs audit (${maturity}, tiers ${expectedTiers.join(',')}) — ${summarize(result)}`);
|
|
166
|
+
console.log(` report → ${out}`);
|
|
167
|
+
}
|
|
168
|
+
return evaluateGateForFindings(result.findings, failOnArg(args), bool(args, 'quiet'));
|
|
169
|
+
}
|
|
170
|
+
/** Profile + tiers validation and resolution (one place for both flags). */
|
|
171
|
+
function resolveAuditArgs(args, ctx) {
|
|
172
|
+
const invalid = validateProfile(str(args, 'profile'));
|
|
173
|
+
if (invalid)
|
|
174
|
+
return { maturity: ctx.maturity, expectedTiers: [], error: invalid };
|
|
175
|
+
const maturity = resolveMaturity(ctx, str(args, 'profile'));
|
|
176
|
+
const { tiers, error } = parseTiers(str(args, 'tiers'));
|
|
177
|
+
if (error)
|
|
178
|
+
return { maturity, expectedTiers: [], error };
|
|
179
|
+
return { maturity, expectedTiers: tiers ?? defaultTiersFor(maturity) };
|
|
180
|
+
}
|
|
181
|
+
function writeReport(out, rendered) {
|
|
182
|
+
try {
|
|
183
|
+
writeTextFile(out, rendered);
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
console.error(err.message);
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function failOnArg(args) {
|
|
192
|
+
return (str(args, 'fail-on', 'none') ?? 'none').toLowerCase();
|
|
193
|
+
}
|
|
194
|
+
/** Explicit --format wins; otherwise the output extension decides. */
|
|
195
|
+
function resolveFormat(args, out) {
|
|
196
|
+
return (str(args, 'format') ?? (path.extname(out).toLowerCase() === '.json' ? 'json' : 'md')).toLowerCase();
|
|
197
|
+
}
|
|
198
|
+
/** null = unsupported format (the caller reports the usage error). */
|
|
199
|
+
function renderAudit(result, fmt) {
|
|
200
|
+
if (fmt === 'json') {
|
|
201
|
+
// JSON is for machines: deterministic bytes, no wall-clock stamp.
|
|
202
|
+
return JSON.stringify(result, null, 2);
|
|
203
|
+
}
|
|
204
|
+
if (fmt === 'md')
|
|
205
|
+
return renderDocAuditMd(result, todayStamp());
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
function summarize(result) {
|
|
209
|
+
const t = result.totals;
|
|
210
|
+
const failing = result.invariants.filter((i) => i.status === 'FAIL').length;
|
|
211
|
+
return (`${t.present}/${t.applicable} applicable artifacts present, ${t.missing} missing, ` +
|
|
212
|
+
`${failing} invariant(s) failing, ${result.findings.length} open finding(s)`);
|
|
213
|
+
}
|
|
214
|
+
function todayStamp() {
|
|
215
|
+
return new Date().toISOString().slice(0, 10);
|
|
216
|
+
}
|
|
217
|
+
/* ---------------------------------------------------------------- impact -- */
|
|
218
|
+
export function cmdDocsImpact(args) {
|
|
219
|
+
const invalid = validateProfile(str(args, 'profile'));
|
|
220
|
+
if (invalid) {
|
|
221
|
+
console.error(invalid);
|
|
222
|
+
return 2;
|
|
223
|
+
}
|
|
224
|
+
const target = args._[2] ?? '.';
|
|
225
|
+
const changed = list(args, 'changed');
|
|
226
|
+
const describe = str(args, 'describe');
|
|
227
|
+
if (changed.length === 0 && !describe) {
|
|
228
|
+
console.error('usage: usa docs impact <path> --changed <file> [--changed <file> ...] | --describe <file>');
|
|
229
|
+
return 2;
|
|
230
|
+
}
|
|
231
|
+
const loaded = loadContext(target, args);
|
|
232
|
+
if ('error' in loaded) {
|
|
233
|
+
console.error(loaded.error);
|
|
234
|
+
return 2;
|
|
235
|
+
}
|
|
236
|
+
const { ctx, taxonomy } = loaded;
|
|
237
|
+
const maturity = resolveMaturity(ctx, str(args, 'profile'));
|
|
238
|
+
const fmt = (str(args, 'format') ?? 'md').toLowerCase();
|
|
239
|
+
if (describe) {
|
|
240
|
+
printDescribe(ctx, taxonomy, describe, fmt);
|
|
241
|
+
return 0;
|
|
242
|
+
}
|
|
243
|
+
const result = buildResult(target, ctx, taxonomy, maturity, defaultTiersFor(maturity), changed);
|
|
244
|
+
if (!result.impact) {
|
|
245
|
+
console.error('no impact computed (no changed files)');
|
|
246
|
+
return 2;
|
|
247
|
+
}
|
|
248
|
+
console.log(fmt === 'json' ? impactJson(result.impact) : impactMd(target, maturity, result.impact));
|
|
249
|
+
return 0;
|
|
250
|
+
}
|
|
251
|
+
function impactJson(imp) {
|
|
252
|
+
return JSON.stringify({
|
|
253
|
+
schema: 'usa-doc-impact-v1',
|
|
254
|
+
changed: imp.changed,
|
|
255
|
+
affected: imp.affected.map((e) => ({
|
|
256
|
+
id: e.artifact.id,
|
|
257
|
+
name: e.artifact.name,
|
|
258
|
+
category: e.artifact.cat,
|
|
259
|
+
tier: e.artifact.tier,
|
|
260
|
+
crossCategory: e.crossCategory,
|
|
261
|
+
reasons: e.reasons,
|
|
262
|
+
triggeredBy: e.triggeredBy,
|
|
263
|
+
})),
|
|
264
|
+
noImpact: imp.noImpact,
|
|
265
|
+
edgesTraversed: imp.edgesTraversed,
|
|
266
|
+
}, null, 2);
|
|
267
|
+
}
|
|
268
|
+
function impactMd(target, maturity, imp) {
|
|
269
|
+
const L = [];
|
|
270
|
+
L.push(`# Documentation impact — ${resolveTargetLabel(target)} (${maturity})`);
|
|
271
|
+
L.push('');
|
|
272
|
+
L.push(`Changed files: ${imp.changed.length} · affected artifacts: ${imp.affected.length} · edges traversed: ${imp.edgesTraversed}`);
|
|
273
|
+
L.push('');
|
|
274
|
+
if (imp.affected.length === 0) {
|
|
275
|
+
L.push('No documentation impact detected for this change set.');
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
for (const e of imp.affected) {
|
|
279
|
+
const cross = e.crossCategory ? ' [cross-category]' : '';
|
|
280
|
+
L.push(`# ${e.artifact.id} ${e.artifact.name} (${e.artifact.cat}, tier ${e.artifact.tier})${cross}`);
|
|
281
|
+
for (const r of e.reasons)
|
|
282
|
+
L.push(` - ${r}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (imp.noImpact.length > 0) {
|
|
286
|
+
L.push('');
|
|
287
|
+
L.push(`No documentation impact detected for: ${imp.noImpact.join(', ')}`);
|
|
288
|
+
}
|
|
289
|
+
L.push('');
|
|
290
|
+
L.push('Conservative by design: prefer a flagged doc over a stale one. Update the listed artifacts (or add a taxonomy edge) and re-run.');
|
|
291
|
+
return L.join('\n');
|
|
292
|
+
}
|
|
293
|
+
function printDescribe(ctx, taxonomy, file, fmt) {
|
|
294
|
+
const d = describeFile(taxonomy, ctx.facts, file);
|
|
295
|
+
if (fmt === 'json') {
|
|
296
|
+
console.log(JSON.stringify({
|
|
297
|
+
schema: 'usa-doc-describe-v1',
|
|
298
|
+
file: d.file,
|
|
299
|
+
invalidates: d.invalidates.map((a) => a.id),
|
|
300
|
+
documents: d.documents.map((a) => a.id),
|
|
301
|
+
downstream: d.downstream.map((a) => a.id),
|
|
302
|
+
}, null, 2));
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
console.log(`# Documentation relationship — ${file}`);
|
|
306
|
+
console.log();
|
|
307
|
+
console.log(`Invalidates (${d.invalidates.length}):`);
|
|
308
|
+
for (const a of d.invalidates)
|
|
309
|
+
console.log(` - #${a.id} ${a.name} (${a.cat}, tier ${a.tier})`);
|
|
310
|
+
console.log(`Documents (${d.documents.length}):`);
|
|
311
|
+
for (const a of d.documents)
|
|
312
|
+
console.log(` - #${a.id} ${a.name} (${a.cat}, tier ${a.tier})`);
|
|
313
|
+
console.log(`Downstream (${d.downstream.length}):`);
|
|
314
|
+
for (const a of d.downstream)
|
|
315
|
+
console.log(` - #${a.id} ${a.name} (${a.cat}, tier ${a.tier})`);
|
|
316
|
+
}
|
|
317
|
+
/* --------------------------------------------------------------- coverage -- */
|
|
318
|
+
export function cmdDocsCoverage(args) {
|
|
319
|
+
const invalid = validateProfile(str(args, 'profile'));
|
|
320
|
+
if (invalid) {
|
|
321
|
+
console.error(invalid);
|
|
322
|
+
return 2;
|
|
323
|
+
}
|
|
324
|
+
const target = args._[2] ?? '.';
|
|
325
|
+
const loaded = loadContext(target, args);
|
|
326
|
+
if ('error' in loaded) {
|
|
327
|
+
console.error(loaded.error);
|
|
328
|
+
return 2;
|
|
329
|
+
}
|
|
330
|
+
const { ctx, taxonomy } = loaded;
|
|
331
|
+
const maturity = resolveMaturity(ctx, str(args, 'profile'));
|
|
332
|
+
const result = buildResult(target, ctx, taxonomy, maturity, defaultTiersFor(maturity), []);
|
|
333
|
+
const fmt = (str(args, 'format') ?? 'md').toLowerCase();
|
|
334
|
+
if (fmt === 'json') {
|
|
335
|
+
console.log(coverageJson(result));
|
|
336
|
+
return 0;
|
|
337
|
+
}
|
|
338
|
+
console.log(coverageMd(result));
|
|
339
|
+
return 0;
|
|
340
|
+
}
|
|
341
|
+
function coverageJson(result) {
|
|
342
|
+
return JSON.stringify({
|
|
343
|
+
schema: 'usa-doc-coverage-v1',
|
|
344
|
+
target: result.target,
|
|
345
|
+
maturity: result.maturity,
|
|
346
|
+
expectedTiers: result.expectedTiers,
|
|
347
|
+
totals: result.totals,
|
|
348
|
+
coverage: result.coverage,
|
|
349
|
+
categories: result.inventory.map((c) => ({
|
|
350
|
+
id: c.id,
|
|
351
|
+
name: c.name,
|
|
352
|
+
present: c.present,
|
|
353
|
+
missing: c.missing,
|
|
354
|
+
manual: c.manual,
|
|
355
|
+
artifacts: c.entries.map((e) => ({
|
|
356
|
+
id: e.artifact.id,
|
|
357
|
+
name: e.artifact.name,
|
|
358
|
+
tier: e.artifact.tier,
|
|
359
|
+
kind: e.artifact.kind,
|
|
360
|
+
status: e.status,
|
|
361
|
+
files: e.files.slice(0, 5),
|
|
362
|
+
})),
|
|
363
|
+
})),
|
|
364
|
+
}, null, 2);
|
|
365
|
+
}
|
|
366
|
+
function coverageMd(result) {
|
|
367
|
+
const t2 = result.totals;
|
|
368
|
+
const L = [];
|
|
369
|
+
L.push(`# Documentation coverage — ${result.target} (${result.maturity})`);
|
|
370
|
+
L.push('');
|
|
371
|
+
L.push(`Totals: ${t2.present} present, ${t2.missing} missing, ${t2.manual} manual, ` +
|
|
372
|
+
`${t2.notApplicable} not applicable (of ${t2.applicable} applicable, ${t2.artifacts} known).`);
|
|
373
|
+
L.push('');
|
|
374
|
+
L.push('| Tier | Applicable | Present | Missing | Manual | Expected |');
|
|
375
|
+
L.push('| ---- | ---------- | ------- | ------- | ------ | -------- |');
|
|
376
|
+
for (const c of result.coverage) {
|
|
377
|
+
L.push(`| ${c.tier} | ${c.applicable} | ${c.present} | ${c.missing} | ${c.manual} | ` +
|
|
378
|
+
`${result.expectedTiers.includes(c.tier) ? 'yes' : 'no'} |`);
|
|
379
|
+
}
|
|
380
|
+
L.push('');
|
|
381
|
+
for (const c of result.inventory) {
|
|
382
|
+
L.push(`${c.id} · ${c.name} — ${c.present} present / ${c.missing} missing / ${c.manual} manual`);
|
|
383
|
+
for (const e of c.entries) {
|
|
384
|
+
if (e.status === 'NOT_APPLICABLE')
|
|
385
|
+
continue;
|
|
386
|
+
const icon = e.status === 'PRESENT' ? '✅' : e.status === 'MISSING' ? '🚫' : '🖐️';
|
|
387
|
+
const flag = e.expected && e.status === 'MISSING' ? ' (expected)' : '';
|
|
388
|
+
L.push(` ${icon} ${e.artifact.id.toString().padStart(3)} ${e.artifact.name} [t${e.artifact.tier} · ${e.artifact.kind}]${flag}`);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
return L.join('\n');
|
|
392
|
+
}
|
|
393
|
+
/* ---------------------------------------------------------------- dispatch -- */
|
|
394
|
+
export function cmdDocs(args) {
|
|
395
|
+
if (bool(args, 'help')) {
|
|
396
|
+
console.log(DOCS_HELP_TEXT);
|
|
397
|
+
return 0;
|
|
398
|
+
}
|
|
399
|
+
const sub = args._[1];
|
|
400
|
+
switch (sub) {
|
|
401
|
+
case 'audit':
|
|
402
|
+
return cmdDocsAudit(args);
|
|
403
|
+
case 'impact':
|
|
404
|
+
return cmdDocsImpact(args);
|
|
405
|
+
case 'coverage':
|
|
406
|
+
return cmdDocsCoverage(args);
|
|
407
|
+
case undefined:
|
|
408
|
+
console.log(DOCS_HELP_TEXT);
|
|
409
|
+
return 0;
|
|
410
|
+
default:
|
|
411
|
+
console.error(`Unknown docs subcommand: ${sub}\n`);
|
|
412
|
+
console.error(DOCS_HELP_TEXT);
|
|
413
|
+
return 2;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=cli-docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-docs.js","sourceRoot":"","sources":["../src/cli-docs.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,eAAO,MAAM,gBAAgB,QAOrB,CAAC;AAET,eAAO,MAAM,cAAc,QAcnB,CAAC;AAET,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,eAAO,MAAM,gBAAgB,QAOrB,CAAC;AAET,eAAO,MAAM,cAAc,QAcnB,CAAC;AAET,eAAO,MAAM,IAAI,QAiIT,CAAC;AAET,eAAO,MAAM,iBAAiB,mbAmB7B,CAAC"}
|
package/dist/cli-help.js
CHANGED
|
@@ -26,6 +26,9 @@ export const HELP = `
|
|
|
26
26
|
usa — Universal Software Auditor
|
|
27
27
|
|
|
28
28
|
usa audit [path] Audit a project and write a Markdown report
|
|
29
|
+
usa docs audit [path] Documentation universe audit (14 categories, 220 artifacts)
|
|
30
|
+
usa docs impact [path] Which documentation a change affects (semantic model)
|
|
31
|
+
usa docs coverage [path] Documentation coverage report against the taxonomy
|
|
29
32
|
usa detect [path] Print the auto-detected facts and maturity
|
|
30
33
|
usa rules [--section S2] List all loaded rule packs and rules
|
|
31
34
|
usa explain <RULE-ID> Show everything about one rule
|
|
@@ -92,6 +95,19 @@ serve options
|
|
|
92
95
|
--allow-root <dir> Auditable root, repeatable (default: working directory)
|
|
93
96
|
--data-dir <dir> Persist finished audits here (default: memory only)
|
|
94
97
|
|
|
98
|
+
docs options (usa docs audit | impact | coverage)
|
|
99
|
+
--out <file> Report path for audit (default DOC-AUDIT.md)
|
|
100
|
+
--format <fmt> md | json (default md)
|
|
101
|
+
--fail-on <sev> audit only: exit 1 on findings >= sev
|
|
102
|
+
(same gate as CI; none|critical|high|medium|low)
|
|
103
|
+
--changed <file> audit/impact: changed file (repeatable, or comma separated)
|
|
104
|
+
--describe <file> impact: show one file's documentation relationship
|
|
105
|
+
--tiers <list> audit: expected tiers, comma separated (default by maturity)
|
|
106
|
+
--profile <stage> auto | prototype | mvp | beta | production | legacy
|
|
107
|
+
--rules-dir <dir> Rule pack directory (default bundled rules/)
|
|
108
|
+
--config <file> Explicit .usa.yaml location
|
|
109
|
+
--dry-run audit only: print the report path that would be written
|
|
110
|
+
|
|
95
111
|
audit options
|
|
96
112
|
--dry-run Print the report path that would be written and exit
|
|
97
113
|
--out <file> Report path (default AUDIT.md)
|
|
@@ -102,6 +118,8 @@ audit options
|
|
|
102
118
|
--config <file> Explicit .usa.yaml location
|
|
103
119
|
--include <packs> Force these packs on (comma separated)
|
|
104
120
|
--exclude <packs> Force these packs off
|
|
121
|
+
--docs-universe Include the documentation universe audit (DOCU-* findings in S12;
|
|
122
|
+
also via .usa.yaml \`docs.universe: true\`)
|
|
105
123
|
--fact <ns:value> Assert a fact detection missed, e.g. --fact has:database
|
|
106
124
|
--allow-commands Run \`command:\` checks (shells out; off by default)
|
|
107
125
|
--fail-on <sev> Exit 1 on findings >= sev: critical|high|medium|low|none
|
package/dist/cli-help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;CAO/B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;CAc7B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;CAO/B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;CAc7B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiInB,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC;AAEF,6BAA6B;AAC7B,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAuDA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B7D;AAID,+EAA+E;AAE/E,iBAAS,YAAY,CACnB,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAOT;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -5,6 +5,7 @@ import { VERSION, bool, parseArgs } from './cli-args.js';
|
|
|
5
5
|
import { HELP } from './cli-help.js';
|
|
6
6
|
import { loadEnvFile } from './util/env.js';
|
|
7
7
|
import { cmdAudit } from './cli-audit.js';
|
|
8
|
+
import { cmdDocs } from './cli-docs.js';
|
|
8
9
|
import { cmdDetect, cmdRules, cmdExplain, cmdStandards, cmdCategories } from './cli-query.js';
|
|
9
10
|
import { cmdFoundation, cmdLive, cmdModels } from './cli-session.js';
|
|
10
11
|
import { cmdDiff, cmdVerifyReport } from './cli-reports.js';
|
|
@@ -15,6 +16,7 @@ import { cmdServe } from './cli-serve.js';
|
|
|
15
16
|
/* -------------------------------------------------------------------- main -- */
|
|
16
17
|
const COMMANDS = {
|
|
17
18
|
audit: cmdAudit,
|
|
19
|
+
docs: cmdDocs,
|
|
18
20
|
detect: cmdDetect,
|
|
19
21
|
rules: cmdRules,
|
|
20
22
|
explain: cmdExplain,
|
|
@@ -38,6 +40,8 @@ function handleTopLevelFlags(args, cmd) {
|
|
|
38
40
|
// used to print the generic help, orphaning LIVE_HELP_TEXT entirely.
|
|
39
41
|
if (cmd === 'live')
|
|
40
42
|
return cmdLive(args);
|
|
43
|
+
if (cmd === 'docs')
|
|
44
|
+
return cmdDocs(args);
|
|
41
45
|
console.log(HELP);
|
|
42
46
|
return 0;
|
|
43
47
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|