@hegemonart/get-design-done 1.30.5 → 1.30.6

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.
@@ -19,30 +19,31 @@ Thin command wrapper around the GSD graphify tools integration.
19
19
  ## Behavior
20
20
 
21
21
  1. Read `.design/STATE.md` to check `graphify` status in `<connections>`.
22
- 2. Check `graphify.enabled` in `.planning/config.json` via:
22
+ 2. Check `graphify.enabled` in `.design/config.json` via a direct file read (per D-09 — no `config-get` CLI subcommand):
23
23
  ```
24
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" config-get graphify.enabled
24
+ node -e "try{const c=JSON.parse(require('fs').readFileSync('.design/config.json','utf8'));process.stdout.write(String(c.graphify?.enabled===true))}catch{process.stdout.write('false')}"
25
25
  ```
26
26
  3. If not enabled, print:
27
27
  ```
28
- "Graphify is not enabled. Enable with: node gsd-tools.cjs config-set graphify.enabled true"
28
+ "Graphify is not enabled. Edit `.design/config.json` to set `graphify.enabled: true`."
29
29
  "Then run /gdd:graphify build to generate the knowledge graph."
30
30
  ```
31
31
  STOP.
32
- 4. Execute the requested subcommand via GSD tools:
33
- - build: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify build`
34
- - query: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify query "<term>" --budget 2000`
35
- - status: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify status`
36
- - diff: `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify diff`
32
+ 4. Execute the requested subcommand via the native CLI:
33
+ - build: `node bin/gdd-graph build`
34
+ - query: `node bin/gdd-graph query "<term>" --budget 2000`
35
+ - status: `node bin/gdd-graph status`
36
+ - diff: `node bin/gdd-graph diff`
37
37
  5. After `build` completes, update `.design/STATE.md` `<connections>`: `graphify: available`
38
38
 
39
39
  ## Required Reading
40
40
 
41
41
  - `.design/STATE.md` — for graphify status in `<connections>`
42
- - `.planning/config.json` — for `graphify.enabled` flag
42
+ - `.design/config.json` — for `graphify.enabled` flag
43
43
 
44
44
  ## Notes
45
45
 
46
- - Graphify is optional. If the binary is not installed (`pip install graphifyy`), the build subcommand will fail with an install prompt.
46
+ - Graphify is optional. The native CLI ships in this repo at `bin/gdd-graph` (no external install Node only).
47
+ - Graph is stored at `.design/graph/graph.json` (Ajv-validated against `scripts/lib/graph/schema.json`).
47
48
  - Graph covers source code (`src/`, `components/`). It does NOT index `.design/` artifacts by default.
48
49
  - Use `query` with node IDs from the graph schema: `component:<name>`, `token:color/<name>`, `decision:D-<nn>`, etc.
@@ -136,14 +136,15 @@ Write: chromatic: <status> to STATE.md <connections>
136
136
 
137
137
  ```
138
138
  Step G1 — Config check:
139
- Bash: node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify status
140
- -> Error or { enabled: false } -> graphify: not_configured
141
- -> { enabled: true } -> proceed to Step G2
142
-
143
- Step G2 — Graph file check:
144
- Bash: test -f graphify-out/graph.json
145
- -> Present -> graphify: available
146
- -> Absent -> graphify: unavailable
139
+ Bash: node -e "try{const c=JSON.parse(require('fs').readFileSync('.design/config.json','utf8'));process.stdout.write(String(c.graphify?.enabled===true))}catch{process.stdout.write('false')}"
140
+ -> false -> graphify: not_configured
141
+ -> true -> proceed to Step G2
142
+
143
+ Step G2 — Graph file check (status JSON):
144
+ Bash: node bin/gdd-graph status --format json
145
+ -> { configured: true, exists: true, ... } -> graphify: available
146
+ -> { configured: false, exists: false } or -> graphify: unavailable
147
+ { exists: false }
147
148
 
148
149
  Write: graphify: <status> to STATE.md <connections>
149
150
  ```
@@ -1,110 +0,0 @@
1
- ---
2
- name: gdd-graphify-sync
3
- description: "Feeds the Graphify knowledge graph from .design/intel/ slices. Converts intel store graph.json nodes and edges into Graphify-compatible format and upserts them. Run after gdd-intel-updater to keep the semantic graph current."
4
- tools: Bash, Read, Write
5
- color: green
6
- default-tier: haiku
7
- tier-rationale: "Sync operation is deterministic JSON → graph DB — cheap Haiku is enough"
8
- parallel-safe: false
9
- typical-duration-seconds: 20
10
- reads-only: false
11
- writes:
12
- - .design/intel/graph.json
13
- ---
14
-
15
- @reference/shared-preamble.md
16
-
17
- # gdd-graphify-sync
18
-
19
- **Role:** Bridge between the flat intel store and the Graphify semantic knowledge graph. Reads `graph.json` from the intel store and upserts nodes/edges into Graphify using the `gsd-tools.cjs graphify` CLI.
20
-
21
- ## When to invoke
22
-
23
- - After `gdd-intel-updater` completes (intel store updated)
24
- - After a phase plan that adds new skill/agent/reference files
25
- - When semantic graph queries return stale results
26
-
27
- ## Protocol
28
-
29
- ### Step 1 — Check intel store graph slice
30
-
31
- ```bash
32
- ls .design/intel/graph.json 2>/dev/null && echo "ready" || echo "missing"
33
- ```
34
-
35
- If missing: print "Intel store graph.json not found — run node scripts/build-intel.cjs --force first." and stop.
36
-
37
- ### Step 2 — Check Graphify availability
38
-
39
- ```bash
40
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify status 2>/dev/null | head -5
41
- ```
42
-
43
- If Graphify is unavailable or returns an error: print "Graphify unavailable — skipping sync. Intel store remains the primary lookup source." and stop gracefully (exit 0, do not fail).
44
-
45
- ### Step 3 — Read graph.json
46
-
47
- Read `.design/intel/graph.json`. Extract `nodes` and `edges` arrays.
48
-
49
- ### Step 4 — Upsert nodes
50
-
51
- For each node in `nodes`:
52
-
53
- ```bash
54
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify upsert-node \
55
- --id "<node.id>" \
56
- --type "<node.type>" \
57
- --label "<node.name>" \
58
- --source "gdd-intel-store"
59
- ```
60
-
61
- Batch in groups of 20 to avoid CLI argument limits. Report total nodes upserted.
62
-
63
- ### Step 5 — Upsert edges
64
-
65
- For each edge in `edges`:
66
-
67
- ```bash
68
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify upsert-edge \
69
- --from "<edge.from>" \
70
- --to "<edge.to>" \
71
- --kind "<edge.kind>" \
72
- --source "gdd-intel-store"
73
- ```
74
-
75
- Batch in groups of 20. Report total edges upserted.
76
-
77
- ### Step 6 — Verify sync
78
-
79
- ```bash
80
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify status
81
- ```
82
-
83
- Print the status response. Report node/edge counts in Graphify vs intel store.
84
-
85
- ### Step 7 — Summary
86
-
87
- ```
88
- ━━━ Graphify sync complete ━━━
89
- Nodes upserted: <N>
90
- Edges upserted: <M>
91
- Graphify status: <status line>
92
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
93
- ```
94
-
95
- ## Required reading (conditional)
96
-
97
- @.design/intel/graph.json (if present)
98
- @.design/intel/files.json (if present)
99
-
100
- ## GRAPHIFY-SYNC COMPLETE
101
-
102
- ## Record
103
-
104
- At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
105
-
106
- ```json
107
- {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
108
- ```
109
-
110
- Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.