build: add canonical product catalog and docs drift checks

Derive package, tool-family, provider, setup-client, schema-version, and CLI facts from the runtime contract sources into a deterministic checked-in catalog.

Add non-mutating generated-file checks, exact TypeDoc regenerate-and-compare validation, caller-visible documentation fact checks, and CI enforcement through docs:check.

Cover command-router parity, source-derived catalog values, deliberate documentation drift, and stale generated artifacts while preserving runtime behavior.
This commit is contained in:
N0zoM1z0 committed 2026-07-15 17:43:52 +08:00
1 parent addc208f12
commit beb9ece7d1
109 files changed
+1878 -281

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
/** Canonical names used by every one-shot CLI command registration. */
export const CLI_COMMANDS = Object.freeze({
analyze: "analyze",
inspect: "inspect",
decompile: "decompile",
setup: "setup",
doctor: "doctor",
uninstall: "uninstall",
upgrade: "upgrade",
xrefs: "xrefs",
trace: "trace",
capabilities: "capabilities",
providers: "providers",
function: "function",
search: "search",
importReferenceSource: "import-reference-source",
inventoryArtifact: "inventory-artifact",
extractArtifact: "extract-artifact",
inspectMacho: "inspect-macho",
inspectSignature: "inspect-signature",
listArchitectures: "list-architectures",
inspectPlist: "inspect-plist",
demangleSwift: "demangle-swift",
evidenceImport: "evidence-import",
evidenceExport: "evidence-export",
compare: "compare",
investigateVersions: "investigate-versions",
captureProcess: "capture-process",
compareProcessCaptures: "compare-process-captures",
policy: "policy",
listBrowserTargets: "list-browser-targets",
inspectWebPage: "inspect-web-page",
analyzeWebBundle: "analyze-web-bundle",
observeWebSession: "observe-web-session",
discoverWebMcpTools: "discover-webmcp-tools",
compareWebCaptures: "compare-web-captures",
captureWebScreenshot: "capture-web-screenshot",
compareWebScreenshots: "compare-web-screenshots",
listElectronTargets: "list-electron-targets",
inspectElectronPage: "inspect-electron-page",
});
/** Ordered primary CLI inventory; aliases are intentionally excluded. */
export const CLI_COMMAND_NAMES = Object.freeze(Object.values(CLI_COMMANDS));