@design-intelligence/ghost 0.23.0 → 0.24.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 +35 -29
- package/dist/commands/checks-command.js +3 -3
- package/dist/commands/checks-command.js.map +1 -1
- package/dist/commands/command-discovery.d.ts.map +1 -1
- package/dist/commands/command-discovery.js +5 -5
- package/dist/commands/command-discovery.js.map +1 -1
- package/dist/commands/export-command.d.ts.map +1 -1
- package/dist/commands/export-command.js +10 -10
- package/dist/commands/export-command.js.map +1 -1
- package/dist/commands/fingerprint-commands.d.ts +2 -2
- package/dist/commands/fingerprint-commands.d.ts.map +1 -1
- package/dist/commands/fingerprint-commands.js +7 -7
- package/dist/commands/fingerprint-commands.js.map +1 -1
- package/dist/commands/gather-command.d.ts.map +1 -1
- package/dist/commands/gather-command.js +82 -19
- package/dist/commands/gather-command.js.map +1 -1
- package/dist/commands/init-command.d.ts.map +1 -1
- package/dist/commands/init-command.js +6 -6
- package/dist/commands/init-command.js.map +1 -1
- package/dist/commands/pull-command.js +18 -8
- package/dist/commands/pull-command.js.map +1 -1
- package/dist/commands/pulse-command.js +6 -6
- package/dist/commands/pulse-command.js.map +1 -1
- package/dist/commands/review-command.js +7 -7
- package/dist/commands/review-command.js.map +1 -1
- package/dist/commands/skill-command.js +2 -2
- package/dist/fingerprint.d.ts +2 -1
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +1 -0
- package/dist/fingerprint.js.map +1 -1
- package/dist/ghost-core/catalog/assemble.d.ts.map +1 -1
- package/dist/ghost-core/catalog/assemble.js +2 -1
- package/dist/ghost-core/catalog/assemble.js.map +1 -1
- package/dist/ghost-core/catalog/menu.d.ts +6 -4
- package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
- package/dist/ghost-core/catalog/menu.js +1 -0
- package/dist/ghost-core/catalog/menu.js.map +1 -1
- package/dist/ghost-core/catalog/types.d.ts +4 -2
- package/dist/ghost-core/catalog/types.d.ts.map +1 -1
- package/dist/ghost-core/check/index.d.ts +1 -1
- package/dist/ghost-core/check/index.js +1 -1
- package/dist/ghost-core/check/lint.d.ts +2 -2
- package/dist/ghost-core/check/lint.js +2 -2
- package/dist/ghost-core/check/load.d.ts +1 -1
- package/dist/ghost-core/check/load.js +3 -3
- package/dist/ghost-core/check/types.d.ts +3 -3
- package/dist/ghost-core/index.d.ts +9 -3
- package/dist/ghost-core/index.d.ts.map +1 -1
- package/dist/ghost-core/index.js +6 -2
- package/dist/ghost-core/index.js.map +1 -1
- package/dist/ghost-core/markdown.d.ts +1 -1
- package/dist/ghost-core/markdown.js +1 -1
- package/dist/ghost-core/node/index.d.ts +1 -1
- package/dist/ghost-core/node/index.d.ts.map +1 -1
- package/dist/ghost-core/node/index.js +1 -1
- package/dist/ghost-core/node/index.js.map +1 -1
- package/dist/ghost-core/node/schema.js +1 -1
- package/dist/ghost-core/node/steering.d.ts +1 -0
- package/dist/ghost-core/node/steering.d.ts.map +1 -1
- package/dist/ghost-core/node/steering.js +4 -1
- package/dist/ghost-core/node/steering.js.map +1 -1
- package/dist/ghost-core/node/types.d.ts +4 -5
- package/dist/ghost-core/node/types.d.ts.map +1 -1
- package/dist/ghost-core/package-manifest.d.ts +23 -13
- package/dist/ghost-core/package-manifest.d.ts.map +1 -1
- package/dist/ghost-core/package-manifest.js +20 -7
- package/dist/ghost-core/package-manifest.js.map +1 -1
- package/dist/ghost-core/skill-bundle-loader.d.ts +1 -1
- package/dist/ghost-core/skill-bundle-loader.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/init-payloads/median/cliche.median.md +6 -6
- package/dist/init-payloads/median/median-tells.md +1 -1
- package/dist/init-payloads/skeleton/brand.md +4 -3
- package/dist/init-payloads/skeleton/glossary.md +1 -1
- package/dist/init-payloads/vessel-light/anti-goal.median.md +6 -6
- package/dist/init-payloads/vessel-light/checks/motion-restraint.md +1 -1
- package/dist/init-payloads/vessel-light/manifest.yml +1 -1
- package/dist/init-payloads/vessel-light/materials/ref/composition.form.html +2 -2
- package/dist/init-payloads/vessel-light/materials/ref/composition.overlay.html +3 -3
- package/dist/package.d.ts +7 -0
- package/dist/package.d.ts.map +1 -0
- package/dist/package.js +4 -0
- package/dist/package.js.map +1 -0
- package/dist/review/resolve.js +1 -1
- package/dist/review/resolve.js.map +1 -1
- package/dist/review/review-packet.d.ts +5 -3
- package/dist/review/review-packet.d.ts.map +1 -1
- package/dist/review/review-packet.js +12 -11
- package/dist/review/review-packet.js.map +1 -1
- package/dist/scan/constants.d.ts +6 -2
- package/dist/scan/constants.d.ts.map +1 -1
- package/dist/scan/constants.js +8 -4
- package/dist/scan/constants.js.map +1 -1
- package/dist/scan/file-kind.d.ts +1 -1
- package/dist/scan/file-kind.d.ts.map +1 -1
- package/dist/scan/file-kind.js +11 -11
- package/dist/scan/file-kind.js.map +1 -1
- package/dist/scan/fingerprint-package-lint.d.ts +3 -1
- package/dist/scan/fingerprint-package-lint.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-lint.js +14 -12
- package/dist/scan/fingerprint-package-lint.js.map +1 -1
- package/dist/scan/fingerprint-package-loader.d.ts +7 -3
- package/dist/scan/fingerprint-package-loader.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-loader.js +10 -6
- package/dist/scan/fingerprint-package-loader.js.map +1 -1
- package/dist/scan/fingerprint-package.d.ts +30 -14
- package/dist/scan/fingerprint-package.d.ts.map +1 -1
- package/dist/scan/fingerprint-package.js +17 -9
- package/dist/scan/fingerprint-package.js.map +1 -1
- package/dist/scan/index.d.ts +3 -1
- package/dist/scan/index.d.ts.map +1 -1
- package/dist/scan/index.js +3 -1
- package/dist/scan/index.js.map +1 -1
- package/dist/scan/tarball.d.ts +2 -2
- package/dist/scan/tarball.js +3 -3
- package/dist/scan/tarball.js.map +1 -1
- package/dist/scan/templates.d.ts +1 -1
- package/dist/scan/templates.d.ts.map +1 -1
- package/dist/scan/templates.js +15 -11
- package/dist/scan/templates.js.map +1 -1
- package/dist/skill-bundle/SKILL.md +39 -31
- package/dist/skill-bundle/references/adapting-a-starter.md +11 -11
- package/dist/skill-bundle/references/authoring-scenarios.md +33 -30
- package/dist/skill-bundle/references/blocks.md +19 -20
- package/dist/skill-bundle/references/brief.md +13 -11
- package/dist/skill-bundle/references/capture.md +65 -37
- package/dist/skill-bundle/references/concrete-tiers.md +7 -7
- package/dist/skill-bundle/references/distill.md +204 -0
- package/dist/skill-bundle/references/making.md +113 -0
- package/dist/skill-bundle/references/recall.md +11 -7
- package/dist/skill-bundle/references/schema.md +16 -12
- package/dist/skill-bundle/references/self-check.md +12 -12
- package/dist/skill-bundle/references/steering-audit.md +19 -9
- package/package.json +7 -3
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { UsageError } from "#ghost-core";
|
|
2
|
-
import {
|
|
2
|
+
import { initGhostPackage } from "../package.js";
|
|
3
3
|
import { addChecksDir } from "../scan/check-scaffold.js";
|
|
4
4
|
import { getInitBody } from "../scan/templates.js";
|
|
5
5
|
import { failFromError } from "./errors.js";
|
|
6
6
|
export function registerInitCommand(cli) {
|
|
7
7
|
cli
|
|
8
|
-
.command("init", "Create a root .ghost
|
|
9
|
-
.option("--package <dir>", "Exact
|
|
8
|
+
.command("init", "Create a root .ghost package of nodes")
|
|
9
|
+
.option("--package <dir>", "Exact ghost package directory to initialize")
|
|
10
10
|
.option("--template <name>", "Init template to scaffold (default: skeleton)")
|
|
11
11
|
.option("--body <name>", "Init body to install: a full inhabited package (e.g. vessel-light)")
|
|
12
12
|
.option("--with <capabilities>", "Comma-separated capabilities to add after scaffolding (e.g. checks)")
|
|
13
|
-
.option("--force", "Overwrite existing
|
|
13
|
+
.option("--force", "Overwrite existing ghost package files")
|
|
14
14
|
.option("--format <fmt>", "Output format: cli or json", { default: "cli" })
|
|
15
15
|
.action(async (opts) => {
|
|
16
16
|
try {
|
|
@@ -30,7 +30,7 @@ export function registerInitCommand(cli) {
|
|
|
30
30
|
if (body?.includesChecks && withIds.includes("checks")) {
|
|
31
31
|
throw new UsageError(`--with checks is redundant with --body ${body.name} — this body already includes its own checks/.`);
|
|
32
32
|
}
|
|
33
|
-
const result = await
|
|
33
|
+
const result = await initGhostPackage(exactPackage, process.cwd(), {
|
|
34
34
|
...(typeof opts.template === "string"
|
|
35
35
|
? { template: opts.template }
|
|
36
36
|
: {}),
|
|
@@ -55,7 +55,7 @@ export function registerInitCommand(cli) {
|
|
|
55
55
|
}, null, 2)}\n`);
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
|
-
process.stdout.write(`Initialized
|
|
58
|
+
process.stdout.write(`Initialized ghost package: ${result.paths.dir}\n`);
|
|
59
59
|
for (const relativePath of result.written) {
|
|
60
60
|
process.stdout.write(` ${relativePath}\n`);
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/commands/init-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/commands/init-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { classifyMaterialLocator, closestIds, extractSkeletonFences, resolveLocalMaterialLocator, stripSkeletonSections, transportMaterials, } from "#ghost-core";
|
|
2
|
-
import { resolveFingerprintPackage } from "../fingerprint.js";
|
|
3
2
|
import { appendGhostEvent, resolveRunId, } from "../observability-events.js";
|
|
3
|
+
import { resolveGhostPackage } from "../package.js";
|
|
4
4
|
import { GHOST_EVENTS_FILENAME, GHOST_MATERIALS_DIR, } from "../scan/constants.js";
|
|
5
|
-
import {
|
|
5
|
+
import { loadGhostPackage } from "../scan/fingerprint-package.js";
|
|
6
6
|
import { resolveGitRoot } from "../scan/package-paths.js";
|
|
7
7
|
import { failFromError } from "./errors.js";
|
|
8
8
|
export function registerPullCommand(cli) {
|
|
9
9
|
cli
|
|
10
10
|
.command("pull <...ids>", "Emit the named nodes' full prose bodies, and append the pull to the events tape.")
|
|
11
|
-
.option("--package <dir>", "Use this
|
|
11
|
+
.option("--package <dir>", "Use this ghost package directory (default: ./.ghost)")
|
|
12
12
|
.option("--format <fmt>", "Output format: markdown or json", {
|
|
13
13
|
default: "markdown",
|
|
14
14
|
})
|
|
@@ -30,8 +30,8 @@ export function registerPullCommand(cli) {
|
|
|
30
30
|
process.exit(2);
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
const paths =
|
|
34
|
-
const loaded = await
|
|
33
|
+
const paths = resolveGhostPackage(opts.package, process.cwd());
|
|
34
|
+
const loaded = await loadGhostPackage(paths);
|
|
35
35
|
const catalog = loaded.catalog;
|
|
36
36
|
const requested = [...new Set(ids)];
|
|
37
37
|
const allIds = [...catalog.nodes.keys()];
|
|
@@ -186,7 +186,7 @@ function formatPullMarkdown(nodes) {
|
|
|
186
186
|
for (const material of materials.materials) {
|
|
187
187
|
if (material.inlined !== undefined) {
|
|
188
188
|
const info = material.path ?? material.locator;
|
|
189
|
-
lines.push("",
|
|
189
|
+
lines.push("", fencedMarkdown(material.inlined.trimEnd(), info));
|
|
190
190
|
}
|
|
191
191
|
else if (material.reason === "binary inspect-pointer") {
|
|
192
192
|
lines.push(`- inspect: ${material.path ?? material.locator} — view this image before generating`);
|
|
@@ -210,11 +210,21 @@ function formatPullMarkdown(nodes) {
|
|
|
210
210
|
];
|
|
211
211
|
for (const skeleton of skeletons) {
|
|
212
212
|
lines.push("", `## From \`${skeleton.nodeId}\``, "");
|
|
213
|
-
|
|
214
|
-
lines.push(`\`\`\`${info}`, skeleton.content.trimEnd(), "```");
|
|
213
|
+
lines.push(fencedMarkdown(skeleton.content.trimEnd(), skeleton.info));
|
|
215
214
|
}
|
|
216
215
|
sections.push(lines.join("\n"));
|
|
217
216
|
}
|
|
218
217
|
return `${sections.join("\n\n---\n\n")}\n`;
|
|
219
218
|
}
|
|
219
|
+
function fencedMarkdown(content, info) {
|
|
220
|
+
const fence = "`".repeat(Math.max(3, longestBacktickRun(content) + 1));
|
|
221
|
+
return `${fence}${info ?? ""}\n${content}\n${fence}`;
|
|
222
|
+
}
|
|
223
|
+
function longestBacktickRun(content) {
|
|
224
|
+
let longest = 0;
|
|
225
|
+
for (const match of content.matchAll(/`+/g)) {
|
|
226
|
+
longest = Math.max(longest, match[0].length);
|
|
227
|
+
}
|
|
228
|
+
return longest;
|
|
229
|
+
}
|
|
220
230
|
//# sourceMappingURL=pull-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull-command.js","sourceRoot":"","sources":["../../src/commands/pull-command.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,qBAAqB,EAGrB,2BAA2B,EAC3B,qBAAqB,EAErB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"pull-command.js","sourceRoot":"","sources":["../../src/commands/pull-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { buildCatalogMenu } from "#ghost-core";
|
|
2
|
-
import { resolveFingerprintPackage } from "../fingerprint.js";
|
|
3
2
|
import { readGhostEvents, } from "../observability-events.js";
|
|
4
|
-
import {
|
|
3
|
+
import { resolveGhostPackage } from "../package.js";
|
|
4
|
+
import { loadGhostPackage } from "../scan/fingerprint-package.js";
|
|
5
5
|
import { failFromError } from "./errors.js";
|
|
6
6
|
export function registerPulseCommand(cli) {
|
|
7
7
|
cli
|
|
8
8
|
.command("pulse", "Summarize local gather/pull events from .ghost/.events.")
|
|
9
|
-
.option("--package <dir>", "Use this
|
|
9
|
+
.option("--package <dir>", "Use this ghost package directory (default: ./.ghost)")
|
|
10
10
|
.option("--format <fmt>", "Output format: markdown or json", {
|
|
11
11
|
default: "markdown",
|
|
12
12
|
})
|
|
@@ -17,8 +17,8 @@ export function registerPulseCommand(cli) {
|
|
|
17
17
|
process.exit(2);
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
-
const paths =
|
|
21
|
-
const loaded = await
|
|
20
|
+
const paths = resolveGhostPackage(opts.package, process.cwd());
|
|
21
|
+
const loaded = await loadGhostPackage(paths);
|
|
22
22
|
const menu = buildCatalogMenu(loaded.catalog);
|
|
23
23
|
const events = await readGhostEvents(paths.packageDir);
|
|
24
24
|
const report = buildPulseReport(events, menu);
|
|
@@ -180,7 +180,7 @@ function recordMiss(missCounts, miss) {
|
|
|
180
180
|
}
|
|
181
181
|
function formatPulseMarkdown(report) {
|
|
182
182
|
const lines = [
|
|
183
|
-
"#
|
|
183
|
+
"# ghost Pulse",
|
|
184
184
|
"",
|
|
185
185
|
`- Events: ${report.events}`,
|
|
186
186
|
`- Gathers: ${report.gathers}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse-command.js","sourceRoot":"","sources":["../../src/commands/pulse-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"pulse-command.js","sourceRoot":"","sources":["../../src/commands/pulse-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,15 @@ import { execFile } from "node:child_process";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import { promisify } from "node:util";
|
|
5
|
-
import {
|
|
5
|
+
import { resolveGhostPackage } from "../package.js";
|
|
6
6
|
import { buildReviewPacket, formatReviewPacket, } from "../review/review-packet.js";
|
|
7
|
-
import {
|
|
7
|
+
import { loadGhostPackage } from "../scan/fingerprint-package.js";
|
|
8
8
|
import { failFromError } from "./errors.js";
|
|
9
9
|
const execFileAsync = promisify(execFile);
|
|
10
10
|
export function registerReviewCommand(cli) {
|
|
11
11
|
cli
|
|
12
12
|
.command("review", "Emit an advisory review packet for a diff using material-backed nodes and checks.")
|
|
13
|
-
.option("--package <dir>", "Use this
|
|
13
|
+
.option("--package <dir>", "Use this ghost package directory (default: ./.ghost)")
|
|
14
14
|
.option("--base <ref>", "Git ref to diff against (default: HEAD)")
|
|
15
15
|
.option("--diff <path>", "Read diff from a file, or '-' for stdin")
|
|
16
16
|
.option("--format <fmt>", "Output format: markdown or json", {
|
|
@@ -26,9 +26,9 @@ export function registerReviewCommand(cli) {
|
|
|
26
26
|
process.exit(2);
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
const paths =
|
|
30
|
-
const
|
|
31
|
-
if (!
|
|
29
|
+
const paths = resolveGhostPackage(opts.package, process.cwd());
|
|
30
|
+
const ghostPackage = await loadGhostPackage(paths);
|
|
31
|
+
if (!ghostPackage.hasChecksDir) {
|
|
32
32
|
console.error("No checks directory. Run `ghost checks init` to add review assertions.");
|
|
33
33
|
process.exit(2);
|
|
34
34
|
return;
|
|
@@ -37,7 +37,7 @@ export function registerReviewCommand(cli) {
|
|
|
37
37
|
base: opts.base,
|
|
38
38
|
diff: opts.diff,
|
|
39
39
|
});
|
|
40
|
-
const packet = await buildReviewPacket(
|
|
40
|
+
const packet = await buildReviewPacket(ghostPackage, diffText, {
|
|
41
41
|
packageDir: paths.packageDir,
|
|
42
42
|
runProbes: opts.probes !== false,
|
|
43
43
|
cwd: process.cwd(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-command.js","sourceRoot":"","sources":["../../src/commands/review-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"review-command.js","sourceRoot":"","sources":["../../src/commands/review-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,UAAU,qBAAqB,CAAC,GAAQ;IAC5C,GAAG;SACA,OAAO,CACN,QAAQ,EACR,mFAAmF,CACpF;SACA,MAAM,CACL,iBAAiB,EACjB,sDAAsD,CACvD;SACA,MAAM,CAAC,cAAc,EAAE,yCAAyC,CAAC;SACjE,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,EAAE;QAC3D,OAAO,EAAE,UAAU;KACpB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CACX,wEAAwE,CACzE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE;gBAC7D,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;gBAChC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM,KAAK,MAAM;gBACf,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBACxC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAC/B,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAG1B;IACC,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG;QAAE,OAAO,SAAS,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC5D,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAC5B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -16,10 +16,10 @@ const SUPPORTED_AGENTS = [
|
|
|
16
16
|
];
|
|
17
17
|
export function registerSkillCommand(cli) {
|
|
18
18
|
cli
|
|
19
|
-
.command("skill <action>", "Install the unified
|
|
19
|
+
.command("skill <action>", "Install the unified ghost skill bundle.")
|
|
20
20
|
.option("--dest <path>", "Install destination (default: detected agent skills directory + /ghost)")
|
|
21
21
|
.option("--agent <name>", "Agent destination to use when --dest is omitted: claude, cursor, codex, opencode, goose")
|
|
22
|
-
.option("--force", "Overwrite an existing installed
|
|
22
|
+
.option("--force", "Overwrite an existing installed ghost skill")
|
|
23
23
|
.action(async (action, opts) => {
|
|
24
24
|
try {
|
|
25
25
|
if (action !== "install") {
|
package/dist/fingerprint.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/** @deprecated Import from `@design-intelligence/ghost/package`. */
|
|
1
2
|
export { FINGERPRINT_MANIFEST_FILENAME, FINGERPRINT_PACKAGE_DIR, } from "./scan/constants.js";
|
|
2
|
-
export type { FingerprintPackagePaths, LoadedFingerprintPackage, } from "./scan/fingerprint-package.js";
|
|
3
|
+
export type { FingerprintPackagePaths, InitFingerprintPackageOptions, InitFingerprintPackageResult, LoadedFingerprintPackage, } from "./scan/fingerprint-package.js";
|
|
3
4
|
export { initFingerprintPackage, lintFingerprintPackage, loadFingerprintPackage, resolveFingerprintPackage, } from "./scan/fingerprint-package.js";
|
|
4
5
|
export type { LintIssue, LintReport, LintSeverity } from "./scan/lint.js";
|
|
5
6
|
//# sourceMappingURL=fingerprint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/fingerprint.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @deprecated Import from `@design-intelligence/ghost/package`. */
|
|
1
2
|
export { FINGERPRINT_MANIFEST_FILENAME, FINGERPRINT_PACKAGE_DIR, } from "./scan/constants.js";
|
|
2
3
|
export { initFingerprintPackage, lintFingerprintPackage, loadFingerprintPackage, resolveFingerprintPackage, } from "./scan/fingerprint-package.js";
|
|
3
4
|
//# sourceMappingURL=fingerprint.js.map
|
package/dist/fingerprint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/catalog/assemble.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/catalog/assemble.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAEjE;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,iBAAiB,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAuBzE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { carriesConcreteMaterial, extractSkeletonSections, } from "../node/steering.js";
|
|
1
|
+
import { carriesConcreteMaterial, extractSkeletonSections, hasSubstantialFencedExample, } from "../node/steering.js";
|
|
2
2
|
/**
|
|
3
3
|
* Assemble package node files into one flat in-memory catalog. Each node's id
|
|
4
4
|
* is its path; kind/slug come from its filename. No edges, no cascade — the
|
|
@@ -19,6 +19,7 @@ export function assembleCatalog(input) {
|
|
|
19
19
|
...(fm.description !== undefined ? { description: fm.description } : {}),
|
|
20
20
|
...(fm.materials !== undefined ? { materials: fm.materials } : {}),
|
|
21
21
|
concrete,
|
|
22
|
+
hasFencedExample: hasSubstantialFencedExample(placed.doc.body),
|
|
22
23
|
hasSkeleton: extractSkeletonSections(placed.doc.body).length > 0,
|
|
23
24
|
body: placed.doc.body,
|
|
24
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../../src/ghost-core/catalog/assemble.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../../src/ghost-core/catalog/assemble.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAuB7B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAElD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;YACvC,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;SACtB,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YACnB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE;YAC5D,GAAG,CAAC,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,QAAQ;YACR,gBAAgB,EAAE,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9D,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAChE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { GhostCatalog } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* One entry in the gather menu: a node presented as `id` + `kind` +
|
|
4
|
-
* `description
|
|
5
|
-
* matches a natural-language ask against these and
|
|
6
|
-
*
|
|
4
|
+
* `description`, the retrieval payload the agent selects against. The agent
|
|
5
|
+
* matches a natural-language ask against these and pulls applicable nodes;
|
|
6
|
+
* ghost does no NLP and no selection.
|
|
7
7
|
*/
|
|
8
8
|
export interface CatalogMenuEntry {
|
|
9
9
|
id: string;
|
|
@@ -12,8 +12,10 @@ export interface CatalogMenuEntry {
|
|
|
12
12
|
description?: string;
|
|
13
13
|
/** Count of material locators available after pulling this node. */
|
|
14
14
|
materials?: number;
|
|
15
|
-
/** True when this entry carries
|
|
15
|
+
/** True when this entry carries a material locator, fenced example, or Skeleton. */
|
|
16
16
|
concrete: boolean;
|
|
17
|
+
/** True when this entry includes a substantial fenced example. */
|
|
18
|
+
hasFencedExample?: true;
|
|
17
19
|
/** True when this entry includes a Skeleton section. */
|
|
18
20
|
hasSkeleton?: true;
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/catalog/menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/catalog/menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,wDAAwD;IACxD,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAkB1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/ghost-core/catalog/menu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/ghost-core/catalog/menu.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAqB;IACpD,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC3D,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -10,12 +10,14 @@ export interface GhostCatalogNode {
|
|
|
10
10
|
kind?: string;
|
|
11
11
|
/** Filename slug: bare name, or the part after the first dot. */
|
|
12
12
|
slug: string;
|
|
13
|
-
/**
|
|
13
|
+
/** Retrieval payload shown in gather: what applies, when, and what it contributes. */
|
|
14
14
|
description?: string;
|
|
15
15
|
/** Optional material locators carried by the authored node. */
|
|
16
16
|
materials?: string[];
|
|
17
|
-
/** True when the node carries
|
|
17
|
+
/** True when the node carries a material locator, substantial fence, or Skeleton. */
|
|
18
18
|
concrete: boolean;
|
|
19
|
+
/** True when the node body carries a fenced block of at least 3 lines. */
|
|
20
|
+
hasFencedExample: boolean;
|
|
19
21
|
/** True when the node declares a `## Skeleton` section. */
|
|
20
22
|
hasSkeleton: boolean;
|
|
21
23
|
body: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2DAA2D;IAC3D,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACtC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Public surface for `ghost.check/v1` — markdown + frontmatter checks an agent
|
|
3
|
-
* evaluates (
|
|
3
|
+
* evaluates (ghost never runs them). Every check is offered to the reviewer;
|
|
4
4
|
* the agent judges relevance against the diff and the grounded prose. A check's
|
|
5
5
|
* optional `source:` names the fingerprint prose it enforces.
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Public surface for `ghost.check/v1` — markdown + frontmatter checks an agent
|
|
3
|
-
* evaluates (
|
|
3
|
+
* evaluates (ghost never runs them). Every check is offered to the reviewer;
|
|
4
4
|
* the agent judges relevance against the diff and the grounded prose. A check's
|
|
5
5
|
* optional `source:` names the fingerprint prose it enforces.
|
|
6
6
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type GhostCheckLintReport } from "./types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Lint a
|
|
3
|
+
* Lint a ghost check markdown file (`ghost.check/v1`): required frontmatter
|
|
4
4
|
* (`name`, `description`, `severity`), an optional `source:` provenance pointer,
|
|
5
|
-
* and a non-empty body.
|
|
5
|
+
* and a non-empty body. ghost never executes the check — this only validates
|
|
6
6
|
* that it is well-formed.
|
|
7
7
|
*/
|
|
8
8
|
export declare function lintGhostCheck(raw: string): GhostCheckLintReport;
|
|
@@ -2,9 +2,9 @@ import { parseCheckMarkdown } from "./parse.js";
|
|
|
2
2
|
import { parseSourceRef } from "./source-ref.js";
|
|
3
3
|
import { GHOST_CHECK_SEVERITIES, } from "./types.js";
|
|
4
4
|
/**
|
|
5
|
-
* Lint a
|
|
5
|
+
* Lint a ghost check markdown file (`ghost.check/v1`): required frontmatter
|
|
6
6
|
* (`name`, `description`, `severity`), an optional `source:` provenance pointer,
|
|
7
|
-
* and a non-empty body.
|
|
7
|
+
* and a non-empty body. ghost never executes the check — this only validates
|
|
8
8
|
* that it is well-formed.
|
|
9
9
|
*/
|
|
10
10
|
export function lintGhostCheck(raw) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GhostCheckDocument } from "./types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Parse a well-formed
|
|
3
|
+
* Parse a well-formed ghost check into a typed document. Assumes the input has
|
|
4
4
|
* already passed `lintGhostCheck` (throws on missing required frontmatter).
|
|
5
5
|
*/
|
|
6
6
|
export declare function loadGhostCheck(raw: string): GhostCheckDocument;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { parseCheckMarkdown } from "./parse.js";
|
|
2
2
|
/**
|
|
3
|
-
* Parse a well-formed
|
|
3
|
+
* Parse a well-formed ghost check into a typed document. Assumes the input has
|
|
4
4
|
* already passed `lintGhostCheck` (throws on missing required frontmatter).
|
|
5
5
|
*/
|
|
6
6
|
export function loadGhostCheck(raw) {
|
|
7
7
|
const { frontmatter, body } = parseCheckMarkdown(raw);
|
|
8
8
|
if (frontmatter === null) {
|
|
9
|
-
throw new Error("
|
|
9
|
+
throw new Error("ghost check is missing a YAML frontmatter block.");
|
|
10
10
|
}
|
|
11
11
|
const name = frontmatter.name;
|
|
12
12
|
const description = frontmatter.description;
|
|
13
13
|
const severity = frontmatter.severity;
|
|
14
14
|
if (typeof name !== "string" || typeof description !== "string") {
|
|
15
|
-
throw new Error("
|
|
15
|
+
throw new Error("ghost check frontmatter is missing name or description.");
|
|
16
16
|
}
|
|
17
17
|
const tools = Array.isArray(frontmatter.tools)
|
|
18
18
|
? frontmatter.tools.filter((tool) => typeof tool === "string")
|
|
@@ -3,9 +3,9 @@ export declare const GHOST_CHECK_SCHEMA: "ghost.check/v1";
|
|
|
3
3
|
export declare const GHOST_CHECK_SEVERITIES: readonly ["high", "medium", "low"];
|
|
4
4
|
export type GhostCheckMarkdownSeverity = (typeof GHOST_CHECK_SEVERITIES)[number];
|
|
5
5
|
/**
|
|
6
|
-
* A
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* A ghost check: markdown + frontmatter, evaluated by an agent — never run by
|
|
7
|
+
* ghost. Shape-compatible with the established `.agents/checks` format, plus the
|
|
8
|
+
* ghost addition `source:` (the fingerprint prose the check enforces). Every
|
|
9
9
|
* check is offered to the reviewer; the agent judges relevance.
|
|
10
10
|
*/
|
|
11
11
|
export interface GhostCheckFrontmatter {
|
|
@@ -5,9 +5,15 @@ export { hasGlobMagic, matchesGlob, normalizeGlobPath } from "./glob.js";
|
|
|
5
5
|
export { type GhostGlossaryDocument, GhostGlossaryFrontmatterSchema, type GhostGlossaryKind, type GhostGlossaryParseResult, parseGlossary, } from "./glossary.js";
|
|
6
6
|
export { type ExpandedLocalMaterialLocator, expandLocalMaterialLocator, listBundledMaterialFiles, type MaterialTransportOptions, type MaterialTransportResult, materialLocatorClaimsPath, resolveLocalMaterialLocator, type TransportedMaterial, type TransportedMaterialTier, transportMaterials, } from "./material-transport.js";
|
|
7
7
|
export { type ClassifiedGhostMaterialLocator, classifyMaterialLocator, type GhostMaterialLocatorKind, validateMaterialLocator, } from "./materials.js";
|
|
8
|
-
export { carriesConcreteMaterial, extractSkeletonFences, extractSkeletonSections, type FencedBlock, GHOST_NODE_SCHEMA, type GhostNodeDocument, type GhostNodeFrontmatter, GhostNodeFrontmatterSchema, type GhostNodeLintIssue, type GhostNodeLintReport, type GhostNodeLintSeverity, lintGhostNode, NodeIdSchema, NodeRefSchema, type ParseNodeResult, parseNode, type SkeletonSection, serializeNode, stripSkeletonSections, } from "./node/index.js";
|
|
9
|
-
export type {
|
|
10
|
-
|
|
8
|
+
export { carriesConcreteMaterial, extractSkeletonFences, extractSkeletonSections, type FencedBlock, GHOST_NODE_SCHEMA, type GhostNodeDocument, type GhostNodeFrontmatter, GhostNodeFrontmatterSchema, type GhostNodeLintIssue, type GhostNodeLintReport, type GhostNodeLintSeverity, hasSubstantialFencedExample, lintGhostNode, NodeIdSchema, NodeRefSchema, type ParseNodeResult, parseNode, type SkeletonSection, serializeNode, stripSkeletonSections, } from "./node/index.js";
|
|
9
|
+
export type {
|
|
10
|
+
/** @deprecated Use `GhostPackageManifest`. */
|
|
11
|
+
GhostFingerprintPackageManifest, GhostPackageManifest, } from "./package-manifest.js";
|
|
12
|
+
export {
|
|
13
|
+
/** @deprecated Use `GHOST_PACKAGE_SCHEMA`. */
|
|
14
|
+
GHOST_FINGERPRINT_PACKAGE_SCHEMA, GHOST_PACKAGE_SCHEMA,
|
|
15
|
+
/** @deprecated Use `GhostPackageManifestSchema`. */
|
|
16
|
+
GhostFingerprintPackageManifestSchema, GhostPackageManifestSchema, } from "./package-manifest.js";
|
|
11
17
|
export type { SkillBundleFile } from "./skill-bundle-loader.js";
|
|
12
18
|
export { loadSkillBundle } from "./skill-bundle-loader.js";
|
|
13
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ghost-core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,oBAAoB,EACzB,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,cAAc,EACd,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EACL,KAAK,qBAAqB,EAC1B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,4BAA4B,EACjC,0BAA0B,EAC1B,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,aAAa,EACb,YAAY,EACZ,aAAa,EACb,KAAK,eAAe,EACpB,SAAS,EACT,KAAK,eAAe,EACpB,aAAa,EACb,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ghost-core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,oBAAoB,EACzB,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,cAAc,EACd,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EACL,KAAK,qBAAqB,EAC1B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,4BAA4B,EACjC,0BAA0B,EAC1B,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,aAAa,EACb,KAAK,eAAe,EACpB,SAAS,EACT,KAAK,eAAe,EACpB,aAAa,EACb,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY;AACV,8CAA8C;AAC9C,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO;AACL,8CAA8C;AAC9C,gCAAgC,EAChC,oBAAoB;AACpB,oDAAoD;AACpD,qCAAqC,EACrC,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|