domain-knowledge-kit 0.1.0 → 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 +111 -229
- package/dist/cli.js +17 -0
- package/dist/cli.js.map +1 -1
- package/dist/features/agent/commands/init.d.ts +11 -0
- package/dist/features/agent/commands/init.d.ts.map +1 -0
- package/dist/features/agent/commands/init.js +77 -0
- package/dist/features/agent/commands/init.js.map +1 -0
- package/dist/features/agent/commands/prime.d.ts +15 -0
- package/dist/features/agent/commands/prime.d.ts.map +1 -0
- package/dist/features/agent/commands/prime.js +425 -0
- package/dist/features/agent/commands/prime.js.map +1 -0
- package/dist/features/pipeline/indexer.d.ts +1 -1
- package/dist/features/pipeline/indexer.d.ts.map +1 -1
- package/dist/features/pipeline/indexer.js +2 -2
- package/dist/features/pipeline/indexer.js.map +1 -1
- package/dist/features/pipeline/renderer.d.ts +6 -6
- package/dist/features/pipeline/renderer.js +7 -7
- package/dist/features/pipeline/renderer.js.map +1 -1
- package/dist/features/pipeline/tests/indexer.test.js +7 -7
- package/dist/features/pipeline/tests/indexer.test.js.map +1 -1
- package/dist/features/pipeline/tests/renderer.test.js +1 -1
- package/dist/features/pipeline/tests/renderer.test.js.map +1 -1
- package/dist/features/pipeline/tests/validate-schemas.test.js +1 -1
- package/dist/features/pipeline/tests/validate-schemas.test.js.map +1 -1
- package/dist/features/pipeline/tests/validator.test.js +30 -30
- package/dist/features/pipeline/tests/validator.test.js.map +1 -1
- package/dist/features/pipeline/validator.d.ts +1 -1
- package/dist/features/pipeline/validator.js +1 -1
- package/dist/features/pipeline/validator.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/searcher.js +1 -1
- package/dist/features/query/searcher.js.map +1 -1
- package/dist/features/query/tests/searcher.test.js +7 -7
- 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/adr-parser.js +1 -1
- 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.d.ts +1 -1
- package/dist/shared/loader.js +3 -3
- package/dist/shared/paths.d.ts +34 -13
- package/dist/shared/paths.d.ts.map +1 -1
- package/dist/shared/paths.js +53 -23
- package/dist/shared/paths.js.map +1 -1
- package/dist/shared/tests/graph.test.js +10 -10
- package/dist/shared/tests/graph.test.js.map +1 -1
- package/dist/shared/tests/loader.test.js +23 -23
- package/dist/shared/tests/loader.test.js.map +1 -1
- package/dist/shared/tests/verify-collision-fix.test.js +2 -2
- package/dist/shared/tests/verify-collision-fix.test.js.map +1 -1
- package/dist/shared/types/domain.d.ts +5 -5
- package/dist/shared/types/domain.d.ts.map +1 -1
- package/dist/shared/types/domain.js +1 -1
- package/package.json +11 -3
- /package/tools/{domain-pack → dkk}/schema/.gitkeep +0 -0
- /package/tools/{domain-pack → dkk}/schema/actors.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/adr-frontmatter.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/aggregate.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/command.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/context.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/event.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/glossary.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/index.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/policy.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/schema/read-model.schema.json +0 -0
- /package/tools/{domain-pack → dkk}/templates/.gitkeep +0 -0
- /package/tools/{domain-pack → dkk}/templates/context.md.hbs +0 -0
- /package/tools/{domain-pack → dkk}/templates/index.md.hbs +0 -0
- /package/tools/{domain-pack → dkk}/templates/item.md.hbs +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searcher.js","sourceRoot":"","sources":["../../../src/features/query/searcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,6BAA6B;AAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAoC,CAAC;AAkD9E,yEAAyE;AAEzE,uDAAuD;AACvD,MAAM,KAAK,GAAG;IACZ,qCAAqC;IACrC,OAAO,EAAE,EAAE;IACX,kCAAkC;IAClC,IAAI,EAAE,CAAC;IACP,6BAA6B;IAC7B,GAAG,EAAE,CAAC;IACN,kCAAkC;IAClC,IAAI,EAAE,CAAC;CACC,CAAC;AAEX,yEAAyE;AAEzE;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,2EAA2E;IAC3E,uCAAuC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,SAAiB,GAAG;IACrD,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AAC/C,CAAC;AAED,yEAAyE;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,UAAyB,EAAE,EAC3B,UAA2B,EAAE;IAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"searcher.js","sourceRoot":"","sources":["../../../src/features/query/searcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ import { buildIndex } from "../../pipeline/indexer.js";
|
|
|
13
13
|
import { search } from "../searcher.js";
|
|
14
14
|
// ── Fixture setup ─────────────────────────────────────────────────────
|
|
15
15
|
const TMP = join(tmpdir(), `dkk-search-test-${Date.now()}`);
|
|
16
|
-
const DOMAIN = join(TMP, "domain");
|
|
16
|
+
const DOMAIN = join(TMP, ".dkk", "domain");
|
|
17
17
|
const CONTEXTS = join(DOMAIN, "contexts");
|
|
18
|
-
const ADR_DIR = join(TMP, "
|
|
19
|
-
const DB_PATH = join(TMP, ".
|
|
18
|
+
const ADR_DIR = join(TMP, ".dkk", "adr");
|
|
19
|
+
const DB_PATH = join(TMP, ".dkk", "index.db");
|
|
20
20
|
function setup() {
|
|
21
21
|
mkdirSync(join(CONTEXTS, "ordering", "events"), { recursive: true });
|
|
22
22
|
mkdirSync(join(CONTEXTS, "ordering", "commands"), { recursive: true });
|
|
@@ -28,7 +28,7 @@ function setup() {
|
|
|
28
28
|
mkdirSync(join(CONTEXTS, "shipping", "aggregates"), { recursive: true });
|
|
29
29
|
mkdirSync(join(CONTEXTS, "shipping", "read-models"), { recursive: true });
|
|
30
30
|
mkdirSync(ADR_DIR, { recursive: true });
|
|
31
|
-
// domain/index.yml
|
|
31
|
+
// .dkk/domain/index.yml
|
|
32
32
|
writeFileSync(join(DOMAIN, "index.yml"), [
|
|
33
33
|
"contexts:",
|
|
34
34
|
" - name: ordering",
|
|
@@ -46,7 +46,7 @@ function setup() {
|
|
|
46
46
|
" - ref: shipping.ShipOrder",
|
|
47
47
|
" type: command",
|
|
48
48
|
].join("\n"));
|
|
49
|
-
// domain/actors.yml
|
|
49
|
+
// .dkk/domain/actors.yml
|
|
50
50
|
writeFileSync(join(DOMAIN, "actors.yml"), [
|
|
51
51
|
"actors:",
|
|
52
52
|
" - name: Customer",
|
|
@@ -56,7 +56,7 @@ function setup() {
|
|
|
56
56
|
" type: system",
|
|
57
57
|
' description: "Automated warehouse robot"',
|
|
58
58
|
].join("\n"));
|
|
59
|
-
// domain/contexts/ordering/ — per-item directory
|
|
59
|
+
// .dkk/domain/contexts/ordering/ — per-item directory
|
|
60
60
|
writeFileSync(join(CONTEXTS, "ordering", "context.yml"), [
|
|
61
61
|
"name: ordering",
|
|
62
62
|
'description: "Handles the order lifecycle"',
|
|
@@ -124,7 +124,7 @@ function setup() {
|
|
|
124
124
|
"used_by:",
|
|
125
125
|
" - Customer",
|
|
126
126
|
].join("\n"));
|
|
127
|
-
// domain/contexts/shipping/ — per-item directory
|
|
127
|
+
// .dkk/domain/contexts/shipping/ — per-item directory
|
|
128
128
|
writeFileSync(join(CONTEXTS, "shipping", "context.yml"), [
|
|
129
129
|
"name: shipping",
|
|
130
130
|
'description: "Handles shipment tracking"',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searcher.test.js","sourceRoot":"","sources":["../../../../src/features/query/tests/searcher.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,yEAAyE;AAEzE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AAEtD,SAAS,KAAK;IACZ,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,mBAAmB;IACnB,aAAa,CACX,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB;QACE,WAAW;QACX,oBAAoB;QACpB,qCAAqC;QACrC,oBAAoB;QACpB,uCAAuC;QACvC,QAAQ;QACR,wBAAwB;QACxB,sCAAsC;QACtC,YAAY;QACZ,kCAAkC;QAClC,uBAAuB;QACvB,mCAAmC;QACnC,qBAAqB;QACrB,iCAAiC;QACjC,uBAAuB;KACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,oBAAoB;IACpB,aAAa,CACX,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAC1B;QACE,SAAS;QACT,oBAAoB;QACpB,iBAAiB;QACjB,wDAAwD;QACxD,wBAAwB;QACxB,kBAAkB;QAClB,8CAA8C;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,iDAAiD;IACjD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE;QACvD,gBAAgB;QAChB,4CAA4C;QAC5C,WAAW;QACX,iBAAiB;QACjB,+CAA+C;QAC/C,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,eAAe;QACf,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE;QACrE,mBAAmB;QACnB,+CAA+C;QAC/C,SAAS;QACT,mBAAmB;QACnB,gBAAgB;QAChB,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAAE;QACxE,sBAAsB;QACtB,kDAAkD;QAClD,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE;QACtE,kBAAkB;QAClB,mCAAmC;QACnC,iBAAiB;QACjB,mBAAmB;KACpB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE;QACvE,mBAAmB;QACnB,yCAAyC;QACzC,mBAAmB;KACpB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE;QAC1E,sBAAsB;QACtB,wDAAwD;QACxD,OAAO;QACP,WAAW;QACX,sBAAsB;QACtB,OAAO;QACP,aAAa;QACb,wBAAwB;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE;QACnE,aAAa;QACb,qCAAqC;QACrC,UAAU;QACV,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,QAAQ;QACR,WAAW;QACX,mBAAmB;QACnB,sBAAsB;KACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,CAAC,EAAE;QAC3E,oBAAoB;QACpB,2CAA2C;QAC3C,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;QACpB,UAAU;QACV,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEd,iDAAiD;IACjD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE;QACvD,gBAAgB;QAChB,0CAA0C;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE;QACrE,iBAAiB;QACjB,+CAA+C;QAC/C,sBAAsB;KACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,wBAAwB,CAAC,EAAE;QAC5E,0BAA0B;QAC1B,qDAAqD;QACrD,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,EAAE;QAC7E,sBAAsB;QACtB,6CAA6C;QAC7C,gBAAgB;QAChB,wBAAwB;QACxB,UAAU;QACV,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE;QACtE,gBAAgB;QAChB,mCAAmC;QACnC,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,QAAQ;QACR,WAAW;QACX,0BAA0B;KAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEd,4BAA4B;IAC5B,aAAa,CACX,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,EACjC;QACE,KAAK;QACL,cAAc;QACd,mCAAmC;QACnC,kBAAkB;QAClB,kBAAkB;QAClB,WAAW;QACX,WAAW;QACX,cAAc;QACd,oBAAoB;QACpB,KAAK;QACL,EAAE;QACF,yCAAyC;QACzC,EAAE;QACF,YAAY;QACZ,EAAE;QACF,oEAAoE;QACpE,yEAAyE;QACzE,EAAE;QACF,aAAa;QACb,EAAE;QACF,8EAA8E;QAC9E,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,oFAAoF;KACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,yEAAyE;AAEzE,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,SAAS,MAAM,CAAC,KAAa,EAAE,SAAkB,EAAE,MAAe;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,CAAC;IACX,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,KAAK,EAAE,CAAC;AAER,IAAI,CAAC;IACH,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtC,uCAAuC;IACvC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAElD,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,gCAAgC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,CACJ,qCAAqC,EACrC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,sBAAsB,CAAC,CAC1D,CAAC;IACF,MAAM,CACJ,oCAAoC,EACpC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,qBAAqB,CAAC,CACzD,CAAC;IAEF,sBAAsB;IACtB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,iBAAiB,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1D,MAAM,CAAC,iBAAiB,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1D,MAAM,CAAC,oBAAoB,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;IAChE,MAAM,CAAC,kBAAkB,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/E,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,mCAAmC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,CACJ,2CAA2C,EAC3C,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CACvD,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,+BAA+B,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,CACJ,iCAAiC,EACjC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAC7C,CAAC;IAEF,mEAAmE;IAEnE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,wCAAwC,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClF,MAAM,CACJ,wDAAwD,EACxD,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CACtD,CAAC;IAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,MAAM,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpF,MAAM,CACJ,4DAA4D,EAC5D,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CACpD,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,kCAAkC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,CACJ,0DAA0D,EAC1D,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAChD,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,mCAAmC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,CACJ,kDAAkD,EAClD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAChF,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,yCAAyC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,CACJ,qCAAqC,EACrC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CACpD,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,mCAAmC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,CACJ,wBAAwB,EACxB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAC5C,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,kCAAkC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,CACJ,uCAAuC,EACvC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CACnD,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CACJ,kCAAkC,EAClC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,sBAAsB;YAC3C,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CACvE,CAAC;IACJ,CAAC;IAED,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5F,MAAM,CAAC,iCAAiC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC;IACrF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CACJ,2CAA2C,EAC3C,gBAAgB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CACvC,CAAC;QACF,MAAM,CACJ,wDAAwD,EACxD,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACvD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,iCAAiC,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAErE,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,sCAAsC,EAAE,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAE/E,qEAAqE;IAErE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,+BAA+B,EAAE,YAAY,CAAC,CAAC;IAEtD,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,sCAAsC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,CACJ,mBAAmB,EACnB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAC,CACtD,CAAC;IAEF,qEAAqE;IAErE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAEzD,CAAC;QAAS,CAAC;IACT,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,yEAAyE;AACzE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,YAAY,MAAM,SAAS,CAAC,CAAC;AACpD,IAAI,MAAM,GAAG,CAAC;IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"searcher.test.js","sourceRoot":"","sources":["../../../../src/features/query/tests/searcher.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dkk add <type> <name> --context <ctx>` command — scaffold individual domain items.
|
|
3
|
+
*
|
|
4
|
+
* Supported types: event, command, aggregate, policy, read-model, glossary
|
|
5
|
+
*
|
|
6
|
+
* For file-based types (event, command, aggregate, policy, read-model):
|
|
7
|
+
* Creates `.dkk/domain/contexts/<ctx>/<type-plural>/<Name>.yml`
|
|
8
|
+
*
|
|
9
|
+
* For glossary:
|
|
10
|
+
* Appends entry to `.dkk/domain/contexts/<ctx>/context.yml` glossary array
|
|
11
|
+
* (glossary entries are stored inline in context.yml, not as separate files).
|
|
12
|
+
*/
|
|
13
|
+
import type { Command as Cmd } from "commander";
|
|
14
|
+
export declare function registerAddItem(program: Cmd): void;
|
|
15
|
+
//# sourceMappingURL=add-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/add-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AA8EhD,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAgGlD"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { contextsDir } from "../../../shared/paths.js";
|
|
4
|
+
import { parseYaml, stringifyYaml } from "../../../shared/yaml.js";
|
|
5
|
+
// ── Constants ─────────────────────────────────────────────────────────
|
|
6
|
+
/** Supported item types and their plural directory names. */
|
|
7
|
+
const TYPE_DIR_MAP = {
|
|
8
|
+
event: "events",
|
|
9
|
+
command: "commands",
|
|
10
|
+
aggregate: "aggregates",
|
|
11
|
+
policy: "policies",
|
|
12
|
+
"read-model": "read-models",
|
|
13
|
+
};
|
|
14
|
+
/** All supported item types (including glossary which is handled differently). */
|
|
15
|
+
const SUPPORTED_TYPES = [...Object.keys(TYPE_DIR_MAP), "glossary"];
|
|
16
|
+
// ── YAML generators ──────────────────────────────────────────────────
|
|
17
|
+
function eventYaml(name, description) {
|
|
18
|
+
return `name: ${name}\ndescription: ${description}\n`;
|
|
19
|
+
}
|
|
20
|
+
function commandYaml(name, description) {
|
|
21
|
+
return `name: ${name}\ndescription: ${description}\n`;
|
|
22
|
+
}
|
|
23
|
+
function aggregateYaml(name, description) {
|
|
24
|
+
return [
|
|
25
|
+
`name: ${name}`,
|
|
26
|
+
`description: ${description}`,
|
|
27
|
+
"handles:",
|
|
28
|
+
" commands: []",
|
|
29
|
+
"emits:",
|
|
30
|
+
" events: []",
|
|
31
|
+
"",
|
|
32
|
+
].join("\n");
|
|
33
|
+
}
|
|
34
|
+
function policyYaml(name, description) {
|
|
35
|
+
return `name: ${name}\ndescription: ${description}\n`;
|
|
36
|
+
}
|
|
37
|
+
function readModelYaml(name, description) {
|
|
38
|
+
return `name: ${name}\ndescription: ${description}\n`;
|
|
39
|
+
}
|
|
40
|
+
/** Return YAML content for a file-based item type. */
|
|
41
|
+
function generateYaml(type, name, description) {
|
|
42
|
+
switch (type) {
|
|
43
|
+
case "event":
|
|
44
|
+
return eventYaml(name, description);
|
|
45
|
+
case "command":
|
|
46
|
+
return commandYaml(name, description);
|
|
47
|
+
case "aggregate":
|
|
48
|
+
return aggregateYaml(name, description);
|
|
49
|
+
case "policy":
|
|
50
|
+
return policyYaml(name, description);
|
|
51
|
+
case "read-model":
|
|
52
|
+
return readModelYaml(name, description);
|
|
53
|
+
default:
|
|
54
|
+
throw new Error(`Unknown type: ${type}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// ── Validation ────────────────────────────────────────────────────────
|
|
58
|
+
/** Validate item name is PascalCase per schema: ^[A-Za-z][A-Za-z0-9]*$ */
|
|
59
|
+
function isValidItemName(name) {
|
|
60
|
+
return /^[A-Za-z][A-Za-z0-9]*$/.test(name);
|
|
61
|
+
}
|
|
62
|
+
// ── Registration ──────────────────────────────────────────────────────
|
|
63
|
+
export function registerAddItem(program) {
|
|
64
|
+
program
|
|
65
|
+
.command("add <type> <name>")
|
|
66
|
+
.description(`Scaffold a domain item. Types: ${SUPPORTED_TYPES.join(", ")}`)
|
|
67
|
+
.requiredOption("-c, --context <ctx>", "Target bounded context (kebab-case)")
|
|
68
|
+
.option("-d, --description <text>", "Description of the item")
|
|
69
|
+
.option("-r, --root <path>", "Override repository root")
|
|
70
|
+
.action((type, name, opts) => {
|
|
71
|
+
// Validate type
|
|
72
|
+
if (!SUPPORTED_TYPES.includes(type)) {
|
|
73
|
+
console.error(`Error: Unknown item type "${type}". Supported types: ${SUPPORTED_TYPES.join(", ")}`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
// Validate name
|
|
77
|
+
if (!isValidItemName(name)) {
|
|
78
|
+
console.error(`Error: Item name "${name}" is invalid. Use PascalCase (e.g. "OrderPlaced").`);
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
const ctxBase = contextsDir(opts.root);
|
|
82
|
+
const ctxDir = join(ctxBase, opts.context);
|
|
83
|
+
const contextYmlPath = join(ctxDir, "context.yml");
|
|
84
|
+
// Validate context exists
|
|
85
|
+
if (!existsSync(contextYmlPath)) {
|
|
86
|
+
console.error(`Error: Context "${opts.context}" does not exist. No context.yml found at ${contextYmlPath}.`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
const description = opts.description ?? `TODO: describe ${name}`;
|
|
90
|
+
// Handle glossary separately — append to context.yml
|
|
91
|
+
if (type === "glossary") {
|
|
92
|
+
const raw = readFileSync(contextYmlPath, "utf-8");
|
|
93
|
+
const meta = parseYaml(raw);
|
|
94
|
+
// Check for duplicate
|
|
95
|
+
if (meta.glossary?.some((g) => g.term === name)) {
|
|
96
|
+
console.error(`Error: Glossary entry "${name}" already exists in context "${opts.context}".`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
if (!meta.glossary) {
|
|
100
|
+
meta.glossary = [];
|
|
101
|
+
}
|
|
102
|
+
meta.glossary.push({ term: name, definition: description });
|
|
103
|
+
writeFileSync(contextYmlPath, stringifyYaml(meta), "utf-8");
|
|
104
|
+
console.log(`Added glossary entry "${name}" to context "${opts.context}" in context.yml.`);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// File-based types
|
|
108
|
+
const dirName = TYPE_DIR_MAP[type];
|
|
109
|
+
const typeDir = join(ctxDir, dirName);
|
|
110
|
+
const filePath = join(typeDir, `${name}.yml`);
|
|
111
|
+
// Check if item already exists
|
|
112
|
+
if (existsSync(filePath)) {
|
|
113
|
+
console.error(`Error: ${type} "${name}" already exists at ${filePath}.`);
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
// Create type subdirectory if needed
|
|
117
|
+
mkdirSync(typeDir, { recursive: true });
|
|
118
|
+
// Write YAML file
|
|
119
|
+
const yaml = generateYaml(type, name, description);
|
|
120
|
+
writeFileSync(filePath, yaml, "utf-8");
|
|
121
|
+
console.log(`Created ${type} "${name}" in context "${opts.context}":`);
|
|
122
|
+
console.log(` contexts/${opts.context}/${dirName}/${name}.yml`);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=add-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-item.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/add-item.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGnE,yEAAyE;AAEzE,6DAA6D;AAC7D,MAAM,YAAY,GAA2B;IAC3C,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,UAAU;IAClB,YAAY,EAAE,aAAa;CAC5B,CAAC;AAEF,kFAAkF;AAClF,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;AAEnE,wEAAwE;AAExE,SAAS,SAAS,CAAC,IAAY,EAAE,WAAmB;IAClD,OAAO,SAAS,IAAI,kBAAkB,WAAW,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,WAAmB;IACpD,OAAO,SAAS,IAAI,kBAAkB,WAAW,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,WAAmB;IACtD,OAAO;QACL,SAAS,IAAI,EAAE;QACf,gBAAgB,WAAW,EAAE;QAC7B,UAAU;QACV,gBAAgB;QAChB,QAAQ;QACR,cAAc;QACd,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,WAAmB;IACnD,OAAO,SAAS,IAAI,kBAAkB,WAAW,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,WAAmB;IACtD,OAAO,SAAS,IAAI,kBAAkB,WAAW,IAAI,CAAC;AACxD,CAAC;AAED,sDAAsD;AACtD,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,WAAmB;IACnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,KAAK,YAAY;YACf,OAAO,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1C;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,0EAA0E;AAC1E,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,yEAAyE;AAEzE,MAAM,UAAU,eAAe,CAAC,OAAY;IAC1C,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CACV,kCAAkC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/D;SACA,cAAc,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;SAC5E,MAAM,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;SAC7D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CACL,CACE,IAAY,EACZ,IAAY,EACZ,IAA8D,EAC9D,EAAE;QACF,gBAAgB;QAChB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CACX,6BAA6B,IAAI,uBAAuB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CACX,qBAAqB,IAAI,oDAAoD,CAC9E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEnD,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CACX,mBAAmB,IAAI,CAAC,OAAO,6CAA6C,cAAc,GAAG,CAC9F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,IAAI,EAAE,CAAC;QAEjE,qDAAqD;QACrD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,SAAS,CAAkB,GAAG,CAAC,CAAC;YAE7C,sBAAsB;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,KAAK,CACX,0BAA0B,IAAI,gCAAgC,IAAI,CAAC,OAAO,IAAI,CAC/E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5D,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAE5D,OAAO,CAAC,GAAG,CACT,yBAAyB,IAAI,iBAAiB,IAAI,CAAC,OAAO,mBAAmB,CAC9E,CAAC;YACF,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;QAE9C,+BAA+B;QAC/B,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CACX,UAAU,IAAI,KAAK,IAAI,uBAAuB,QAAQ,GAAG,CAC1D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,qCAAqC;QACrC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExC,kBAAkB;QAClB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACnD,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvC,OAAO,CAAC,GAAG,CACT,WAAW,IAAI,KAAK,IAAI,iBAAiB,IAAI,CAAC,OAAO,IAAI,CAC1D,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,MAAM,CAAC,CAAC;IACnE,CAAC,CACF,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dkk new adr <title>` command — scaffold a new ADR file.
|
|
3
|
+
*
|
|
4
|
+
* Creates `.dkk/adr/adr-NNNN.md` with YAML frontmatter template.
|
|
5
|
+
* Automatically determines the next ADR number by scanning existing files.
|
|
6
|
+
*
|
|
7
|
+
* Flags:
|
|
8
|
+
* --status accepted|proposed|deprecated (default: proposed)
|
|
9
|
+
*/
|
|
10
|
+
import type { Command as Cmd } from "commander";
|
|
11
|
+
export declare function registerNewAdr(program: Cmd): void;
|
|
12
|
+
//# sourceMappingURL=new-adr.d.ts.map
|
|
@@ -0,0 +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;AA2ChD,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CA8DjD"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { adrDir } from "../../../shared/paths.js";
|
|
4
|
+
/** Scan existing adr-NNNN.md files and return the next number. */
|
|
5
|
+
function nextAdrNumber(dir) {
|
|
6
|
+
if (!existsSync(dir))
|
|
7
|
+
return 1;
|
|
8
|
+
const files = readdirSync(dir);
|
|
9
|
+
let max = 0;
|
|
10
|
+
for (const f of files) {
|
|
11
|
+
const m = f.match(/^adr-(\d{4})\.md$/);
|
|
12
|
+
if (m) {
|
|
13
|
+
const n = parseInt(m[1], 10);
|
|
14
|
+
if (n > max)
|
|
15
|
+
max = n;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return max + 1;
|
|
19
|
+
}
|
|
20
|
+
/** Pad a number to 4 digits. */
|
|
21
|
+
function pad4(n) {
|
|
22
|
+
return String(n).padStart(4, "0");
|
|
23
|
+
}
|
|
24
|
+
/** Get today's date as YYYY-MM-DD. */
|
|
25
|
+
function today() {
|
|
26
|
+
const d = new Date();
|
|
27
|
+
const year = d.getFullYear();
|
|
28
|
+
const month = String(d.getMonth() + 1).padStart(2, "0");
|
|
29
|
+
const day = String(d.getDate()).padStart(2, "0");
|
|
30
|
+
return `${year}-${month}-${day}`;
|
|
31
|
+
}
|
|
32
|
+
/** Convert a title to a kebab-case slug for the filename hint. */
|
|
33
|
+
function slugify(title) {
|
|
34
|
+
return title
|
|
35
|
+
.toLowerCase()
|
|
36
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
37
|
+
.replace(/^-|-$/g, "");
|
|
38
|
+
}
|
|
39
|
+
export function registerNewAdr(program) {
|
|
40
|
+
program
|
|
41
|
+
.command("adr <title>")
|
|
42
|
+
.description("Scaffold a new ADR file with frontmatter template")
|
|
43
|
+
.option("-r, --root <path>", "Override repository root")
|
|
44
|
+
.option("-s, --status <status>", "ADR status (proposed, accepted, deprecated)", "proposed")
|
|
45
|
+
.action((title, opts) => {
|
|
46
|
+
const status = opts.status ?? "proposed";
|
|
47
|
+
const validStatuses = ["proposed", "accepted", "deprecated", "superseded"];
|
|
48
|
+
if (!validStatuses.includes(status)) {
|
|
49
|
+
console.error(`Error: Invalid status "${status}". Must be one of: ${validStatuses.join(", ")}`);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
const dir = adrDir(opts.root);
|
|
53
|
+
mkdirSync(dir, { recursive: true });
|
|
54
|
+
const num = nextAdrNumber(dir);
|
|
55
|
+
const id = `adr-${pad4(num)}`;
|
|
56
|
+
const filename = `${id}.md`;
|
|
57
|
+
const filePath = join(dir, filename);
|
|
58
|
+
// Guard: should not happen with auto-numbering, but be safe
|
|
59
|
+
if (existsSync(filePath)) {
|
|
60
|
+
console.error(`Error: ${filePath} already exists.`);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
const _slug = slugify(title);
|
|
64
|
+
const content = `---
|
|
65
|
+
id: ${id}
|
|
66
|
+
title: ${title}
|
|
67
|
+
status: ${status}
|
|
68
|
+
date: ${today()}
|
|
69
|
+
deciders: []
|
|
70
|
+
domain_refs: []
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
# ${id.toUpperCase()} — ${title}
|
|
74
|
+
|
|
75
|
+
**Status:** ${status.charAt(0).toUpperCase() + status.slice(1)}
|
|
76
|
+
**Date:** ${today()}
|
|
77
|
+
|
|
78
|
+
## Context
|
|
79
|
+
|
|
80
|
+
<!-- What is the issue that we're seeing that is motivating this decision? -->
|
|
81
|
+
|
|
82
|
+
## Decision
|
|
83
|
+
|
|
84
|
+
<!-- What is the change that we're proposing and/or doing? -->
|
|
85
|
+
|
|
86
|
+
## Consequences
|
|
87
|
+
|
|
88
|
+
<!-- What becomes easier or harder as a result of this decision? -->
|
|
89
|
+
`;
|
|
90
|
+
writeFileSync(filePath, content, "utf-8");
|
|
91
|
+
console.log(`Created ${filename}`);
|
|
92
|
+
console.log(` .dkk/adr/${filename}`);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=new-adr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-adr.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-adr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dkk new context <name>` command — scaffold a new bounded context.
|
|
3
|
+
*
|
|
4
|
+
* Creates:
|
|
5
|
+
* .dkk/domain/contexts/<name>/context.yml
|
|
6
|
+
* .dkk/domain/contexts/<name>/events/
|
|
7
|
+
* .dkk/domain/contexts/<name>/commands/
|
|
8
|
+
* .dkk/domain/contexts/<name>/aggregates/
|
|
9
|
+
* .dkk/domain/contexts/<name>/policies/
|
|
10
|
+
* .dkk/domain/contexts/<name>/read-models/
|
|
11
|
+
*
|
|
12
|
+
* Registers the context in `.dkk/domain/index.yml`.
|
|
13
|
+
* Errors if the context already exists.
|
|
14
|
+
*/
|
|
15
|
+
import type { Command as Cmd } from "commander";
|
|
16
|
+
export declare function registerNewContext(program: Cmd): void;
|
|
17
|
+
//# sourceMappingURL=new-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-context.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAYhD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAoErD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { contextsDir, indexFile } from "../../../shared/paths.js";
|
|
4
|
+
import { parseYaml, stringifyYaml } from "../../../shared/yaml.js";
|
|
5
|
+
/** Validate context name is kebab-case per schema: ^[a-z][a-z0-9-]*$ */
|
|
6
|
+
function isValidContextName(name) {
|
|
7
|
+
return /^[a-z][a-z0-9-]*$/.test(name);
|
|
8
|
+
}
|
|
9
|
+
export function registerNewContext(program) {
|
|
10
|
+
program
|
|
11
|
+
.command("context <name>")
|
|
12
|
+
.description("Scaffold a new bounded context directory and register it in index.yml")
|
|
13
|
+
.option("-r, --root <path>", "Override repository root")
|
|
14
|
+
.option("-d, --description <text>", "Description of the bounded context")
|
|
15
|
+
.action((name, opts) => {
|
|
16
|
+
// Validate name
|
|
17
|
+
if (!isValidContextName(name)) {
|
|
18
|
+
console.error(`Error: Context name "${name}" is invalid. Use kebab-case (e.g. "order-management").`);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
const ctxDir = join(contextsDir(opts.root), name);
|
|
22
|
+
// Guard: refuse if context directory already exists
|
|
23
|
+
if (existsSync(ctxDir)) {
|
|
24
|
+
console.error(`Error: Context "${name}" already exists at ${ctxDir}.`);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
const description = opts.description ?? `The ${name} bounded context`;
|
|
28
|
+
// Create directory structure
|
|
29
|
+
const subDirs = ["events", "commands", "aggregates", "policies", "read-models"];
|
|
30
|
+
for (const sub of subDirs) {
|
|
31
|
+
mkdirSync(join(ctxDir, sub), { recursive: true });
|
|
32
|
+
}
|
|
33
|
+
// Write context.yml
|
|
34
|
+
const contextYaml = `# Bounded context metadata and glossary.
|
|
35
|
+
name: ${name}
|
|
36
|
+
description: ${description}
|
|
37
|
+
`;
|
|
38
|
+
writeFileSync(join(ctxDir, "context.yml"), contextYaml, "utf-8");
|
|
39
|
+
// Register in index.yml
|
|
40
|
+
const idxPath = indexFile(opts.root);
|
|
41
|
+
let index;
|
|
42
|
+
if (existsSync(idxPath)) {
|
|
43
|
+
const raw = readFileSync(idxPath, "utf-8");
|
|
44
|
+
index = parseYaml(raw);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Create index.yml if it doesn't exist
|
|
48
|
+
mkdirSync(join(idxPath, ".."), { recursive: true });
|
|
49
|
+
index = { contexts: [], flows: [] };
|
|
50
|
+
}
|
|
51
|
+
// Check if already registered
|
|
52
|
+
const alreadyRegistered = index.contexts.some((c) => c.name === name);
|
|
53
|
+
if (!alreadyRegistered) {
|
|
54
|
+
index.contexts.push({ name, description });
|
|
55
|
+
writeFileSync(idxPath, stringifyYaml(index), "utf-8");
|
|
56
|
+
}
|
|
57
|
+
console.log(`Created context "${name}":`);
|
|
58
|
+
console.log(` contexts/${name}/context.yml`);
|
|
59
|
+
for (const sub of subDirs) {
|
|
60
|
+
console.log(` contexts/${name}/${sub}/`);
|
|
61
|
+
}
|
|
62
|
+
if (!alreadyRegistered) {
|
|
63
|
+
console.log(`\nRegistered "${name}" in index.yml.`);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=new-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-context.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `dkk new domain` command — scaffold a complete `.dkk/domain/` structure.
|
|
3
|
+
*
|
|
4
|
+
* Creates:
|
|
5
|
+
* .dkk/domain/index.yml — domain index with one sample context
|
|
6
|
+
* .dkk/domain/actors.yml — actors file with one sample actor
|
|
7
|
+
* .dkk/domain/contexts/sample/ — example bounded context with:
|
|
8
|
+
* context.yml, events/, commands/, aggregates/, policies/, read-models/
|
|
9
|
+
*
|
|
10
|
+
* Errors if `.dkk/domain/` already exists (use `--force` to overwrite).
|
|
11
|
+
*/
|
|
12
|
+
import type { Command as Cmd } from "commander";
|
|
13
|
+
export declare function registerNewDomain(program: Cmd): void;
|
|
14
|
+
//# sourceMappingURL=new-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-domain.d.ts","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AA0DhD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CA0CpD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { domainDir } from "../../../shared/paths.js";
|
|
4
|
+
// ── Template content ──────────────────────────────────────────────────
|
|
5
|
+
const INDEX_YML = `# Domain index — registered bounded contexts and cross-context flows.
|
|
6
|
+
contexts:
|
|
7
|
+
- name: sample
|
|
8
|
+
description: Example bounded context (replace with your own)
|
|
9
|
+
flows: []
|
|
10
|
+
`;
|
|
11
|
+
const ACTORS_YML = `# Actors — people and systems that interact with the domain.
|
|
12
|
+
actors:
|
|
13
|
+
- name: User
|
|
14
|
+
type: human
|
|
15
|
+
description: A person who interacts with the system
|
|
16
|
+
`;
|
|
17
|
+
const CONTEXT_YML = `# Bounded context metadata and glossary.
|
|
18
|
+
name: sample
|
|
19
|
+
description: Example bounded context (replace with your own)
|
|
20
|
+
glossary:
|
|
21
|
+
- term: Example
|
|
22
|
+
definition: A sample glossary term to demonstrate the structure
|
|
23
|
+
`;
|
|
24
|
+
const SAMPLE_EVENT = `# Domain event — something that happened in the domain.
|
|
25
|
+
name: SampleCreated
|
|
26
|
+
description: Raised when a new sample entity is created
|
|
27
|
+
fields:
|
|
28
|
+
- name: sampleId
|
|
29
|
+
type: UUID
|
|
30
|
+
raised_by: Sample
|
|
31
|
+
`;
|
|
32
|
+
const SAMPLE_COMMAND = `# Command — an instruction to change domain state.
|
|
33
|
+
name: CreateSample
|
|
34
|
+
description: Create a new sample entity
|
|
35
|
+
actor: User
|
|
36
|
+
handled_by: Sample
|
|
37
|
+
`;
|
|
38
|
+
const SAMPLE_AGGREGATE = `# Aggregate — a consistency boundary that handles commands and emits events.
|
|
39
|
+
name: Sample
|
|
40
|
+
description: Sample aggregate root
|
|
41
|
+
handles:
|
|
42
|
+
commands:
|
|
43
|
+
- CreateSample
|
|
44
|
+
emits:
|
|
45
|
+
events:
|
|
46
|
+
- SampleCreated
|
|
47
|
+
`;
|
|
48
|
+
// ── Registration ──────────────────────────────────────────────────────
|
|
49
|
+
export function registerNewDomain(program) {
|
|
50
|
+
program
|
|
51
|
+
.command("domain")
|
|
52
|
+
.description("Scaffold a complete .dkk/domain/ structure with sample content")
|
|
53
|
+
.option("-r, --root <path>", "Override repository root")
|
|
54
|
+
.option("--force", "Overwrite existing .dkk/domain/ directory")
|
|
55
|
+
.action((opts) => {
|
|
56
|
+
const dir = domainDir(opts.root);
|
|
57
|
+
// Guard: refuse to overwrite unless --force
|
|
58
|
+
if (existsSync(dir) && !opts.force) {
|
|
59
|
+
console.error(`Error: ${dir} already exists. Use --force to overwrite.`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
// Create directory structure
|
|
63
|
+
const contextsBase = join(dir, "contexts", "sample");
|
|
64
|
+
const subDirs = ["events", "commands", "aggregates", "policies", "read-models"];
|
|
65
|
+
for (const sub of subDirs) {
|
|
66
|
+
mkdirSync(join(contextsBase, sub), { recursive: true });
|
|
67
|
+
}
|
|
68
|
+
// Write files
|
|
69
|
+
writeFileSync(join(dir, "index.yml"), INDEX_YML, "utf-8");
|
|
70
|
+
writeFileSync(join(dir, "actors.yml"), ACTORS_YML, "utf-8");
|
|
71
|
+
writeFileSync(join(contextsBase, "context.yml"), CONTEXT_YML, "utf-8");
|
|
72
|
+
writeFileSync(join(contextsBase, "events", "SampleCreated.yml"), SAMPLE_EVENT, "utf-8");
|
|
73
|
+
writeFileSync(join(contextsBase, "commands", "CreateSample.yml"), SAMPLE_COMMAND, "utf-8");
|
|
74
|
+
writeFileSync(join(contextsBase, "aggregates", "Sample.yml"), SAMPLE_AGGREGATE, "utf-8");
|
|
75
|
+
console.log("Created .dkk/domain/ with sample content:");
|
|
76
|
+
console.log(" index.yml");
|
|
77
|
+
console.log(" actors.yml");
|
|
78
|
+
console.log(" contexts/sample/");
|
|
79
|
+
console.log(" context.yml");
|
|
80
|
+
console.log(" events/SampleCreated.yml");
|
|
81
|
+
console.log(" commands/CreateSample.yml");
|
|
82
|
+
console.log(" aggregates/Sample.yml");
|
|
83
|
+
console.log("\nRun `dkk render` to validate and generate documentation.");
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=new-domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-domain.js","sourceRoot":"","sources":["../../../../src/features/scaffold/commands/new-domain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ADR frontmatter parser.
|
|
3
3
|
*
|
|
4
|
-
* Reads Markdown files from
|
|
4
|
+
* Reads Markdown files from `.dkk/adr/` and extracts the YAML
|
|
5
5
|
* frontmatter block (delimited by `---`) into typed `AdrRecord` objects.
|
|
6
6
|
*/
|
|
7
7
|
import { readFileSync } from "node:fs";
|