Skip to content

Commit d9d1ef7

Browse files
docs: document artifact list stack records
Assisted-by: GitHub Copilot (model: GPT-5.6, autonomous) Co-authored-by: nicolehaugen <10600161+nicolehaugen@users.noreply.github.com>
1 parent 9977faa commit d9d1ef7

1 file changed

Lines changed: 38 additions & 9 deletions

File tree

docs/reference/artifacts.md

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,60 @@ specify artifact list --json
1616
| -------- | -------------------------------------------------------- |
1717
| `--json` | Required. Emit the inventory as a JSON array on stdout. |
1818

19-
Prints a flat inventory of every visible artifact — one row per `(kind, name)` pair — sorted by kind (`command`, then `template`, then `script`) and then by name.
19+
Prints the full inventory of every visible artifact — one row per `(kind, name)` pair, including its composition `stack` — sorted by kind (`command`, then `template`, then `script`) and then by name.
2020

2121
```json
2222
[
2323
{
2424
"id": "command:speckit.specify",
2525
"name": "speckit.specify",
2626
"kind": "command",
27-
"description": "Create or update the feature specification."
27+
"description": "Create or update the feature specification.",
28+
"stack": [
29+
{
30+
"id": "command:speckit.specify",
31+
"layer": null,
32+
"sourceId": null,
33+
"presetId": null,
34+
"presetName": null,
35+
"strategy": "replace",
36+
"active": true,
37+
"hidden": false,
38+
"manifestPath": null,
39+
"lookupId": null
40+
}
41+
]
2842
},
2943
{
3044
"id": "script:create-new-feature",
3145
"name": "create-new-feature",
3246
"kind": "script",
33-
"description": "Create a new feature branch and spec directory."
47+
"description": "Create a new feature branch and spec directory.",
48+
"stack": [
49+
{
50+
"id": "script:create-new-feature",
51+
"layer": null,
52+
"sourceId": null,
53+
"presetId": null,
54+
"presetName": null,
55+
"strategy": "replace",
56+
"active": true,
57+
"hidden": false,
58+
"manifestPath": null,
59+
"lookupId": null
60+
}
61+
]
3462
}
3563
]
3664
```
3765

38-
| Field | Description |
39-
| ------------- | ---------------------------------------------------------------------- |
40-
| `id` | `{kind}:{name}` — the shorthand `artifact info` accepts as its argument |
41-
| `name` | Logical artifact name (commands use the `speckit.<stem>` namespace) |
42-
| `kind` | One of `command`, `template`, `script` |
66+
| Field | Description |
67+
| ------------- | ------------------------------------------------------------------------- |
68+
| `id` | `{kind}:{name}` — the shorthand `artifact info` accepts as its argument |
69+
| `name` | Logical artifact name (commands use the `speckit.<stem>` namespace) |
70+
| `kind` | One of `command`, `template`, `script` |
4371
| `description` | Description from the highest-precedence layer that declares one, else `""` |
72+
| `stack` | Composition stack for this artifact, using the same row shape as `artifact info` |
4473

4574
Built-in artifacts always appear, even when nothing overrides them. Descriptions come from the highest-priority layer that has one — a preset or project override that hides a built-in command reports its own description, not the hidden built-in text. Skills (`.github/skills/**/SKILL.md`) are excluded: they are integration-specific output, not a shipped asset family.
4675

@@ -92,7 +121,7 @@ specify artifact info <name> --json
92121
}
93122
```
94123

95-
The top-level `id`, `name`, `kind`, and `description` fields match the corresponding row on `artifact list --json`.
124+
The top-level `id`, `name`, `kind`, `description`, and `stack` fields match the corresponding row on `artifact list --json`.
96125

97126
### Stack semantics
98127

0 commit comments

Comments
 (0)