@momentiq/dark-factory-cli 1.1.0 → 2.0.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 +86 -2
- package/dist/adapters/critic-result-schema.d.ts +14 -14
- package/dist/adapters/index.d.ts +1 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +7 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/static-schema-lint.d.ts +68 -0
- package/dist/adapters/static-schema-lint.d.ts.map +1 -0
- package/dist/adapters/static-schema-lint.js +813 -0
- package/dist/adapters/static-schema-lint.js.map +1 -0
- package/dist/cli.d.ts +17 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +296 -41
- package/dist/cli.js.map +1 -1
- package/dist/commands/findings.d.ts +6 -0
- package/dist/commands/findings.d.ts.map +1 -0
- package/dist/commands/findings.js +196 -0
- package/dist/commands/findings.js.map +1 -0
- package/dist/commands/skills.d.ts +6 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +248 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/doctor.d.ts +17 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +107 -0
- package/dist/doctor.js.map +1 -1
- package/dist/evidence/docker-build.d.ts +6 -0
- package/dist/evidence/docker-build.d.ts.map +1 -0
- package/dist/evidence/docker-build.js +199 -0
- package/dist/evidence/docker-build.js.map +1 -0
- package/dist/evidence/index.d.ts +1 -0
- package/dist/evidence/index.d.ts.map +1 -1
- package/dist/evidence/index.js +6 -0
- package/dist/evidence/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/doctor.d.ts.map +1 -1
- package/dist/mcp/tools/doctor.js +5 -0
- package/dist/mcp/tools/doctor.js.map +1 -1
- package/dist/mcp/tools/review-bypass.d.ts.map +1 -1
- package/dist/mcp/tools/review-bypass.js +21 -0
- package/dist/mcp/tools/review-bypass.js.map +1 -1
- package/dist/mcp/tools/skills-install.d.ts +6 -0
- package/dist/mcp/tools/skills-install.d.ts.map +1 -0
- package/dist/mcp/tools/skills-install.js +260 -0
- package/dist/mcp/tools/skills-install.js.map +1 -0
- package/dist/mcp/tools/stats-gate.d.ts.map +1 -1
- package/dist/mcp/tools/stats-gate.js +63 -15
- package/dist/mcp/tools/stats-gate.js.map +1 -1
- package/dist/policy/gate.d.ts +1 -1
- package/dist/policy/gate.d.ts.map +1 -1
- package/dist/policy/gate.js +96 -12
- package/dist/policy/gate.js.map +1 -1
- package/dist/prompt.d.ts +1 -0
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +105 -1
- package/dist/prompt.js.map +1 -1
- package/dist/report.d.ts +106 -3
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +282 -10
- package/dist/report.js.map +1 -1
- package/dist/runner.d.ts +2 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +86 -2
- package/dist/runner.js.map +1 -1
- package/dist/self-consistency.d.ts +144 -0
- package/dist/self-consistency.d.ts.map +1 -0
- package/dist/self-consistency.js +368 -0
- package/dist/self-consistency.js.map +1 -0
- package/dist/skills/config.d.ts +176 -0
- package/dist/skills/config.d.ts.map +1 -0
- package/dist/skills/config.js +251 -0
- package/dist/skills/config.js.map +1 -0
- package/dist/skills/index.d.ts +4 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +8 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/install.d.ts +62 -0
- package/dist/skills/install.d.ts.map +1 -0
- package/dist/skills/install.js +315 -0
- package/dist/skills/install.js.map +1 -0
- package/dist/skills/template.d.ts +42 -0
- package/dist/skills/template.d.ts.map +1 -0
- package/dist/skills/template.js +95 -0
- package/dist/skills/template.js.map +1 -0
- package/dist/trusted-surface/rebind.d.ts.map +1 -1
- package/dist/trusted-surface/rebind.js +14 -1
- package/dist/trusted-surface/rebind.js.map +1 -1
- package/package.json +32 -2
- package/skills/README.md +89 -0
- package/skills/chief-engineer-blitz/SKILL.md.tmpl +443 -0
- package/skills/chief-engineer-blitz/skill.json +53 -0
- package/skills/chief-engineer-review/SKILL.md.tmpl +184 -0
- package/skills/chief-engineer-review/references/review-examples.md.tmpl +130 -0
- package/skills/chief-engineer-review/skill.json +67 -0
- package/skills/chief-engineer-review/templates/code-review-prompt.md.tmpl +111 -0
- package/skills/chief-engineer-review/templates/escalation-prompt.md.tmpl +56 -0
- package/skills/chief-engineer-review/templates/plan-review-prompt.md.tmpl +74 -0
- package/skills/skill-schema.json +73 -0
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
// `df skills install <name>` — install a bundled skill into the consumer's
|
|
2
|
+
// `.claude/skills/<name>/`, rendering all template files against the
|
|
3
|
+
// consumer's `darkfactory.yaml`.
|
|
4
|
+
//
|
|
5
|
+
// Idempotency contract:
|
|
6
|
+
// - Re-running `df skills install <name>` overwrites the rendered files
|
|
7
|
+
// (no merge — the rendered file is a generated artifact).
|
|
8
|
+
// - If the rendered file would change AND it has been hand-edited since
|
|
9
|
+
// the last install (detected via a top-of-file GENERATED header marker),
|
|
10
|
+
// install refuses to overwrite without `--force`.
|
|
11
|
+
// - The generated header carries a hash of the manifest version + the
|
|
12
|
+
// resolved variable set, so a no-op re-run is detectable.
|
|
13
|
+
//
|
|
14
|
+
// Discovery:
|
|
15
|
+
// - The bundled skill source-of-truth lives at `packages/cli/skills/<name>/`
|
|
16
|
+
// in this repo; published, it lives at the equivalent location inside the
|
|
17
|
+
// installed npm package.
|
|
18
|
+
// - `resolveSkillSourceDir()` finds the dir relative to this module's
|
|
19
|
+
// compiled location (works for both src/ in dev and dist/ in production).
|
|
20
|
+
import { createHash, } from "node:crypto";
|
|
21
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from "node:fs";
|
|
22
|
+
import { dirname, join, resolve } from "node:path";
|
|
23
|
+
import { fileURLToPath } from "node:url";
|
|
24
|
+
import { loadDarkFactoryConfig, resolveSkillOverrides, } from "./config.js";
|
|
25
|
+
import { extractReferencedVariables, renderTemplateBody, } from "./template.js";
|
|
26
|
+
/**
|
|
27
|
+
* Names of the skills bundled with this CLI. Adding a new skill = (1) drop
|
|
28
|
+
* the source-of-truth dir under `skills/`, (2) append the name here.
|
|
29
|
+
*/
|
|
30
|
+
export const KNOWN_SKILLS = [
|
|
31
|
+
"chief-engineer-review",
|
|
32
|
+
"chief-engineer-blitz",
|
|
33
|
+
];
|
|
34
|
+
/**
|
|
35
|
+
* The HTML-comment marker emitted at the top of every rendered file
|
|
36
|
+
* (after frontmatter for SKILL.md, at the very top for other files). Used
|
|
37
|
+
* to detect hand-edits at re-install time so we can refuse to overwrite
|
|
38
|
+
* unless `--force` is passed.
|
|
39
|
+
*/
|
|
40
|
+
const GENERATED_MARKER = "GENERATED by `df skills install";
|
|
41
|
+
/**
|
|
42
|
+
* Resolve the absolute path of the bundled-skills source-of-truth root.
|
|
43
|
+
* In dev (running from src/), the path is `<package>/skills/`. In a
|
|
44
|
+
* published install (running from dist/), the path is the same — the
|
|
45
|
+
* `files` array in package.json carries the `skills/` dir verbatim and
|
|
46
|
+
* `dist/skills/index.js`'s ../../skills resolution lands on it.
|
|
47
|
+
*/
|
|
48
|
+
export function resolveSkillsRoot() {
|
|
49
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
50
|
+
// src/skills/install.ts → ../../skills (two up: skills → src → package root)
|
|
51
|
+
// dist/skills/install.js → ../../skills (same depth)
|
|
52
|
+
return resolve(here, "..", "..", "skills");
|
|
53
|
+
}
|
|
54
|
+
function readManifest(skillName, sourceRoot) {
|
|
55
|
+
const manifestPath = join(sourceRoot, skillName, "skill.json");
|
|
56
|
+
if (!existsSync(manifestPath)) {
|
|
57
|
+
throw new Error(`df skills install: unknown skill "${skillName}" — no manifest at ${manifestPath}. Known skills: ${KNOWN_SKILLS.join(", ")}.`);
|
|
58
|
+
}
|
|
59
|
+
const raw = readFileSync(manifestPath, "utf8");
|
|
60
|
+
let parsed;
|
|
61
|
+
try {
|
|
62
|
+
parsed = JSON.parse(raw);
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
throw new Error(`df skills install: skill.json for "${skillName}" is not valid JSON — ${err.message}`);
|
|
66
|
+
}
|
|
67
|
+
// Light structural check — full schema is in skills/skill-schema.json.
|
|
68
|
+
// We rely on the renderer's per-variable check (catches typos) and the
|
|
69
|
+
// file-write loop (catches missing files); a heavyweight zod parse is
|
|
70
|
+
// overkill for a directory we author + ship ourselves.
|
|
71
|
+
const m = parsed;
|
|
72
|
+
if (typeof m.name !== "string" || typeof m.version !== "string") {
|
|
73
|
+
throw new Error(`df skills install: skill.json for "${skillName}" missing required fields (name, version).`);
|
|
74
|
+
}
|
|
75
|
+
if (m.name !== skillName) {
|
|
76
|
+
throw new Error(`df skills install: skill.json#name "${String(m.name)}" does not match directory name "${skillName}".`);
|
|
77
|
+
}
|
|
78
|
+
if (!Array.isArray(m.files) || m.files.length === 0) {
|
|
79
|
+
throw new Error(`df skills install: skill.json#files for "${skillName}" must be a non-empty array.`);
|
|
80
|
+
}
|
|
81
|
+
if (typeof m.variables !== "object" || m.variables === null) {
|
|
82
|
+
throw new Error(`df skills install: skill.json#variables for "${skillName}" must be an object.`);
|
|
83
|
+
}
|
|
84
|
+
return parsed;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* List every bundled skill (one-entry per dir under the source root that
|
|
88
|
+
* has a valid skill.json). Used by `df skills list` + `df_skills_list`.
|
|
89
|
+
*/
|
|
90
|
+
export function listBundledSkills(sourceRoot) {
|
|
91
|
+
const root = sourceRoot ?? resolveSkillsRoot();
|
|
92
|
+
if (!existsSync(root))
|
|
93
|
+
return [];
|
|
94
|
+
const out = [];
|
|
95
|
+
for (const entry of readdirSync(root, { withFileTypes: true })) {
|
|
96
|
+
if (!entry.isDirectory())
|
|
97
|
+
continue;
|
|
98
|
+
const name = entry.name;
|
|
99
|
+
const manifestPath = join(root, name, "skill.json");
|
|
100
|
+
if (!existsSync(manifestPath))
|
|
101
|
+
continue;
|
|
102
|
+
try {
|
|
103
|
+
const m = JSON.parse(readFileSync(manifestPath, "utf8"));
|
|
104
|
+
const item = {
|
|
105
|
+
name: m.name,
|
|
106
|
+
version: m.version,
|
|
107
|
+
summary: m.summary,
|
|
108
|
+
...(m.originatingRepo !== undefined
|
|
109
|
+
? { originatingRepo: m.originatingRepo }
|
|
110
|
+
: {}),
|
|
111
|
+
};
|
|
112
|
+
out.push(item);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Skip malformed manifests so a single bad dir doesn't break the list.
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Stable order — alphabetical by name, regardless of FS readdir order.
|
|
119
|
+
out.sort((a, b) => a.name.localeCompare(b.name));
|
|
120
|
+
return out;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Read an existing rendered file, if it exists, and return the marker line
|
|
124
|
+
* embedded by a previous install (if any) so we can detect hand-edits.
|
|
125
|
+
*/
|
|
126
|
+
function detectExistingMarker(absPath) {
|
|
127
|
+
if (!existsSync(absPath))
|
|
128
|
+
return { present: false, hash: null };
|
|
129
|
+
const body = readFileSync(absPath, "utf8");
|
|
130
|
+
// Marker shape: `# install-hash: <64-hex>` on a line by itself, after the
|
|
131
|
+
// GENERATED prefix line. We match the hash specifically; if the hash isn't
|
|
132
|
+
// present (or doesn't match the freshly-computed one), we treat the file
|
|
133
|
+
// as hand-edited.
|
|
134
|
+
const match = body.match(/install-hash:\s*([0-9a-f]{64})/);
|
|
135
|
+
if (match)
|
|
136
|
+
return { present: true, hash: match[1] ?? null };
|
|
137
|
+
// Marker comment present but no hash → also treat as old format / hand-edited.
|
|
138
|
+
if (body.includes(GENERATED_MARKER))
|
|
139
|
+
return { present: true, hash: null };
|
|
140
|
+
return { present: false, hash: null };
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Compute a stable hash of (manifest.version + resolved-variables) so a
|
|
144
|
+
* re-render with identical inputs produces an identical hash. Embedded in
|
|
145
|
+
* the GENERATED header so subsequent installs can skip a no-op rewrite.
|
|
146
|
+
*/
|
|
147
|
+
function computeInstallHash(manifest, resolved) {
|
|
148
|
+
const h = createHash("sha256");
|
|
149
|
+
h.update(manifest.name);
|
|
150
|
+
h.update("\n");
|
|
151
|
+
h.update(manifest.version);
|
|
152
|
+
h.update("\n");
|
|
153
|
+
// Sort for determinism — renderTemplateBody returns in template-encounter
|
|
154
|
+
// order but the hash should not depend on which template referenced the
|
|
155
|
+
// variable first.
|
|
156
|
+
const sorted = [...resolved].sort((a, b) => a.name.localeCompare(b.name));
|
|
157
|
+
for (const entry of sorted) {
|
|
158
|
+
h.update(entry.name);
|
|
159
|
+
h.update("=");
|
|
160
|
+
h.update(entry.value);
|
|
161
|
+
h.update("\n");
|
|
162
|
+
}
|
|
163
|
+
return h.digest("hex");
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Inject the GENERATED marker (with install-hash) into a rendered body.
|
|
167
|
+
* For .md files with YAML frontmatter, the marker goes immediately after
|
|
168
|
+
* the closing `---`. For other files, it goes at the top.
|
|
169
|
+
*/
|
|
170
|
+
function injectInstallMarker(body, skillName, installHash) {
|
|
171
|
+
const marker = [
|
|
172
|
+
`<!--`,
|
|
173
|
+
` ${GENERATED_MARKER} ${skillName}\`. Do not hand-edit.`,
|
|
174
|
+
` install-hash: ${installHash}`,
|
|
175
|
+
` Re-render with: df skills install ${skillName}`,
|
|
176
|
+
` Or edit darkfactory.yaml + the upstream template, then re-install.`,
|
|
177
|
+
`-->`,
|
|
178
|
+
``,
|
|
179
|
+
].join("\n");
|
|
180
|
+
// Detect YAML frontmatter (--- ... ---) at file start.
|
|
181
|
+
if (body.startsWith("---\n")) {
|
|
182
|
+
const closing = body.indexOf("\n---", 4);
|
|
183
|
+
if (closing !== -1) {
|
|
184
|
+
const afterFm = closing + "\n---".length;
|
|
185
|
+
const head = body.slice(0, afterFm);
|
|
186
|
+
const tail = body.slice(afterFm);
|
|
187
|
+
// Ensure exactly one blank line between frontmatter and marker.
|
|
188
|
+
const tailTrim = tail.replace(/^\n+/, "");
|
|
189
|
+
return `${head}\n\n${marker}${tailTrim}`;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return `${marker}${body}`;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Strip a previously-injected marker block from a body so we can compare
|
|
196
|
+
* the freshly-rendered body to the on-disk body modulo the marker (which
|
|
197
|
+
* carries a hash that changes per-install).
|
|
198
|
+
*/
|
|
199
|
+
function stripInstallMarker(body) {
|
|
200
|
+
// The marker block is a `<!-- … -->` whose first content line starts with
|
|
201
|
+
// the GENERATED prefix. Conservative match — only the first such block.
|
|
202
|
+
const re = /<!--\s*\n\s+GENERATED by `df skills install [^]*?-->\n?/;
|
|
203
|
+
return body.replace(re, "");
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Install one skill into the consumer's `.claude/skills/<name>/`.
|
|
207
|
+
*/
|
|
208
|
+
export function installSkill(options) {
|
|
209
|
+
const sourceRoot = options._sourceRoot ?? resolveSkillsRoot();
|
|
210
|
+
const skillSourceDir = join(sourceRoot, options.skillName);
|
|
211
|
+
if (!existsSync(skillSourceDir) || !statSync(skillSourceDir).isDirectory()) {
|
|
212
|
+
throw new Error(`df skills install: unknown skill "${options.skillName}". Known skills: ${KNOWN_SKILLS.join(", ")}.`);
|
|
213
|
+
}
|
|
214
|
+
const manifest = readManifest(options.skillName, sourceRoot);
|
|
215
|
+
// Load consumer config + resolve overrides.
|
|
216
|
+
const loaded = loadDarkFactoryConfig(options.cwd);
|
|
217
|
+
const config = loaded.config;
|
|
218
|
+
const overrides = resolveSkillOverrides({ config, repoRoot: options.cwd });
|
|
219
|
+
const targetDir = options.targetDir ??
|
|
220
|
+
resolve(options.cwd, ".claude", "skills", options.skillName);
|
|
221
|
+
// First pass: render all files in-memory to compute the install hash
|
|
222
|
+
// from the full resolved-variable set across templates (so the hash
|
|
223
|
+
// changes when ANY variable resolves differently, not just one).
|
|
224
|
+
const renderedNoMarker = [];
|
|
225
|
+
const allVars = new Map();
|
|
226
|
+
for (const fileSpec of manifest.files) {
|
|
227
|
+
const templatePath = join(skillSourceDir, fileSpec.template);
|
|
228
|
+
if (!existsSync(templatePath)) {
|
|
229
|
+
throw new Error(`df skills install: template file missing at ${templatePath} (skill: ${manifest.name}).`);
|
|
230
|
+
}
|
|
231
|
+
const raw = readFileSync(templatePath, "utf8");
|
|
232
|
+
// Lint: every variable referenced must be declared.
|
|
233
|
+
for (const varName of extractReferencedVariables(raw)) {
|
|
234
|
+
if (!(varName in manifest.variables)) {
|
|
235
|
+
throw new Error(`df skills install: template ${fileSpec.template} references undeclared variable "{{${varName}}}" — add to skill.json#variables for skill "${manifest.name}".`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const rendered = renderTemplateBody(raw, { manifest, overrides });
|
|
239
|
+
for (const entry of rendered.substituted) {
|
|
240
|
+
allVars.set(entry.name, entry.value);
|
|
241
|
+
}
|
|
242
|
+
renderedNoMarker.push({
|
|
243
|
+
target: fileSpec.target,
|
|
244
|
+
body: rendered.body,
|
|
245
|
+
substituted: rendered.substituted,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
const resolvedVariables = Array.from(allVars, ([name, value]) => ({ name, value }));
|
|
249
|
+
const installHash = computeInstallHash(manifest, resolvedVariables);
|
|
250
|
+
// Second pass: inject marker + write to disk.
|
|
251
|
+
const files = [];
|
|
252
|
+
for (const r of renderedNoMarker) {
|
|
253
|
+
const absTarget = resolve(targetDir, r.target);
|
|
254
|
+
const finalBody = injectInstallMarker(r.body, manifest.name, installHash);
|
|
255
|
+
const existing = detectExistingMarker(absTarget);
|
|
256
|
+
const exists = existsSync(absTarget);
|
|
257
|
+
if (exists && existing.present === false) {
|
|
258
|
+
// File exists but has no marker → hand-edited or pre-template version.
|
|
259
|
+
if (!options.force) {
|
|
260
|
+
files.push({
|
|
261
|
+
relTarget: r.target,
|
|
262
|
+
absoluteTarget: absTarget,
|
|
263
|
+
action: "skipped",
|
|
264
|
+
reason: "file exists without GENERATED marker (hand-edited or pre-template). Re-run with --force to overwrite.",
|
|
265
|
+
});
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
if (exists && existing.present && existing.hash === installHash) {
|
|
270
|
+
// Hash matches → same manifest version + same resolved vars. Compare
|
|
271
|
+
// the body (modulo the marker) to detect a hand-edit the hash cannot
|
|
272
|
+
// catch: a user can edit the prose without touching the marker, and
|
|
273
|
+
// both `manifest.version` + the resolved-variable set stay identical,
|
|
274
|
+
// so the recomputed `installHash` still matches. Without this guard
|
|
275
|
+
// the next install silently treats the modified body as "unchanged"
|
|
276
|
+
// and the consumer drifts from the source-of-truth template.
|
|
277
|
+
const currentBody = readFileSync(absTarget, "utf8");
|
|
278
|
+
const currentWithoutMarker = stripInstallMarker(currentBody).trim();
|
|
279
|
+
const newWithoutMarker = stripInstallMarker(finalBody).trim();
|
|
280
|
+
if (currentWithoutMarker === newWithoutMarker) {
|
|
281
|
+
files.push({
|
|
282
|
+
relTarget: r.target,
|
|
283
|
+
absoluteTarget: absTarget,
|
|
284
|
+
action: "unchanged",
|
|
285
|
+
});
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
if (!options.force) {
|
|
289
|
+
files.push({
|
|
290
|
+
relTarget: r.target,
|
|
291
|
+
absoluteTarget: absTarget,
|
|
292
|
+
action: "skipped",
|
|
293
|
+
reason: "rendered file body has been hand-edited (install-hash matches but content differs from the upstream template). Re-run with --force to overwrite.",
|
|
294
|
+
});
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
mkdirSync(dirname(absTarget), { recursive: true });
|
|
299
|
+
writeFileSync(absTarget, finalBody, "utf8");
|
|
300
|
+
files.push({
|
|
301
|
+
relTarget: r.target,
|
|
302
|
+
absoluteTarget: absTarget,
|
|
303
|
+
action: exists ? "updated" : "created",
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
return {
|
|
307
|
+
skillName: manifest.name,
|
|
308
|
+
manifestVersion: manifest.version,
|
|
309
|
+
configPath: loaded.configPath,
|
|
310
|
+
configIsDefault: loaded.isDefault,
|
|
311
|
+
resolvedVariables,
|
|
312
|
+
files,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/skills/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface SkillVariableDef {
|
|
2
|
+
readonly description: string;
|
|
3
|
+
readonly source?: string;
|
|
4
|
+
readonly default: string;
|
|
5
|
+
readonly kind?: "scalar" | "list";
|
|
6
|
+
}
|
|
7
|
+
export interface SkillManifest {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly version: string;
|
|
10
|
+
readonly summary: string;
|
|
11
|
+
readonly originatingRepo?: string;
|
|
12
|
+
readonly files: ReadonlyArray<{
|
|
13
|
+
readonly template: string;
|
|
14
|
+
readonly target: string;
|
|
15
|
+
}>;
|
|
16
|
+
readonly variables: Readonly<Record<string, SkillVariableDef>>;
|
|
17
|
+
}
|
|
18
|
+
export type VariableOverride = string | ReadonlyArray<string>;
|
|
19
|
+
export interface RenderTemplateOptions {
|
|
20
|
+
readonly manifest: SkillManifest;
|
|
21
|
+
readonly overrides: Readonly<Record<string, VariableOverride>>;
|
|
22
|
+
}
|
|
23
|
+
export interface RenderResult {
|
|
24
|
+
readonly body: string;
|
|
25
|
+
readonly substituted: ReadonlyArray<{
|
|
26
|
+
readonly name: string;
|
|
27
|
+
readonly value: string;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Render `body` by substituting every `{{VAR}}` reference using the skill's
|
|
32
|
+
* manifest + the consumer's overrides. Throws on any reference whose
|
|
33
|
+
* identifier is not declared in `manifest.variables`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function renderTemplateBody(body: string, options: RenderTemplateOptions): RenderResult;
|
|
36
|
+
/**
|
|
37
|
+
* Side-channel: list every `{{VAR}}` reference present in the body, in order
|
|
38
|
+
* of first appearance (deduplicated). Used by the linter that validates a
|
|
39
|
+
* manifest declares every variable its templates actually use.
|
|
40
|
+
*/
|
|
41
|
+
export declare function extractReferencedVariables(body: string): string[];
|
|
42
|
+
//# sourceMappingURL=template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/skills/template.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAChE;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAChE;AAoCD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,YAAY,CAkBd;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAajE"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// `df skills install` — template renderer.
|
|
2
|
+
//
|
|
3
|
+
// Substitutes `{{VARIABLE}}` references in a template body with values
|
|
4
|
+
// resolved from the consumer's `darkfactory.yaml` (with sensible defaults
|
|
5
|
+
// per the skill's manifest).
|
|
6
|
+
//
|
|
7
|
+
// Design decisions:
|
|
8
|
+
//
|
|
9
|
+
// 1. Double-brace delimiter `{{X}}` for install-time variables. Single-brace
|
|
10
|
+
// `{X}` is left UNTOUCHED — that delimiter is reserved for runtime variables
|
|
11
|
+
// the agent fills at skill invocation (PR metadata, manifesto content, etc.).
|
|
12
|
+
// This keeps install-time + runtime variable systems orthogonal in a single
|
|
13
|
+
// file without escape-syntax acrobatics.
|
|
14
|
+
//
|
|
15
|
+
// 2. Strict variable resolution — any `{{VARIABLE}}` reference in the body must
|
|
16
|
+
// be declared in the skill's `skill.json#variables`. Unknown references are
|
|
17
|
+
// a render-time error (catches typos). Declared-but-not-overridden variables
|
|
18
|
+
// use the manifest's `default`.
|
|
19
|
+
//
|
|
20
|
+
// 3. `kind: "list"` variables accept an array from the consumer config and
|
|
21
|
+
// render one element per line (used for QUALITY_GATE_TARGETS). Scalar
|
|
22
|
+
// variables substitute the value as-is (no escape — values are paths/names,
|
|
23
|
+
// not arbitrary user input).
|
|
24
|
+
//
|
|
25
|
+
// 4. No conditional / loop syntax. If a future skill needs them, we'll lift in
|
|
26
|
+
// handlebars; until then strict-substitution is enough and keeps the
|
|
27
|
+
// surface area trivial to audit.
|
|
28
|
+
/**
|
|
29
|
+
* Regex matching `{{IDENTIFIER}}` (uppercase + digits + underscore, must
|
|
30
|
+
* start with a letter). Conservative on purpose — keeps single-brace `{X}`
|
|
31
|
+
* runtime variables and arbitrary mustache-like brace pairs out of scope.
|
|
32
|
+
*/
|
|
33
|
+
const VARIABLE_REGEX = /\{\{([A-Z][A-Z0-9_]*)\}\}/g;
|
|
34
|
+
/**
|
|
35
|
+
* Resolve a variable's effective value: consumer override > manifest default.
|
|
36
|
+
* For `kind: "list"`, an array override is rendered one-per-line; a string
|
|
37
|
+
* override is treated as already-rendered. The manifest default is always a
|
|
38
|
+
* string (lists are declared with a single-line scalar default representing
|
|
39
|
+
* the minimal one-element list).
|
|
40
|
+
*/
|
|
41
|
+
function resolveValue(varName, def, overrides) {
|
|
42
|
+
const override = overrides[varName];
|
|
43
|
+
if (override !== undefined) {
|
|
44
|
+
if (Array.isArray(override)) {
|
|
45
|
+
if (def.kind !== "list") {
|
|
46
|
+
throw new Error(`skills: variable "${varName}" received an array override but its manifest declares kind: "scalar" (or omitted).`);
|
|
47
|
+
}
|
|
48
|
+
return override.join("\n");
|
|
49
|
+
}
|
|
50
|
+
return String(override);
|
|
51
|
+
}
|
|
52
|
+
return def.default;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Render `body` by substituting every `{{VAR}}` reference using the skill's
|
|
56
|
+
* manifest + the consumer's overrides. Throws on any reference whose
|
|
57
|
+
* identifier is not declared in `manifest.variables`.
|
|
58
|
+
*/
|
|
59
|
+
export function renderTemplateBody(body, options) {
|
|
60
|
+
const seen = new Map();
|
|
61
|
+
const rendered = body.replace(VARIABLE_REGEX, (_match, varName) => {
|
|
62
|
+
const def = options.manifest.variables[varName];
|
|
63
|
+
if (def === undefined) {
|
|
64
|
+
throw new Error(`skills: template references undeclared variable "{{${varName}}}" — add it to skill.json#variables for skill "${options.manifest.name}".`);
|
|
65
|
+
}
|
|
66
|
+
let value = seen.get(varName);
|
|
67
|
+
if (value === undefined) {
|
|
68
|
+
value = resolveValue(varName, def, options.overrides);
|
|
69
|
+
seen.set(varName, value);
|
|
70
|
+
}
|
|
71
|
+
return value;
|
|
72
|
+
});
|
|
73
|
+
const substituted = Array.from(seen, ([name, value]) => ({ name, value }));
|
|
74
|
+
return { body: rendered, substituted };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Side-channel: list every `{{VAR}}` reference present in the body, in order
|
|
78
|
+
* of first appearance (deduplicated). Used by the linter that validates a
|
|
79
|
+
* manifest declares every variable its templates actually use.
|
|
80
|
+
*/
|
|
81
|
+
export function extractReferencedVariables(body) {
|
|
82
|
+
const seen = new Set();
|
|
83
|
+
const out = [];
|
|
84
|
+
const re = new RegExp(VARIABLE_REGEX.source, "g");
|
|
85
|
+
let match;
|
|
86
|
+
while ((match = re.exec(body)) !== null) {
|
|
87
|
+
const name = match[1] ?? "";
|
|
88
|
+
if (!seen.has(name)) {
|
|
89
|
+
seen.add(name);
|
|
90
|
+
out.push(name);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/skills/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rebind.d.ts","sourceRoot":"","sources":["../../src/trusted-surface/rebind.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsBxD,OAAO,KAAK,EAGV,YAAY,EACZ,YAAY,EAEb,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAOb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"rebind.d.ts","sourceRoot":"","sources":["../../src/trusted-surface/rebind.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsBxD,OAAO,KAAK,EAGV,YAAY,EACZ,YAAY,EAEb,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAOb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CA8FvB;AA8KD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAoBpF"}
|
|
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
3
3
|
import { isAbsolute, relative, resolve } from "node:path";
|
|
4
4
|
import { changedFiles, commitDiff, commitMetadata, commitParent, commitStat, currentBranch, diffHash as diffHashFn, gitShowFile, resolveCommit, } from "../git.js";
|
|
5
|
-
import { readQualityGateEvidence } from "../evidence/index.js";
|
|
5
|
+
import { readDockerBuildEvidence, readQualityGateEvidence } from "../evidence/index.js";
|
|
6
6
|
import { compactDiff, effectiveMode, identifyLockfileKind, renderContentStub, } from "../compact/index.js";
|
|
7
7
|
const DEFAULT_DIFF_BUDGET = 1_500_000;
|
|
8
8
|
export async function buildReviewPacket(loaded, options = {}) {
|
|
@@ -61,6 +61,18 @@ export async function buildReviewPacket(loaded, options = {}) {
|
|
|
61
61
|
? await readGuidanceFilesFromRef(options.trustedSurfaceRef, config.context.promptFragments, cwd)
|
|
62
62
|
: readGuidanceFiles(repoRoot, config.context.promptFragments);
|
|
63
63
|
const validation = await readValidationEvidence(loaded, sha);
|
|
64
|
+
// DFP #141 — pick up the consumer's `scripts/check-dockerfile.sh`
|
|
65
|
+
// evidence if the shim ran. Field is undefined when the shim hasn't
|
|
66
|
+
// run, which is the status-quo path (no behavior change). Read from
|
|
67
|
+
// the working-tree side; UNLIKE config + guidance files this is NOT
|
|
68
|
+
// a trusted-surface input (it lives under .git/agent-reviews/,
|
|
69
|
+
// outside the tracked tree, so the parent-ref rebind doesn't apply
|
|
70
|
+
// and would also fail — git can't `show ref:_dockerbuild-evidence.json`
|
|
71
|
+
// because the file is never committed). The reader's second arg is
|
|
72
|
+
// the SHA-binding gate: records whose `reviewedSha` doesn't match the
|
|
73
|
+
// commit under review are dropped as stale (mirror of the
|
|
74
|
+
// `readQualityGateEvidence` stale-handling path).
|
|
75
|
+
const dockerBuildEvidence = await readDockerBuildEvidence(loaded, sha);
|
|
64
76
|
return {
|
|
65
77
|
repoRoot,
|
|
66
78
|
branch,
|
|
@@ -76,6 +88,7 @@ export async function buildReviewPacket(loaded, options = {}) {
|
|
|
76
88
|
validation,
|
|
77
89
|
...(compactedDiff !== undefined ? { compactedDiff } : {}),
|
|
78
90
|
...(parseErrorPaths !== undefined ? { parseErrorPaths } : {}),
|
|
91
|
+
...(dockerBuildEvidence !== undefined ? { dockerBuildEvidence } : {}),
|
|
79
92
|
};
|
|
80
93
|
}
|
|
81
94
|
// ADR § 2.1 / § 2.4 — for each path whose effective mode is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rebind.js","sourceRoot":"","sources":["../../src/trusted-surface/rebind.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rebind.js","sourceRoot":"","sources":["../../src/trusted-surface/rebind.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@momentiq/dark-factory-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Dark Factory OSS CLI — multi-vendor adversarial critic orchestration (Cursor, Codex, Gemini, Grok) with min-complete-quorum aggregation and trusted-surface rebind",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
|
+
"homepage": "https://momentiq.ai/dark-factory",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/momentiq-ai/dark-factory.git",
|
|
10
|
+
"directory": "packages/cli"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/momentiq-ai/dark-factory/issues"
|
|
14
|
+
},
|
|
15
|
+
"author": "Momentiq AI",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"ai-agents",
|
|
18
|
+
"code-review",
|
|
19
|
+
"github-actions",
|
|
20
|
+
"pr-automation",
|
|
21
|
+
"multi-vendor",
|
|
22
|
+
"agentic-sdlc",
|
|
23
|
+
"claude-code",
|
|
24
|
+
"cursor-sdk",
|
|
25
|
+
"dark-factory",
|
|
26
|
+
"critic",
|
|
27
|
+
"quorum"
|
|
28
|
+
],
|
|
6
29
|
"type": "module",
|
|
7
30
|
"main": "./dist/index.js",
|
|
8
31
|
"types": "./dist/index.d.ts",
|
|
@@ -42,6 +65,10 @@
|
|
|
42
65
|
"./cycle-tracker-sync": {
|
|
43
66
|
"types": "./dist/cycle-tracker-sync/index.d.ts",
|
|
44
67
|
"import": "./dist/cycle-tracker-sync/index.js"
|
|
68
|
+
},
|
|
69
|
+
"./skills": {
|
|
70
|
+
"types": "./dist/skills/index.d.ts",
|
|
71
|
+
"import": "./dist/skills/index.js"
|
|
45
72
|
}
|
|
46
73
|
},
|
|
47
74
|
"bin": {
|
|
@@ -49,6 +76,7 @@
|
|
|
49
76
|
},
|
|
50
77
|
"files": [
|
|
51
78
|
"dist",
|
|
79
|
+
"skills",
|
|
52
80
|
"README.md",
|
|
53
81
|
"LICENSE"
|
|
54
82
|
],
|
|
@@ -68,8 +96,10 @@
|
|
|
68
96
|
"@cursor/sdk": "^1.0.12",
|
|
69
97
|
"@google/genai": "^2.2.0",
|
|
70
98
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
71
|
-
"@momentiq/dark-factory-schemas": "0.
|
|
99
|
+
"@momentiq/dark-factory-schemas": "0.6.0",
|
|
72
100
|
"@openai/codex-sdk": "^0.130.0",
|
|
101
|
+
"ajv": "^8.20.0",
|
|
102
|
+
"ajv-formats": "^3.0.1",
|
|
73
103
|
"openai": "^6.37.0",
|
|
74
104
|
"yaml": "^2.9.0",
|
|
75
105
|
"zod": "^3.23.0",
|