@hegemonart/get-design-done 1.31.5 → 1.33.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.
Files changed (38) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +63 -0
  4. package/NOTICE +81 -5
  5. package/README.md +25 -0
  6. package/SKILL.md +4 -0
  7. package/hooks/hooks.json +9 -0
  8. package/hooks/inject-using-gdd.sh +72 -0
  9. package/hooks/run-hook.cmd +35 -0
  10. package/package.json +2 -2
  11. package/reference/schemas/events.schema.json +63 -1
  12. package/reference/schemas/pressure-scenario.schema.json +69 -0
  13. package/scripts/lib/health-mirror/index.cjs +79 -1
  14. package/scripts/lib/skill-behavior/runner.cjs +187 -0
  15. package/scripts/lib/skill-behavior/stub-invoker.cjs +95 -0
  16. package/scripts/lib/skill-behavior/telemetry.cjs +379 -0
  17. package/sdk/mcp/gdd-mcp/server.js +42 -0
  18. package/skills/audit/SKILL.md +13 -0
  19. package/skills/brief/SKILL.md +25 -0
  20. package/skills/design/SKILL.md +17 -0
  21. package/skills/discuss/SKILL.md +13 -0
  22. package/skills/explore/SKILL.md +17 -0
  23. package/skills/health/SKILL.md +6 -0
  24. package/skills/plan/SKILL.md +25 -0
  25. package/skills/router/SKILL.md +4 -0
  26. package/skills/router/router-pick-emitter.md +78 -0
  27. package/skills/using-gdd/SKILL.md +78 -0
  28. package/skills/verify/SKILL.md +17 -0
  29. package/scripts/lib/cli/index.ts +0 -29
  30. package/scripts/lib/error-classifier.cjs +0 -29
  31. package/scripts/lib/event-stream/index.ts +0 -29
  32. package/scripts/lib/gdd-errors/index.ts +0 -29
  33. package/scripts/lib/gdd-state/index.ts +0 -29
  34. package/scripts/lib/iteration-budget.cjs +0 -29
  35. package/scripts/lib/jittered-backoff.cjs +0 -29
  36. package/scripts/lib/lockfile.cjs +0 -29
  37. package/scripts/mcp-servers/gdd-mcp/server.ts +0 -35
  38. package/scripts/mcp-servers/gdd-state/server.ts +0 -34
@@ -0,0 +1,78 @@
1
+ # gdd-router — router_pick emitter (Phase 32-08 / D-02)
2
+
3
+ Co-located reference for `skills/router/SKILL.md` — split out per the Phase 28.5
4
+ contract (router SKILL ≤100 lines) and the Phase 28.6 co-location pattern (same
5
+ convention as the sibling `./capability-gap-emitter.md`).
6
+
7
+ ## When to emit
8
+
9
+ When the router resolves an intent to a concrete pick — i.e. it has selected the
10
+ `path` / `complexity_class` / `resolved_models` decision and is about to return
11
+ its decision JSON — emit ONE `router_pick` event recording WHICH skill/agent it
12
+ auto-picked. Emit exactly once per resolved pick, as the LAST step before
13
+ returning the decision JSON to the caller.
14
+
15
+ This is the D-02 router_pick instrument: GDD routes by description-match but has
16
+ no record of what the router actually reaches for, so there is no data on
17
+ under-reached skills. Phase 33 reads these events from the chain file
18
+ (`.design/gep/events.jsonl`) to baseline per-skill auto-pick rates (the
19
+ "pick-rate regression" expansion in the ROADMAP).
20
+
21
+ `router_pick` is NOT `capability_gap`: emit `router_pick` when the router DID
22
+ resolve a pick; emit `capability_gap` (see `./capability-gap-emitter.md`) only
23
+ when it could not resolve the intent at all. They are disjoint surfaces.
24
+
25
+ ## Synchronous emitter snippet
26
+
27
+ Builds the 7-field `RouterPickPayload` and writes it via `appendChainEvent`.
28
+ The intent is hashed — the raw prompt is NEVER stored (no PII). `picked_skill`,
29
+ `rank`, and `alternatives` come from the router's resolved decision:
30
+
31
+ ```bash
32
+ node -e '
33
+ const { appendChainEvent } = require("./scripts/lib/event-chain.cjs");
34
+ const { createHash, randomUUID } = require("node:crypto");
35
+ const intent = process.env.GDD_INTENT || "";
36
+ const payload = {
37
+ event_id: randomUUID(),
38
+ source: "router",
39
+ picked_skill: process.env.GDD_PICKED_SKILL || "",
40
+ context_hash: createHash("sha256").update(intent).digest("hex"),
41
+ rank: Number(process.env.GDD_PICK_RANK || 0),
42
+ alternatives: (process.env.GDD_ALTERNATIVES || "").split(",").filter(Boolean),
43
+ ts: new Date().toISOString(),
44
+ };
45
+ appendChainEvent({
46
+ agent: "router",
47
+ outcome: "router_pick",
48
+ payload,
49
+ type: "router_pick",
50
+ timestamp: new Date().toISOString(),
51
+ sessionId: process.env.GDD_SESSION_ID || "router-cli",
52
+ });
53
+ '
54
+ ```
55
+
56
+ `GDD_PICKED_SKILL` is the resolved pick; `GDD_PICK_RANK` is its rank among
57
+ candidates (0 = top pick); `GDD_ALTERNATIVES` is a comma-separated list of the
58
+ OTHER candidate skill/agent names the router considered (names only — no scores,
59
+ no prompt text). `GDD_INTENT` is hashed in-process and is never written to disk.
60
+
61
+ ## Notes
62
+
63
+ - **No PII**: only `context_hash` (sha256 of the intent) is stored — never the
64
+ raw prompt or intent string. The `RouterPickPayload` is
65
+ `additionalProperties: false`, so a stray `raw_prompt` field would be rejected
66
+ by `events.schema.json` validation. This mirrors `capability_gap`'s hash
67
+ discipline.
68
+ - **Router output JSON contract is UNCHANGED** — `router_pick` is a SIDE EFFECT,
69
+ not a new output field. Back-compat is preserved exactly as the existing
70
+ `## Output schema versioning` table in `SKILL.md` guarantees; the emitter runs
71
+ AFTER the decision is computed and does not alter the returned blob.
72
+ - The 7-field payload flows through `appendChainEvent`'s opaque-extras pattern
73
+ verbatim; the chain row carries `type`, `timestamp`, `sessionId`, `payload` as
74
+ opaque extras and is projected back to the events-schema envelope by Phase 33
75
+ aggregation (same projection the capability_gap aggregation uses).
76
+ - Validated against the additive `RouterPickPayload` branch (allOf[2]) in
77
+ `reference/schemas/events.schema.json` — see
78
+ `test/suite/router-pick-event.test.cjs`.
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: using-gdd
3
+ description: "Use when starting any GDD session — establishes how to find and apply GDD skills."
4
+ disable-model-invocation: true
5
+ ---
6
+ <SUBAGENT-STOP>
7
+
8
+ # Using GDD
9
+
10
+ This is the bootstrap discipline contract for every Get Design Done session. Read it
11
+ first; it tells you how to find and apply the right GDD skill before you act.
12
+
13
+ ## The 1% rule
14
+
15
+ **If you think there is even a 1% chance a skill might apply, you ABSOLUTELY MUST invoke the skill.**
16
+
17
+ In GDD, almost every request maps to a pipeline stage — brief, explore, plan, design,
18
+ verify — or to a cross-cutting skill (discuss, audit, style, darkmode). When in doubt,
19
+ search for and read the skill's body. The cost of reading a skill is trivial; the cost of
20
+ free-handing a stage is rework, scope creep, and a broken pipeline state.
21
+
22
+ ## Red flags — Thought → Reality
23
+
24
+ When you catch yourself thinking any of the following, STOP and check for a skill.
25
+
26
+ | Thought | Reality |
27
+ | --- | --- |
28
+ | This is just a simple design question. | Questions are tasks. Check for a skill. |
29
+ | I'll just tweak the CSS directly. | Token changes go through the pipeline — check /gdd:design. |
30
+ | I already know the codebase, skip explore. | Explore probes connections you haven't re-checked this cycle. |
31
+ | This change is too small to plan. | Plan-skipped tasks blow scope per cycle telemetry. Run /gdd:plan. |
32
+ | I can write the brief later. | No brief means no shared problem statement — /gdd:brief comes first. |
33
+ | The user clearly wants X, I'll skip discuss. | Ambiguity hides here. /gdd:discuss surfaces the real constraint. |
34
+ | I'll verify by eyeballing it. | Verification is a stage with criteria — run /gdd:verify, don't guess. |
35
+ | It's obviously a dark-mode tweak. | Color-scheme work has its own skill — check /gdd:darkmode. |
36
+ | Let me just compare these two designs quickly. | Comparison is an audit task — /gdd:compare has the rubric. |
37
+ | This is a one-off, no skill needed. | "One-off" is the most common rationalization in the telemetry. Check anyway. |
38
+ | I'll refactor the style tokens by hand. | /gdd:style owns token edits so the pipeline stays consistent. |
39
+ | The audit can wait until after I ship. | An un-audited cycle is an unverified cycle — /gdd:audit before close. |
40
+
41
+ ## Skill priority order
42
+
43
+ When more than one skill could apply, resolve in this order:
44
+
45
+ 1. **Process** — brief / explore / discuss. Establish the problem and context first.
46
+ 2. **Implementation** — design / style / darkmode. Only after process is settled.
47
+ 3. **Audit** — verify / compare / audit. Close the loop before declaring done.
48
+
49
+ Never run an Implementation skill before the Process skills that gate it have produced
50
+ their artifact. Never declare a cycle complete without an Audit skill.
51
+
52
+ ## Instruction priority
53
+
54
+ When instructions conflict, obey this precedence (highest first):
55
+
56
+ 1. **The user's CLAUDE.md** — project- and user-level directives always win.
57
+ 2. **GDD skills** — the skill body is the source of truth for how a stage runs.
58
+ 3. **Defaults** — your own general training and habits come last.
59
+
60
+ If a GDD skill contradicts the user's CLAUDE.md, the CLAUDE.md wins and you flag the
61
+ conflict. If your instinct contradicts a GDD skill, the skill wins.
62
+
63
+ ## GDD pipeline flow
64
+
65
+ The core flow is **Brief → Explore → Plan → Design → Verify**, with branch points:
66
+
67
+ - **Brief** captures the problem (`/gdd:brief`). Branch: a rough idea can sketch or spike
68
+ off the brief before exploration; a changed problem loops back via `--re-brief`.
69
+ - **Explore** scans the codebase and connections (`/gdd:explore`) — even on a familiar
70
+ repo, because connections drift each cycle.
71
+ - **Plan** decomposes work into tasks (`/gdd:plan`). Skipping it is the top cause of scope
72
+ blow-up; small tasks still get a plan.
73
+ - **Design** implements (`/gdd:design`, with `/gdd:style` and `/gdd:darkmode` as
74
+ implementation peers). Implementation never runs ahead of an approved plan.
75
+ - **Verify** checks against criteria (`/gdd:verify`), then `/gdd:audit` / `/gdd:compare`
76
+ close the loop. On pass the cycle completes; on fail it loops back to the failing stage.
77
+
78
+ `/gdd:discuss` runs alongside any stage to resolve ambiguity before it propagates.
@@ -93,4 +93,21 @@ Full prompts + branching: `./verify-procedure.md` §Step 3.
93
93
 
94
94
  Print the `=== Verify complete ===` summary (status, gap counts, agent paths, next-step suggestion) from `./verify-procedure.md` §After Completion.
95
95
 
96
+ <HARD-GATE>
97
+ Do NOT mark the cycle complete until the user has reviewed `.design/DESIGN-VERIFICATION.md`. If this project uses a custom `.design` location, read the artifact path from `.design/STATE.md` rather than assuming the default.
98
+ </HARD-GATE>
99
+
100
+ ## Rationalizations — Thought to Reality
101
+
102
+ The reasons an agent gives to skip or weaken verification, and what each one lets through:
103
+
104
+ | Thought | Reality |
105
+ |---------|---------|
106
+ | "The implementation looks right, I can skip the verifier spawn." | Skipping verification ships unchecked must-haves; the 5-phase verifier exists to catch what "looks right" misses. |
107
+ | "The integration-checker is redundant with the auditor." | The auditor scores quality; the integration-checker proves each D-XX is actually wired — an orphaned decision passes the audit but fails the product. |
108
+ | "These gaps are minor, I'll accept-as-is without a blocker." | Accept-as-is without recording the unresolved gaps erases the trail; the next cycle re-discovers them from scratch. |
109
+ | "The quality gate timed out, I'll treat that as a pass." | Timeout is a signal, not a pass — masking it lets a genuinely failing gate slip through to ship. |
110
+ | "I'll loop the fixer a fourth time to clear the last gap." | The 3-iteration cap exists because a gap surviving three fixes is a design problem, not a code problem — save and escalate. |
111
+ | "Post-handoff bundles don't need the faithfulness check." | Skipping the handoff-faithfulness section means a divergence from the source design ships unflagged. |
112
+
96
113
  ## VERIFY COMPLETE
@@ -1,29 +0,0 @@
1
- // scripts/lib/cli/index.ts — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
2
- //
3
- // Thin deprecation shim. The real implementation moved to sdk/cli/index.ts
4
- // in Plan 31-5-04 (SDK consolidation). This file is re-created at the OLD
5
- // path so undocumented EXTERNAL importers (anyone who reached into
6
- // node_modules/@hegemonart/get-design-done/scripts/lib/cli/index.ts directly)
7
- // keep working for one minor grace window.
8
- //
9
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
10
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
11
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only; 31-5-10's
12
- // no-stale-internal-refs guard excludes files carrying the
13
- // GDD-DEPRECATION-SHIM marker above.
14
- //
15
- // Runs under --experimental-strip-types (the runtime `bin/gdd-sdk` and the
16
- // test suite both use it), so `export *` re-export is strip-types-clean.
17
-
18
- import { emitWarning } from 'node:process';
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- emitWarning(
24
- 'scripts/lib/cli/index.ts is deprecated; import sdk/cli instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- export * from '../../../sdk/cli/index.ts';
@@ -1,29 +0,0 @@
1
- 'use strict';
2
- // scripts/lib/error-classifier.cjs — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
3
- //
4
- // Thin deprecation shim. The real implementation moved to
5
- // sdk/primitives/error-classifier.cjs in Plan 31-5-04 (SDK consolidation).
6
- // This file is re-created at the OLD path so undocumented EXTERNAL importers
7
- // (anyone who reached into node_modules/@hegemonart/get-design-done/scripts/
8
- // lib/error-classifier.cjs directly) keep working for one minor grace window.
9
- //
10
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
11
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
12
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only and 31-5-10's
13
- // no-stale-internal-refs guard excludes files carrying the GDD-DEPRECATION-SHIM
14
- // marker above.
15
- //
16
- // Emits a DeprecationWarning exactly ONCE per process: the module-level
17
- // `warned` flag plus Node's module cache (this file is evaluated once per
18
- // process regardless of how many times it is required).
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- process.emitWarning(
24
- 'scripts/lib/error-classifier.cjs is deprecated; import sdk/primitives/error-classifier instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- module.exports = require('../../sdk/primitives/error-classifier.cjs');
@@ -1,29 +0,0 @@
1
- // scripts/lib/event-stream/index.ts — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
2
- //
3
- // Thin deprecation shim. The real implementation moved to
4
- // sdk/event-stream/index.ts in Plan 31-5-04 (SDK consolidation). This file
5
- // is re-created at the OLD path so undocumented EXTERNAL importers (anyone
6
- // who reached into node_modules/@hegemonart/get-design-done/scripts/lib/
7
- // event-stream/index.ts directly) keep working for one minor grace window.
8
- //
9
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
10
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
11
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only; 31-5-10's
12
- // no-stale-internal-refs guard excludes files carrying the
13
- // GDD-DEPRECATION-SHIM marker above.
14
- //
15
- // Runs under --experimental-strip-types, so `export *` re-export is
16
- // strip-types-clean.
17
-
18
- import { emitWarning } from 'node:process';
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- emitWarning(
24
- 'scripts/lib/event-stream/index.ts is deprecated; import sdk/event-stream instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- export * from '../../../sdk/event-stream/index.ts';
@@ -1,29 +0,0 @@
1
- // scripts/lib/gdd-errors/index.ts — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
2
- //
3
- // Thin deprecation shim. The real implementation moved to sdk/errors/index.ts
4
- // in Plan 31-5-04 (SDK consolidation). This file is re-created at the OLD
5
- // path so undocumented EXTERNAL importers (anyone who reached into
6
- // node_modules/@hegemonart/get-design-done/scripts/lib/gdd-errors/index.ts
7
- // directly) keep working for one minor grace window.
8
- //
9
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
10
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
11
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only; 31-5-10's
12
- // no-stale-internal-refs guard excludes files carrying the
13
- // GDD-DEPRECATION-SHIM marker above.
14
- //
15
- // Runs under --experimental-strip-types, so `export *` re-export is
16
- // strip-types-clean.
17
-
18
- import { emitWarning } from 'node:process';
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- emitWarning(
24
- 'scripts/lib/gdd-errors/index.ts is deprecated; import sdk/errors instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- export * from '../../../sdk/errors/index.ts';
@@ -1,29 +0,0 @@
1
- // scripts/lib/gdd-state/index.ts — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
2
- //
3
- // Thin deprecation shim. The real implementation moved to sdk/state/index.ts
4
- // in Plan 31-5-04 (SDK consolidation). This file is re-created at the OLD
5
- // path so undocumented EXTERNAL importers (anyone who reached into
6
- // node_modules/@hegemonart/get-design-done/scripts/lib/gdd-state/index.ts
7
- // directly) keep working for one minor grace window.
8
- //
9
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
10
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
11
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only; 31-5-10's
12
- // no-stale-internal-refs guard excludes files carrying the
13
- // GDD-DEPRECATION-SHIM marker above.
14
- //
15
- // Runs under --experimental-strip-types, so `export *` re-export is
16
- // strip-types-clean.
17
-
18
- import { emitWarning } from 'node:process';
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- emitWarning(
24
- 'scripts/lib/gdd-state/index.ts is deprecated; import sdk/state instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- export * from '../../../sdk/state/index.ts';
@@ -1,29 +0,0 @@
1
- 'use strict';
2
- // scripts/lib/iteration-budget.cjs — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
3
- //
4
- // Thin deprecation shim. The real implementation moved to
5
- // sdk/primitives/iteration-budget.cjs in Plan 31-5-04 (SDK consolidation).
6
- // This file is re-created at the OLD path so undocumented EXTERNAL importers
7
- // (anyone who reached into node_modules/@hegemonart/get-design-done/scripts/
8
- // lib/iteration-budget.cjs directly) keep working for one minor grace window.
9
- //
10
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
11
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
12
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only and 31-5-10's
13
- // no-stale-internal-refs guard excludes files carrying the GDD-DEPRECATION-SHIM
14
- // marker above.
15
- //
16
- // Emits a DeprecationWarning exactly ONCE per process: the module-level
17
- // `warned` flag plus Node's module cache (this file is evaluated once per
18
- // process regardless of how many times it is required).
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- process.emitWarning(
24
- 'scripts/lib/iteration-budget.cjs is deprecated; import sdk/primitives/iteration-budget instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- module.exports = require('../../sdk/primitives/iteration-budget.cjs');
@@ -1,29 +0,0 @@
1
- 'use strict';
2
- // scripts/lib/jittered-backoff.cjs — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
3
- //
4
- // Thin deprecation shim. The real implementation moved to
5
- // sdk/primitives/jittered-backoff.cjs in Plan 31-5-04 (SDK consolidation).
6
- // This file is re-created at the OLD path so undocumented EXTERNAL importers
7
- // (anyone who reached into node_modules/@hegemonart/get-design-done/scripts/
8
- // lib/jittered-backoff.cjs directly) keep working for one minor grace window.
9
- //
10
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
11
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
12
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only and 31-5-10's
13
- // no-stale-internal-refs guard excludes files carrying the GDD-DEPRECATION-SHIM
14
- // marker above.
15
- //
16
- // Emits a DeprecationWarning exactly ONCE per process: the module-level
17
- // `warned` flag plus Node's module cache (this file is evaluated once per
18
- // process regardless of how many times it is required).
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- process.emitWarning(
24
- 'scripts/lib/jittered-backoff.cjs is deprecated; import sdk/primitives/jittered-backoff instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- module.exports = require('../../sdk/primitives/jittered-backoff.cjs');
@@ -1,29 +0,0 @@
1
- 'use strict';
2
- // scripts/lib/lockfile.cjs — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
3
- //
4
- // Thin deprecation shim. The real implementation moved to
5
- // sdk/primitives/lockfile.cjs in Plan 31-5-04 (SDK consolidation).
6
- // This file is re-created at the OLD path so undocumented EXTERNAL importers
7
- // (anyone who reached into node_modules/@hegemonart/get-design-done/scripts/
8
- // lib/lockfile.cjs directly) keep working for one minor grace window.
9
- //
10
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
11
- // 1.32.0 still has them → 1.33.0 removes them. Internal callers already use
12
- // the sdk/ path (Plan 31-5-04/05) — this shim is external-only and 31-5-10's
13
- // no-stale-internal-refs guard excludes files carrying the GDD-DEPRECATION-SHIM
14
- // marker above.
15
- //
16
- // Emits a DeprecationWarning exactly ONCE per process: the module-level
17
- // `warned` flag plus Node's module cache (this file is evaluated once per
18
- // process regardless of how many times it is required).
19
-
20
- let warned = false;
21
- if (!warned) {
22
- warned = true;
23
- process.emitWarning(
24
- 'scripts/lib/lockfile.cjs is deprecated; import sdk/primitives/lockfile instead. Removed in v1.33.0.',
25
- 'DeprecationWarning',
26
- );
27
- }
28
-
29
- module.exports = require('../../sdk/primitives/lockfile.cjs');
@@ -1,35 +0,0 @@
1
- // scripts/mcp-servers/gdd-mcp/server.ts — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
2
- //
3
- // Thin deprecation shim. The real MCP `gdd-mcp` server moved to
4
- // sdk/mcp/gdd-mcp/server.ts in Plan 31-5-05 (SDK consolidation, D-08). This
5
- // file is re-created at the OLD path so undocumented EXTERNAL importers /
6
- // invokers (anyone who reached into node_modules/@hegemonart/get-design-done/
7
- // scripts/mcp-servers/gdd-mcp/server.ts directly) keep working for one minor
8
- // grace window.
9
- //
10
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
11
- // 1.32.0 still has them → 1.33.0 removes them. The canonical invocation is
12
- // now the `bin/gdd-mcp` trampoline (Plan 31-5-05); internal callers already
13
- // use the sdk/ path. This shim is external-only; 31-5-10's
14
- // no-stale-internal-refs guard excludes files carrying the
15
- // GDD-DEPRECATION-SHIM marker above.
16
- //
17
- // Re-exporting the sdk/ server keeps the library surface (buildServer,
18
- // runStdio, SERVER_NAME, SERVER_VERSION, TOOL_DESCRIPTIONS, TOOL_READONLY)
19
- // reachable via the old path. The sdk/ server's own isMain() entry guard
20
- // keys off process.argv[1] ending with its own sdk/ path, so a re-export
21
- // does NOT auto-start the server — direct execution should go through the
22
- // bin trampoline. Runs under --experimental-strip-types.
23
-
24
- import { emitWarning } from 'node:process';
25
-
26
- let warned = false;
27
- if (!warned) {
28
- warned = true;
29
- emitWarning(
30
- 'scripts/mcp-servers/gdd-mcp/server.ts is deprecated; use the bin/gdd-mcp trampoline or import sdk/mcp/gdd-mcp instead. Removed in v1.33.0.',
31
- 'DeprecationWarning',
32
- );
33
- }
34
-
35
- export * from '../../../sdk/mcp/gdd-mcp/server.ts';
@@ -1,34 +0,0 @@
1
- // scripts/mcp-servers/gdd-state/server.ts — GDD-DEPRECATION-SHIM (Plan 31-5-06, SDK-05, D-02).
2
- //
3
- // Thin deprecation shim. The real MCP `gdd-state` server moved to
4
- // sdk/mcp/gdd-state/server.ts in Plan 31-5-04 (SDK consolidation). This file
5
- // is re-created at the OLD path so undocumented EXTERNAL importers / invokers
6
- // (anyone who reached into node_modules/@hegemonart/get-design-done/scripts/
7
- // mcp-servers/gdd-state/server.ts directly) keep working for one minor grace
8
- // window.
9
- //
10
- // REMOVED IN v1.33.0 (D-02). Grace window: 1.31.5 ships with shims →
11
- // 1.32.0 still has them → 1.33.0 removes them. The canonical invocation is
12
- // now the `bin/gdd-state-mcp` trampoline (Plan 31-5-05); internal callers
13
- // already use the sdk/ path. This shim is external-only; 31-5-10's
14
- // no-stale-internal-refs guard excludes files carrying the
15
- // GDD-DEPRECATION-SHIM marker above.
16
- //
17
- // Re-exporting the sdk/ server keeps the library surface (buildServer,
18
- // runStdio) reachable via the old path. The sdk/ server's own isMain()
19
- // entry guard keys off process.argv[1] ending with its own sdk/ path, so a
20
- // re-export does NOT auto-start the server — direct execution should go
21
- // through the bin trampoline. Runs under --experimental-strip-types.
22
-
23
- import { emitWarning } from 'node:process';
24
-
25
- let warned = false;
26
- if (!warned) {
27
- warned = true;
28
- emitWarning(
29
- 'scripts/mcp-servers/gdd-state/server.ts is deprecated; use the bin/gdd-state-mcp trampoline or import sdk/mcp/gdd-state instead. Removed in v1.33.0.',
30
- 'DeprecationWarning',
31
- );
32
- }
33
-
34
- export * from '../../../sdk/mcp/gdd-state/server.ts';