domain-knowledge-kit 0.2.11 → 0.2.13
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/dist/cli.js +41 -10
- package/dist/cli.js.map +1 -1
- package/dist/features/agent/commands/init.d.ts.map +1 -1
- package/dist/features/agent/commands/init.js +78 -21
- package/dist/features/agent/commands/init.js.map +1 -1
- package/dist/features/agent/commands/prime.d.ts.map +1 -1
- package/dist/features/agent/commands/prime.js +22 -13
- package/dist/features/agent/commands/prime.js.map +1 -1
- package/dist/features/audit/commands/stats.js +1 -1
- package/dist/features/audit/commands/stats.js.map +1 -1
- package/dist/features/pipeline/renderer.d.ts.map +1 -1
- package/dist/features/pipeline/renderer.js +4 -0
- package/dist/features/pipeline/renderer.js.map +1 -1
- package/dist/features/pipeline/validator.d.ts.map +1 -1
- package/dist/features/pipeline/validator.js +15 -14
- package/dist/features/pipeline/validator.js.map +1 -1
- package/dist/features/query/commands/graph.d.ts +10 -0
- package/dist/features/query/commands/graph.d.ts.map +1 -1
- package/dist/features/query/commands/graph.js +121 -3
- package/dist/features/query/commands/graph.js.map +1 -1
- package/dist/features/query/commands/list.d.ts.map +1 -1
- package/dist/features/query/commands/list.js +3 -1
- package/dist/features/query/commands/list.js.map +1 -1
- package/dist/features/query/commands/locate.d.ts +3 -0
- package/dist/features/query/commands/locate.d.ts.map +1 -0
- package/dist/features/query/commands/locate.js +96 -0
- package/dist/features/query/commands/locate.js.map +1 -0
- package/dist/features/query/commands/related.js +1 -1
- package/dist/features/query/commands/related.js.map +1 -1
- package/dist/features/query/commands/search.js +1 -1
- package/dist/features/query/commands/search.js.map +1 -1
- package/dist/features/query/commands/show.js +1 -1
- package/dist/features/query/commands/show.js.map +1 -1
- package/dist/features/query/commands/story.d.ts +12 -0
- package/dist/features/query/commands/story.d.ts.map +1 -0
- package/dist/features/query/commands/story.js +337 -0
- package/dist/features/query/commands/story.js.map +1 -0
- package/dist/features/query/commands/summary.js +1 -1
- package/dist/features/query/commands/summary.js.map +1 -1
- package/dist/features/refactor/commands/move.d.ts.map +1 -1
- package/dist/features/refactor/commands/move.js +1 -1
- package/dist/features/refactor/commands/move.js.map +1 -1
- package/dist/features/refactor/commands/rename.d.ts.map +1 -1
- package/dist/features/refactor/commands/rename.js +1 -1
- package/dist/features/refactor/commands/rename.js.map +1 -1
- package/dist/features/refactor/commands/rm.d.ts.map +1 -1
- package/dist/features/refactor/commands/rm.js +1 -1
- package/dist/features/refactor/commands/rm.js.map +1 -1
- package/dist/features/scaffold/commands/add-item.d.ts +2 -13
- package/dist/features/scaffold/commands/add-item.d.ts.map +1 -1
- package/dist/features/scaffold/commands/add-item.js +34 -110
- package/dist/features/scaffold/commands/add-item.js.map +1 -1
- package/dist/features/scaffold/commands/new-adr.d.ts.map +1 -1
- package/dist/features/scaffold/commands/new-adr.js +1 -20
- package/dist/features/scaffold/commands/new-adr.js.map +1 -1
- package/dist/shared/paths.d.ts +7 -0
- package/dist/shared/paths.d.ts.map +1 -1
- package/dist/shared/paths.js +9 -0
- package/dist/shared/paths.js.map +1 -1
- package/dist/shared/similarity.d.ts +3 -0
- package/dist/shared/similarity.d.ts.map +1 -0
- package/dist/shared/similarity.js +52 -0
- package/dist/shared/similarity.js.map +1 -0
- package/package.json +1 -1
- package/tools/dkk/templates/index.md.hbs +4 -0
- package/dist/features/adr/commands/adr-related.d.ts +0 -14
- package/dist/features/adr/commands/adr-related.d.ts.map +0 -1
- package/dist/features/adr/commands/adr-related.js +0 -147
- package/dist/features/adr/commands/adr-related.js.map +0 -1
- package/dist/features/adr/commands/adr-show.d.ts +0 -10
- package/dist/features/adr/commands/adr-show.d.ts.map +0 -1
- package/dist/features/adr/commands/adr-show.js +0 -31
- package/dist/features/adr/commands/adr-show.js.map +0 -1
- package/dist/features/scaffold/wiring.d.ts +0 -29
- package/dist/features/scaffold/wiring.d.ts.map +0 -1
- package/dist/features/scaffold/wiring.js +0 -180
- package/dist/features/scaffold/wiring.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `dkk add <type> <name> --context <ctx>` command — scaffold individual domain items.
|
|
3
3
|
*
|
|
4
|
-
* Supported types: event, command, aggregate, policy,
|
|
4
|
+
* Supported types: event, command, aggregate, policy, read_model, glossary, actor
|
|
5
5
|
*
|
|
6
|
-
* For file-based types (event, command, aggregate, policy,
|
|
6
|
+
* For file-based types (event, command, aggregate, policy, read_model):
|
|
7
7
|
* Creates `.dkk/domain/contexts/<ctx>/<type-plural>/<Name>.yml`
|
|
8
8
|
*
|
|
9
9
|
* For glossary:
|
|
@@ -14,16 +14,5 @@
|
|
|
14
14
|
* Appends entry to `.dkk/domain/actors.yml` (global actors file).
|
|
15
15
|
*/
|
|
16
16
|
import type { Command as Cmd } from "commander";
|
|
17
|
-
export interface AddItemRelations {
|
|
18
|
-
raisedBy?: string;
|
|
19
|
-
handledBy?: string;
|
|
20
|
-
actor?: string;
|
|
21
|
-
triggers?: string[];
|
|
22
|
-
emits?: string[];
|
|
23
|
-
handles?: string[];
|
|
24
|
-
subscribesTo?: string[];
|
|
25
|
-
usedBy?: string[];
|
|
26
|
-
fromObj?: Record<string, unknown>;
|
|
27
|
-
}
|
|
28
17
|
export declare function registerAddItem(program: Cmd): void;
|
|
29
18
|
//# sourceMappingURL=add-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/add-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/add-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAkGhD,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAwJlD"}
|
|
@@ -2,9 +2,6 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { contextsDir, actorsFile } from "../../../shared/paths.js";
|
|
4
4
|
import { parseYaml, stringifyYaml } from "../../../shared/yaml.js";
|
|
5
|
-
import { loadDomainModel } from "../../../shared/loader.js";
|
|
6
|
-
import { DomainGraph } from "../../../shared/graph.js";
|
|
7
|
-
import { wireNewItem } from "../wiring.js";
|
|
8
5
|
// ── Constants ─────────────────────────────────────────────────────────
|
|
9
6
|
/** Supported item types and their plural directory names. */
|
|
10
7
|
const TYPE_DIR_MAP = {
|
|
@@ -12,78 +9,67 @@ const TYPE_DIR_MAP = {
|
|
|
12
9
|
command: "commands",
|
|
13
10
|
aggregate: "aggregates",
|
|
14
11
|
policy: "policies",
|
|
15
|
-
|
|
12
|
+
read_model: "read-models",
|
|
16
13
|
};
|
|
17
14
|
/** All supported item types (including glossary and actor which are handled differently). */
|
|
18
15
|
const SUPPORTED_TYPES = [...Object.keys(TYPE_DIR_MAP), "glossary", "actor"];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
out += `fields:\n${stringifyYaml(rel.fromObj.fields).trimEnd().split('\n').map(l => ` ${l}`).join('\n')}\n`;
|
|
23
|
-
if (rel.raisedBy)
|
|
24
|
-
out += `raised_by: ${rel.raisedBy}\n`;
|
|
25
|
-
return out;
|
|
16
|
+
// ── YAML generators ──────────────────────────────────────────────────
|
|
17
|
+
function eventYaml(name, description) {
|
|
18
|
+
return `name: ${name}\ndescription: "${description}"\n`;
|
|
26
19
|
}
|
|
27
|
-
function commandYaml(name, description
|
|
28
|
-
|
|
29
|
-
if (rel.fromObj?.fields)
|
|
30
|
-
out += `fields:\n${stringifyYaml(rel.fromObj.fields).trimEnd().split('\n').map(l => ` ${l}`).join('\n')}\n`;
|
|
31
|
-
if (rel.actor)
|
|
32
|
-
out += `actor: ${rel.actor}\n`;
|
|
33
|
-
if (rel.handledBy)
|
|
34
|
-
out += `handled_by: ${rel.handledBy}\n`;
|
|
35
|
-
return out;
|
|
20
|
+
function commandYaml(name, description) {
|
|
21
|
+
return `name: ${name}\ndescription: "${description}"\n`;
|
|
36
22
|
}
|
|
37
|
-
function aggregateYaml(name, description
|
|
38
|
-
const handles = rel.handles?.length ? rel.handles.map(h => ` - ${h}`).join('\n') : " []";
|
|
39
|
-
const emits = rel.emits?.length ? rel.emits.map(e => ` - ${e}`).join('\n') : " []";
|
|
23
|
+
function aggregateYaml(name, description) {
|
|
40
24
|
return [
|
|
41
25
|
`name: ${name}`,
|
|
42
26
|
`description: "${description}"`,
|
|
43
27
|
"handles:",
|
|
44
|
-
|
|
28
|
+
" commands:",
|
|
29
|
+
" []",
|
|
45
30
|
"emits:",
|
|
46
|
-
|
|
31
|
+
" events:",
|
|
32
|
+
" []",
|
|
47
33
|
"",
|
|
48
34
|
].join("\n");
|
|
49
35
|
}
|
|
50
|
-
function policyYaml(name, description
|
|
51
|
-
const triggers = rel.triggers?.length ? rel.triggers.map(t => ` - ${t}`).join('\n') : " []";
|
|
52
|
-
const emits = rel.emits?.length ? rel.emits.map(e => ` - ${e}`).join('\n') : " []";
|
|
36
|
+
function policyYaml(name, description) {
|
|
53
37
|
return [
|
|
54
38
|
`name: ${name}`,
|
|
55
39
|
`description: "${description}"`,
|
|
56
40
|
"when:",
|
|
57
|
-
|
|
41
|
+
" events:",
|
|
42
|
+
" []",
|
|
58
43
|
"then:",
|
|
59
|
-
|
|
44
|
+
" commands:",
|
|
45
|
+
" []",
|
|
60
46
|
"",
|
|
61
47
|
].join("\n");
|
|
62
48
|
}
|
|
63
|
-
function readModelYaml(name, description
|
|
64
|
-
const subs = rel.subscribesTo?.length ? rel.subscribesTo.map(s => ` - ${s}`).join('\n') : " []";
|
|
65
|
-
const users = rel.usedBy?.length ? rel.usedBy.map(u => ` - ${u}`).join('\n') : " []";
|
|
49
|
+
function readModelYaml(name, description) {
|
|
66
50
|
return [
|
|
67
51
|
`name: ${name}`,
|
|
68
52
|
`description: "${description}"`,
|
|
69
|
-
|
|
70
|
-
|
|
53
|
+
"subscribes_to:",
|
|
54
|
+
" []",
|
|
55
|
+
"used_by:",
|
|
56
|
+
" []",
|
|
71
57
|
"",
|
|
72
58
|
].join("\n");
|
|
73
59
|
}
|
|
74
60
|
/** Return YAML content for a file-based item type. */
|
|
75
|
-
function generateYaml(type, name, description
|
|
61
|
+
function generateYaml(type, name, description) {
|
|
76
62
|
switch (type) {
|
|
77
63
|
case "event":
|
|
78
|
-
return eventYaml(name, description
|
|
64
|
+
return eventYaml(name, description);
|
|
79
65
|
case "command":
|
|
80
|
-
return commandYaml(name, description
|
|
66
|
+
return commandYaml(name, description);
|
|
81
67
|
case "aggregate":
|
|
82
|
-
return aggregateYaml(name, description
|
|
68
|
+
return aggregateYaml(name, description);
|
|
83
69
|
case "policy":
|
|
84
|
-
return policyYaml(name, description
|
|
85
|
-
case "
|
|
86
|
-
return readModelYaml(name, description
|
|
70
|
+
return policyYaml(name, description);
|
|
71
|
+
case "read_model":
|
|
72
|
+
return readModelYaml(name, description);
|
|
87
73
|
default:
|
|
88
74
|
throw new Error(`Unknown type: ${type}`);
|
|
89
75
|
}
|
|
@@ -94,30 +80,20 @@ function isValidItemName(name) {
|
|
|
94
80
|
return /^[A-Za-z][A-Za-z0-9]*$/.test(name);
|
|
95
81
|
}
|
|
96
82
|
// ── Registration ──────────────────────────────────────────────────────
|
|
97
|
-
function parseCsv(val) {
|
|
98
|
-
return val.split(',').map(s => s.trim()).filter(Boolean);
|
|
99
|
-
}
|
|
100
83
|
export function registerAddItem(program) {
|
|
101
84
|
program
|
|
102
85
|
.command("add <type> <name>")
|
|
103
|
-
.description(
|
|
86
|
+
.description("Scaffold a basic domain item")
|
|
104
87
|
.requiredOption("-c, --context <ctx>", "Target bounded context (kebab-case)")
|
|
105
88
|
.option("-d, --description <text>", "Description of the item")
|
|
106
|
-
.option("--raised-by <id>", "Aggregate that raises this event")
|
|
107
|
-
.option("--handled-by <id>", "Aggregate that handles this command")
|
|
108
|
-
.option("--actor <id>", "Actor that initiates this command")
|
|
109
|
-
.option("--triggers <ids>", "Events that trigger this policy (comma-separated)", parseCsv)
|
|
110
|
-
.option("--emits <ids>", "Commands emitted by policy / events emitted by aggregate (comma-separated)", parseCsv)
|
|
111
|
-
.option("--handles <ids>", "Commands handled by aggregate (comma-separated)", parseCsv)
|
|
112
|
-
.option("--subscribes-to <ids>", "Events subscribed to by read-model (comma-separated)", parseCsv)
|
|
113
|
-
.option("--used-by <ids>", "Actors that use this read-model (comma-separated)", parseCsv)
|
|
114
|
-
.option("--from <id>", "Clone structure from existing item ID")
|
|
115
89
|
.option("--actor-type <type>", "Actor type: human, system, external (only for actor)")
|
|
116
|
-
.option("--no-wire", "Skip automatic bidirectional relationship wiring")
|
|
117
90
|
.option("--json", "Output as JSON")
|
|
118
91
|
.option("--minify", "Minify JSON output")
|
|
119
92
|
.option("-r, --root <path>", "Override repository root")
|
|
120
93
|
.action((type, name, opts) => {
|
|
94
|
+
// Alias read-model to read_model
|
|
95
|
+
if (type === "read-model")
|
|
96
|
+
type = "read_model";
|
|
121
97
|
// Validate type
|
|
122
98
|
if (!SUPPORTED_TYPES.includes(type)) {
|
|
123
99
|
console.error(`Error: Unknown item type "${type}". Supported types: ${SUPPORTED_TYPES.join(", ")}`);
|
|
@@ -172,7 +148,7 @@ export function registerAddItem(program) {
|
|
|
172
148
|
console.error(`Error: Context "${opts.context}" does not exist. No context.yml found at ${contextYmlPath}.`);
|
|
173
149
|
process.exit(1);
|
|
174
150
|
}
|
|
175
|
-
|
|
151
|
+
const description = opts.description ?? `TODO: describe ${name}`;
|
|
176
152
|
// Handle glossary separately — append to context.yml
|
|
177
153
|
if (type === "glossary") {
|
|
178
154
|
const raw = readFileSync(contextYmlPath, "utf-8");
|
|
@@ -190,30 +166,6 @@ export function registerAddItem(program) {
|
|
|
190
166
|
console.log(`Added glossary entry "${name}" to context "${opts.context}" in context.yml.`);
|
|
191
167
|
return;
|
|
192
168
|
}
|
|
193
|
-
// Handle --from templating
|
|
194
|
-
let fromObj = undefined;
|
|
195
|
-
if (opts.from) {
|
|
196
|
-
const model = loadDomainModel({ root: opts.root });
|
|
197
|
-
const graph = DomainGraph.from(model);
|
|
198
|
-
if (!graph.hasNode(opts.from)) {
|
|
199
|
-
console.error(`Error: --from target '${opts.from}' not found.`);
|
|
200
|
-
process.exit(1);
|
|
201
|
-
}
|
|
202
|
-
// For cloning fields, we need the actual Yaml representation
|
|
203
|
-
// We can re-use the load function but doing it manually is tedious.
|
|
204
|
-
// Since we know the context and name, we can just parse the file directly:
|
|
205
|
-
const [fromCtx, fromName] = opts.from.split('.');
|
|
206
|
-
const fromKind = graph.nodes.get(opts.from)?.kind ?? 'event';
|
|
207
|
-
if (TYPE_DIR_MAP[fromKind]) {
|
|
208
|
-
const fromPath = join(ctxBase, fromCtx, TYPE_DIR_MAP[fromKind], `${fromName}.yml`);
|
|
209
|
-
if (existsSync(fromPath)) {
|
|
210
|
-
fromObj = parseYaml(readFileSync(fromPath, 'utf-8'));
|
|
211
|
-
if (!opts.description && fromObj.description) {
|
|
212
|
-
description = fromObj.description;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
169
|
// File-based types
|
|
218
170
|
const dirName = TYPE_DIR_MAP[type];
|
|
219
171
|
const typeDir = join(ctxDir, dirName);
|
|
@@ -230,48 +182,20 @@ export function registerAddItem(program) {
|
|
|
230
182
|
}
|
|
231
183
|
// Create type subdirectory if needed
|
|
232
184
|
mkdirSync(typeDir, { recursive: true });
|
|
233
|
-
const rel = {
|
|
234
|
-
raisedBy: opts.raisedBy,
|
|
235
|
-
handledBy: opts.handledBy,
|
|
236
|
-
actor: opts.actor,
|
|
237
|
-
triggers: opts.triggers,
|
|
238
|
-
emits: opts.emits,
|
|
239
|
-
handles: opts.handles,
|
|
240
|
-
subscribesTo: opts.subscribesTo,
|
|
241
|
-
usedBy: opts.usedBy,
|
|
242
|
-
fromObj: fromObj
|
|
243
|
-
};
|
|
244
185
|
// Write YAML file
|
|
245
|
-
const yaml = generateYaml(type, name, description
|
|
186
|
+
const yaml = generateYaml(type, name, description);
|
|
246
187
|
writeFileSync(filePath, yaml, "utf-8");
|
|
247
|
-
// Bidirectional wiring (opt-out with --no-wire)
|
|
248
|
-
const wireResult = opts.wire !== false
|
|
249
|
-
? wireNewItem({
|
|
250
|
-
type,
|
|
251
|
-
name,
|
|
252
|
-
context: opts.context,
|
|
253
|
-
raisedBy: opts.raisedBy,
|
|
254
|
-
handledBy: opts.handledBy,
|
|
255
|
-
handles: opts.handles,
|
|
256
|
-
emits: opts.emits,
|
|
257
|
-
root: opts.root,
|
|
258
|
-
})
|
|
259
|
-
: { wired: [], skipped: [] };
|
|
260
188
|
if (opts.json) {
|
|
261
189
|
console.log(JSON.stringify({
|
|
262
190
|
id: `${opts.context}.${name}`,
|
|
263
191
|
path: filePath,
|
|
264
192
|
type,
|
|
265
193
|
name,
|
|
266
|
-
wired: wireResult.wired,
|
|
267
194
|
}, null, opts.minify ? 0 : 2));
|
|
268
195
|
return;
|
|
269
196
|
}
|
|
270
197
|
console.log(`Created ${type} "${name}" in context "${opts.context}":`);
|
|
271
198
|
console.log(` ${filePath}`);
|
|
272
|
-
for (const w of wireResult.wired) {
|
|
273
|
-
console.log(` Wired: ${w}`);
|
|
274
|
-
}
|
|
275
199
|
});
|
|
276
200
|
}
|
|
277
201
|
//# sourceMappingURL=add-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-item.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/add-item.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add-item.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/add-item.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-adr.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-adr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"new-adr.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-adr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAyChD,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CA6EjD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { adrDir } from "../../../shared/paths.js";
|
|
4
|
-
import { wireAdrRefs } from "../wiring.js";
|
|
5
4
|
/** Scan existing adr-NNNN.md files and return the next number. */
|
|
6
5
|
function nextAdrNumber(dir) {
|
|
7
6
|
if (!existsSync(dir))
|
|
@@ -30,13 +29,6 @@ function today() {
|
|
|
30
29
|
const day = String(d.getDate()).padStart(2, "0");
|
|
31
30
|
return `${year}-${month}-${day}`;
|
|
32
31
|
}
|
|
33
|
-
/** Convert a title to a kebab-case slug for the filename hint. */
|
|
34
|
-
function slugify(title) {
|
|
35
|
-
return title
|
|
36
|
-
.toLowerCase()
|
|
37
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
38
|
-
.replace(/^-|-$/g, "");
|
|
39
|
-
}
|
|
40
32
|
function parseCsv(val) {
|
|
41
33
|
return val.split(',').map(s => s.trim()).filter(Boolean);
|
|
42
34
|
}
|
|
@@ -48,7 +40,6 @@ export function registerNewAdr(program) {
|
|
|
48
40
|
.option("-s, --status <status>", "ADR status (proposed, accepted, deprecated)", "proposed")
|
|
49
41
|
.option("--domain-refs <ids>", "Domain references (comma-separated)", parseCsv)
|
|
50
42
|
.option("--deciders <names>", "Deciders (comma-separated)", parseCsv)
|
|
51
|
-
.option("--no-wire", "Skip automatic adr_refs wiring on referenced domain items")
|
|
52
43
|
.option("--json", "Output as JSON")
|
|
53
44
|
.option("--minify", "Minify JSON")
|
|
54
45
|
.action((title, opts) => {
|
|
@@ -64,12 +55,10 @@ export function registerNewAdr(program) {
|
|
|
64
55
|
const id = `adr-${pad4(num)}`;
|
|
65
56
|
const filename = `${id}.md`;
|
|
66
57
|
const filePath = join(dir, filename);
|
|
67
|
-
// Guard: should not happen with auto-numbering, but be safe
|
|
68
58
|
if (existsSync(filePath)) {
|
|
69
59
|
console.error(`Error: ${filePath} already exists.`);
|
|
70
60
|
process.exit(1);
|
|
71
61
|
}
|
|
72
|
-
const _slug = slugify(title);
|
|
73
62
|
const decidersStr = opts.deciders?.length ? opts.deciders.map(d => `\n - "${d}"`).join('') : " []";
|
|
74
63
|
const domainRefsStr = opts.domainRefs?.length ? opts.domainRefs.map(r => `\n - ${r}`).join('') : " []";
|
|
75
64
|
const content = `---
|
|
@@ -99,24 +88,16 @@ domain_refs:${domainRefsStr}
|
|
|
99
88
|
<!-- What becomes easier or harder as a result of this decision? -->
|
|
100
89
|
`;
|
|
101
90
|
writeFileSync(filePath, content, "utf-8");
|
|
102
|
-
// Bidirectional wiring: add `id` to each domain item's adr_refs (opt-out with --no-wire)
|
|
103
|
-
const wireResult = opts.wire !== false && opts.domainRefs?.length
|
|
104
|
-
? wireAdrRefs(id, opts.domainRefs, opts.root)
|
|
105
|
-
: { wired: [], skipped: [] };
|
|
106
91
|
if (opts.json) {
|
|
107
92
|
console.log(JSON.stringify({
|
|
108
93
|
id,
|
|
109
94
|
path: filePath,
|
|
110
|
-
title
|
|
111
|
-
wired: wireResult.wired,
|
|
95
|
+
title
|
|
112
96
|
}, null, opts.minify ? 0 : 2));
|
|
113
97
|
return;
|
|
114
98
|
}
|
|
115
99
|
console.log(`Created ${filename}`);
|
|
116
100
|
console.log(` .dkk/adr/${filename}`);
|
|
117
|
-
for (const w of wireResult.wired) {
|
|
118
|
-
console.log(` Wired: ${w}`);
|
|
119
|
-
}
|
|
120
101
|
});
|
|
121
102
|
}
|
|
122
103
|
//# sourceMappingURL=new-adr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-adr.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-adr.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"new-adr.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-adr.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/paths.d.ts
CHANGED
|
@@ -45,6 +45,13 @@ export declare function templatesDir(): string;
|
|
|
45
45
|
* schemas are found regardless of the user's working directory.
|
|
46
46
|
*/
|
|
47
47
|
export declare function schemaDir(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Absolute path to the `.github/skills/` directory bundled inside the
|
|
50
|
+
* DKK package installation.
|
|
51
|
+
*
|
|
52
|
+
* Used by `dkk init --skills` to copy skill files into a user's project.
|
|
53
|
+
*/
|
|
54
|
+
export declare function packageSkillsDir(): string;
|
|
48
55
|
/**
|
|
49
56
|
* Turn an absolute path into a repo-relative POSIX path
|
|
50
57
|
* (forward slashes, no leading `./`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE"}
|
package/dist/shared/paths.js
CHANGED
|
@@ -82,6 +82,15 @@ export function templatesDir() {
|
|
|
82
82
|
export function schemaDir() {
|
|
83
83
|
return join(packageRoot(), "tools", "dkk", "schema");
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Absolute path to the `.github/skills/` directory bundled inside the
|
|
87
|
+
* DKK package installation.
|
|
88
|
+
*
|
|
89
|
+
* Used by `dkk init --skills` to copy skill files into a user's project.
|
|
90
|
+
*/
|
|
91
|
+
export function packageSkillsDir() {
|
|
92
|
+
return join(packageRoot(), ".github", "skills");
|
|
93
|
+
}
|
|
85
94
|
/**
|
|
86
95
|
* Turn an absolute path into a repo-relative POSIX path
|
|
87
96
|
* (forward slashes, no leading `./`).
|
package/dist/shared/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW;IACzB,oDAAoD;IACpD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAiB;IACxC,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAa;IACzD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW;IACzB,oDAAoD;IACpD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAiB;IACxC,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAa;IACzD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../../src/shared/similarity.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgCxD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAsB/E"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export function levenshtein(a, b) {
|
|
2
|
+
if (a.length === 0)
|
|
3
|
+
return b.length;
|
|
4
|
+
if (b.length === 0)
|
|
5
|
+
return a.length;
|
|
6
|
+
const matrix = [];
|
|
7
|
+
// increment along the first column of each row
|
|
8
|
+
for (let i = 0; i <= b.length; i++) {
|
|
9
|
+
matrix[i] = [i];
|
|
10
|
+
}
|
|
11
|
+
// increment each column in the first row
|
|
12
|
+
for (let j = 0; j <= a.length; j++) {
|
|
13
|
+
matrix[0][j] = j;
|
|
14
|
+
}
|
|
15
|
+
// Fill in the rest of the matrix
|
|
16
|
+
for (let i = 1; i <= b.length; i++) {
|
|
17
|
+
for (let j = 1; j <= a.length; j++) {
|
|
18
|
+
if (b.charAt(i - 1) === a.charAt(j - 1)) {
|
|
19
|
+
matrix[i][j] = matrix[i - 1][j - 1];
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
|
|
23
|
+
matrix[i][j - 1] + 1, // insertion
|
|
24
|
+
matrix[i - 1][j] + 1 // deletion
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return matrix[b.length][a.length];
|
|
30
|
+
}
|
|
31
|
+
export function didYouMean(target, candidates) {
|
|
32
|
+
const c = Array.from(candidates);
|
|
33
|
+
if (c.length === 0)
|
|
34
|
+
return "";
|
|
35
|
+
// Calculate distance, sort to find top matches
|
|
36
|
+
const scored = c.map(word => {
|
|
37
|
+
// Optional: compare based on last segment for dot-separated IDs,
|
|
38
|
+
// but the ticket says "unknown context paymnts", so exact is fine.
|
|
39
|
+
return {
|
|
40
|
+
word,
|
|
41
|
+
distance: levenshtein(target.toLowerCase(), word.toLowerCase())
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
scored.sort((a, b) => a.distance - b.distance);
|
|
45
|
+
// Filter for 'reasonable' confidence. Rule of thumb: distance should be <= 3 and <= 40% of length
|
|
46
|
+
const threshold = Math.min(3, Math.max(1, Math.floor(target.length * 0.4)));
|
|
47
|
+
const valid = scored.filter(s => s.distance <= threshold).slice(0, 3);
|
|
48
|
+
if (valid.length === 0)
|
|
49
|
+
return "";
|
|
50
|
+
return ` Did you mean ${valid.map(v => `"${v.word}"`).join(" or ")}?`;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=similarity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similarity.js","sourceRoot":"","sources":["../../src/shared/similarity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `domain adr related <id>` command — bidirectional domain-ADR links.
|
|
3
|
-
*
|
|
4
|
-
* For a given ADR or domain item, finds all linked items in the
|
|
5
|
-
* opposite direction:
|
|
6
|
-
*
|
|
7
|
-
* - ADR → domain items that reference it (via adr_refs)
|
|
8
|
-
* - Domain item → ADRs that reference it (via domain_refs) + ADRs
|
|
9
|
-
* listed in its own adr_refs
|
|
10
|
-
*/
|
|
11
|
-
import type { Command as Cmd } from "commander";
|
|
12
|
-
/** Register the `adr related` subcommand on an `adr` parent command. */
|
|
13
|
-
export declare function registerAdrRelated(adrCmd: Cmd): void;
|
|
14
|
-
//# sourceMappingURL=adr-related.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adr-related.d.ts","sourceRoot":"","sources":["../../../../src/features/adr/commands/adr-related.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAoEhD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAmGpD"}
|