domain-knowledge-kit 0.2.7 → 0.2.8
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/README.md +45 -27
- package/dist/cli.js +13 -0
- 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 +3 -2
- package/dist/features/agent/commands/init.js.map +1 -1
- package/dist/features/agent/commands/prime.d.ts +4 -1
- package/dist/features/agent/commands/prime.d.ts.map +1 -1
- package/dist/features/agent/commands/prime.js +213 -61
- package/dist/features/agent/commands/prime.js.map +1 -1
- package/dist/features/pipeline/renderer.js +1 -1
- package/dist/features/pipeline/renderer.js.map +1 -1
- package/dist/features/pipeline/tests/indexer.test.js +5 -5
- package/dist/features/pipeline/tests/indexer.test.js.map +1 -1
- package/dist/features/pipeline/tests/validator.test.js +25 -25
- package/dist/features/pipeline/tests/validator.test.js.map +1 -1
- package/dist/features/query/commands/search.d.ts +3 -0
- package/dist/features/query/commands/search.d.ts.map +1 -1
- package/dist/features/query/commands/search.js +29 -8
- package/dist/features/query/commands/search.js.map +1 -1
- package/dist/features/query/tests/searcher.test.js +5 -5
- package/dist/features/query/tests/searcher.test.js.map +1 -1
- package/dist/features/scaffold/commands/add-item.d.ts +15 -0
- package/dist/features/scaffold/commands/add-item.d.ts.map +1 -0
- package/dist/features/scaffold/commands/add-item.js +125 -0
- package/dist/features/scaffold/commands/add-item.js.map +1 -0
- package/dist/features/scaffold/commands/new-adr.d.ts +12 -0
- package/dist/features/scaffold/commands/new-adr.d.ts.map +1 -0
- package/dist/features/scaffold/commands/new-adr.js +95 -0
- package/dist/features/scaffold/commands/new-adr.js.map +1 -0
- package/dist/features/scaffold/commands/new-context.d.ts +17 -0
- package/dist/features/scaffold/commands/new-context.d.ts.map +1 -0
- package/dist/features/scaffold/commands/new-context.js +67 -0
- package/dist/features/scaffold/commands/new-context.js.map +1 -0
- package/dist/features/scaffold/commands/new-domain.d.ts +14 -0
- package/dist/features/scaffold/commands/new-domain.d.ts.map +1 -0
- package/dist/features/scaffold/commands/new-domain.js +86 -0
- package/dist/features/scaffold/commands/new-domain.js.map +1 -0
- package/dist/shared/errors.js +1 -1
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/loader.js +2 -2
- package/dist/shared/paths.d.ts +32 -11
- package/dist/shared/paths.d.ts.map +1 -1
- package/dist/shared/paths.js +49 -19
- package/dist/shared/paths.js.map +1 -1
- package/dist/shared/tests/graph.test.js +9 -9
- package/dist/shared/tests/graph.test.js.map +1 -1
- package/dist/shared/tests/loader.test.js +20 -20
- package/dist/shared/tests/loader.test.js.map +1 -1
- package/dist/shared/tests/verify-collision-fix.test.js +1 -1
- package/dist/shared/tests/verify-collision-fix.test.js.map +1 -1
- package/dist/shared/types/domain.d.ts +4 -4
- package/dist/shared/types/domain.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,30 +18,41 @@ Domain Knowledge Kit (DKK) is a CLI tool for teams practicing Domain-Driven Desi
|
|
|
18
18
|
# Install
|
|
19
19
|
npm install -g domain-knowledge-kit
|
|
20
20
|
|
|
21
|
-
# Create a bounded context
|
|
22
|
-
|
|
21
|
+
# Create a bounded context (per-item directory format)
|
|
22
|
+
mkdir -p .dkk/domain/contexts/ordering/{events,commands,aggregates}
|
|
23
|
+
|
|
24
|
+
# Context metadata
|
|
25
|
+
cat > .dkk/domain/contexts/ordering/context.yml << 'EOF'
|
|
23
26
|
name: ordering
|
|
24
27
|
description: Handles customer order lifecycle.
|
|
25
|
-
events:
|
|
26
|
-
- name: OrderPlaced
|
|
27
|
-
description: Raised when a customer order is confirmed.
|
|
28
|
-
raised_by: Order
|
|
29
|
-
commands:
|
|
30
|
-
- name: PlaceOrder
|
|
31
|
-
description: Submit a new customer order.
|
|
32
|
-
handled_by: Order
|
|
33
|
-
aggregates:
|
|
34
|
-
- name: Order
|
|
35
|
-
description: Manages order state and invariants.
|
|
36
|
-
handles: [PlaceOrder]
|
|
37
|
-
emits: [OrderPlaced]
|
|
38
|
-
policies: []
|
|
39
|
-
read_models: []
|
|
40
|
-
glossary: []
|
|
41
28
|
EOF
|
|
42
29
|
|
|
43
|
-
#
|
|
44
|
-
|
|
30
|
+
# One file per domain item
|
|
31
|
+
cat > .dkk/domain/contexts/ordering/events/OrderPlaced.yml << 'EOF'
|
|
32
|
+
name: OrderPlaced
|
|
33
|
+
description: Raised when a customer order is confirmed.
|
|
34
|
+
raised_by: Order
|
|
35
|
+
EOF
|
|
36
|
+
|
|
37
|
+
cat > .dkk/domain/contexts/ordering/commands/PlaceOrder.yml << 'EOF'
|
|
38
|
+
name: PlaceOrder
|
|
39
|
+
description: Submit a new customer order.
|
|
40
|
+
handled_by: Order
|
|
41
|
+
EOF
|
|
42
|
+
|
|
43
|
+
cat > .dkk/domain/contexts/ordering/aggregates/Order.yml << 'EOF'
|
|
44
|
+
name: Order
|
|
45
|
+
description: Manages order state and invariants.
|
|
46
|
+
handles:
|
|
47
|
+
commands:
|
|
48
|
+
- PlaceOrder
|
|
49
|
+
emits:
|
|
50
|
+
events:
|
|
51
|
+
- OrderPlaced
|
|
52
|
+
EOF
|
|
53
|
+
|
|
54
|
+
# Register it in .dkk/domain/index.yml
|
|
55
|
+
# Add "- name: ordering" to the contexts array
|
|
45
56
|
|
|
46
57
|
# Validate and render
|
|
47
58
|
dkk validate
|
|
@@ -96,13 +107,20 @@ Agents can then search, show, and traverse your domain model — making domain-a
|
|
|
96
107
|
## Directory Layout
|
|
97
108
|
|
|
98
109
|
```
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
.dkk/ # Domain model + generated + managed
|
|
111
|
+
domain/ # Domain model (YAML)
|
|
112
|
+
index.yml # Contexts + flows
|
|
113
|
+
actors.yml # Global actors
|
|
114
|
+
contexts/ # Bounded contexts (one dir each)
|
|
115
|
+
<name>/ # Context directory
|
|
116
|
+
context.yml # Context metadata + glossary
|
|
117
|
+
events/ # One .yml file per event
|
|
118
|
+
commands/ # One .yml file per command
|
|
119
|
+
aggregates/ # One .yml file per aggregate
|
|
120
|
+
policies/ # One .yml file per policy
|
|
121
|
+
read-models/ # One .yml file per read model
|
|
122
|
+
adr/ # Architecture Decision Records
|
|
123
|
+
docs/ # Generated docs (do not edit)
|
|
106
124
|
src/ # Source code (vertical slices)
|
|
107
125
|
tools/dkk/ # Schemas + templates
|
|
108
126
|
schema/ # JSON Schemas for validation
|
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,10 @@ import { registerAdrShow } from "./features/adr/commands/adr-show.js";
|
|
|
10
10
|
import { registerAdrRelated } from "./features/adr/commands/adr-related.js";
|
|
11
11
|
import { registerInit } from "./features/agent/commands/init.js";
|
|
12
12
|
import { registerPrime } from "./features/agent/commands/prime.js";
|
|
13
|
+
import { registerNewDomain } from "./features/scaffold/commands/new-domain.js";
|
|
14
|
+
import { registerNewContext } from "./features/scaffold/commands/new-context.js";
|
|
15
|
+
import { registerNewAdr } from "./features/scaffold/commands/new-adr.js";
|
|
16
|
+
import { registerAddItem } from "./features/scaffold/commands/add-item.js";
|
|
13
17
|
import { formatCliError } from "./shared/errors.js";
|
|
14
18
|
/** Whether to show full stack traces (set DEBUG=1 in env). */
|
|
15
19
|
const DEBUG = Boolean(process.env.DEBUG);
|
|
@@ -34,6 +38,15 @@ const adrCmd = program
|
|
|
34
38
|
.description("ADR-related commands");
|
|
35
39
|
registerAdrShow(adrCmd);
|
|
36
40
|
registerAdrRelated(adrCmd);
|
|
41
|
+
// "new" sub-command group
|
|
42
|
+
const newCmd = program
|
|
43
|
+
.command("new")
|
|
44
|
+
.description("Scaffold new domain structures");
|
|
45
|
+
registerNewDomain(newCmd);
|
|
46
|
+
registerNewContext(newCmd);
|
|
47
|
+
registerNewAdr(newCmd);
|
|
48
|
+
// Top-level "add" command for individual domain items
|
|
49
|
+
registerAddItem(program);
|
|
37
50
|
program.parseAsync().catch((err) => {
|
|
38
51
|
console.error(`Error: ${formatCliError(err)}`);
|
|
39
52
|
if (DEBUG && err instanceof Error && err.stack) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,8DAA8D;AAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEzC,yEAAyE;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,2BAA2B,CAAC;KACxC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qBAAqB;AACrB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,eAAe,CAAC,OAAO,CAAC,CAAC;AACzB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,aAAa,CAAC,OAAO,CAAC,CAAC;AAEvB,wBAAwB;AACxB,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAEvC,eAAe,CAAC,MAAM,CAAC,CAAC;AACxB,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAE3B,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,8DAA8D;AAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEzC,yEAAyE;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,2BAA2B,CAAC;KACxC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qBAAqB;AACrB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,eAAe,CAAC,OAAO,CAAC,CAAC;AACzB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,aAAa,CAAC,OAAO,CAAC,CAAC;AAEvB,wBAAwB;AACxB,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAEvC,eAAe,CAAC,MAAM,CAAC,CAAC;AACxB,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAE3B,0BAA0B;AAC1B,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,cAAc,CAAC,MAAM,CAAC,CAAC;AAEvB,sDAAsD;AACtD,eAAe,CAAC,OAAO,CAAC,CAAC;AAEzB,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/features/agent/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/features/agent/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AA8ChD,sCAAsC;AACtC,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAmC/C"}
|
|
@@ -29,9 +29,10 @@ dkk render # Validate, render docs, rebuild search index
|
|
|
29
29
|
Before committing domain changes, run:
|
|
30
30
|
|
|
31
31
|
\`\`\`bash
|
|
32
|
-
dkk
|
|
33
|
-
dkk render
|
|
32
|
+
dkk render # Validates → renders docs → rebuilds search index
|
|
34
33
|
\`\`\`
|
|
34
|
+
|
|
35
|
+
\`dkk validate\` is available as a quick dry-run check (no rendering).
|
|
35
36
|
`.trimStart();
|
|
36
37
|
}
|
|
37
38
|
/** Build the full delimited block. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/features/agent/commands/init.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,iDAAiD;AACjD,SAAS,UAAU;IACjB,OAAO
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/features/agent/commands/init.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,iDAAiD;AACjD,SAAS,UAAU;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BR,CAAC,SAAS,EAAE,CAAC;AACd,CAAC;AAED,sCAAsC;AACtC,SAAS,gBAAgB;IACvB,OAAO,GAAG,YAAY,KAAK,UAAU,EAAE,GAAG,UAAU,IAAI,CAAC;AAC3D,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,YAAY,CAAC,OAAY;IACvC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CAAC,CAAC,IAAuB,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAEnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,uCAAuC;YACvC,aAAa,CAAC,UAAU,EAAE,2BAA2B,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC1D,iFAAiF;YACjF,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvF,aAAa,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,aAAa,CAAC,UAAU,EAAE,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `dkk prime` command — output full agent context to stdout.
|
|
3
3
|
*
|
|
4
|
-
* Prints a comprehensive DKK usage guide for AI agent consumption
|
|
4
|
+
* Prints a comprehensive DKK usage guide for AI agent consumption,
|
|
5
|
+
* followed by a dynamic "Current Domain Summary" section generated
|
|
6
|
+
* from the live domain model on disk.
|
|
7
|
+
*
|
|
5
8
|
* Hardcoded template covering project overview, core principles,
|
|
6
9
|
* domain structure, retrieval workflow, change workflow, ID conventions,
|
|
7
10
|
* CLI reference, and file conventions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prime.d.ts","sourceRoot":"","sources":["../../../../src/features/agent/commands/prime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"prime.d.ts","sourceRoot":"","sources":["../../../../src/features/agent/commands/prime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AA8ahD,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAYhD"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { loadDomainModel } from "../../../shared/loader.js";
|
|
3
|
+
import { forEachItem } from "../../../shared/item-visitor.js";
|
|
4
|
+
import { domainDir } from "../../../shared/paths.js";
|
|
1
5
|
/** The full agent context document. */
|
|
2
6
|
function primeContent() {
|
|
3
7
|
return `# Domain Knowledge Kit — Agent Context
|
|
@@ -8,20 +12,25 @@ This project uses a **Domain Knowledge Pack**: a structured, YAML-based domain m
|
|
|
8
12
|
|
|
9
13
|
## Core Principles
|
|
10
14
|
|
|
11
|
-
1. **Domain YAML is the single source of truth.** Never generate domain knowledge from code; always read and edit the YAML files under
|
|
15
|
+
1. **Domain YAML is the single source of truth.** Never generate domain knowledge from code; always read and edit the YAML files under \`.dkk/domain/\`.
|
|
12
16
|
2. **ADRs live in \`.dkk/adr/\`** as Markdown files with YAML frontmatter. They link to domain items via \`domain_refs\` and domain items link back via \`adr_refs\`.
|
|
13
|
-
3. **Every change to domain files must pass quality gates:** run \`dkk
|
|
17
|
+
3. **Every change to domain files must pass quality gates:** run \`dkk render\` before committing (validates automatically, then renders docs and rebuilds the search index). Use \`dkk validate\` for a quick dry-run check without rendering.
|
|
14
18
|
|
|
15
19
|
## Domain Model Structure
|
|
16
20
|
|
|
17
21
|
\`\`\`
|
|
18
|
-
domain/
|
|
19
|
-
index.yml # Top-level: registered contexts + cross-context flows
|
|
20
|
-
actors.yml # Global actors (human | system | external)
|
|
21
|
-
contexts/
|
|
22
|
-
<name>.yml # Bounded context with events, commands, policies,
|
|
23
|
-
# aggregates, read_models, glossary
|
|
24
22
|
.dkk/
|
|
23
|
+
domain/
|
|
24
|
+
index.yml # Top-level: registered contexts + cross-context flows
|
|
25
|
+
actors.yml # Global actors (human | system | external)
|
|
26
|
+
contexts/
|
|
27
|
+
<name>/ # One directory per bounded context
|
|
28
|
+
context.yml # Context metadata (name, description, glossary)
|
|
29
|
+
events/ # One .yml file per domain event
|
|
30
|
+
commands/ # One .yml file per command
|
|
31
|
+
aggregates/ # One .yml file per aggregate
|
|
32
|
+
policies/ # One .yml file per policy
|
|
33
|
+
read-models/ # One .yml file per read model
|
|
25
34
|
adr/
|
|
26
35
|
adr-NNNN.md # Architecture Decision Records (YAML frontmatter)
|
|
27
36
|
\`\`\`
|
|
@@ -102,18 +111,18 @@ When modifying the domain model:
|
|
|
102
111
|
dkk list --context <name>
|
|
103
112
|
\`\`\`
|
|
104
113
|
2. **Edit YAML files directly** — Apply changes to the appropriate files:
|
|
105
|
-
- **New context:** Create
|
|
106
|
-
- **New domain item:**
|
|
107
|
-
- **New actor:** Add to
|
|
108
|
-
- **New flow:** Add to
|
|
109
|
-
- **Modified item:** Edit in place, preserving all existing fields.
|
|
114
|
+
- **New context:** Create \`.dkk/domain/contexts/<name>/context.yml\` with name/description/glossary, create subdirs (\`events/\`, \`commands/\`, etc.), and register in \`.dkk/domain/index.yml\`.
|
|
115
|
+
- **New domain item:** Create a new \`.yml\` file in the correct subdirectory (e.g. \`.dkk/domain/contexts/<name>/events/OrderPlaced.yml\`).
|
|
116
|
+
- **New actor:** Add to \`.dkk/domain/actors.yml\` under \`actors\`.
|
|
117
|
+
- **New flow:** Add to \`.dkk/domain/index.yml\` under \`flows\`.
|
|
118
|
+
- **Modified item:** Edit the item's \`.yml\` file in place, preserving all existing fields.
|
|
110
119
|
3. **Maintain referential integrity:**
|
|
111
120
|
- \`adr_refs\` must point to existing ADRs in \`.dkk/adr/\`.
|
|
112
121
|
- \`domain_refs\` in ADR frontmatter must point to existing domain items.
|
|
113
122
|
- Update cross-references (\`handles\`, \`emits\`, \`triggers\`, \`subscribes_to\`, \`used_by\`, \`raised_by\`, \`handled_by\`, \`actor\`) on related items to stay consistent.
|
|
114
123
|
- Every new event should have \`raised_by\` pointing to its aggregate.
|
|
115
124
|
- Every new command should have \`handled_by\` pointing to its aggregate.
|
|
116
|
-
- Update aggregate \`handles\` and \`emits\` arrays when adding commands/events.
|
|
125
|
+
- Update aggregate \`handles.commands\` and \`emits.events\` arrays when adding commands/events.
|
|
117
126
|
4. **Follow naming conventions:**
|
|
118
127
|
- Items: PascalCase (\`OrderPlaced\`, \`PlaceOrder\`).
|
|
119
128
|
- Contexts: kebab-case (\`ordering\`, \`inventory-management\`).
|
|
@@ -125,13 +134,14 @@ When modifying the domain model:
|
|
|
125
134
|
- Consider creating a new ADR if the change introduces a significant decision.
|
|
126
135
|
6. **Run quality gates:**
|
|
127
136
|
\`\`\`bash
|
|
128
|
-
dkk
|
|
129
|
-
dkk render
|
|
137
|
+
dkk render # Validates → renders docs → rebuilds search index
|
|
130
138
|
\`\`\`
|
|
131
139
|
|
|
132
140
|
### YAML Structure Reference
|
|
133
141
|
|
|
134
|
-
|
|
142
|
+
Each domain item is a separate YAML file in a typed subdirectory under the context directory.
|
|
143
|
+
|
|
144
|
+
**Context metadata** (\`.dkk/domain/contexts/<name>/context.yml\`):
|
|
135
145
|
|
|
136
146
|
\`\`\`yaml
|
|
137
147
|
name: ordering
|
|
@@ -139,49 +149,71 @@ description: Handles customer order lifecycle.
|
|
|
139
149
|
glossary:
|
|
140
150
|
- term: Order
|
|
141
151
|
definition: A customer's request to purchase items.
|
|
142
|
-
events:
|
|
143
|
-
- name: OrderPlaced
|
|
144
|
-
description: Raised when a customer order is confirmed.
|
|
145
|
-
fields:
|
|
146
|
-
- name: orderId
|
|
147
|
-
type: UUID
|
|
148
|
-
raised_by: Order
|
|
149
|
-
adr_refs:
|
|
150
|
-
- adr-0001
|
|
151
|
-
commands:
|
|
152
|
-
- name: PlaceOrder
|
|
153
|
-
description: Submit a new customer order.
|
|
154
|
-
fields:
|
|
155
|
-
- name: items
|
|
156
|
-
type: "OrderItem[]"
|
|
157
|
-
actor: Customer
|
|
158
|
-
handled_by: Order
|
|
159
|
-
policies:
|
|
160
|
-
- name: SendConfirmationEmail
|
|
161
|
-
description: Sends email when order is placed.
|
|
162
|
-
when:
|
|
163
|
-
events:
|
|
164
|
-
- OrderPlaced
|
|
165
|
-
then:
|
|
166
|
-
commands:
|
|
167
|
-
- NotifyCustomer
|
|
168
|
-
aggregates:
|
|
169
|
-
- name: Order
|
|
170
|
-
description: Manages order state and invariants.
|
|
171
|
-
handles:
|
|
172
|
-
- PlaceOrder
|
|
173
|
-
emits:
|
|
174
|
-
- OrderPlaced
|
|
175
|
-
read_models:
|
|
176
|
-
- name: OrderSummary
|
|
177
|
-
description: Read-optimized view of order details.
|
|
178
|
-
subscribes_to:
|
|
179
|
-
- OrderPlaced
|
|
180
|
-
used_by:
|
|
181
|
-
- Customer
|
|
182
152
|
\`\`\`
|
|
183
153
|
|
|
184
|
-
**
|
|
154
|
+
**Event** (\`.dkk/domain/contexts/<name>/events/OrderPlaced.yml\`):
|
|
155
|
+
|
|
156
|
+
\`\`\`yaml
|
|
157
|
+
name: OrderPlaced
|
|
158
|
+
description: Raised when a customer order is confirmed.
|
|
159
|
+
fields:
|
|
160
|
+
- name: orderId
|
|
161
|
+
type: UUID
|
|
162
|
+
raised_by: Order
|
|
163
|
+
adr_refs:
|
|
164
|
+
- adr-0001
|
|
165
|
+
\`\`\`
|
|
166
|
+
|
|
167
|
+
**Command** (\`.dkk/domain/contexts/<name>/commands/PlaceOrder.yml\`):
|
|
168
|
+
|
|
169
|
+
\`\`\`yaml
|
|
170
|
+
name: PlaceOrder
|
|
171
|
+
description: Submit a new customer order.
|
|
172
|
+
fields:
|
|
173
|
+
- name: items
|
|
174
|
+
type: "OrderItem[]"
|
|
175
|
+
actor: Customer
|
|
176
|
+
handled_by: Order
|
|
177
|
+
\`\`\`
|
|
178
|
+
|
|
179
|
+
**Policy** (\`.dkk/domain/contexts/<name>/policies/SendConfirmationEmail.yml\`):
|
|
180
|
+
|
|
181
|
+
\`\`\`yaml
|
|
182
|
+
name: SendConfirmationEmail
|
|
183
|
+
description: Sends email when order is placed.
|
|
184
|
+
when:
|
|
185
|
+
events:
|
|
186
|
+
- OrderPlaced
|
|
187
|
+
then:
|
|
188
|
+
commands:
|
|
189
|
+
- NotifyCustomer
|
|
190
|
+
\`\`\`
|
|
191
|
+
|
|
192
|
+
**Aggregate** (\`.dkk/domain/contexts/<name>/aggregates/Order.yml\`):
|
|
193
|
+
|
|
194
|
+
\`\`\`yaml
|
|
195
|
+
name: Order
|
|
196
|
+
description: Manages order state and invariants.
|
|
197
|
+
handles:
|
|
198
|
+
commands:
|
|
199
|
+
- PlaceOrder
|
|
200
|
+
emits:
|
|
201
|
+
events:
|
|
202
|
+
- OrderPlaced
|
|
203
|
+
\`\`\`
|
|
204
|
+
|
|
205
|
+
**Read model** (\`.dkk/domain/contexts/<name>/read-models/OrderSummary.yml\`):
|
|
206
|
+
|
|
207
|
+
\`\`\`yaml
|
|
208
|
+
name: OrderSummary
|
|
209
|
+
description: Read-optimized view of order details.
|
|
210
|
+
subscribes_to:
|
|
211
|
+
- OrderPlaced
|
|
212
|
+
used_by:
|
|
213
|
+
- Customer
|
|
214
|
+
\`\`\`
|
|
215
|
+
|
|
216
|
+
**Actors file** (\`.dkk/domain/actors.yml\`):
|
|
185
217
|
|
|
186
218
|
\`\`\`yaml
|
|
187
219
|
actors:
|
|
@@ -190,7 +222,7 @@ actors:
|
|
|
190
222
|
description: End user who places and tracks orders.
|
|
191
223
|
\`\`\`
|
|
192
224
|
|
|
193
|
-
**Index file** (
|
|
225
|
+
**Index file** (\`.dkk/domain/index.yml\`):
|
|
194
226
|
|
|
195
227
|
\`\`\`yaml
|
|
196
228
|
contexts:
|
|
@@ -240,7 +272,7 @@ The validator checks:
|
|
|
240
272
|
|
|
241
273
|
- **Schema conformance** — Each YAML file is validated against its JSON Schema.
|
|
242
274
|
- **Cross-references** — All item-to-item, item-to-ADR, and ADR-to-item references resolve correctly.
|
|
243
|
-
- **Context registration** — Every context
|
|
275
|
+
- **Context registration** — Every context directory in \`.dkk/domain/contexts/\` is registered in \`.dkk/domain/index.yml\`.
|
|
244
276
|
|
|
245
277
|
## Generated Documentation
|
|
246
278
|
|
|
@@ -261,13 +293,133 @@ Do not edit files under \`.dkk/docs/\` by hand; they are regenerated on each ren
|
|
|
261
293
|
- Generated documentation goes to \`.dkk/docs/\` (do not edit by hand).
|
|
262
294
|
`;
|
|
263
295
|
}
|
|
296
|
+
// ── Dynamic domain summary ───────────────────────────────────────────
|
|
297
|
+
/**
|
|
298
|
+
* Build a dynamic "Current Domain Summary" section from the live domain
|
|
299
|
+
* model on disk. Returns the Markdown string to append after the static
|
|
300
|
+
* instructions.
|
|
301
|
+
*/
|
|
302
|
+
function buildDomainSummary(root) {
|
|
303
|
+
// If there's no .dkk/domain/ directory at all, short-circuit.
|
|
304
|
+
if (!existsSync(domainDir(root))) {
|
|
305
|
+
return ("\n## Current Domain Summary\n\n" +
|
|
306
|
+
"No domain model found. Run `dkk new domain` to get started.\n");
|
|
307
|
+
}
|
|
308
|
+
let model;
|
|
309
|
+
try {
|
|
310
|
+
model = loadDomainModel({ root });
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
return ("\n## Current Domain Summary\n\n" +
|
|
314
|
+
"No domain model found. Run `dkk new domain` to get started.\n");
|
|
315
|
+
}
|
|
316
|
+
// If there are zero contexts, actors, and ADRs the model is essentially empty.
|
|
317
|
+
if (model.contexts.size === 0 && model.actors.length === 0 && model.adrs.size === 0) {
|
|
318
|
+
return ("\n## Current Domain Summary\n\n" +
|
|
319
|
+
"No domain model found. Run `dkk new domain` to get started.\n");
|
|
320
|
+
}
|
|
321
|
+
const lines = [];
|
|
322
|
+
lines.push("\n## Current Domain Summary\n");
|
|
323
|
+
// ── Global totals ────────────────────────────────────────────────
|
|
324
|
+
const totals = {
|
|
325
|
+
event: 0,
|
|
326
|
+
command: 0,
|
|
327
|
+
policy: 0,
|
|
328
|
+
aggregate: 0,
|
|
329
|
+
read_model: 0,
|
|
330
|
+
glossary: 0,
|
|
331
|
+
};
|
|
332
|
+
for (const ctx of model.contexts.values()) {
|
|
333
|
+
forEachItem(ctx, (type) => {
|
|
334
|
+
totals[type]++;
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
const totalItems = Object.values(totals).reduce((a, b) => a + b, 0);
|
|
338
|
+
lines.push(`**${model.contexts.size}** bounded context(s), ` +
|
|
339
|
+
`**${totalItems}** domain item(s), ` +
|
|
340
|
+
`**${model.actors.length}** actor(s), ` +
|
|
341
|
+
`**${model.adrs.size}** ADR(s)\n`);
|
|
342
|
+
// ── Contexts detail ──────────────────────────────────────────────
|
|
343
|
+
if (model.contexts.size > 0) {
|
|
344
|
+
lines.push("### Contexts\n");
|
|
345
|
+
for (const ctx of model.contexts.values()) {
|
|
346
|
+
const counts = {
|
|
347
|
+
event: 0,
|
|
348
|
+
command: 0,
|
|
349
|
+
policy: 0,
|
|
350
|
+
aggregate: 0,
|
|
351
|
+
read_model: 0,
|
|
352
|
+
glossary: 0,
|
|
353
|
+
};
|
|
354
|
+
forEachItem(ctx, (type) => {
|
|
355
|
+
counts[type]++;
|
|
356
|
+
});
|
|
357
|
+
const parts = [];
|
|
358
|
+
if (counts.event)
|
|
359
|
+
parts.push(`${counts.event} event(s)`);
|
|
360
|
+
if (counts.command)
|
|
361
|
+
parts.push(`${counts.command} command(s)`);
|
|
362
|
+
if (counts.aggregate)
|
|
363
|
+
parts.push(`${counts.aggregate} aggregate(s)`);
|
|
364
|
+
if (counts.policy)
|
|
365
|
+
parts.push(`${counts.policy} policy/policies`);
|
|
366
|
+
if (counts.read_model)
|
|
367
|
+
parts.push(`${counts.read_model} read model(s)`);
|
|
368
|
+
if (counts.glossary)
|
|
369
|
+
parts.push(`${counts.glossary} glossary term(s)`);
|
|
370
|
+
const countStr = parts.length ? ` — ${parts.join(", ")}` : "";
|
|
371
|
+
lines.push(`- **${ctx.name}**: ${ctx.description}${countStr}`);
|
|
372
|
+
}
|
|
373
|
+
lines.push("");
|
|
374
|
+
}
|
|
375
|
+
// ── Actors ────────────────────────────────────────────────────────
|
|
376
|
+
if (model.actors.length > 0) {
|
|
377
|
+
lines.push("### Actors\n");
|
|
378
|
+
for (const actor of model.actors) {
|
|
379
|
+
lines.push(`- **${actor.name}** (${actor.type}): ${actor.description}`);
|
|
380
|
+
}
|
|
381
|
+
lines.push("");
|
|
382
|
+
}
|
|
383
|
+
// ── ADRs ──────────────────────────────────────────────────────────
|
|
384
|
+
if (model.adrs.size > 0) {
|
|
385
|
+
lines.push("### Architecture Decision Records\n");
|
|
386
|
+
for (const adr of model.adrs.values()) {
|
|
387
|
+
lines.push(`- **${adr.id}**: ${adr.title} [${adr.status}]`);
|
|
388
|
+
}
|
|
389
|
+
lines.push("");
|
|
390
|
+
}
|
|
391
|
+
// ── Key relationships (aggregates → commands / events) ────────────
|
|
392
|
+
const aggregates = [];
|
|
393
|
+
for (const ctx of model.contexts.values()) {
|
|
394
|
+
for (const agg of ctx.aggregates ?? []) {
|
|
395
|
+
aggregates.push({ ctx: ctx.name, agg });
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
if (aggregates.length > 0) {
|
|
399
|
+
lines.push("### Key Relationships\n");
|
|
400
|
+
for (const { ctx, agg } of aggregates) {
|
|
401
|
+
const cmds = agg.handles?.commands ?? [];
|
|
402
|
+
const evts = agg.emits?.events ?? [];
|
|
403
|
+
const cmdStr = cmds.length ? cmds.join(", ") : "none";
|
|
404
|
+
const evtStr = evts.length ? evts.join(", ") : "none";
|
|
405
|
+
lines.push(`- **${ctx}.${agg.name}**: handles [${cmdStr}] → emits [${evtStr}]`);
|
|
406
|
+
}
|
|
407
|
+
lines.push("");
|
|
408
|
+
}
|
|
409
|
+
return lines.join("\n");
|
|
410
|
+
}
|
|
264
411
|
/** Register the `prime` subcommand. */
|
|
265
412
|
export function registerPrime(program) {
|
|
266
413
|
program
|
|
267
414
|
.command("prime")
|
|
268
415
|
.description("Output full DKK agent context to stdout")
|
|
269
|
-
.
|
|
416
|
+
.option("-r, --root <path>", "Override repository root")
|
|
417
|
+
.option("--static-only", "Output only the static instructions (skip domain summary)")
|
|
418
|
+
.action((opts) => {
|
|
270
419
|
process.stdout.write(primeContent());
|
|
420
|
+
if (!opts.staticOnly) {
|
|
421
|
+
process.stdout.write(buildDomainSummary(opts.root));
|
|
422
|
+
}
|
|
271
423
|
});
|
|
272
424
|
}
|
|
273
425
|
//# sourceMappingURL=prime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prime.js","sourceRoot":"","sources":["../../../../src/features/agent/commands/prime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prime.js","sourceRoot":"","sources":["../../../../src/features/agent/commands/prime.ts"],"names":[],"mappings":"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"}
|
|
@@ -182,7 +182,7 @@ function writeOutput(filePath, content, written) {
|
|
|
182
182
|
*/
|
|
183
183
|
export function renderDocs(model, options = {}) {
|
|
184
184
|
const outDir = options.outputDir ?? docsDir(options.root);
|
|
185
|
-
const tplDir = options.templateDir ?? templatesDir(
|
|
185
|
+
const tplDir = options.templateDir ?? templatesDir();
|
|
186
186
|
const written = [];
|
|
187
187
|
// Register helpers and compile templates
|
|
188
188
|
registerHelpers(Handlebars);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/features/pipeline/renderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/features/pipeline/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,UAAU,MAAM,YAAY,CAAC;AAQpC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAsB9D,yEAAyE;AAEzE,oEAAoE;AACpE,SAAS,eAAe,CAAC,GAAsB;IAC7C,iDAAiD;IACjD,GAAG,CAAC,cAAc,CAChB,MAAM,EACN,CAAC,GAAyB,EAAE,GAAW,EAAU,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CACF,CAAC;IAEF;;;OAGG;IACH,GAAG,CAAC,cAAc,CAChB,cAAc,EACd,CAAC,MAA2B,EAAU,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAC9D,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC;AAUD;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,SAAS,OAAO,CAAC,IAAY;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE,4EAA4E;AAC5E,SAAS,eAAe,CAAC,KAAkB;IACzC,MAAM,OAAO,GACX,EAAE,CAAC;IACL,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,wDAAwD;AACxD,SAAS,kBAAkB,CACzB,GAAkB,EAClB,OAA+B;IAE/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD;;;GAGG;AACH,SAAS,aAAa,CACpB,QAAgB,EAChB,WAAmB,EACnB,IA2BC;IAED,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,oEAAoE;QACpE,MAAM,GAAG,GAAG,IAAuF,CAAC;QACpG,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;YACxC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,mCAAmC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC1C,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,KAAK,MAAM,CAAC,IAAK,IAAI,CAAC,KAAyC,IAAI,EAAE,EAAE,CAAC;YACtE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,CAAC,IAAK,IAAI,CAAC,OAAgC,IAAI,EAAE,EAAE,CAAC;YAC7D,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QACzC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;QACR,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE;QACtD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,sCAAsC;QAChE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE;YACL,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;SAC3B,CAAC,MAAM,GAAG,CAAC;YACV,CAAC,CAAC;gBACE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;aAC3B;YACH,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE,oEAAoE;AACpE,SAAS,SAAS,CAAC,GAAW;IAC5B,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,qDAAqD;AACrD,SAAS,WAAW,CAClB,QAAgB,EAChB,OAAe,EACf,OAAiB;IAEjB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED,yEAAyE;AAEzE;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,KAAkB,EAClB,UAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,YAAY,EAAE,CAAC;IACrD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,yCAAyC;IACzC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,uEAAuE;IACvE,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,qEAAqE;IAErE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,GAAG,CAAC;QACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC5D,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC;QACvC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACpD,CAAC;IAEF,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAErE,qEAAqE;IAErE,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElB,qBAAqB;QACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG;YACd,GAAG,GAAG;YACN,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAErE,iEAAiE;QAEjE,4DAA4D;QAC5D,MAAM,SAAS,GAA2B;YACxC,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YACpC,uEAAuE;YACvE,MAAM,QAAQ,GAAG,IAAI,KAAK,UAAU;gBAClC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAG,IAAyB,CAAC,IAAI,EAAE;gBACpD,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,IAAI,GAAG,aAAa,CACxB,SAAS,CAAC,IAAI,CAAC,EACf,OAAO,EACP,QAA0D,CAC3D,CAAC;YACF,WAAW,CACT,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,EAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EACd,OAAO,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -11,7 +11,7 @@ import { loadDomainModel } from "../../../shared/loader.js";
|
|
|
11
11
|
import { buildIndex } from "../indexer.js";
|
|
12
12
|
// ── Fixture setup ─────────────────────────────────────────────────────
|
|
13
13
|
const TMP = join(tmpdir(), `dkk-search-test-${Date.now()}`);
|
|
14
|
-
const DOMAIN = join(TMP, "domain");
|
|
14
|
+
const DOMAIN = join(TMP, ".dkk", "domain");
|
|
15
15
|
const CONTEXTS = join(DOMAIN, "contexts");
|
|
16
16
|
const ADR_DIR = join(TMP, ".dkk", "adr");
|
|
17
17
|
const DB_PATH = join(TMP, ".dkk", "index.db");
|
|
@@ -26,7 +26,7 @@ function setup() {
|
|
|
26
26
|
mkdirSync(join(CONTEXTS, "shipping", "aggregates"), { recursive: true });
|
|
27
27
|
mkdirSync(join(CONTEXTS, "shipping", "read-models"), { recursive: true });
|
|
28
28
|
mkdirSync(ADR_DIR, { recursive: true });
|
|
29
|
-
// domain/index.yml
|
|
29
|
+
// .dkk/domain/index.yml
|
|
30
30
|
writeFileSync(join(DOMAIN, "index.yml"), [
|
|
31
31
|
"contexts:",
|
|
32
32
|
" - name: ordering",
|
|
@@ -44,7 +44,7 @@ function setup() {
|
|
|
44
44
|
" - ref: shipping.ShipOrder",
|
|
45
45
|
" type: command",
|
|
46
46
|
].join("\n"));
|
|
47
|
-
// domain/actors.yml
|
|
47
|
+
// .dkk/domain/actors.yml
|
|
48
48
|
writeFileSync(join(DOMAIN, "actors.yml"), [
|
|
49
49
|
"actors:",
|
|
50
50
|
" - name: Customer",
|
|
@@ -54,7 +54,7 @@ function setup() {
|
|
|
54
54
|
" type: system",
|
|
55
55
|
' description: "Automated warehouse robot"',
|
|
56
56
|
].join("\n"));
|
|
57
|
-
// domain/contexts/ordering/ — per-item directory
|
|
57
|
+
// .dkk/domain/contexts/ordering/ — per-item directory
|
|
58
58
|
writeFileSync(join(CONTEXTS, "ordering", "context.yml"), [
|
|
59
59
|
"name: ordering",
|
|
60
60
|
'description: "Handles the order lifecycle"',
|
|
@@ -122,7 +122,7 @@ function setup() {
|
|
|
122
122
|
"used_by:",
|
|
123
123
|
" - Customer",
|
|
124
124
|
].join("\n"));
|
|
125
|
-
// domain/contexts/shipping/ — per-item directory
|
|
125
|
+
// .dkk/domain/contexts/shipping/ — per-item directory
|
|
126
126
|
writeFileSync(join(CONTEXTS, "shipping", "context.yml"), [
|
|
127
127
|
"name: shipping",
|
|
128
128
|
'description: "Handles shipment tracking"',
|