@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
|
@@ -3,22 +3,22 @@ import { dirname, join, resolve } from "node:path";
|
|
|
3
3
|
import { UsageError, } from "#ghost-core";
|
|
4
4
|
import { isExistingPathError, isMissingPathError } from "../internal/fs.js";
|
|
5
5
|
import { FINGERPRINT_COMPOSITION_FILENAME, FINGERPRINT_INTENT_FILENAME, FINGERPRINT_INVENTORY_FILENAME, FINGERPRINT_MANIFEST_FILENAME, GHOST_GLOSSARY_FILENAME, } from "./constants.js";
|
|
6
|
-
import {
|
|
6
|
+
import { lintGhostPackage } from "./fingerprint-package-lint.js";
|
|
7
|
+
import { loadGhostPackage } from "./fingerprint-package-loader.js";
|
|
7
8
|
import { resolveGhostDirDefault } from "./package-paths.js";
|
|
8
9
|
import { DEFAULT_TEMPLATE_NAME, getInitBody, getInitTemplate, listInitBodies, listInitTemplates, } from "./templates.js";
|
|
9
10
|
// The lint pass lives beside this module; re-export it so `validate` callers
|
|
10
11
|
// keep a single import site for package loading and linting.
|
|
11
|
-
export {
|
|
12
|
-
export { loadFingerprintPackage };
|
|
12
|
+
export { lintGhostPackage, loadGhostPackage };
|
|
13
13
|
/**
|
|
14
|
-
* Resolve the
|
|
14
|
+
* Resolve the ghost package directory. `dirArg` (an explicit
|
|
15
15
|
* `--package <dir>`) always wins and is used exactly as given — it may be
|
|
16
16
|
* absolute or relative, unlike `GHOST_PACKAGE_DIR`. When `dirArg` is
|
|
17
17
|
* omitted, `GHOST_PACKAGE_DIR` is honored so every command — not just `init`
|
|
18
18
|
* and `validate` — respects a host-configured package location. Falls back
|
|
19
19
|
* to the default `.ghost` when neither is set.
|
|
20
20
|
*/
|
|
21
|
-
export function
|
|
21
|
+
export function resolveGhostPackage(dirArg, cwd = process.cwd()) {
|
|
22
22
|
const dir = resolve(cwd, dirArg ?? resolveGhostDirDefault());
|
|
23
23
|
const packageDir = dir;
|
|
24
24
|
return {
|
|
@@ -31,7 +31,7 @@ export function resolveFingerprintPackage(dirArg, cwd = process.cwd()) {
|
|
|
31
31
|
composition: join(packageDir, FINGERPRINT_COMPOSITION_FILENAME),
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
export async function
|
|
34
|
+
export async function initGhostPackage(dirArg, cwd = process.cwd(), options = {}) {
|
|
35
35
|
if (options.body !== undefined && options.template !== undefined) {
|
|
36
36
|
throw new UsageError("--body and --template are mutually exclusive. A template is a shape of emptiness; a body is a full inhabited package — pick one.");
|
|
37
37
|
}
|
|
@@ -51,7 +51,7 @@ export async function initFingerprintPackage(dirArg, cwd = process.cwd(), option
|
|
|
51
51
|
}
|
|
52
52
|
source = template;
|
|
53
53
|
}
|
|
54
|
-
const paths =
|
|
54
|
+
const paths = resolveGhostPackage(dirArg, cwd);
|
|
55
55
|
await mkdir(paths.packageDir, { recursive: true });
|
|
56
56
|
const files = (await source.files()).map((file) => ({
|
|
57
57
|
relativePath: file.relativePath,
|
|
@@ -75,7 +75,7 @@ async function writeInitFile(path, content, force = false) {
|
|
|
75
75
|
}
|
|
76
76
|
catch (err) {
|
|
77
77
|
if (!force && isExistingPathError(err)) {
|
|
78
|
-
throw new UsageError(`Refusing to overwrite existing
|
|
78
|
+
throw new UsageError(`Refusing to overwrite existing ghost package file:\n ${path}\nPass --force to overwrite.`);
|
|
79
79
|
}
|
|
80
80
|
throw err;
|
|
81
81
|
}
|
|
@@ -95,7 +95,15 @@ async function assertInitDoesNotOverwrite(paths) {
|
|
|
95
95
|
}
|
|
96
96
|
if (existing.length > 0) {
|
|
97
97
|
const formatted = existing.map((path) => ` ${path}`).join("\n");
|
|
98
|
-
throw new UsageError(`Refusing to overwrite existing
|
|
98
|
+
throw new UsageError(`Refusing to overwrite existing ghost package file(s):\n${formatted}\nPass --force to overwrite.`);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
+
/** @deprecated Use `resolveGhostPackage`. */
|
|
102
|
+
export const resolveFingerprintPackage = resolveGhostPackage;
|
|
103
|
+
/** @deprecated Use `initGhostPackage`. */
|
|
104
|
+
export const initFingerprintPackage = initGhostPackage;
|
|
105
|
+
/** @deprecated Use `loadGhostPackage`. */
|
|
106
|
+
export const loadFingerprintPackage = loadGhostPackage;
|
|
107
|
+
/** @deprecated Use `lintGhostPackage`. */
|
|
108
|
+
export const lintFingerprintPackage = lintGhostPackage;
|
|
101
109
|
//# sourceMappingURL=fingerprint-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint-package.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAGL,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fingerprint-package.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package.ts"],"names":[],"mappings":"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"}
|
package/dist/scan/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {
|
|
2
|
+
/** @deprecated Use `GHOST_PACKAGE_DIR`. */
|
|
3
|
+
FINGERPRINT_PACKAGE_DIR, GHOST_MANIFEST_FILENAME, GHOST_PACKAGE_DIR, } from "./constants.js";
|
|
2
4
|
export { GHOST_PACKAGE_DIR_ENV, normalizeGhostDir, resolveGhostDirDefault, resolveGitRoot, } from "./package-paths.js";
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/scan/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scan/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scan/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,2CAA2C;AAC3C,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
|
package/dist/scan/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {
|
|
2
|
+
/** @deprecated Use `GHOST_PACKAGE_DIR`. */
|
|
3
|
+
FINGERPRINT_PACKAGE_DIR, GHOST_MANIFEST_FILENAME, GHOST_PACKAGE_DIR, } from "./constants.js";
|
|
2
4
|
export { GHOST_PACKAGE_DIR_ENV, normalizeGhostDir, resolveGhostDirDefault, resolveGitRoot, } from "./package-paths.js";
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
package/dist/scan/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scan/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scan/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,2CAA2C;AAC3C,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
|
package/dist/scan/tarball.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ export interface CreateDirectoryTarballOptions {
|
|
|
12
12
|
exclude?: (relativePath: string) => boolean;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* Write a dependency-free `.tgz` archive for a
|
|
15
|
+
* Write a dependency-free `.tgz` archive for a ghost package directory.
|
|
16
16
|
*
|
|
17
|
-
* This intentionally implements only the portable subset
|
|
17
|
+
* This intentionally implements only the portable subset ghost needs: ustar
|
|
18
18
|
* regular-file entries, deterministic path ordering, no symlink traversal.
|
|
19
19
|
*/
|
|
20
20
|
export declare function writeDirectoryTarball(options: CreateDirectoryTarballOptions): Promise<void>;
|
package/dist/scan/tarball.js
CHANGED
|
@@ -3,9 +3,9 @@ import { join, relative } from "node:path";
|
|
|
3
3
|
import { gzipSync } from "node:zlib";
|
|
4
4
|
const BLOCK_SIZE = 512;
|
|
5
5
|
/**
|
|
6
|
-
* Write a dependency-free `.tgz` archive for a
|
|
6
|
+
* Write a dependency-free `.tgz` archive for a ghost package directory.
|
|
7
7
|
*
|
|
8
|
-
* This intentionally implements only the portable subset
|
|
8
|
+
* This intentionally implements only the portable subset ghost needs: ustar
|
|
9
9
|
* regular-file entries, deterministic path ordering, no symlink traversal.
|
|
10
10
|
*/
|
|
11
11
|
export async function writeDirectoryTarball(options) {
|
|
@@ -140,6 +140,6 @@ function normalizeTarPath(path) {
|
|
|
140
140
|
return path.replace(/\\/g, "/").replace(/^\.\//, "").replace(/^\/+/, "");
|
|
141
141
|
}
|
|
142
142
|
export function defaultArchiveName(id) {
|
|
143
|
-
return `${id}-
|
|
143
|
+
return `${id}-ghost-package.tgz`;
|
|
144
144
|
}
|
|
145
145
|
//# sourceMappingURL=tarball.js.map
|
package/dist/scan/tarball.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarball.js","sourceRoot":"","sources":["../../src/scan/tarball.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tarball.js","sourceRoot":"","sources":["../../src/scan/tarball.ts"],"names":[],"mappings":"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"}
|
package/dist/scan/templates.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface GhostInitTemplate {
|
|
|
18
18
|
files(): TemplateFile[] | Promise<TemplateFile[]>;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* An init body: a full inhabited
|
|
21
|
+
* An init body: a full inhabited ghost package — answered signature
|
|
22
22
|
* dials, materials, refs, and its own checks. Templates are shapes of
|
|
23
23
|
* emptiness awaiting the owner's truths; a body is the same anatomy with a
|
|
24
24
|
* real brand's values plugged in. Bodies keep their own manifest id (e.g.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scan/templates.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B;AACD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,IAAI,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACnD;AA0VD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scan/templates.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B;AACD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,IAAI,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACnD;AA0VD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAClC;AAyCD,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEnE;AAED,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAE5D,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAM3E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
|
package/dist/scan/templates.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GHOST_PACKAGE_SCHEMA } from "#ghost-core";
|
|
2
2
|
import { GHOST_EVENTS_FILENAME, LEGACY_PULL_HISTORY_FILENAME, } from "./constants.js";
|
|
3
3
|
import { loadPackedPayload, loadPayloadFile } from "./packed-payloads.js";
|
|
4
4
|
function manifestFile(cover) {
|
|
5
5
|
return {
|
|
6
6
|
relativePath: "manifest.yml",
|
|
7
|
-
content: `schema: ${
|
|
7
|
+
content: `schema: ${GHOST_PACKAGE_SCHEMA}\nid: local\n${cover ? `cover: ${cover}\n` : ""}`,
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Keep events tapes out of version control: they are disposable
|
|
12
|
-
* per-machine signals for authors iterating on the
|
|
12
|
+
* per-machine signals for authors iterating on the package, never canonical
|
|
13
13
|
* state.
|
|
14
14
|
*/
|
|
15
15
|
function gitignoreFile() {
|
|
@@ -83,7 +83,7 @@ Reusable composition or product pattern whose purpose is distinguishable from ne
|
|
|
83
83
|
{
|
|
84
84
|
relativePath: "index.md",
|
|
85
85
|
content: `---
|
|
86
|
-
description: Always read first — the non-negotiables and how to read this
|
|
86
|
+
description: Always read first — the non-negotiables and how to read this package.
|
|
87
87
|
---
|
|
88
88
|
|
|
89
89
|
Replace this placeholder prose with two things:
|
|
@@ -93,9 +93,9 @@ medium, no matter what else is gathered — hard invariants, the anti-goals, the
|
|
|
93
93
|
one-sentence stance. Anything that must never be missed belongs here, stated
|
|
94
94
|
briefly; link out to the full node by id for depth.
|
|
95
95
|
|
|
96
|
-
**How to read the rest.** What this
|
|
97
|
-
the corpus, and where the
|
|
98
|
-
you want one, a stricter silence posture ("when this
|
|
96
|
+
**How to read the rest.** What this package covers, how its kinds organize
|
|
97
|
+
the corpus, and where the package deliberately stays silent — including, if
|
|
98
|
+
you want one, a stricter silence posture ("when this package is silent on X,
|
|
99
99
|
ask a human") that overrides the default proceed-provisionally behavior.
|
|
100
100
|
|
|
101
101
|
\`index\` is this package's manifest-declared cover: \`ghost gather\` inlines its
|
|
@@ -118,7 +118,7 @@ it applies — never a filing destination.
|
|
|
118
118
|
* The composition starter: everything in `minimal`, plus a worked composition
|
|
119
119
|
* ladder — an invariants floor (`principle.composition`), one bound/open
|
|
120
120
|
* pattern, and a cover that teaches the convention. For teams whose
|
|
121
|
-
*
|
|
121
|
+
* package must steer *what agents build*, not only what they say.
|
|
122
122
|
*
|
|
123
123
|
* The ladder is an authoring convention, not a schema: patterns state what is
|
|
124
124
|
* bound (do not redecide) and what is open (the generator's call), and every
|
|
@@ -194,10 +194,10 @@ them.
|
|
|
194
194
|
{
|
|
195
195
|
relativePath: "index.md",
|
|
196
196
|
content: `---
|
|
197
|
-
description: Start here — how this
|
|
197
|
+
description: Start here — how this package steers composition, from patterns down to principles.
|
|
198
198
|
---
|
|
199
199
|
|
|
200
|
-
This
|
|
200
|
+
This package steers what gets built, not only what gets said. It is
|
|
201
201
|
organized as a ladder of binding depth:
|
|
202
202
|
|
|
203
203
|
1. **Patterns** (\`pattern.*\`) are mostly-decided compositions. When an ask
|
|
@@ -230,7 +230,7 @@ opinions before trusting them.
|
|
|
230
230
|
description: The composition floor — hard layout invariants that hold for every screen, whether or not a pattern matches the ask.
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
These invariants apply to everything built against this
|
|
233
|
+
These invariants apply to everything built against this package. Patterns
|
|
234
234
|
narrow them; nothing loosens them. Each is written as a refusal or a limit with
|
|
235
235
|
a number, because a stance an agent can check is a stance that steers.
|
|
236
236
|
|
|
@@ -336,6 +336,10 @@ const VESSEL_LIGHT_BODY = {
|
|
|
336
336
|
includesChecks: true,
|
|
337
337
|
async files() {
|
|
338
338
|
const payload = await loadPackedPayload("vessel-light");
|
|
339
|
+
const manifest = payload.find((file) => file.relativePath === "manifest.yml");
|
|
340
|
+
if (manifest && typeof manifest.content === "string") {
|
|
341
|
+
manifest.content = manifest.content.replace(/^schema:\s*ghost\.fingerprint-package\/v1\s*$/m, `schema: ${GHOST_PACKAGE_SCHEMA}`);
|
|
342
|
+
}
|
|
339
343
|
payload.sort((a, b) => {
|
|
340
344
|
const ao = BODY_FILE_ORDER.get(a.relativePath);
|
|
341
345
|
const bo = BODY_FILE_ORDER.get(b.relativePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scan/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scan/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ghost
|
|
3
|
-
description: Author, validate, consume, and review against a repo-local
|
|
3
|
+
description: Author, validate, consume, and review against a repo-local ghost package — the medium-agnostic articulation of a product's brand. Use when the user wants to set up a .ghost package, write or update guidance nodes, gather brand context before generation, or assemble a review packet from ghost checks.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
homepage: https://github.com/block/ghost
|
|
7
7
|
cli: ghost
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
#
|
|
10
|
+
# ghost — Brand Guidance Packages
|
|
11
11
|
|
|
12
|
-
A
|
|
13
|
-
its stance, its conditions, and optional pointers to the concrete materials
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
A ghost package is the medium-agnostic articulation of a brand: its guidance,
|
|
13
|
+
its stance, its conditions, and optional pointers to the concrete materials that
|
|
14
|
+
guidance governs. Each brand decision is stated once, at the broadest level where
|
|
15
|
+
it applies, and an agent reads the relevant guidance before building.
|
|
16
16
|
|
|
17
17
|
```text
|
|
18
18
|
.ghost/
|
|
19
19
|
manifest.yml # schema + id (the package anchor)
|
|
20
20
|
glossary.md # the author's kind vocabulary
|
|
21
21
|
materials/ # bundled materials; reserved, never nodes
|
|
22
|
-
<kind>.<slug>.md #
|
|
23
|
-
<slug>.md #
|
|
22
|
+
<kind>.<slug>.md # guidance of a declared kind
|
|
23
|
+
<slug>.md # guidance without a kind
|
|
24
24
|
checks/ # optional review assertions; never nodes
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## The model in one breath
|
|
28
28
|
|
|
29
|
-
- A **node** is a markdown file: `description`, optional `materials`, and
|
|
30
|
-
|
|
31
|
-
- `materials` is one list of locators for the concrete stuff the truth is about:
|
|
29
|
+
- A **node** is a markdown file: `description`, optional `materials`, and prose brand guidance.
|
|
30
|
+
- `materials` is one list of locators for the concrete stuff the guidance is about:
|
|
32
31
|
repo-relative paths/globs or absolute HTTPS URLs. `materials/` is reserved for
|
|
33
32
|
bundled materials; reference living implementations where they already live.
|
|
34
33
|
Guidance stays in prose.
|
|
@@ -55,28 +54,35 @@ true, and an agent reads the relevant truths before building.
|
|
|
55
54
|
ghost init # scaffold .ghost/ with the steering starter
|
|
56
55
|
ghost checks init # opt in to review assertions
|
|
57
56
|
ghost validate # artifact shape + node/material/check validation
|
|
58
|
-
ghost gather <ask> # emit
|
|
59
|
-
ghost pull <ids> #
|
|
57
|
+
ghost gather <ask> # emit Available guidance for this task
|
|
58
|
+
ghost pull <ids> # pull selected node bodies and materials
|
|
60
59
|
ghost review # assemble diff + matched material-backed nodes + checks
|
|
61
60
|
ghost export # package .ghost/ as a portable brand artifact
|
|
62
61
|
ghost pulse # summarize local gather/pull events while tuning
|
|
63
62
|
```
|
|
64
63
|
|
|
65
|
-
`gather` does no selection. It emits the
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
`gather` does no selection. It emits the complete, unfiltered, unranked menu
|
|
65
|
+
from the ghost package. You read the ask against descriptions, then
|
|
66
|
+
pull every applicable node and skip inapplicable nodes. Topic overlap alone is
|
|
67
|
+
not applicability. Its header includes a coverage line: total nodes and nodes
|
|
68
|
+
carrying concrete material. `gather` labels materials, substantial fenced
|
|
69
|
+
examples, and Skeletons separately, so an all-prose package is visible
|
|
70
|
+
before generation.
|
|
69
71
|
|
|
70
72
|
Prefer `ghost pull` over reading files directly: it emits the same prose,
|
|
71
73
|
inlines small local materials by default, turns binary materials into
|
|
72
|
-
inspect-pointers, orders the packet for steering (cover when selected,
|
|
73
|
-
prose rules), extracts Skeletons dead last, and appends
|
|
74
|
-
events to `.ghost/.events` for local tuning.
|
|
74
|
+
inspect-pointers, orders the packet for steering (cover when selected,
|
|
75
|
+
concrete nodes, prose rules), extracts Skeletons dead last, and appends
|
|
76
|
+
structured events to `.ghost/.events` for local tuning.
|
|
75
77
|
|
|
76
78
|
`review` does no grading. It assembles an advisory packet: touched files,
|
|
77
79
|
matched material-backed nodes, offered checks, probe
|
|
78
80
|
evidence, coverage gaps, and the diff. The host agent renders findings.
|
|
79
81
|
|
|
82
|
+
For visual work, do not stop at generation. Continue through material inspection,
|
|
83
|
+
compact briefing, rendered verification, bounded repair, and grounded review in
|
|
84
|
+
this same host-agent session.
|
|
85
|
+
|
|
80
86
|
## CLI verbs
|
|
81
87
|
|
|
82
88
|
| Verb | Purpose |
|
|
@@ -84,7 +90,7 @@ evidence, coverage gaps, and the diff. The host agent renders findings.
|
|
|
84
90
|
| `ghost init` | Scaffold `.ghost/` with the skeleton starter: manifest, glossary, a `brand.md` cover, foundation chapters, context nodes, and the cliche floor. `--template minimal` writes a smaller cover-led starter. `--with checks` also adds the checks directory. |
|
|
85
91
|
| `ghost checks init` | Scaffold `.ghost/checks/` with an example review assertion. |
|
|
86
92
|
| `ghost validate [file-or-dir]` | Validate manifest, nodes, material locators, check references, and glossary kind prefixes. |
|
|
87
|
-
| `ghost gather [ask…] [--format json]` | Emit the
|
|
93
|
+
| `ghost gather [ask…] [--format json]` | Emit the complete guidance menu plus coverage line; log exposed ids. |
|
|
88
94
|
| `ghost pull <id> [<id>…]` | Emit selected nodes' full bodies and materials in steering order; log selected/missed ids. |
|
|
89
95
|
| `ghost review [--diff <path|->] [--base <ref>] [--format json] [--no-probes]` | Emit an advisory review packet for a diff (requires `.ghost/checks/`). |
|
|
90
96
|
| `ghost export [--out <path>] [--no-checks] [--strict] [--format json]` | Package `.ghost/` as a portable brand artifact and report which material locators will not travel. |
|
|
@@ -101,7 +107,7 @@ from the node body and emits the fences at the end under a begin-from-this banne
|
|
|
101
107
|
If a pulled Skeleton matches the task, start the artifact from it verbatim, then
|
|
102
108
|
fill with task facts.
|
|
103
109
|
|
|
104
|
-
## Receiving a
|
|
110
|
+
## Receiving a ghost package
|
|
105
111
|
|
|
106
112
|
Unpack the exported archive, run `ghost validate --package <dir>`, then run
|
|
107
113
|
`ghost skill install` in the receiving workspace. From there, gather and pull
|
|
@@ -109,27 +115,29 @@ against the unpacked package with `--package <dir>`.
|
|
|
109
115
|
|
|
110
116
|
## Workflows
|
|
111
117
|
|
|
112
|
-
- Author or update the
|
|
118
|
+
- Author or update the package: follow [references/capture.md](references/capture.md).
|
|
119
|
+
- Distill supplied artifacts into new or existing guidance: follow [references/distill.md](references/distill.md).
|
|
113
120
|
- Author material-backed nodes: follow [references/blocks.md](references/blocks.md).
|
|
114
121
|
- Choose which concrete code tiers the package carries: follow [references/concrete-tiers.md](references/concrete-tiers.md).
|
|
115
122
|
- Choose the right human-agent authoring workflow: follow [references/authoring-scenarios.md](references/authoring-scenarios.md).
|
|
116
123
|
- Adapt a starter (a body or the skeleton) to your brand: follow [references/adapting-a-starter.md](references/adapting-a-starter.md).
|
|
117
|
-
- Gather applicable
|
|
124
|
+
- Gather applicable guidance for a task: follow [references/recall.md](references/recall.md).
|
|
125
|
+
- Make a visual artifact end to end: follow [references/making.md](references/making.md).
|
|
118
126
|
- Shape a pre-generation brief: follow [references/brief.md](references/brief.md).
|
|
119
127
|
- Probe readiness before generating: follow [references/self-check.md](references/self-check.md).
|
|
120
128
|
- Audit steering coverage: follow [references/steering-audit.md](references/steering-audit.md).
|
|
121
129
|
- Understand the package shape: see [references/schema.md](references/schema.md).
|
|
122
130
|
|
|
123
|
-
|
|
131
|
+
ghost package authoring is **elicitation, not scanning**. The raw material is what
|
|
124
132
|
the human brings and points at: words, images, links, exemplar products, brand
|
|
125
133
|
docs, copy they love or hate. Repo code can supply material locators and local
|
|
126
|
-
conventions, but durable brand
|
|
134
|
+
conventions, but durable brand guidance should be curated by the human.
|
|
127
135
|
|
|
128
|
-
## When the
|
|
136
|
+
## When the package is silent
|
|
129
137
|
|
|
130
|
-
A silent
|
|
138
|
+
A silent package does not require stopping. Proceed from nearby product
|
|
131
139
|
surfaces, local conventions, and ordinary reasoning when safe, and label that
|
|
132
|
-
reasoning as provisional and non-
|
|
140
|
+
reasoning as provisional and non-ghost-backed unless the package itself
|
|
133
141
|
declares a stricter silence posture (check the cover), which overrides
|
|
134
142
|
this default. Ask a human before high-risk, irreversible, privacy, security,
|
|
135
143
|
legal, or brand-defining choices.
|
|
@@ -137,7 +145,7 @@ legal, or brand-defining choices.
|
|
|
137
145
|
## Never
|
|
138
146
|
|
|
139
147
|
- Never invent hierarchy, inheritance, or cross-node edges.
|
|
140
|
-
- Never file a
|
|
148
|
+
- Never file a node by destination (`for-emails.md`); state its condition in prose.
|
|
141
149
|
- Never put guidance in `materials`; it belongs in the node body.
|
|
142
150
|
- Never gather checks as generation context.
|
|
143
|
-
- Never claim provisional or local-convention reasoning as
|
|
151
|
+
- Never claim provisional or local-convention reasoning as ghost-backed.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: adapting-a-starter
|
|
3
|
-
description: Transplant a starter
|
|
3
|
+
description: Transplant a starter ghost package — a body like vessel-light or the naked skeleton — into your own brand, one procedure from manifest id to regenerated refs.
|
|
4
4
|
handoffs:
|
|
5
5
|
- label: Validate the adapted package
|
|
6
6
|
command: ghost validate --format json
|
|
7
|
-
prompt: Does the adapted
|
|
7
|
+
prompt: Does the adapted package validate, and did any pruned rule orphan a check reference?
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# Recipe: Adapt A Starter
|
|
10
|
+
# Recipe: Adapt A Starter Package
|
|
11
11
|
|
|
12
12
|
**Goal:** turn an installed starter — a full body (`ghost init --body
|
|
13
13
|
vessel-light`) or the naked skeleton (`ghost init`) — into *your* brand's
|
|
14
|
-
|
|
14
|
+
brand guidance without shipping a self-contradicting package.
|
|
15
15
|
|
|
16
16
|
The naked skeleton is factored by what must happen during adaptation:
|
|
17
17
|
|
|
@@ -26,7 +26,7 @@ The naked skeleton is factored by what must happen during adaptation:
|
|
|
26
26
|
|
|
27
27
|
Do the steps **in order and in one sitting** where possible. A half-adapted
|
|
28
28
|
package is worse than an unadapted one: stale refs steer harder than any prose
|
|
29
|
-
you rewrote, so stopping before refs and checks are current ships a
|
|
29
|
+
you rewrote, so stopping before refs and checks are current ships a package
|
|
30
30
|
that contradicts itself.
|
|
31
31
|
|
|
32
32
|
## The procedure
|
|
@@ -64,7 +64,7 @@ that contradicts itself.
|
|
|
64
64
|
stale ref loses. Rebuild each ref against the new values and chapter answers,
|
|
65
65
|
keep any annotation headers current, and make each ref demonstrate its closed
|
|
66
66
|
sets completely. If the starter shipped no refs, generate them now — a
|
|
67
|
-
|
|
67
|
+
package with no exemplars steers at half strength.
|
|
68
68
|
8. **Rewrite checks and near-miss nodes.** For each answered foundation chapter,
|
|
69
69
|
name the failure mode one step away from the answer and its replacement. Put
|
|
70
70
|
pre-generation guidance in nodes and review assertions in `checks/`; never
|
|
@@ -81,11 +81,11 @@ Work does not block on adaptation. Before the procedure runs (or midway through
|
|
|
81
81
|
it), cite starter content honestly:
|
|
82
82
|
|
|
83
83
|
- Cover scaffolding and unanswered foundation sections: **provisional** — never
|
|
84
|
-
plain brand
|
|
85
|
-
- Foundation usage rules: **
|
|
84
|
+
plain brand guidance.
|
|
85
|
+
- Foundation usage rules: **ghost-backed starter structure** until the human
|
|
86
86
|
answers the open sections and edits the misuse lists.
|
|
87
|
-
- Surviving median rules: **owner-backed after init** —
|
|
88
|
-
measured model
|
|
87
|
+
- Surviving median rules: **owner-backed after init** — ghost stamps this
|
|
88
|
+
measured model behavior into every initialized package; you own the pruning and
|
|
89
89
|
any adaptation thereafter.
|
|
90
90
|
- Context nodes: **conditional** — read only when their situation matches, and
|
|
91
91
|
revisit them after the foundation answers change.
|
|
@@ -94,7 +94,7 @@ it), cite starter content honestly:
|
|
|
94
94
|
|
|
95
95
|
## Never
|
|
96
96
|
|
|
97
|
-
- Never leave cover scaffolding in a real
|
|
97
|
+
- Never leave cover scaffolding in a real ghost package.
|
|
98
98
|
- Never present your provisional value as the brand's answer.
|
|
99
99
|
- Never leave stale refs alongside new values — regenerate or delete; a stale
|
|
100
100
|
exemplar outweighs rewritten prose.
|