@design-intelligence/ghost 0.24.0 → 0.25.1

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.
Files changed (53) hide show
  1. package/README.md +33 -16
  2. package/dist/commands/gather-command.d.ts.map +1 -1
  3. package/dist/commands/gather-command.js +39 -117
  4. package/dist/commands/gather-command.js.map +1 -1
  5. package/dist/commands/pull-command.d.ts.map +1 -1
  6. package/dist/commands/pull-command.js +72 -135
  7. package/dist/commands/pull-command.js.map +1 -1
  8. package/dist/embed/gather.d.ts +9 -0
  9. package/dist/embed/gather.d.ts.map +1 -0
  10. package/dist/embed/gather.js +80 -0
  11. package/dist/embed/gather.js.map +1 -0
  12. package/dist/embed/index.d.ts +9 -0
  13. package/dist/embed/index.d.ts.map +1 -0
  14. package/dist/embed/index.js +6 -0
  15. package/dist/embed/index.js.map +1 -0
  16. package/dist/embed/inspect.d.ts +3 -0
  17. package/dist/embed/inspect.d.ts.map +1 -0
  18. package/dist/embed/inspect.js +155 -0
  19. package/dist/embed/inspect.js.map +1 -0
  20. package/dist/embed/pull.d.ts +8 -0
  21. package/dist/embed/pull.d.ts.map +1 -0
  22. package/dist/embed/pull.js +96 -0
  23. package/dist/embed/pull.js.map +1 -0
  24. package/dist/embed/readonly-map.d.ts +3 -0
  25. package/dist/embed/readonly-map.d.ts.map +1 -0
  26. package/dist/embed/readonly-map.js +33 -0
  27. package/dist/embed/readonly-map.js.map +1 -0
  28. package/dist/embed/snapshot.d.ts +4 -0
  29. package/dist/embed/snapshot.d.ts.map +1 -0
  30. package/dist/embed/snapshot.js +105 -0
  31. package/dist/embed/snapshot.js.map +1 -0
  32. package/dist/embed/types.d.ts +156 -0
  33. package/dist/embed/types.d.ts.map +1 -0
  34. package/dist/embed/types.js +2 -0
  35. package/dist/embed/types.js.map +1 -0
  36. package/dist/ghost-core/index.d.ts +1 -1
  37. package/dist/ghost-core/index.d.ts.map +1 -1
  38. package/dist/ghost-core/index.js +1 -1
  39. package/dist/ghost-core/index.js.map +1 -1
  40. package/dist/ghost-core/material-transport.d.ts +11 -0
  41. package/dist/ghost-core/material-transport.d.ts.map +1 -1
  42. package/dist/ghost-core/material-transport.js +80 -8
  43. package/dist/ghost-core/material-transport.js.map +1 -1
  44. package/dist/observability-events.d.ts +1 -0
  45. package/dist/observability-events.d.ts.map +1 -1
  46. package/dist/observability-events.js +4 -1
  47. package/dist/observability-events.js.map +1 -1
  48. package/dist/scan/templates.d.ts.map +1 -1
  49. package/dist/scan/templates.js +0 -280
  50. package/dist/scan/templates.js.map +1 -1
  51. package/dist/skill-bundle/SKILL.md +1 -1
  52. package/dist/skill-bundle/references/capture.md +1 -2
  53. package/package.json +5 -1
@@ -18,279 +18,6 @@ function gitignoreFile() {
18
18
  content: `${GHOST_EVENTS_FILENAME}\n${LEGACY_PULL_HISTORY_FILENAME}\n`,
19
19
  };
20
20
  }
21
- /**
22
- * The minimal starter: a manifest, a package-level glossary declaring the
23
- * starter kind vocabulary, and a package-root `index.md` cover. Additional
24
- * truths are plain markdown nodes; optional material locators live on the node
25
- * that explains them. Checks are opt-in via `ghost checks init`.
26
- */
27
- const MINIMAL_TEMPLATE = {
28
- name: "minimal",
29
- description: "Minimal node package: manifest + glossary + a starter cover node.",
30
- async files() {
31
- const medianFile = await medianTemplateFile();
32
- return [
33
- manifestFile("index"),
34
- gitignoreFile(),
35
- {
36
- relativePath: "glossary.md",
37
- content: `---
38
- kinds:
39
- - name: principle
40
- - name: condition
41
- - name: exemplar
42
- - name: anti-goal
43
- - name: cliche
44
- - name: asset
45
- - name: pattern
46
- ---
47
-
48
- # principle
49
-
50
- Durable stance: true across media unless a narrower condition explicitly limits it.
51
-
52
- # condition
53
-
54
- Situational truth: fires only when the stated situation holds.
55
-
56
- # exemplar
57
-
58
- Illustrative reference. Match its form and quality; treat its specifics as
59
- evidence unless the node says the sample itself is normative.
60
-
61
- # anti-goal
62
-
63
- What this brand must never look, sound, or feel like — named generic patterns
64
- and rejected neighbors. Always-on, like a principle, but stated as the thing
65
- to steer away from.
66
-
67
- # cliche
68
-
69
- The defaults a generative model falls back on when no brand is steering it.
70
- These are nobody's brand. Each entry pairs the tired move with the honest
71
- replacement. Gather before styling anything greenfield; enforced by paired
72
- checks at review.
73
-
74
- # asset
75
-
76
- Material truth about concrete brand assets such as logos, illustrations, motion, imagery, or files.
77
-
78
- # pattern
79
-
80
- Reusable composition or product pattern whose purpose is distinguishable from neighboring patterns.
81
- `,
82
- },
83
- {
84
- relativePath: "index.md",
85
- content: `---
86
- description: Always read first — the non-negotiables and how to read this package.
87
- ---
88
-
89
- Replace this placeholder prose with two things:
90
-
91
- **The non-negotiables.** The handful of truths that apply to every task, every
92
- medium, no matter what else is gathered — hard invariants, the anti-goals, the
93
- one-sentence stance. Anything that must never be missed belongs here, stated
94
- briefly; link out to the full node by id for depth.
95
-
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
- ask a human") that overrides the default proceed-provisionally behavior.
100
-
101
- \`index\` is this package's manifest-declared cover: \`ghost gather\` inlines its
102
- body before the menu and excludes it from selection. Its privilege comes from
103
- \`cover: index\` in \`manifest.yml\`, not from the filename. You may rename it;
104
- update the manifest's \`cover\` id at the same time.
105
-
106
- The glossary declares the kind vocabulary. A node's kind comes from its
107
- filename prefix: \`principle.density.md\` has kind \`principle\` and slug
108
- \`density\`. A bare filename like \`voice.md\` has no kind, which is fine.
109
- When a truth is narrower, state the condition in the prose — the situation where
110
- it applies — never a filing destination.
111
- `,
112
- },
113
- medianFile,
114
- ];
115
- },
116
- };
117
- /**
118
- * The composition starter: everything in `minimal`, plus a worked composition
119
- * ladder — an invariants floor (`principle.composition`), one bound/open
120
- * pattern, and a cover that teaches the convention. For teams whose
121
- * package must steer *what agents build*, not only what they say.
122
- *
123
- * The ladder is an authoring convention, not a schema: patterns state what is
124
- * bound (do not redecide) and what is open (the generator's call), and every
125
- * pattern names the principles it refines. Nothing here adds frontmatter,
126
- * edges, or routing — the corpus stays flat.
127
- */
128
- const COMPOSITION_TEMPLATE = {
129
- name: "composition",
130
- description: "Composition starter: minimal files + an invariants floor and a worked bound/open pattern.",
131
- async files() {
132
- const medianFile = await medianTemplateFile();
133
- return [
134
- manifestFile("index"),
135
- gitignoreFile(),
136
- {
137
- relativePath: "glossary.md",
138
- content: `---
139
- kinds:
140
- - name: principle
141
- - name: condition
142
- - name: exemplar
143
- - name: anti-goal
144
- - name: cliche
145
- - name: asset
146
- - name: pattern
147
- ---
148
-
149
- # principle
150
-
151
- Durable stance: true across media unless a narrower condition explicitly limits it.
152
- Composition principles are the floor — when no pattern matches an ask, they are
153
- what the agent composes against.
154
-
155
- # condition
156
-
157
- Situational truth: fires only when the stated situation holds.
158
-
159
- # exemplar
160
-
161
- Illustrative reference. Match its form and quality; treat its specifics as
162
- evidence unless the node says the sample itself is normative. Pair an
163
- exemplar with a screenshot or implementation path in \`materials\` so the blessed
164
- render travels with the prose.
165
-
166
- # anti-goal
167
-
168
- What this brand must never look, sound, or feel like — named generic patterns
169
- and rejected neighbors. Always-on, like a principle, but stated as the thing
170
- to steer away from.
171
-
172
- # cliche
173
-
174
- The defaults a generative model falls back on when no brand is steering it.
175
- These are nobody's brand. Each entry pairs the tired move with the honest
176
- replacement. Gather before styling anything greenfield; enforced by paired
177
- checks at review.
178
-
179
- # asset
180
-
181
- Material truth about concrete brand assets such as logos, illustrations, motion,
182
- imagery, or files. For components, state the slot contract in prose: what the
183
- asset admits, how many, and where.
184
-
185
- # pattern
186
-
187
- Reusable composition whose purpose is distinguishable from neighboring patterns.
188
- A pattern states what is **bound** (decided — do not redecide) and what is
189
- **open** (the generator's call, within named limits), and names the principles
190
- it refines. A pattern may only narrow what its principles allow — never loosen
191
- them.
192
- `,
193
- },
194
- {
195
- relativePath: "index.md",
196
- content: `---
197
- description: Start here — how this package steers composition, from patterns down to principles.
198
- ---
199
-
200
- This package steers what gets built, not only what gets said. It is
201
- organized as a ladder of binding depth:
202
-
203
- 1. **Patterns** (\`pattern.*\`) are mostly-decided compositions. When an ask
204
- matches a pattern's stated purpose, use it: apply what it binds, decide only
205
- what it leaves open.
206
- 2. **Principles** (\`principle.*\`) are the floor. When no pattern matches, do
207
- not fall back to your own taste — compose freely *inside* the invariants in
208
- \`principle.composition\` and its siblings.
209
- 3. **Exemplars and assets** carry the concrete vocabulary: blessed renders,
210
- real components, real tokens, located via \`materials\`.
211
-
212
- Two laws keep the ladder honest:
213
-
214
- - **Narrowing only.** A pattern may bind or narrow what a principle leaves
215
- open; it may never contradict one. If a pattern conflicts with a principle,
216
- the principle wins and the pattern file is wrong.
217
- - **Every "never" casts a shadow.** Each refusal-grade line in a principle
218
- should be mirrored by a review check (\`ghost checks init\`) that
219
- references the node it enforces, so the same opinion steers before building
220
- and grades after.
221
-
222
- Replace this prose with your own front door once the corpus has shape. The
223
- starter nodes below are teaching placeholders — edit them into your real
224
- opinions before trusting them.
225
- `,
226
- },
227
- {
228
- relativePath: "principle.composition.md",
229
- content: `---
230
- description: The composition floor — hard layout invariants that hold for every screen, whether or not a pattern matches the ask.
231
- ---
232
-
233
- These invariants apply to everything built against this package. Patterns
234
- narrow them; nothing loosens them. Each is written as a refusal or a limit with
235
- a number, because a stance an agent can check is a stance that steers.
236
-
237
- **The starter opinions below are placeholders. Keep the voice — refusals and
238
- numbers, not vibes — and replace the values with yours.**
239
-
240
- - **One focal point.** Every screen has exactly one element at the largest
241
- scale. If two elements compete for primacy, the second one is wrong — demote
242
- or delete it. Never resolve the tie by making both big.
243
- - **Hierarchy descends.** Type scale strictly decreases with nesting depth.
244
- Never give a child element a larger scale than its parent context.
245
- - **Density has a budget.** State the budget per surface (for example: at most
246
- N data points per viewport on consumer surfaces; a higher N on operational
247
- ones). When content exceeds the budget, cut or collapse — never shrink type
248
- below the ramp to make room.
249
- - **Actions land last.** Calls to action render at the end of reading order.
250
- At most one primary action per screen; never two.
251
- - **Separation escalates.** To separate content, reach for whitespace first,
252
- then a divider, then a container — in that order, never skipping a step.
253
-
254
- Mirror each refusal here with a check under \`checks/\` that lists this
255
- node in its \`references\`, so review enforces the same floor this prose sets.
256
- `,
257
- },
258
- {
259
- relativePath: "pattern.status-with-next-step.md",
260
- content: `---
261
- description: Status of an ongoing thing plus the single next step — reach for this when the ask is "where is X / how is X going."
262
- ---
263
-
264
- **This is a worked example of the pattern convention — bound, open, refines.
265
- Replace its content with a real pattern from your product, keep the structure.**
266
-
267
- **When this applies:** the ask is about the state of something in flight — an
268
- order, a transfer, a build, a goal.
269
-
270
- **Bound (decided — do not redecide):**
271
-
272
- - The current status renders first and largest; it is the focal point.
273
- - A short line of meaning follows the status: why it matters or what changed,
274
- never a restatement of it.
275
- - Exactly one primary action, rendered last: the single next step.
276
-
277
- **Open (your call, within these limits):**
278
-
279
- - Supporting evidence may be a timeline or a compact stat list — whichever
280
- fits the data. Never a full chart in this pattern.
281
- - Density may flex one step tighter on operational surfaces.
282
-
283
- **Refines:** \`principle.composition\`. If anything above conflicts with the
284
- floor, the floor wins and this file is wrong.
285
-
286
- When a blessed render of this pattern exists, add an \`exemplar.*\` node with
287
- \`materials\` pointing at the screenshot and the implementation path.
288
- `,
289
- },
290
- medianFile,
291
- ];
292
- },
293
- };
294
21
  const SKELETON_FILE_ORDER = new Map([
295
22
  "glossary.md",
296
23
  "brand.md",
@@ -326,8 +53,6 @@ async function medianTemplateFile() {
326
53
  };
327
54
  }
328
55
  const TEMPLATES = new Map([
329
- [MINIMAL_TEMPLATE.name, MINIMAL_TEMPLATE],
330
- [COMPOSITION_TEMPLATE.name, COMPOSITION_TEMPLATE],
331
56
  [SKELETON_TEMPLATE.name, SKELETON_TEMPLATE],
332
57
  ]);
333
58
  const VESSEL_LIGHT_BODY = {
@@ -366,11 +91,6 @@ export function listInitBodies() {
366
91
  export const DEFAULT_TEMPLATE_NAME = SKELETON_TEMPLATE.name;
367
92
  /** Look up a registered init template by name. */
368
93
  export function getInitTemplate(name) {
369
- // `default` and `steering` are silent aliases for the skeleton starter:
370
- // `default` for callers that never named a template, `steering` for
371
- // callers pinned to the pre-skeleton default's name.
372
- if (name === "default" || name === "steering")
373
- return SKELETON_TEMPLATE;
374
94
  return TEMPLATES.get(name);
375
95
  }
376
96
  export function listInitTemplates() {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scan/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scan/templates.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ this same host-agent session.
87
87
 
88
88
  | Verb | Purpose |
89
89
  |---|---|
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. |
90
+ | `ghost init` | Scaffold `.ghost/` with the skeleton starter: manifest, glossary, a `brand.md` cover, foundation chapters, context nodes, and the cliche floor. `--with checks` also adds the checks directory. |
91
91
  | `ghost checks init` | Scaffold `.ghost/checks/` with an example review assertion. |
92
92
  | `ghost validate [file-or-dir]` | Validate manifest, nodes, material locators, check references, and glossary kind prefixes. |
93
93
  | `ghost gather [ask…] [--format json]` | Emit the complete guidance menu plus coverage line; log exposed ids. |
@@ -345,8 +345,7 @@ ghost validate
345
345
  `ghost init` seeds the skeleton starter: the manifest, a starter
346
346
  `glossary.md`, a `brand.md` cover, foundation chapters with open questions, and
347
347
  the model cliche floor. Replace open questions with real product guidance before
348
- using it to steer generation. Use `ghost init --template minimal` for a
349
- manifest, glossary, cover, and cliche floor.
348
+ using it to steer generation.
350
349
 
351
350
  Write the manifest-declared cover as the human-curated front door:
352
351
  non-negotiables that apply to every task, what the package covers, and any
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-intelligence/ghost",
3
- "version": "0.24.0",
3
+ "version": "0.25.1",
4
4
  "description": "ghost CLI for portable .ghost/ packages of brand guidance your agent reads before it builds, with advisory review after",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Block, Inc.",
@@ -63,6 +63,10 @@
63
63
  "./cli": {
64
64
  "types": "./dist/cli.d.ts",
65
65
  "import": "./dist/cli.js"
66
+ },
67
+ "./embed": {
68
+ "types": "./dist/embed/index.d.ts",
69
+ "import": "./dist/embed/index.js"
66
70
  }
67
71
  },
68
72
  "files": [