@ktpartners/dgs-platform 3.4.2 → 3.5.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.
- package/CHANGELOG.md +28 -0
- package/README.md +2 -0
- package/agents/dgs-codebase-cross-analyzer.md +1 -1
- package/agents/dgs-codebase-mapper.md +1 -1
- package/agents/dgs-codebase-synthesizer.md +1 -1
- package/agents/dgs-phase-researcher.md +1 -1
- package/bin/install.js +34 -2
- package/deliver-great-systems/bin/dgs-tools.cjs +7 -1
- package/deliver-great-systems/bin/lib/commands.cjs +66 -29
- package/deliver-great-systems/bin/lib/commands.test.cjs +221 -1
- package/deliver-great-systems/bin/lib/context.cjs +6 -6
- package/deliver-great-systems/bin/lib/context.test.cjs +9 -9
- package/deliver-great-systems/bin/lib/core.cjs +199 -9
- package/deliver-great-systems/bin/lib/core.test.cjs +242 -0
- package/deliver-great-systems/bin/lib/execution.cjs +7 -0
- package/deliver-great-systems/bin/lib/governance.cjs +7 -7
- package/deliver-great-systems/bin/lib/init.cjs +25 -17
- package/deliver-great-systems/bin/lib/init.test.cjs +69 -10
- package/deliver-great-systems/bin/lib/jobs.cjs +132 -67
- package/deliver-great-systems/bin/lib/jobs.test.cjs +157 -13
- package/deliver-great-systems/bin/lib/migration.test.cjs +8 -0
- package/deliver-great-systems/bin/lib/milestone-archival.test.cjs +186 -0
- package/deliver-great-systems/bin/lib/milestone.cjs +168 -37
- package/deliver-great-systems/bin/lib/milestone.test.cjs +113 -1
- package/deliver-great-systems/bin/lib/path-audit.test.cjs +128 -0
- package/deliver-great-systems/bin/lib/paths.cjs +1 -2
- package/deliver-great-systems/bin/lib/paths.test.cjs +3 -4
- package/deliver-great-systems/bin/lib/phase-versioned.test.cjs +134 -0
- package/deliver-great-systems/bin/lib/phase.cjs +60 -7
- package/deliver-great-systems/bin/lib/phase.test.cjs +168 -1
- package/deliver-great-systems/bin/lib/projects.test.cjs +38 -0
- package/deliver-great-systems/bin/lib/repos.cjs +8 -4
- package/deliver-great-systems/bin/lib/repos.test.cjs +6 -2
- package/deliver-great-systems/bin/lib/roadmap.cjs +21 -11
- package/deliver-great-systems/bin/lib/state-snapshot.test.cjs +134 -0
- package/deliver-great-systems/bin/lib/state.cjs +173 -26
- package/deliver-great-systems/references/git-integration.md +1 -1
- package/deliver-great-systems/templates/milestone-archive.md +1 -1
- package/deliver-great-systems/templates/roadmap.md +12 -10
- package/deliver-great-systems/workflows/abandon-milestone.md +8 -1
- package/deliver-great-systems/workflows/abandon-quick.md +1 -1
- package/deliver-great-systems/workflows/codereview.md +1 -1
- package/deliver-great-systems/workflows/complete-milestone.md +1 -1
- package/deliver-great-systems/workflows/execute-phase.md +2 -2
- package/deliver-great-systems/workflows/execute-plan.md +2 -2
- package/deliver-great-systems/workflows/new-milestone.md +46 -12
- package/deliver-great-systems/workflows/quick-abandon.md +1 -1
- package/deliver-great-systems/workflows/quick.md +3 -3
- package/package.json +3 -2
|
@@ -85,7 +85,13 @@ EXIT_CODE=$?
|
|
|
85
85
|
**Step 4: Display result**
|
|
86
86
|
|
|
87
87
|
**If exit code is 0 (success):**
|
|
88
|
-
Parse the restored-docs list and any warnings from RESULT (JSON: `{ abandoned, slug, base_ref, restored, reverted, warnings }`).
|
|
88
|
+
Parse the restored-docs list and any warnings from RESULT (JSON: `{ abandoned, slug, base_ref, restored, reverted, phases_dir_removed, warnings }`).
|
|
89
|
+
|
|
90
|
+
Abandon also removes the seeded versioned phases directory `phases/<version>/`
|
|
91
|
+
that `create-adhoc` created, so no versioned phases residue remains after the
|
|
92
|
+
planning docs are restored. Any tracked phase files under it are staged for
|
|
93
|
+
deletion in the same attributed reversion commit. The removed path is reported as
|
|
94
|
+
`phases_dir_removed` (null when there was nothing to remove).
|
|
89
95
|
```
|
|
90
96
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
97
|
DGS ► MILESTONE ABANDONED ✓
|
|
@@ -116,5 +122,6 @@ Display the error / reverted-vs-not report from RESULT verbatim (ADH-20 — it s
|
|
|
116
122
|
- [ ] The 5 project docs path-scoped-restored to the base ref (never a whole-tree reset) (ADH-09)
|
|
117
123
|
- [ ] Attributed reversion commit recorded (ADH-20)
|
|
118
124
|
- [ ] active_context cleared
|
|
125
|
+
- [ ] Seeded versioned phases dir `phases/<version>/` removed; no versioned residue (reported as `phases_dir_removed`)
|
|
119
126
|
- [ ] Owned remote milestone branch deleted during teardown (non-fatal on failure); failures surfaced as warnings (ADH-20)
|
|
120
127
|
</success_criteria>
|
|
@@ -13,7 +13,7 @@ Requires explicit confirmation before proceeding. This is destructive and cannot
|
|
|
13
13
|
Check for active product-level quick:
|
|
14
14
|
```bash
|
|
15
15
|
ACTIVE=$(node -e "
|
|
16
|
-
const q = require('
|
|
16
|
+
const q = require(process.env.HOME + '/.claude/deliver-great-systems/bin/lib/quick.cjs');
|
|
17
17
|
const a = q.getActiveQuick(process.cwd());
|
|
18
18
|
process.stdout.write(JSON.stringify(a || { none: true }));
|
|
19
19
|
")
|
|
@@ -21,7 +21,7 @@ Multi-agent code review that runs 3 passes of 3 parallel agents each (9 total re
|
|
|
21
21
|
Compute the diff from the plan's task commits.
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
FIRST_TASK_COMMIT=$(git -C "${CODE_REPO_PATH}" log --oneline --grep="feat(${PHASE}-${PLAN}):" --grep="fix(${PHASE}-${PLAN}):" --grep="test(${PHASE}-${PLAN}):" --grep="refactor(${PHASE}-${PLAN}):" --reverse | head -1 | cut -d' ' -f1)
|
|
24
|
+
FIRST_TASK_COMMIT=$(git -C "${CODE_REPO_PATH}" log $(git -C "${CODE_REPO_PATH}" merge-base main HEAD)..HEAD --oneline --grep="feat(${PHASE}-${PLAN}):" --grep="fix(${PHASE}-${PLAN}):" --grep="test(${PHASE}-${PLAN}):" --grep="refactor(${PHASE}-${PLAN}):" --reverse | head -1 | cut -d' ' -f1)
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
If FIRST_TASK_COMMIT is empty, exit with message: "No task commits found for ${PHASE}-${PLAN}, skipping code review."
|
|
@@ -433,7 +433,7 @@ If mark-milestone-complete fails, log a warning but continue to gather_stats (no
|
|
|
433
433
|
Calculate milestone statistics:
|
|
434
434
|
|
|
435
435
|
```bash
|
|
436
|
-
git log --oneline --grep="feat(" | head -20
|
|
436
|
+
git log --oneline FIRST_COMMIT..LAST_COMMIT --grep="feat(" | head -20
|
|
437
437
|
git diff --stat FIRST_COMMIT..LAST_COMMIT | tail -1
|
|
438
438
|
find . -name "*.swift" -o -name "*.ts" -o -name "*.py" | xargs wc -l 2>/dev/null
|
|
439
439
|
git log --format="%ai" FIRST_COMMIT | tail -1
|
|
@@ -377,7 +377,7 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
|
|
|
377
377
|
|
|
378
378
|
For each SUMMARY.md:
|
|
379
379
|
- Verify first 2 files from `key-files.created` exist on disk
|
|
380
|
-
- Check `git log --oneline
|
|
380
|
+
- Check `git log --oneline $(git merge-base main HEAD)..HEAD --grep="{phase}-{plan}"` returns ≥1 commit
|
|
381
381
|
- Check for `## Self-Check: FAILED` marker
|
|
382
382
|
|
|
383
383
|
If ANY spot-check fails: report which plan failed, route to failure handler.
|
|
@@ -450,7 +450,7 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
|
|
|
450
450
|
|
|
451
451
|
Compute diff reference for the plan's task commits:
|
|
452
452
|
```bash
|
|
453
|
-
FIRST_TASK_COMMIT=$(git -C "${CODE_REPO_PATH}" log --oneline --grep="feat(${PHASE}-${PLAN}):" --grep="fix(${PHASE}-${PLAN}):" --grep="test(${PHASE}-${PLAN}):" --grep="refactor(${PHASE}-${PLAN}):" --reverse | head -1 | cut -d' ' -f1)
|
|
453
|
+
FIRST_TASK_COMMIT=$(git -C "${CODE_REPO_PATH}" log $(git -C "${CODE_REPO_PATH}" merge-base main HEAD)..HEAD --oneline --grep="feat(${PHASE}-${PLAN}):" --grep="fix(${PHASE}-${PLAN}):" --grep="test(${PHASE}-${PLAN}):" --grep="refactor(${PHASE}-${PLAN}):" --reverse | head -1 | cut -d' ' -f1)
|
|
454
454
|
```
|
|
455
455
|
|
|
456
456
|
If FIRST_TASK_COMMIT is empty (no task commits found), skip codereview for this plan with message: "No task commits found for {phase}-{plan}, skipping code review."
|
|
@@ -114,7 +114,7 @@ Pattern B only (verify-only checkpoints). Skip for A/C.
|
|
|
114
114
|
- Main route: execute tasks using standard flow (step name="execute")
|
|
115
115
|
3. After ALL segments: aggregate files/deviations/decisions → create SUMMARY.md → commit → self-check:
|
|
116
116
|
- Verify key-files.created exist on disk with `[ -f ]`
|
|
117
|
-
- Check `git log --oneline
|
|
117
|
+
- Check `git log --oneline $(git merge-base main HEAD)..HEAD --grep="{phase}-{plan}"` returns ≥1 commit
|
|
118
118
|
- Append `## Self-Check: PASSED` or `## Self-Check: FAILED` to SUMMARY
|
|
119
119
|
|
|
120
120
|
**Known Claude Code bug (classifyHandoffIfNeeded):** If any segment agent reports "failed" with `classifyHandoffIfNeeded is not defined`, this is a Claude Code runtime bug — not a real failure. Run spot-checks; if they pass, treat as successful.
|
|
@@ -490,7 +490,7 @@ The plan name is auto-extracted from the PLAN.md `plan_name` frontmatter field (
|
|
|
490
490
|
If ${project_root}/codebase/ doesn't exist: skip.
|
|
491
491
|
|
|
492
492
|
```bash
|
|
493
|
-
FIRST_TASK=$(git log --oneline --grep="feat({phase}-{plan}):" --grep="fix({phase}-{plan}):" --grep="test({phase}-{plan}):" --reverse | head -1 | cut -d' ' -f1)
|
|
493
|
+
FIRST_TASK=$(git log $(git merge-base main HEAD)..HEAD --oneline --grep="feat({phase}-{plan}):" --grep="fix({phase}-{plan}):" --grep="test({phase}-{plan}):" --reverse | head -1 | cut -d' ' -f1)
|
|
494
494
|
git diff --name-only ${FIRST_TASK}^..HEAD 2>/dev/null
|
|
495
495
|
```
|
|
496
496
|
|
|
@@ -63,7 +63,7 @@ All subsequent steps use these resolved paths. Never reference PROJECT.md, STATE
|
|
|
63
63
|
## 1. Load Context
|
|
64
64
|
|
|
65
65
|
- Read `${project_path}` (existing project, validated requirements, decisions)
|
|
66
|
-
- Read `${product_milestones_path}` (product-level MILESTONES.md — authoritative record of what shipped across ALL projects in this product; used here for global version
|
|
66
|
+
- Read `${product_milestones_path}` (product-level MILESTONES.md — authoritative record of what shipped across ALL projects in this product; used here for the global version sequence — phase numbering is NOT global, it restarts per milestone (see Step 10)) — if `${product_milestones_exists}` is false, this is the first milestone in the product; skip and use defaults
|
|
67
67
|
- Optionally read `${project_root}/MILESTONES.md` (per-project shipped record) for project-specific context if it exists — do NOT use it for version or phase numbering, which are global across the product
|
|
68
68
|
- Read `${state_path}` (pending todos, blockers) — if file does not exist, will be created in Step 5
|
|
69
69
|
- Check for `${project_root}/MILESTONE-CONTEXT.md` (from /dgs:discuss-milestone)
|
|
@@ -112,9 +112,19 @@ The verb implements, in this exact canonical order:
|
|
|
112
112
|
`adhoc_base_ref`. Any repo failure → ROLLBACK.
|
|
113
113
|
4. **Confirm marker on the worktree entry (ADH-04 mirror).** Verify the entry
|
|
114
114
|
now carries `adhoc:true` and `adhoc_base_ref`. If absent → ROLLBACK.
|
|
115
|
-
5. **
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
5. **Seed planning scaffolding + commit STATE.md & ROADMAP.md (ADH-04 primary).**
|
|
116
|
+
In ONE atomic commit the verb now also folds in the planning scaffolding that
|
|
117
|
+
lets a hand-added phase flow through discuss/plan/execute-phase:
|
|
118
|
+
- (5a) Write the milestone fields (name, `vX.Y`, status) PLUS `adhoc: true` AND
|
|
119
|
+
`current_milestone: vX.Y` (the authoritative version signal — see the
|
|
120
|
+
Sole setters note) to STATE.md frontmatter.
|
|
121
|
+
- (5b) Seed an `## Active Milestone: vX.Y` section into ROADMAP.md (idempotent)
|
|
122
|
+
terminated by a `---` anchor so `/dgs:add-phase` can extend it.
|
|
123
|
+
- (5c) Create the versioned phases directory `phases/<version>/` so the
|
|
124
|
+
version-aware resolver routes the first `add-phase` into it (restart-at-1
|
|
125
|
+
`01-<slug>`), with no requirements/roadmapper ceremony.
|
|
126
|
+
- (5d) Stage STATE.md AND ROADMAP.md and commit. Commit failure → ROLLBACK
|
|
127
|
+
(the three artifacts are rolled back together).
|
|
118
128
|
6. **Set `execution.active_context` LAST (ADH-03).**
|
|
119
129
|
`config-local-set execution.active_context {slug}` — set ONLY after steps 2–5
|
|
120
130
|
succeed, so `detectQuickMode` never observes a half-created milestone (no leak
|
|
@@ -122,12 +132,18 @@ The verb implements, in this exact canonical order:
|
|
|
122
132
|
|
|
123
133
|
**ROLLBACK (ADH-18) — undo in reverse, only this invocation's artifacts:**
|
|
124
134
|
1. `active_context` is set last, so a pre-step-6 failure never set it.
|
|
125
|
-
2.
|
|
126
|
-
|
|
135
|
+
2. Drop the seeded versioned dir `phases/<version>/` (it is untracked, so a
|
|
136
|
+
commit-reset alone never removes it).
|
|
137
|
+
3. If step 5 committed: reset the just-made STATE.md + ROADMAP.md commit (reverts
|
|
138
|
+
both `current_milestone` and the Active Milestone section). If the failure hit
|
|
139
|
+
the PRE-commit window (5c/5d): restore STATE.md + ROADMAP.md from HEAD so the
|
|
140
|
+
on-disk `current_milestone` + roadmap section never survive.
|
|
141
|
+
4. Remove created worktrees: `worktrees remove {slug} --force` (also nulls
|
|
127
142
|
`active_context`).
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
Leave NO residue — no
|
|
143
|
+
5. Delete the base ref: `git -C <planning_root> update-ref -d refs/dgs/adhoc/{slug}/base`.
|
|
144
|
+
6. Print an actionable error naming what was rolled back; exit non-zero.
|
|
145
|
+
Leave NO residue — no versioned dir, no roadmap section, no `current_milestone`,
|
|
146
|
+
no ref, no worktree entry, no marker, `active_context` unset.
|
|
131
147
|
|
|
132
148
|
**On success — ADH-22 advisory.** The verb prints:
|
|
133
149
|
"Advisory: while this ad-hoc milestone is active, any product-level (`--main`)
|
|
@@ -250,6 +266,10 @@ Status: Defining requirements
|
|
|
250
266
|
Last activity: [today] — Milestone v[X.Y] started (from spec [spec-id])
|
|
251
267
|
```
|
|
252
268
|
|
|
269
|
+
Also write the structured frontmatter field `current_milestone: v[X.Y]` into STATE.md frontmatter (the chosen version, validated against `^v\d+\.\d+$` — e.g. `current_milestone: v25.0`). This is the authoritative structured version signal that resolveMilestoneVersion reads.
|
|
270
|
+
|
|
271
|
+
> **Sole setters:** `current_milestone` is the authoritative structured version signal. The new-milestone flow, `init.cjs`, AND `milestone create-adhoc` are the SOLE setters of this field — no other command sets or clears it. Only ever write a grammar-valid `v[X.Y]` value; never write an out-of-grammar value.
|
|
272
|
+
|
|
253
273
|
### Commit
|
|
254
274
|
|
|
255
275
|
```bash
|
|
@@ -398,6 +418,10 @@ Status: Defining requirements
|
|
|
398
418
|
Last activity: [today] — Milestone v[X.Y] started
|
|
399
419
|
```
|
|
400
420
|
|
|
421
|
+
Also write the structured frontmatter field `current_milestone: v[X.Y]` into STATE.md frontmatter (the chosen version, validated against `^v\d+\.\d+$` — e.g. `current_milestone: v25.0`). This is the authoritative structured version signal that resolveMilestoneVersion reads.
|
|
422
|
+
|
|
423
|
+
> **Sole setters:** `current_milestone` is the authoritative structured version signal. The new-milestone flow, `init.cjs`, AND `milestone create-adhoc` are the SOLE setters of this field — no other command sets or clears it. Only ever write a grammar-valid `v[X.Y]` value; never write an out-of-grammar value.
|
|
424
|
+
|
|
401
425
|
Keep Accumulated Context section from previous milestone.
|
|
402
426
|
|
|
403
427
|
## 6. Cleanup and Commit
|
|
@@ -604,7 +628,7 @@ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: define mile
|
|
|
604
628
|
◆ Spawning roadmapper...
|
|
605
629
|
```
|
|
606
630
|
|
|
607
|
-
**Starting phase number:**
|
|
631
|
+
**Starting phase number:** Phase numbering restarts at 1 for every milestone (written zero-padded as `01`). The new milestone's phases live in its own `phases/<version>/` directory, so numbers are scoped to this milestone — do NOT read MILESTONES.md for phase continuity (versions stay global; phase numbers do not).
|
|
608
632
|
|
|
609
633
|
```
|
|
610
634
|
Task(prompt="
|
|
@@ -622,7 +646,7 @@ Task(prompt="
|
|
|
622
646
|
|
|
623
647
|
<instructions>
|
|
624
648
|
Create roadmap for milestone v[X.Y]:
|
|
625
|
-
1. Start phase numbering
|
|
649
|
+
1. Start phase numbering at 1 (zero-padded `01`)
|
|
626
650
|
2. Derive phases from THIS MILESTONE's requirements only
|
|
627
651
|
3. Map every requirement to exactly one phase
|
|
628
652
|
4. Derive 2-5 success criteria per phase (observable user behaviors)
|
|
@@ -673,6 +697,16 @@ Success criteria:
|
|
|
673
697
|
node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --push --files ${roadmap_path} ${state_path} ${project_root}/REQUIREMENTS.md
|
|
674
698
|
```
|
|
675
699
|
|
|
700
|
+
### Create the versioned phases directory
|
|
701
|
+
|
|
702
|
+
Materialise the milestone's own active-phases directory so the version-aware resolver and add-phase land in it (only the new-milestone flow creates a versioned directory):
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs phase init-versioned-dir --raw
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
This fails loud (non-zero, remediation message) if `current_milestone` is undeterminable — it never writes `phases/v1.0/`. It is idempotent (re-running is a safe no-op).
|
|
709
|
+
|
|
676
710
|
## 10.5. Overlap Check (v2 only)
|
|
677
711
|
|
|
678
712
|
If v2 install (PROJECTS.md or REPOS.md exists in the planning root):
|
|
@@ -745,7 +779,7 @@ Also: `/dgs:plan-phase [N]` — skip discussion, plan directly
|
|
|
745
779
|
- [ ] dgs-roadmapper spawned with phase numbering context
|
|
746
780
|
- [ ] Roadmap files written immediately (not draft)
|
|
747
781
|
- [ ] User feedback incorporated (if any)
|
|
748
|
-
- [ ] ROADMAP.md
|
|
782
|
+
- [ ] ROADMAP.md phase numbering restarts at 01 for this milestone
|
|
749
783
|
- [ ] All commits made (if planning docs committed)
|
|
750
784
|
- [ ] User knows next step: `/dgs:discuss-phase [N]`
|
|
751
785
|
- [ ] Auto mode: spec parsed and validated (status: final)
|
|
@@ -13,7 +13,7 @@ Requires explicit confirmation before proceeding. This is destructive and cannot
|
|
|
13
13
|
Check for active product-level quick:
|
|
14
14
|
```bash
|
|
15
15
|
ACTIVE=$(node -e "
|
|
16
|
-
const q = require('
|
|
16
|
+
const q = require(process.env.HOME + '/.claude/deliver-great-systems/bin/lib/quick.cjs');
|
|
17
17
|
const a = q.getActiveQuick(process.cwd());
|
|
18
18
|
process.stdout.write(JSON.stringify(a || { none: true }));
|
|
19
19
|
")
|
|
@@ -97,7 +97,7 @@ Detect whether this is a product-level or milestone-context quick:
|
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
99
|
QUICK_DETECT=$(node -e "
|
|
100
|
-
const q = require('
|
|
100
|
+
const q = require(process.env.HOME + '/.claude/deliver-great-systems/bin/lib/quick.cjs');
|
|
101
101
|
const r = q.detectQuickMode(process.cwd(), ${FORCE_MAIN:-false});
|
|
102
102
|
process.stdout.write(JSON.stringify(r));
|
|
103
103
|
")
|
|
@@ -113,7 +113,7 @@ Check the one-active-quick guard and create worktree:
|
|
|
113
113
|
|
|
114
114
|
```bash
|
|
115
115
|
QUICK_START=$(node -e "
|
|
116
|
-
const q = require('
|
|
116
|
+
const q = require(process.env.HOME + '/.claude/deliver-great-systems/bin/lib/quick.cjs');
|
|
117
117
|
const r = q.startProductQuick(process.cwd(), '${DESCRIPTION}', ${QUICK_MODE_FLAG ? \"'\" + QUICK_MODE_FLAG + \"'\" : 'null'});
|
|
118
118
|
process.stdout.write(JSON.stringify(r));
|
|
119
119
|
")
|
|
@@ -158,7 +158,7 @@ QUICK_REPO_CWD=$(node -e "
|
|
|
158
158
|
const path = require('path');
|
|
159
159
|
const localPath = path.join(process.cwd(), 'config.local.json');
|
|
160
160
|
const local = JSON.parse(fs.readFileSync(localPath, 'utf-8'));
|
|
161
|
-
const { loadConfig } = require('
|
|
161
|
+
const { loadConfig } = require(process.env.HOME + '/.claude/deliver-great-systems/bin/lib/core.cjs');
|
|
162
162
|
const cfg = loadConfig(process.cwd());
|
|
163
163
|
const proj = cfg.current_project;
|
|
164
164
|
const wt = (local.projects && local.projects[proj] && local.projects[proj].worktrees && local.projects[proj].worktrees['${MILESTONE_SLUG}']) || {};
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"bugs": {
|
|
9
9
|
"url": "https://github.com/KT-Partners-Ltd/dgs-platform-docs/issues"
|
|
10
10
|
},
|
|
11
|
-
"version": "3.
|
|
11
|
+
"version": "3.5.1",
|
|
12
12
|
"description": "Deliver Great Systems Platform — A meta-prompting, context engineering and spec-driven development system for Claude Code and Gemini by KT Partners.",
|
|
13
13
|
"bin": {
|
|
14
14
|
"dgs": "bin/install.js"
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"scripts": {
|
|
58
58
|
"build:hooks": "node scripts/build-hooks.js",
|
|
59
59
|
"prepublishOnly": "npm run build:hooks",
|
|
60
|
-
"test": "node --test tests/*.test.cjs"
|
|
60
|
+
"test": "node --test tests/*.test.cjs deliver-great-systems/bin/lib/*.test.cjs",
|
|
61
|
+
"test:lib": "node --test deliver-great-systems/bin/lib/*.test.cjs"
|
|
61
62
|
}
|
|
62
63
|
}
|