@ktpartners/dgs-platform 2.9.0 → 3.3.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.
- package/CHANGELOG.md +197 -0
- package/README.md +34 -2
- package/agents/dgs-executor.md +124 -3
- package/agents/dgs-idea-researcher.md +447 -0
- package/agents/dgs-plan-checker.md +61 -3
- package/agents/dgs-planner.md +51 -8
- package/bin/install.js +44 -0
- package/commands/dgs/abandon-quick.md +28 -0
- package/commands/dgs/add-tests.md +2 -2
- package/commands/dgs/audit-milestone.md +4 -3
- package/commands/dgs/capture-principle.md +11 -11
- package/commands/dgs/cleanup.md +2 -2
- package/commands/dgs/complete-milestone.md +11 -11
- package/commands/dgs/complete-quick.md +28 -0
- package/commands/dgs/create-milestone-job.md +2 -2
- package/commands/dgs/debug.md +3 -3
- package/commands/dgs/develop-idea.md +1 -1
- package/commands/dgs/diff-report.md +124 -0
- package/commands/dgs/fast.md +3 -1
- package/commands/dgs/health.md +1 -1
- package/commands/dgs/map-codebase.md +6 -6
- package/commands/dgs/new-milestone.md +5 -5
- package/commands/dgs/new-project.md +8 -21
- package/commands/dgs/package-scan.md +43 -0
- package/commands/dgs/plan-milestone-gaps.md +1 -1
- package/commands/dgs/progress.md +3 -3
- package/commands/dgs/quick-abandon.md +8 -0
- package/commands/dgs/quick-complete.md +8 -0
- package/commands/dgs/quick.md +10 -3
- package/commands/dgs/research-idea.md +3 -2
- package/commands/dgs/research-phase.md +3 -3
- package/commands/dgs/switch-project.md +14 -1
- package/commands/dgs/write-spec.md +3 -3
- package/deliver-great-systems/bin/dgs-tools.cjs +401 -32
- package/deliver-great-systems/bin/lib/audit-tolerance.cjs +77 -0
- package/deliver-great-systems/bin/lib/audit-tolerance.test.cjs +101 -0
- package/deliver-great-systems/bin/lib/commands.cjs +626 -46
- package/deliver-great-systems/bin/lib/commands.test.cjs +451 -0
- package/deliver-great-systems/bin/lib/commit-verify.test.cjs +236 -0
- package/deliver-great-systems/bin/lib/config.cjs +80 -6
- package/deliver-great-systems/bin/lib/config.test.cjs +309 -0
- package/deliver-great-systems/bin/lib/context.cjs +120 -0
- package/deliver-great-systems/bin/lib/core.cjs +35 -14
- package/deliver-great-systems/bin/lib/core.test.cjs +79 -1
- package/deliver-great-systems/bin/lib/execution.cjs +49 -17
- package/deliver-great-systems/bin/lib/fast-routing.cjs +199 -0
- package/deliver-great-systems/bin/lib/fast-routing.test.cjs +108 -0
- package/deliver-great-systems/bin/lib/final-commit-precondition.test.cjs +87 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/bundler-audit-gemfile.json +21 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/gate-parity-expected.md +186 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/gate-parity-runresult.json +235 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/govulncheck-import.json +3 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/npm-audit-v10.json +37 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/osv-clean.json +3 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/osv-vulns.json +77 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/pip-audit-requirements.json +28 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/snyk-lodash.json +30 -0
- package/deliver-great-systems/bin/lib/fixtures/package-scan/snyk-workspaces.json +55 -0
- package/deliver-great-systems/bin/lib/flat-migration.test.cjs +396 -0
- package/deliver-great-systems/bin/lib/frontmatter.cjs +1 -1
- package/deliver-great-systems/bin/lib/governance.cjs +211 -0
- package/deliver-great-systems/bin/lib/governance.test.cjs +339 -0
- package/deliver-great-systems/bin/lib/health-untracked-phase.test.cjs +269 -0
- package/deliver-great-systems/bin/lib/ideas.cjs +206 -91
- package/deliver-great-systems/bin/lib/ideas.test.cjs +244 -1
- package/deliver-great-systems/bin/lib/init.cjs +357 -61
- package/deliver-great-systems/bin/lib/init.test.cjs +625 -8
- package/deliver-great-systems/bin/lib/jobs.cjs +131 -25
- package/deliver-great-systems/bin/lib/jobs.test.cjs +193 -74
- package/deliver-great-systems/bin/lib/migration.cjs +409 -1
- package/deliver-great-systems/bin/lib/migration.test.cjs +158 -1
- package/deliver-great-systems/bin/lib/milestone.cjs +154 -31
- package/deliver-great-systems/bin/lib/milestone.test.cjs +203 -0
- package/deliver-great-systems/bin/lib/package-adapters.cjs +530 -0
- package/deliver-great-systems/bin/lib/package-adapters.test.cjs +618 -0
- package/deliver-great-systems/bin/lib/package-ecosystems.cjs +350 -0
- package/deliver-great-systems/bin/lib/package-ecosystems.test.cjs +348 -0
- package/deliver-great-systems/bin/lib/package-runner.cjs +199 -0
- package/deliver-great-systems/bin/lib/package-runner.test.cjs +198 -0
- package/deliver-great-systems/bin/lib/package-scan-provenance.cjs +56 -0
- package/deliver-great-systems/bin/lib/package-scan-provenance.test.cjs +103 -0
- package/deliver-great-systems/bin/lib/package-scan-report.cjs +1140 -0
- package/deliver-great-systems/bin/lib/package-scan-report.test.cjs +1963 -0
- package/deliver-great-systems/bin/lib/package-scan-skill.cjs +96 -0
- package/deliver-great-systems/bin/lib/package-scan-skill.test.cjs +136 -0
- package/deliver-great-systems/bin/lib/package-scan.cjs +919 -0
- package/deliver-great-systems/bin/lib/package-scan.test.cjs +2147 -0
- package/deliver-great-systems/bin/lib/phase.cjs +146 -3
- package/deliver-great-systems/bin/lib/phase.test.cjs +420 -0
- package/deliver-great-systems/bin/lib/plan-number-validity.test.cjs +48 -0
- package/deliver-great-systems/bin/lib/projects.cjs +65 -10
- package/deliver-great-systems/bin/lib/projects.test.cjs +198 -2
- package/deliver-great-systems/bin/lib/quick.cjs +739 -0
- package/deliver-great-systems/bin/lib/quick.test.cjs +730 -0
- package/deliver-great-systems/bin/lib/repos.cjs +37 -13
- package/deliver-great-systems/bin/lib/review.cjs +1821 -0
- package/deliver-great-systems/bin/lib/roadmap.cjs +34 -13
- package/deliver-great-systems/bin/lib/specs.cjs +3 -81
- package/deliver-great-systems/bin/lib/state-transition-gate.test.cjs +160 -0
- package/deliver-great-systems/bin/lib/state.cjs +147 -55
- package/deliver-great-systems/bin/lib/summary-frontmatter.cjs +54 -0
- package/deliver-great-systems/bin/lib/summary-frontmatter.test.cjs +78 -0
- package/deliver-great-systems/bin/lib/sweep-scope.test.cjs +263 -0
- package/deliver-great-systems/bin/lib/sync.cjs +75 -0
- package/deliver-great-systems/bin/lib/verify.cjs +198 -7
- package/deliver-great-systems/bin/lib/verify.test.cjs +82 -0
- package/deliver-great-systems/bin/lib/wave-0-template-rename.test.cjs +40 -0
- package/deliver-great-systems/bin/lib/worktrees.cjs +790 -0
- package/deliver-great-systems/bin/lib/worktrees.test.cjs +963 -0
- package/deliver-great-systems/references/agent-step-reliability.md +60 -0
- package/deliver-great-systems/references/conflict-resolution.md +4 -0
- package/deliver-great-systems/references/context-tiers.md +4 -0
- package/deliver-great-systems/references/package-scan-config.md +151 -0
- package/deliver-great-systems/references/questioning.md +0 -30
- package/deliver-great-systems/references/spec-review-loop.md +1 -2
- package/deliver-great-systems/references/workflow-conventions.md +29 -0
- package/deliver-great-systems/skills/dgs-tests/package-scan.md +44 -0
- package/deliver-great-systems/templates/REVIEW.md +35 -0
- package/deliver-great-systems/templates/VALIDATION.md +1 -1
- package/deliver-great-systems/templates/claude-md.md +27 -0
- package/deliver-great-systems/templates/package-scan-report.md +108 -0
- package/deliver-great-systems/templates/project.md +6 -170
- package/deliver-great-systems/templates/summary.md +3 -1
- package/deliver-great-systems/workflows/abandon-quick.md +89 -0
- package/deliver-great-systems/workflows/add-idea.md +3 -3
- package/deliver-great-systems/workflows/add-phase.md +5 -0
- package/deliver-great-systems/workflows/add-tests.md +14 -0
- package/deliver-great-systems/workflows/add-todo.md +1 -0
- package/deliver-great-systems/workflows/approve-spec.md +25 -4
- package/deliver-great-systems/workflows/audit-milestone.md +66 -10
- package/deliver-great-systems/workflows/audit-phase.md +15 -5
- package/deliver-great-systems/workflows/cancel-job.md +2 -2
- package/deliver-great-systems/workflows/check-todos.md +2 -3
- package/deliver-great-systems/workflows/codereview.md +103 -9
- package/deliver-great-systems/workflows/complete-milestone.md +218 -24
- package/deliver-great-systems/workflows/complete-quick.md +106 -0
- package/deliver-great-systems/workflows/consolidate-ideas.md +1 -1
- package/deliver-great-systems/workflows/create-milestone-job.md +4 -4
- package/deliver-great-systems/workflows/develop-idea.md +11 -11
- package/deliver-great-systems/workflows/diagnose-issues.md +14 -0
- package/deliver-great-systems/workflows/discuss-idea.md +1 -1
- package/deliver-great-systems/workflows/discuss-phase.md +3 -2
- package/deliver-great-systems/workflows/execute-phase.md +209 -33
- package/deliver-great-systems/workflows/execute-plan.md +22 -22
- package/deliver-great-systems/workflows/help.md +53 -20
- package/deliver-great-systems/workflows/import-spec.md +65 -7
- package/deliver-great-systems/workflows/init-product.md +45 -167
- package/deliver-great-systems/workflows/new-milestone.md +140 -33
- package/deliver-great-systems/workflows/new-project.md +60 -331
- package/deliver-great-systems/workflows/package-scan.md +59 -0
- package/deliver-great-systems/workflows/plan-phase.md +79 -1
- package/deliver-great-systems/workflows/progress-all.md +133 -0
- package/deliver-great-systems/workflows/quick-abandon.md +89 -0
- package/deliver-great-systems/workflows/quick-complete.md +106 -0
- package/deliver-great-systems/workflows/quick.md +328 -26
- package/deliver-great-systems/workflows/refine-spec.md +1 -1
- package/deliver-great-systems/workflows/research-idea.md +77 -139
- package/deliver-great-systems/workflows/resume-project.md +2 -2
- package/deliver-great-systems/workflows/run-job.md +29 -43
- package/deliver-great-systems/workflows/settings.md +13 -77
- package/deliver-great-systems/workflows/validate-phase.md +39 -1
- package/deliver-great-systems/workflows/verify-work.md +14 -0
- package/deliver-great-systems/workflows/write-spec.md +11 -13
- package/hooks/dist/dgs-enforce-discipline.js +196 -0
- package/package.json +1 -1
- package/scripts/build-hooks.js +1 -0
package/bin/install.js
CHANGED
|
@@ -1806,6 +1806,50 @@ function install(isGlobal, runtime = 'claude') {
|
|
|
1806
1806
|
});
|
|
1807
1807
|
console.log(` ${green}✓${reset} Configured context window monitor hook`);
|
|
1808
1808
|
}
|
|
1809
|
+
|
|
1810
|
+
// Configure PreToolUse hook for workflow discipline enforcement
|
|
1811
|
+
const disciplineCommand = isGlobal
|
|
1812
|
+
? buildHookCommand(targetDir, 'dgs-enforce-discipline.js')
|
|
1813
|
+
: 'node ' + dirName + '/hooks/dgs-enforce-discipline.js';
|
|
1814
|
+
|
|
1815
|
+
if (!settings.hooks.PreToolUse) {
|
|
1816
|
+
settings.hooks.PreToolUse = [];
|
|
1817
|
+
}
|
|
1818
|
+
|
|
1819
|
+
const hasDisciplineHook = settings.hooks.PreToolUse.some(entry =>
|
|
1820
|
+
entry.hooks && entry.hooks.some(h => h.command && h.command.includes('dgs-enforce-discipline'))
|
|
1821
|
+
);
|
|
1822
|
+
|
|
1823
|
+
if (!hasDisciplineHook) {
|
|
1824
|
+
settings.hooks.PreToolUse.push({
|
|
1825
|
+
matcher: 'Edit|Write|Skill',
|
|
1826
|
+
hooks: [
|
|
1827
|
+
{
|
|
1828
|
+
type: 'command',
|
|
1829
|
+
command: disciplineCommand
|
|
1830
|
+
}
|
|
1831
|
+
]
|
|
1832
|
+
});
|
|
1833
|
+
console.log(` ${green}✓${reset} Configured workflow discipline hook`);
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
// Configure PostToolUse hook for discipline marker cleanup (Skill completion)
|
|
1837
|
+
const hasDisciplinePostHook = settings.hooks.PostToolUse.some(entry =>
|
|
1838
|
+
entry.hooks && entry.hooks.some(h => h.command && h.command.includes('dgs-enforce-discipline'))
|
|
1839
|
+
);
|
|
1840
|
+
|
|
1841
|
+
if (!hasDisciplinePostHook) {
|
|
1842
|
+
settings.hooks.PostToolUse.push({
|
|
1843
|
+
matcher: 'Skill',
|
|
1844
|
+
hooks: [
|
|
1845
|
+
{
|
|
1846
|
+
type: 'command',
|
|
1847
|
+
command: disciplineCommand
|
|
1848
|
+
}
|
|
1849
|
+
]
|
|
1850
|
+
});
|
|
1851
|
+
console.log(` ${green}✓${reset} Configured discipline marker cleanup hook`);
|
|
1852
|
+
}
|
|
1809
1853
|
}
|
|
1810
1854
|
|
|
1811
1855
|
// Write file manifest for future modification detection
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dgs:abandon-quick
|
|
3
|
+
description: Abandon active quick task — remove worktree without merging
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
<objective>
|
|
11
|
+
Abandon the active product-level quick task.
|
|
12
|
+
|
|
13
|
+
Remove the worktree directory and branch without merging any changes to main. All committed and uncommitted work in the worktree is discarded.
|
|
14
|
+
|
|
15
|
+
Requires confirmation before proceeding. This action cannot be undone.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@~/.claude/deliver-great-systems/workflows/abandon-quick.md
|
|
20
|
+
</execution_context>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
$ARGUMENTS
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
Execute the abandon-quick workflow from @~/.claude/deliver-great-systems/workflows/abandon-quick.md end-to-end.
|
|
28
|
+
</process>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dgs:audit-milestone
|
|
3
3
|
description: Audit milestone completion against original intent before archiving
|
|
4
|
-
argument-hint: "[version]"
|
|
4
|
+
argument-hint: "[version] [--strict-audit]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Glob
|
|
@@ -22,12 +22,13 @@ Verify milestone achieved its definition of done. Check requirements coverage, c
|
|
|
22
22
|
|
|
23
23
|
<context>
|
|
24
24
|
Version: $ARGUMENTS (optional — defaults to current milestone)
|
|
25
|
+
Flags: `--strict-audit` (optional — preserves old strict behaviour where empty SUMMARY `requirements_completed` always yields `partial` regardless of VERIFICATION state; default omits this and applies REL-10 soft-tolerance).
|
|
25
26
|
|
|
26
27
|
Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
|
|
27
28
|
|
|
28
29
|
**Completed Work:**
|
|
29
|
-
Glob:
|
|
30
|
-
Glob:
|
|
30
|
+
Glob: ${project_root}/phases/*/*-SUMMARY.md
|
|
31
|
+
Glob: ${project_root}/phases/*/*-VERIFICATION.md
|
|
31
32
|
</context>
|
|
32
33
|
|
|
33
34
|
<process>
|
|
@@ -11,7 +11,7 @@ allowed-tools:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
<objective>
|
|
14
|
-
Extract a design principle from the current conversation context (e.g., a debugging session, root cause analysis, or architectural discussion) and save it to
|
|
14
|
+
Extract a design principle from the current conversation context (e.g., a debugging session, root cause analysis, or architectural discussion) and save it to `docs/product/DESIGN-PRINCIPLES.md` in the planning repo.
|
|
15
15
|
|
|
16
16
|
Principles are product-level artifacts — actionable rules distilled from hard-won lessons. They are loaded automatically by any workflow that reads product docs (Planning, Execution, and Verification tiers), preventing the same mistakes from recurring.
|
|
17
17
|
</objective>
|
|
@@ -19,27 +19,27 @@ Principles are product-level artifacts — actionable rules distilled from hard-
|
|
|
19
19
|
<context>
|
|
20
20
|
Arguments: $ARGUMENTS (optional seed text for the principle)
|
|
21
21
|
|
|
22
|
-
State is resolved
|
|
22
|
+
State is resolved via `init milestone-op` which provides planning-repo-relative paths.
|
|
23
23
|
</context>
|
|
24
24
|
|
|
25
25
|
<process>
|
|
26
26
|
|
|
27
27
|
## 1. Resolve Target Path
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
Resolve the planning repo root and product docs path:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
|
|
32
|
+
INIT=$(node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs init milestone-op)
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Extract `commit_docs` and `project_root` from the init JSON.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Resolve the product docs directory:
|
|
38
38
|
```bash
|
|
39
|
-
|
|
39
|
+
DOCS_DIR=$(node -e "const d = require('$HOME/.claude/deliver-great-systems/bin/lib/docs.cjs'); process.stdout.write(d.resolveDocsDir(process.cwd(), 'product'))")
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
The target is always at `${DOCS_DIR}/DESIGN-PRINCIPLES.md`.
|
|
43
43
|
|
|
44
44
|
## 2. Extract Principle from Context
|
|
45
45
|
|
|
@@ -71,7 +71,7 @@ If the user provides edits, incorporate them and re-present. If the user rejects
|
|
|
71
71
|
|
|
72
72
|
## 4. Read Existing DESIGN-PRINCIPLES.md
|
|
73
73
|
|
|
74
|
-
Read
|
|
74
|
+
Read `${DOCS_DIR}/DESIGN-PRINCIPLES.md`.
|
|
75
75
|
|
|
76
76
|
If the file does **not** exist, create it with this template:
|
|
77
77
|
|
|
@@ -90,7 +90,7 @@ Actionable design rules distilled from project experience. Loaded automatically
|
|
|
90
90
|
|
|
91
91
|
Also ensure the directory exists:
|
|
92
92
|
```bash
|
|
93
|
-
mkdir -p "${
|
|
93
|
+
mkdir -p "${DOCS_DIR}"
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
If the file exists, read and parse existing principles (look for `### ` headings under `## Principles`).
|
|
@@ -124,7 +124,7 @@ Use today's date for the `Added` field.
|
|
|
124
124
|
|
|
125
125
|
If `commit_docs` is true:
|
|
126
126
|
```bash
|
|
127
|
-
node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: capture design principle - {title}" --push --files
|
|
127
|
+
node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: capture design principle - {title}" --push --files docs/product/DESIGN-PRINCIPLES.md
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
If `commit_docs` is false, just save the file without committing.
|
package/commands/dgs/cleanup.md
CHANGED
|
@@ -3,9 +3,9 @@ name: dgs:cleanup
|
|
|
3
3
|
description: Archive milestone phase directories and clean up completed quick task directories
|
|
4
4
|
---
|
|
5
5
|
<objective>
|
|
6
|
-
Archive phase directories from completed milestones into
|
|
6
|
+
Archive phase directories from completed milestones into `${project_root}/milestones/v{X.Y}-phases/`, and remove planning directories for completed quick/fast tasks from `${project_root}/quick/`.
|
|
7
7
|
|
|
8
|
-
Use when
|
|
8
|
+
Use when `${project_root}/phases/` has accumulated directories from past milestones, or `${project_root}/quick/` has many completed task directories.
|
|
9
9
|
</objective>
|
|
10
10
|
|
|
11
11
|
<execution_context>
|
|
@@ -25,10 +25,10 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
25
25
|
|
|
26
26
|
<context>
|
|
27
27
|
**Project files:**
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
28
|
+
- `${roadmap_path}`
|
|
29
|
+
- `${project_root}/REQUIREMENTS.md`
|
|
30
|
+
- `${state_path}`
|
|
31
|
+
- `${project_path}`
|
|
32
32
|
|
|
33
33
|
**User input:**
|
|
34
34
|
|
|
@@ -41,7 +41,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
41
41
|
|
|
42
42
|
0. **Check for audit:**
|
|
43
43
|
|
|
44
|
-
- Look for
|
|
44
|
+
- Look for `${project_root}/v{{version}}-MILESTONE-AUDIT.md`
|
|
45
45
|
- If missing or stale: recommend `/dgs:audit-milestone` first
|
|
46
46
|
- If audit status is `gaps_found`: recommend `/dgs:plan-milestone-gaps` first
|
|
47
47
|
- If audit status is `passed`: proceed to step 1
|
|
@@ -82,17 +82,17 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
82
82
|
|
|
83
83
|
4. **Archive milestone:**
|
|
84
84
|
|
|
85
|
-
- Create
|
|
85
|
+
- Create `${project_root}/milestones/v{{version}}-ROADMAP.md`
|
|
86
86
|
- Extract full phase details from ROADMAP.md
|
|
87
87
|
- Fill milestone-archive.md template
|
|
88
88
|
- Update ROADMAP.md to one-line summary with link
|
|
89
89
|
|
|
90
90
|
5. **Archive requirements:**
|
|
91
91
|
|
|
92
|
-
- Create
|
|
92
|
+
- Create `${project_root}/milestones/v{{version}}-REQUIREMENTS.md`
|
|
93
93
|
- Mark all v1 requirements as complete (checkboxes checked)
|
|
94
94
|
- Note requirement outcomes (validated, adjusted, dropped)
|
|
95
|
-
- Delete
|
|
95
|
+
- Delete `${project_root}/REQUIREMENTS.md` (fresh one created for next milestone)
|
|
96
96
|
|
|
97
97
|
6. **Update PROJECT.md:**
|
|
98
98
|
|
|
@@ -114,9 +114,9 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
114
114
|
|
|
115
115
|
<success_criteria>
|
|
116
116
|
|
|
117
|
-
- Milestone archived to
|
|
118
|
-
- Requirements archived to
|
|
119
|
-
-
|
|
117
|
+
- Milestone archived to `${project_root}/milestones/v{{version}}-ROADMAP.md`
|
|
118
|
+
- Requirements archived to `${project_root}/milestones/v{{version}}-REQUIREMENTS.md`
|
|
119
|
+
- `${project_root}/REQUIREMENTS.md` deleted (fresh for next milestone)
|
|
120
120
|
- ROADMAP.md collapsed to one-line entry
|
|
121
121
|
- PROJECT.md updated with current state
|
|
122
122
|
- Git tag v{{version}} created
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dgs:complete-quick
|
|
3
|
+
description: Complete active quick task — rebase, merge to main, push, clean up worktree
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
<objective>
|
|
11
|
+
Complete the active product-level quick task.
|
|
12
|
+
|
|
13
|
+
Rebase the quick branch onto the latest base_branch, fast-forward merge to main, push to remote, and remove the worktree directory and branch.
|
|
14
|
+
|
|
15
|
+
Only valid for product-level quicks. Milestone-context quicks merge with the milestone via /dgs:complete-milestone.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@~/.claude/deliver-great-systems/workflows/complete-quick.md
|
|
20
|
+
</execution_context>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
$ARGUMENTS
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
Execute the complete-quick workflow from @~/.claude/deliver-great-systems/workflows/complete-quick.md end-to-end.
|
|
28
|
+
</process>
|
|
@@ -14,7 +14,7 @@ Generate a milestone build job that plans and executes all remaining phases, wit
|
|
|
14
14
|
|
|
15
15
|
Purpose: Reads the roadmap, determines which phases still need work, generates the step sequence, shows it for approval, and writes the job file on confirmation.
|
|
16
16
|
|
|
17
|
-
Output: Job file at
|
|
17
|
+
Output: Job file at `jobs/pending/milestone-{version}.md` ready for `/dgs:run-job`.
|
|
18
18
|
</objective>
|
|
19
19
|
|
|
20
20
|
<execution_context>
|
|
@@ -26,7 +26,7 @@ Arguments: $ARGUMENTS
|
|
|
26
26
|
|
|
27
27
|
Flags:
|
|
28
28
|
- `version` (optional): Milestone version (e.g., `v6`). Auto-detects from ROADMAP.md if omitted.
|
|
29
|
-
- `--no-check`: Skip audit-milestone
|
|
29
|
+
- `--no-check`: Skip the audit-milestone step in the generated job.
|
|
30
30
|
|
|
31
31
|
State is resolved in-workflow via `dgs-tools.cjs jobs milestone-preview` and `jobs create-milestone`.
|
|
32
32
|
</context>
|
package/commands/dgs/debug.md
CHANGED
|
@@ -22,7 +22,7 @@ User's issue: $ARGUMENTS
|
|
|
22
22
|
|
|
23
23
|
Check for active sessions:
|
|
24
24
|
```bash
|
|
25
|
-
ls
|
|
25
|
+
ls ${project_root}/debug/*.md 2>/dev/null | grep -v resolved | head -5
|
|
26
26
|
```
|
|
27
27
|
</context>
|
|
28
28
|
|
|
@@ -85,7 +85,7 @@ goal: find_and_fix
|
|
|
85
85
|
</mode>
|
|
86
86
|
|
|
87
87
|
<debug_file>
|
|
88
|
-
Create:
|
|
88
|
+
Create: ${project_root}/debug/{slug}.md
|
|
89
89
|
</debug_file>
|
|
90
90
|
```
|
|
91
91
|
|
|
@@ -130,7 +130,7 @@ Continue debugging {slug}. Evidence is in the debug file.
|
|
|
130
130
|
|
|
131
131
|
<prior_state>
|
|
132
132
|
<files_to_read>
|
|
133
|
-
-
|
|
133
|
+
- ${project_root}/debug/{slug}.md (Debug session state)
|
|
134
134
|
</files_to_read>
|
|
135
135
|
</prior_state>
|
|
136
136
|
|
|
@@ -26,7 +26,7 @@ If discussion concludes that the idea is not viable, research is skipped entirel
|
|
|
26
26
|
|
|
27
27
|
When re-running on an idea with prior history, the user is offered a choice: re-do both, just discuss, or just research.
|
|
28
28
|
|
|
29
|
-
The output is a Discussion Log entry in the idea file, a research document at
|
|
29
|
+
The output is a Discussion Log entry in the idea file, a research document at `${project_root}/docs/ideas/pending/{slug}-research.md`, and a Research Log entry in the idea file -- all committed at appropriate stages.
|
|
30
30
|
</objective>
|
|
31
31
|
|
|
32
32
|
<execution_context>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dgs:diff-report
|
|
3
|
+
description: Generate a diff report (REVIEW.md) on demand for any milestone or quick task
|
|
4
|
+
argument-hint: "[version|--quick slug] [--detailed]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /dgs:diff-report -- On-Demand Diff Report
|
|
11
|
+
|
|
12
|
+
Generate a REVIEW.md on demand without requiring audit-milestone or complete-quick.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/dgs:diff-report -- Auto-detect: active quick task or current milestone
|
|
18
|
+
/dgs:diff-report v21.0 -- Generate for a specific milestone version
|
|
19
|
+
/dgs:diff-report --quick slug -- Generate for a specific quick task
|
|
20
|
+
/dgs:diff-report --detailed -- Use LLM-powered detailed analysis mode
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
<step name="parse_arguments">
|
|
26
|
+
Parse $ARGUMENTS for:
|
|
27
|
+
- A version string (e.g., `v21.0`, `v22.0`) — milestone target
|
|
28
|
+
- `--quick <slug>` — quick task target with explicit slug
|
|
29
|
+
- `--detailed` — pass through to underlying CLI command
|
|
30
|
+
- No arguments — auto-detect mode
|
|
31
|
+
|
|
32
|
+
Store as `TARGET_TYPE` (one of: `milestone`, `quick`, `auto`), `TARGET_VALUE` (version or slug, may be empty), and `DETAILED` (boolean).
|
|
33
|
+
</step>
|
|
34
|
+
|
|
35
|
+
<step name="detect_context">
|
|
36
|
+
**If TARGET_TYPE is `auto`** (no version or --quick specified):
|
|
37
|
+
|
|
38
|
+
Check for an active quick task first:
|
|
39
|
+
```bash
|
|
40
|
+
ACTIVE_QUICK=$(node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" quick generate-review --raw 2>&1)
|
|
41
|
+
QUICK_EXIT=$?
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If `QUICK_EXIT` is 0 and the output contains `"generated": true` or `"fastForward": true`:
|
|
45
|
+
- Set `TARGET_TYPE = quick` (auto-detected)
|
|
46
|
+
- The command already ran and produced the review
|
|
47
|
+
|
|
48
|
+
If `QUICK_EXIT` is non-zero (no active quick task):
|
|
49
|
+
- Set `TARGET_TYPE = milestone` (fall back to current milestone)
|
|
50
|
+
|
|
51
|
+
**If TARGET_TYPE is `milestone`:**
|
|
52
|
+
Use the version argument if provided. Otherwise auto-detection happens inside the CLI command.
|
|
53
|
+
|
|
54
|
+
**If TARGET_TYPE is `quick`:**
|
|
55
|
+
Use the slug argument if provided. Otherwise auto-detection happens inside the CLI command.
|
|
56
|
+
</step>
|
|
57
|
+
|
|
58
|
+
<step name="show_context">
|
|
59
|
+
Display what will be generated before proceeding:
|
|
60
|
+
|
|
61
|
+
**If auto-detected quick task:**
|
|
62
|
+
```
|
|
63
|
+
Generating review for quick task...
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**If milestone (with version):**
|
|
67
|
+
```
|
|
68
|
+
Generating review for milestone {version}...
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**If milestone (auto-detect):**
|
|
72
|
+
```
|
|
73
|
+
Generating review for current milestone...
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**If explicit quick task:**
|
|
77
|
+
```
|
|
78
|
+
Generating review for quick task {slug}...
|
|
79
|
+
```
|
|
80
|
+
</step>
|
|
81
|
+
|
|
82
|
+
<step name="generate">
|
|
83
|
+
Run the appropriate CLI command:
|
|
84
|
+
|
|
85
|
+
**For milestone reports:**
|
|
86
|
+
```bash
|
|
87
|
+
RESULT=$(node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" jobs generate-review ${TARGET_VALUE} ${DETAILED_FLAG} 2>&1)
|
|
88
|
+
EXIT_CODE=$?
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Where `${TARGET_VALUE}` is the version (e.g., `v21.0`) or empty for auto-detect, and `${DETAILED_FLAG}` is `--detailed` if requested or empty.
|
|
92
|
+
|
|
93
|
+
**For quick task reports:**
|
|
94
|
+
```bash
|
|
95
|
+
RESULT=$(node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" quick generate-review ${TARGET_VALUE} ${DETAILED_FLAG} 2>&1)
|
|
96
|
+
EXIT_CODE=$?
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Where `${TARGET_VALUE}` is the slug or empty for auto-detect.
|
|
100
|
+
|
|
101
|
+
Note: If auto-detect already ran the quick command in step 2 and succeeded, skip re-running — use the result from step 2.
|
|
102
|
+
</step>
|
|
103
|
+
|
|
104
|
+
<step name="report">
|
|
105
|
+
**If EXIT_CODE is 0:**
|
|
106
|
+
|
|
107
|
+
Display the result from the CLI command (it includes file path and stats).
|
|
108
|
+
|
|
109
|
+
**If EXIT_CODE is non-zero:**
|
|
110
|
+
|
|
111
|
+
Display the error from the CLI command. The underlying commands already produce actionable error messages:
|
|
112
|
+
- `No version specified and no active job found` — no milestone to generate for
|
|
113
|
+
- `No active quick task found` — no quick task to generate for
|
|
114
|
+
- `No job file found for [version]` — missing job file, need to run a milestone job first
|
|
115
|
+
- `No code changes detected` — fast-forwarded quick task (informational, not an error)
|
|
116
|
+
</step>
|
|
117
|
+
|
|
118
|
+
## Success Criteria
|
|
119
|
+
|
|
120
|
+
- [ ] Auto-detects quick task vs milestone context
|
|
121
|
+
- [ ] Delegates to existing CLI commands (no code duplication)
|
|
122
|
+
- [ ] --detailed flag passed through to underlying command
|
|
123
|
+
- [ ] Shows context line before generating
|
|
124
|
+
- [ ] Error messages are actionable (from underlying CLI commands)
|
package/commands/dgs/fast.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dgs:fast
|
|
3
3
|
description: Make a trivial edit with a single atomic commit — no subagents, no ceremony
|
|
4
|
-
argument-hint: "<description> [--dry-run]"
|
|
4
|
+
argument-hint: "<description> [--dry-run] [--main]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -20,6 +20,8 @@ Make a trivial edit and commit it atomically. Fast mode is the lightest DGS comm
|
|
|
20
20
|
- Warns if scope exceeds 3 files or 30 lines (suggests /dgs:quick instead)
|
|
21
21
|
|
|
22
22
|
**`--dry-run` flag:** Shows proposed changes as a diff, then asks "Apply these changes?" before committing.
|
|
23
|
+
|
|
24
|
+
**`--main` flag:** Forces product-level mode even when a milestone is active. Commits to `base_branch` in the main checkout instead of the milestone worktree.
|
|
23
25
|
</objective>
|
|
24
26
|
|
|
25
27
|
<execution_context>
|
package/commands/dgs/health.md
CHANGED
|
@@ -9,7 +9,7 @@ allowed-tools:
|
|
|
9
9
|
- AskUserQuestion
|
|
10
10
|
---
|
|
11
11
|
<objective>
|
|
12
|
-
Validate
|
|
12
|
+
Validate planning directory integrity and jobs directory structure. Reports actionable issues for both planning health and job management health.
|
|
13
13
|
</objective>
|
|
14
14
|
|
|
15
15
|
<execution_context>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dgs:map-codebase
|
|
3
|
-
description: Analyze registered repos with parallel mapper agents to produce per-repo
|
|
3
|
+
description: Analyze registered repos with parallel mapper agents to produce per-repo codebase/<repo>/ documents and cross-repo analysis
|
|
4
4
|
argument-hint: "[<repo-name>]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -18,9 +18,9 @@ Supports two modes:
|
|
|
18
18
|
- **Refresh mode** (default, no flags): Clears all existing codebase maps and remaps everything from scratch.
|
|
19
19
|
- **Update mode** (`<repo-name>` or `--only <repo-name>`): Re-maps only the specified repo and regenerates unified files from all repos.
|
|
20
20
|
|
|
21
|
-
Reads REPOS.md to discover registered repos, then spawns 4 mapper agents per repo (or just the targeted repo in update mode). Each agent explores the repo's actual path and writes documents directly to
|
|
21
|
+
Reads REPOS.md to discover registered repos, then spawns 4 mapper agents per repo (or just the targeted repo in update mode). Each agent explores the repo's actual path and writes documents directly to `codebase/<repo-name>/`. The orchestrator only receives confirmations.
|
|
22
22
|
|
|
23
|
-
Output:
|
|
23
|
+
Output: codebase/<repo-name>/ folders, each with 7 structured documents about that repo's codebase state, plus 7 unified top-level files synthesized from per-repo content, plus CROSS-REPO.md with cross-repo comparison tables (when 2+ repos).
|
|
24
24
|
</objective>
|
|
25
25
|
|
|
26
26
|
<execution_context>
|
|
@@ -31,7 +31,7 @@ Output: .planning/codebase/<repo-name>/ folders, each with 7 structured document
|
|
|
31
31
|
**Reads REPOS.md** to discover registered repos and their paths.
|
|
32
32
|
|
|
33
33
|
**Load project state if exists:**
|
|
34
|
-
Check for
|
|
34
|
+
Check for ${state_path} - loads context if project already initialized
|
|
35
35
|
|
|
36
36
|
**This command can run:**
|
|
37
37
|
- Before /dgs:new-project (brownfield codebases) - creates codebase maps first
|
|
@@ -60,7 +60,7 @@ Check for .planning/STATE.md - loads context if project already initialized
|
|
|
60
60
|
3. Mode-aware cleanup:
|
|
61
61
|
- Refresh: Delete all existing codebase docs and per-repo subdirectories
|
|
62
62
|
- Update: Delete only the targeted repo's subdirectory (other repos untouched)
|
|
63
|
-
4. Create
|
|
63
|
+
4. Create codebase/<repo-name>/ directories (all repos or just targeted repo)
|
|
64
64
|
5. Spawn 4 parallel dgs-codebase-mapper agents per repo (all run in parallel):
|
|
65
65
|
- Agent 1: tech focus -> writes STACK.md, INTEGRATIONS.md
|
|
66
66
|
- Agent 2: arch focus -> writes ARCHITECTURE.md, STRUCTURE.md
|
|
@@ -78,7 +78,7 @@ Check for .planning/STATE.md - loads context if project already initialized
|
|
|
78
78
|
</process>
|
|
79
79
|
|
|
80
80
|
<success_criteria>
|
|
81
|
-
- [ ]
|
|
81
|
+
- [ ] codebase/<repo-name>/ directories created for each registered repo (or targeted repo in update mode)
|
|
82
82
|
- [ ] All 7 codebase documents written per repo by mapper agents
|
|
83
83
|
- [ ] Documents follow template structure
|
|
84
84
|
- [ ] Parallel agents completed without errors
|
|
@@ -15,11 +15,11 @@ Start a new milestone: questioning → research (optional) → requirements →
|
|
|
15
15
|
Brownfield equivalent of new-project. Project exists, PROJECT.md has history. Gathers "what's next", updates PROJECT.md, then runs requirements → roadmap cycle.
|
|
16
16
|
|
|
17
17
|
**Creates/Updates:**
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
18
|
+
- `${project_path}` — updated with new milestone goals
|
|
19
|
+
- `${project_root}/research/` — domain research (optional, NEW features only)
|
|
20
|
+
- `${project_root}/REQUIREMENTS.md` — scoped requirements for this milestone
|
|
21
|
+
- `${roadmap_path}` — phase structure (continues numbering)
|
|
22
|
+
- `${state_path}` — reset for new milestone
|
|
23
23
|
|
|
24
24
|
**After:** `/dgs:plan-phase [N]` to start execution.
|
|
25
25
|
</objective>
|
|
@@ -1,42 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dgs:new-project
|
|
3
|
-
description: Initialize a new project
|
|
4
|
-
argument-hint: "[
|
|
3
|
+
description: Initialize a new project as a thin skeleton (name + one-liner).
|
|
4
|
+
argument-hint: "[<name>]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Bash
|
|
8
8
|
- Write
|
|
9
|
-
- Task
|
|
10
|
-
- AskUserQuestion
|
|
11
9
|
---
|
|
12
|
-
<context>
|
|
13
|
-
**Flags:**
|
|
14
|
-
- `--auto` — Automatic mode. After config questions, runs research → requirements → roadmap without further interaction. Expects idea document via @ reference.
|
|
15
|
-
</context>
|
|
16
|
-
|
|
17
10
|
<objective>
|
|
18
|
-
Initialize a new project
|
|
11
|
+
Initialize a new project as a thin skeleton. Projects are holders — specs and
|
|
12
|
+
milestones carry the real work.
|
|
19
13
|
|
|
20
14
|
**Creates:**
|
|
21
|
-
-
|
|
22
|
-
- `.planning/config.json` — workflow preferences
|
|
23
|
-
- `.planning/research/` — domain research (optional)
|
|
24
|
-
- `.planning/REQUIREMENTS.md` — scoped requirements
|
|
25
|
-
- `.planning/ROADMAP.md` — phase structure
|
|
26
|
-
- `.planning/STATE.md` — project memory
|
|
15
|
+
- `${project_path}` — thin PROJECT.md (title + one-line placeholder)
|
|
27
16
|
|
|
28
|
-
**After this command:** Run `/dgs:
|
|
17
|
+
**After this command:** Run `/dgs:write-spec` to capture what you're building,
|
|
18
|
+
then `/dgs:new-milestone --auto <spec-id>` to start the first milestone.
|
|
29
19
|
</objective>
|
|
30
20
|
|
|
31
21
|
<execution_context>
|
|
32
22
|
@~/.claude/deliver-great-systems/workflows/new-project.md
|
|
33
|
-
@~/.claude/deliver-great-systems/references/questioning.md
|
|
34
23
|
@~/.claude/deliver-great-systems/references/ui-brand.md
|
|
35
24
|
@~/.claude/deliver-great-systems/templates/project.md
|
|
36
|
-
@~/.claude/deliver-great-systems/templates/requirements.md
|
|
37
25
|
</execution_context>
|
|
38
26
|
|
|
39
27
|
<process>
|
|
40
|
-
Execute the new-project workflow
|
|
41
|
-
Preserve all workflow gates (validation, approvals, commits, routing).
|
|
28
|
+
Execute the new-project workflow end-to-end. Preserve gates (--auto error, commit).
|
|
42
29
|
</process>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dgs:package-scan
|
|
3
|
+
description: Scan all repos for dependency vulnerabilities and licence compliance
|
|
4
|
+
argument-hint: "[--threshold <sev>] [--repo <name>]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Edit
|
|
9
|
+
- Write
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
---
|
|
13
|
+
<objective>
|
|
14
|
+
Scan all registered repos and the product root for dependency vulnerabilities via a tool cascade (Snyk → OSV-Scanner → ecosystem-native). Produces a markdown report with YAML frontmatter (programmatic consumption) and a human-readable body, committed atomically to the active phase directory / active milestone / project root depending on lifecycle context.
|
|
15
|
+
|
|
16
|
+
Purpose: Surface known CVEs and licence compliance issues across every language ecosystem in the project within seconds, with no configuration beyond REPOS.md.
|
|
17
|
+
|
|
18
|
+
Output: `{phase-dir}/{phase}-PACKAGE-SCAN.md` (when run during a phase), or `milestones/v{X}.{Y}-PACKAGE-SCAN.md` (during a milestone), or `PACKAGE-SCAN-{YYYY-MM-DD-HHmm}.md` at project root (standalone). The report is atomically committed via `dgs-tools commit --files`.
|
|
19
|
+
</objective>
|
|
20
|
+
|
|
21
|
+
<execution_context>
|
|
22
|
+
@~/.claude/deliver-great-systems/workflows/package-scan.md
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
Arguments: $ARGUMENTS
|
|
27
|
+
|
|
28
|
+
**Flags** (Phase 153 will wire these; the command accepts them silently now):
|
|
29
|
+
- `--threshold <sev>` — filter to findings at `<sev>` severity or higher (critical/high/medium/low)
|
|
30
|
+
- `--repo <name>` — scan a single repo by name (must match REPOS.md entry)
|
|
31
|
+
|
|
32
|
+
**Config keys** (see `deliver-great-systems/references/package-scan-config.md`):
|
|
33
|
+
- `testing.packages.tool` — `auto` (default), `snyk`, `osv`, or `native`
|
|
34
|
+
- `testing.packages.severity_threshold` — minimum severity to include
|
|
35
|
+
- `testing.packages.include_dev_dependencies` — boolean, default `true`
|
|
36
|
+
- `testing.packages.timeout_seconds` — integer, default 300
|
|
37
|
+
- `testing.packages.snyk_token` — local-only (use `dgs-tools config-local-set`)
|
|
38
|
+
</context>
|
|
39
|
+
|
|
40
|
+
<process>
|
|
41
|
+
Execute the package-scan workflow from @~/.claude/deliver-great-systems/workflows/package-scan.md end-to-end.
|
|
42
|
+
Preserve all workflow gates (init, scan invocation, report-write-and-commit composition).
|
|
43
|
+
</process>
|