ddd-ts-kit 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/README.fr.md +15 -6
- package/README.md +12 -4
- package/dist/check/catalogue/architecture-rules.d.ts.map +1 -1
- package/dist/check/catalogue/architecture-rules.js +2 -0
- package/dist/check/catalogue/architecture-rules.js.map +1 -1
- package/dist/check/catalogue/default-severities.d.ts.map +1 -1
- package/dist/check/catalogue/default-severities.js +1 -0
- package/dist/check/catalogue/default-severities.js.map +1 -1
- package/dist/check/commands/rules-command.js +2 -2
- package/dist/check/commands/rules-command.js.map +1 -1
- package/dist/check/configuration/config-inspection.d.ts.map +1 -1
- package/dist/check/configuration/config-inspection.js +7 -1
- package/dist/check/configuration/config-inspection.js.map +1 -1
- package/dist/check/engine/run-check.d.ts.map +1 -1
- package/dist/check/engine/run-check.js +17 -1
- package/dist/check/engine/run-check.js.map +1 -1
- package/dist/check/explain/layout-docs.js +1 -1
- package/dist/check/explain/layout-docs.js.map +1 -1
- package/dist/check/explain/persistence-docs.js +1 -1
- package/dist/check/explain/persistence-docs.js.map +1 -1
- package/dist/check/explain/tree-docs.js +2 -2
- package/dist/check/explain/tree-docs.js.map +1 -1
- package/dist/check/explain/wiring-docs.d.ts.map +1 -1
- package/dist/check/explain/wiring-docs.js +7 -0
- package/dist/check/explain/wiring-docs.js.map +1 -1
- package/dist/check/fixtures/config-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/config-fixtures.js +50 -1
- package/dist/check/fixtures/config-fixtures.js.map +1 -1
- package/dist/check/fixtures/governance-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/governance-fixtures.js +12 -3
- package/dist/check/fixtures/governance-fixtures.js.map +1 -1
- package/dist/check/fixtures/layer-fixtures.js +1 -1
- package/dist/check/fixtures/layer-fixtures.js.map +1 -1
- package/dist/check/fixtures/layout-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/layout-fixtures.js +6 -0
- package/dist/check/fixtures/layout-fixtures.js.map +1 -1
- package/dist/check/fixtures/persistence-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/persistence-fixtures.js +16 -0
- package/dist/check/fixtures/persistence-fixtures.js.map +1 -1
- package/dist/check/fixtures/test-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/test-fixtures.js +35 -1
- package/dist/check/fixtures/test-fixtures.js.map +1 -1
- package/dist/check/fixtures/tree-fixtures.js +1 -1
- package/dist/check/fixtures/tree-fixtures.js.map +1 -1
- package/dist/check/migrations/working-migration-findings.d.ts +8 -0
- package/dist/check/migrations/working-migration-findings.d.ts.map +1 -0
- package/dist/check/migrations/working-migration-findings.js +22 -0
- package/dist/check/migrations/working-migration-findings.js.map +1 -0
- package/dist/check/model/project.d.ts +3 -0
- package/dist/check/model/project.d.ts.map +1 -1
- package/dist/check/project/assemble-project.d.ts +2 -2
- package/dist/check/project/assemble-project.d.ts.map +1 -1
- package/dist/check/project/assemble-project.js +16 -6
- package/dist/check/project/assemble-project.js.map +1 -1
- package/dist/check/rules/clean-file-size.d.ts.map +1 -1
- package/dist/check/rules/clean-file-size.js +6 -1
- package/dist/check/rules/clean-file-size.js.map +1 -1
- package/dist/check/rules/clean-one-export-per-file.d.ts.map +1 -1
- package/dist/check/rules/clean-one-export-per-file.js +2 -11
- package/dist/check/rules/clean-one-export-per-file.js.map +1 -1
- package/dist/check/rules/config-rule-off-everywhere.d.ts +3 -0
- package/dist/check/rules/config-rule-off-everywhere.d.ts.map +1 -0
- package/dist/check/rules/config-rule-off-everywhere.js +21 -0
- package/dist/check/rules/config-rule-off-everywhere.js.map +1 -0
- package/dist/check/rules/governance-recorded-deviation.js +14 -7
- package/dist/check/rules/governance-recorded-deviation.js.map +1 -1
- package/dist/check/rules/persistence-migration-history.d.ts.map +1 -1
- package/dist/check/rules/persistence-migration-history.js +9 -2
- package/dist/check/rules/persistence-migration-history.js.map +1 -1
- package/dist/check/rules/test-spec-required.d.ts.map +1 -1
- package/dist/check/rules/test-spec-required.js +3 -2
- package/dist/check/rules/test-spec-required.js.map +1 -1
- package/dist/check/support/is-abstract-base.d.ts +7 -0
- package/dist/check/support/is-abstract-base.d.ts.map +1 -0
- package/dist/check/support/is-abstract-base.js +11 -0
- package/dist/check/support/is-abstract-base.js.map +1 -0
- package/dist/check/support/is-generated-context-file.d.ts +4 -0
- package/dist/check/support/is-generated-context-file.d.ts.map +1 -0
- package/dist/check/support/is-generated-context-file.js +12 -0
- package/dist/check/support/is-generated-context-file.js.map +1 -0
- package/dist/commands/drizzle-generate.d.ts +4 -0
- package/dist/commands/drizzle-generate.d.ts.map +1 -0
- package/dist/commands/drizzle-generate.js +14 -0
- package/dist/commands/drizzle-generate.js.map +1 -0
- package/dist/commands/generate.js +2 -0
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/worker-scope.d.ts.map +1 -1
- package/dist/commands/worker-scope.js +17 -2
- package/dist/commands/worker-scope.js.map +1 -1
- package/dist/config/config.d.ts +2 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/parse-config.d.ts.map +1 -1
- package/dist/config/parse-config.js +2 -1
- package/dist/config/parse-config.js.map +1 -1
- package/dist/config/parse-rule-setting.d.ts +3 -0
- package/dist/config/parse-rule-setting.d.ts.map +1 -0
- package/dist/config/parse-rule-setting.js +10 -0
- package/dist/config/parse-rule-setting.js.map +1 -0
- package/dist/config/project-severity.d.ts +4 -0
- package/dist/config/project-severity.d.ts.map +1 -0
- package/dist/config/project-severity.js +5 -0
- package/dist/config/project-severity.js.map +1 -0
- package/dist/config/rule-setting.d.ts +10 -0
- package/dist/config/rule-setting.d.ts.map +1 -0
- package/dist/config/rule-setting.js +2 -0
- package/dist/config/rule-setting.js.map +1 -0
- package/dist/generate/kind.d.ts +2 -0
- package/dist/generate/kind.d.ts.map +1 -1
- package/dist/generate/kinds/adr-kind.d.ts.map +1 -1
- package/dist/generate/kinds/adr-kind.js +8 -4
- package/dist/generate/kinds/adr-kind.js.map +1 -1
- package/dist/generate/kinds/adr-number.d.ts +8 -0
- package/dist/generate/kinds/adr-number.d.ts.map +1 -0
- package/dist/generate/kinds/adr-number.js +25 -0
- package/dist/generate/kinds/adr-number.js.map +1 -0
- package/dist/generate/kinds/write-adr.d.ts +3 -1
- package/dist/generate/kinds/write-adr.d.ts.map +1 -1
- package/dist/generate/kinds/write-adr.js +3 -3
- package/dist/generate/kinds/write-adr.js.map +1 -1
- package/dist/help/notes.d.ts +1 -1
- package/dist/help/notes.d.ts.map +1 -1
- package/dist/help/notes.js +8 -2
- package/dist/help/notes.js.map +1 -1
- package/dist/help/usage.d.ts +1 -1
- package/dist/help/usage.d.ts.map +1 -1
- package/dist/help/usage.js +2 -1
- package/dist/help/usage.js.map +1 -1
- package/dist/init/manifest/database-scripts.d.ts.map +1 -1
- package/dist/init/manifest/database-scripts.js +2 -1
- package/dist/init/manifest/database-scripts.js.map +1 -1
- package/dist/init/manifest/scripts-for.js +2 -0
- package/dist/init/manifest/scripts-for.js.map +1 -1
- package/dist/init/manifest/versions.js +24 -24
- package/dist/init/write-agent-settings.d.ts.map +1 -1
- package/dist/init/write-agent-settings.js +1 -0
- package/dist/init/write-agent-settings.js.map +1 -1
- package/dist/migration/drizzle-kit-bin.d.ts +3 -0
- package/dist/migration/drizzle-kit-bin.d.ts.map +1 -0
- package/dist/migration/drizzle-kit-bin.js +12 -0
- package/dist/migration/drizzle-kit-bin.js.map +1 -0
- package/dist/migration/drizzle-silent-failures.d.ts +9 -0
- package/dist/migration/drizzle-silent-failures.d.ts.map +1 -0
- package/dist/migration/drizzle-silent-failures.js +14 -0
- package/dist/migration/drizzle-silent-failures.js.map +1 -0
- package/dist/migration/generate-drizzle-migration.d.ts +15 -0
- package/dist/migration/generate-drizzle-migration.d.ts.map +1 -0
- package/dist/migration/generate-drizzle-migration.js +37 -0
- package/dist/migration/generate-drizzle-migration.js.map +1 -0
- package/dist/migration/index.d.ts +2 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +2 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/presets/preset-decision.js +2 -2
- package/dist/presets/preset-decision.js.map +1 -1
- package/dist/progress/read-slice-rules.d.ts +8 -0
- package/dist/progress/read-slice-rules.d.ts.map +1 -0
- package/dist/progress/read-slice-rules.js +20 -0
- package/dist/progress/read-slice-rules.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -0
- package/dist/run.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worker/base-of.d.ts +8 -0
- package/dist/worker/base-of.d.ts.map +1 -0
- package/dist/worker/base-of.js +36 -0
- package/dist/worker/base-of.js.map +1 -0
- package/dist/worker/briefed-rows.d.ts +14 -0
- package/dist/worker/briefed-rows.d.ts.map +1 -0
- package/dist/worker/briefed-rows.js +53 -0
- package/dist/worker/briefed-rows.js.map +1 -0
- package/dist/worker/briefed-slice.d.ts +7 -0
- package/dist/worker/briefed-slice.d.ts.map +1 -0
- package/dist/worker/briefed-slice.js +2 -0
- package/dist/worker/briefed-slice.js.map +1 -0
- package/dist/worker/briefing-of.d.ts.map +1 -1
- package/dist/worker/briefing-of.js +7 -5
- package/dist/worker/briefing-of.js.map +1 -1
- package/dist/worker/ensure-contains-base.d.ts +6 -0
- package/dist/worker/ensure-contains-base.d.ts.map +1 -0
- package/dist/worker/ensure-contains-base.js +13 -0
- package/dist/worker/ensure-contains-base.js.map +1 -0
- package/dist/worker/open-worker-scope.d.ts +7 -3
- package/dist/worker/open-worker-scope.d.ts.map +1 -1
- package/dist/worker/open-worker-scope.js +33 -21
- package/dist/worker/open-worker-scope.js.map +1 -1
- package/dist/worker/worker-place.d.ts +2 -2
- package/dist/worker/worker-place.d.ts.map +1 -1
- package/dist/worker/worker-scope.d.ts +4 -4
- package/dist/worker/worker-scope.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/init/AGENTS.md.tpl +2 -2
- package/templates/init/README.md.tpl +1 -0
- package/templates/pipeline/package-scripts.json +1 -1
- package/templates/pipeline/vitest.config.ts.tpl +10 -1
- package/dist/generate/kinds/next-adr-number.d.ts +0 -4
- package/dist/generate/kinds/next-adr-number.d.ts.map +0 -1
- package/dist/generate/kinds/next-adr-number.js +0 -7
- package/dist/generate/kinds/next-adr-number.js.map +0 -1
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.21.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.21.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Config } from '../config/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The ref a worker's worktree is cut from and checked against: `--base` when given, which must
|
|
4
|
+
* name a commit, or else the current branch. Without `--base`, refuses to run from the worktree
|
|
5
|
+
* of a worker: its branch would become the trunk of the new one.
|
|
6
|
+
*/
|
|
7
|
+
export declare function baseOf(root: string, config: Config, base: string | undefined): string;
|
|
8
|
+
//# sourceMappingURL=base-of.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-of.d.ts","sourceRoot":"","sources":["../../src/worker/base-of.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgBrF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { CliError } from '../cli-error.js';
|
|
4
|
+
import { runGit } from '../commit/run-git.js';
|
|
5
|
+
import { WORKER_SCOPE_FILE } from '../commit/worker-scope-file.js';
|
|
6
|
+
/**
|
|
7
|
+
* The ref a worker's worktree is cut from and checked against: `--base` when given, which must
|
|
8
|
+
* name a commit, or else the current branch. Without `--base`, refuses to run from the worktree
|
|
9
|
+
* of a worker: its branch would become the trunk of the new one.
|
|
10
|
+
*/
|
|
11
|
+
export function baseOf(root, config, base) {
|
|
12
|
+
if (base !== undefined) {
|
|
13
|
+
return knownRef(root, base);
|
|
14
|
+
}
|
|
15
|
+
const current = runGit(root, ['branch', '--show-current'])?.trim() || 'HEAD';
|
|
16
|
+
const worker = workerBranch(root, config, current);
|
|
17
|
+
if (worker !== undefined) {
|
|
18
|
+
throw new CliError(`${root} is the worktree of a worker (${worker}): its branch ${current} would be the trunk of the new worker.`, 'Run worker-scope from the checkout of the trunk, or name the base: `--base origin/main`.');
|
|
19
|
+
}
|
|
20
|
+
return current;
|
|
21
|
+
}
|
|
22
|
+
function knownRef(root, base) {
|
|
23
|
+
if (runGit(root, ['rev-parse', '--verify', '--quiet', `${base}^{commit}`]) === undefined) {
|
|
24
|
+
throw new CliError(`The base ${base} is not a commit of this repository.`, 'Fetch it first (`git fetch origin`), or pass a branch, a tag or a commit: `--base origin/main`.');
|
|
25
|
+
}
|
|
26
|
+
return base;
|
|
27
|
+
}
|
|
28
|
+
/** What makes the current checkout a worker's: its scope file, or a branch named `build/<context>`. */
|
|
29
|
+
function workerBranch(root, config, current) {
|
|
30
|
+
if (fs.existsSync(path.join(root, WORKER_SCOPE_FILE))) {
|
|
31
|
+
return `${WORKER_SCOPE_FILE} is present`;
|
|
32
|
+
}
|
|
33
|
+
const context = Object.keys(config.contexts).find((name) => current === `build/${name}`);
|
|
34
|
+
return context === undefined ? undefined : `the branch of the worker of ${context}`;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=base-of.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-of.js","sourceRoot":"","sources":["../../src/worker/base-of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,MAAc,EAAE,IAAwB;IAC3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,GAAG,IAAI,iCAAiC,MAAM,iBAAiB,OAAO,wCAAwC,EAC9G,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACzF,MAAM,IAAI,QAAQ,CAChB,YAAY,IAAI,sCAAsC,EACtD,iGAAiG,CAClG,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uGAAuG;AACvG,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,OAAe;IACjE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,iBAAiB,aAAa,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC;IAEzF,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,OAAO,EAAE,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Workspace } from '../workspace/index.js';
|
|
2
|
+
import type { BriefedSlice } from './briefed-slice.js';
|
|
3
|
+
/** The rows a worker is briefed on, with their rules, and what the conductor should know about them. */
|
|
4
|
+
export interface BriefedRows {
|
|
5
|
+
readonly slices: readonly BriefedSlice[];
|
|
6
|
+
readonly notes: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The rows of the slices file for one worker: the ids asked for, in the order given, or by
|
|
10
|
+
* default every row of the context still to do. A row asked for must exist once and belong to
|
|
11
|
+
* the context. Ids are compared as text.
|
|
12
|
+
*/
|
|
13
|
+
export declare function briefedRows(ws: Workspace, context: string, ids: readonly string[] | undefined): BriefedRows;
|
|
14
|
+
//# sourceMappingURL=briefed-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-rows.d.ts","sourceRoot":"","sources":["../../src/worker/briefed-rows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,wGAAwG;AACxG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAKD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,WAAW,CAO3G"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { CliError } from '../cli-error.js';
|
|
2
|
+
import { readSliceRules } from '../progress/read-slice-rules.js';
|
|
3
|
+
import { readSlices, SLICES_FILE } from '../progress/read-slices.js';
|
|
4
|
+
/** Past this many rows, an agent runs out of turns or context before its report. */
|
|
5
|
+
const ROWS_PER_AGENT = 2;
|
|
6
|
+
/**
|
|
7
|
+
* The rows of the slices file for one worker: the ids asked for, in the order given, or by
|
|
8
|
+
* default every row of the context still to do. A row asked for must exist once and belong to
|
|
9
|
+
* the context. Ids are compared as text.
|
|
10
|
+
*/
|
|
11
|
+
export function briefedRows(ws, context, ids) {
|
|
12
|
+
const rows = readSlices(ws) ?? [];
|
|
13
|
+
const rules = readSliceRules(ws);
|
|
14
|
+
const chosen = ids === undefined ? todoRows(rows, context) : asked(rows, context, ids);
|
|
15
|
+
const slices = chosen.map((row) => ({ ...row, rules: rules.get(row.id) }));
|
|
16
|
+
return { slices, notes: [...doneNotes(slices, ids), ...sizeNotes(slices, context)] };
|
|
17
|
+
}
|
|
18
|
+
function todoRows(rows, context) {
|
|
19
|
+
return rows.filter((row) => row.owner === context && row.status === 'todo');
|
|
20
|
+
}
|
|
21
|
+
function asked(rows, context, ids) {
|
|
22
|
+
return ids.map((id) => {
|
|
23
|
+
const matching = rows.filter((row) => row.id === id);
|
|
24
|
+
const [row] = matching;
|
|
25
|
+
if (row === undefined) {
|
|
26
|
+
throw new CliError(`Row #${id} is not in ${SLICES_FILE}.`, `Pass the ids of the # column as written (\`--rows 4.15,4.16\`); \`npx ddd-ts-kit status\` lists them.`);
|
|
27
|
+
}
|
|
28
|
+
if (matching.length > 1) {
|
|
29
|
+
throw new CliError(`Row #${id} appears ${matching.length} times in ${SLICES_FILE}.`, 'Number every row once across the file (`npx ddd-ts-kit status` names the numbers used twice), then brief again.');
|
|
30
|
+
}
|
|
31
|
+
if (row.owner !== context) {
|
|
32
|
+
throw new CliError(`Row #${id} is owned by ${row.owner || 'nobody'}, not by ${context}.`, `Brief that row to the worker of its owner, or change its Owner column to ${context} first.`);
|
|
33
|
+
}
|
|
34
|
+
return row;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function doneNotes(slices, ids) {
|
|
38
|
+
if (ids === undefined) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
return slices
|
|
42
|
+
.filter((row) => row.status === 'done')
|
|
43
|
+
.map((row) => `Row #${row.id} is marked done in ${SLICES_FILE}: brief it again only to rework it.`);
|
|
44
|
+
}
|
|
45
|
+
function sizeNotes(slices, context) {
|
|
46
|
+
if (slices.length <= ROWS_PER_AGENT) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
return [
|
|
50
|
+
`${slices.length} rows in one briefing: an agent holds ${ROWS_PER_AGENT} at most before its turns or its context run out. Brief one agent per row, in sequence, with \`npx ddd-ts-kit worker-scope ${context} --rows <id>\`.`,
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=briefed-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-rows.js","sourceRoot":"","sources":["../../src/worker/briefed-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Slice } from '../progress/slice.js';
|
|
2
|
+
/** A row of the slices table as a worker is briefed on it: with the rules written for it under the tables. */
|
|
3
|
+
export interface BriefedSlice extends Slice {
|
|
4
|
+
/** The invariants and the failures by name, from the line `- #<row>: ...` of the slices file; undefined when none. */
|
|
5
|
+
readonly rules: string | undefined;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=briefed-slice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-slice.d.ts","sourceRoot":"","sources":["../../src/worker/briefed-slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,8GAA8G;AAC9G,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,sHAAsH;IACtH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-slice.js","sourceRoot":"","sources":["../../src/worker/briefed-slice.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefing-of.d.ts","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"briefing-of.d.ts","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAgCrD"}
|
|
@@ -28,9 +28,10 @@ export function briefingOf(place) {
|
|
|
28
28
|
'Done when: every slice is committed, `npm run verify` is green in the worktree, and',
|
|
29
29
|
`\`npx ddd-ts-kit todo ${context}\` lists nothing.`,
|
|
30
30
|
'',
|
|
31
|
-
'Report, in under 200 words: slices done (commit hashes),
|
|
32
|
-
|
|
33
|
-
'
|
|
31
|
+
'Report, always, even when you stop early, in under 200 words: slices done (commit hashes),',
|
|
32
|
+
'slices not done and why, with the files left modified by an unfinished one, needs on shared',
|
|
33
|
+
"files or on another context's contract, glossary terms added, open business questions. No",
|
|
34
|
+
'code, no file contents.',
|
|
34
35
|
].join('\n');
|
|
35
36
|
}
|
|
36
37
|
function scopeLines({ config, generators }, directory) {
|
|
@@ -39,7 +40,8 @@ function scopeLines({ config, generators }, directory) {
|
|
|
39
40
|
`- You may write: ${directory}/** and test/e2e/<use-case>.e2e.spec.ts of your slices.`,
|
|
40
41
|
`- You may not write anything else. Shared files (config, ${config.platformDir}, ${config.sourceRoot}/main.ts,`,
|
|
41
42
|
' package.json, lockfile, migrations, docs/) and other contexts are refused by the guard:',
|
|
42
|
-
' report the need, do not work around it.',
|
|
43
|
+
' report the need, do not work around it. A slice that changes the stored state generates a',
|
|
44
|
+
' working migration only: `npm run db:generate working-<what-it-does>`.',
|
|
43
45
|
`- Generators you may run: ${generators.join(', ')}.`,
|
|
44
46
|
' The others are run by the conductor.',
|
|
45
47
|
];
|
|
@@ -48,7 +50,7 @@ function sliceLines(slices) {
|
|
|
48
50
|
if (slices.length === 0) {
|
|
49
51
|
return ['- #<n> <slice>: <generator commands of the row> ; rules: <invariants and failures by name>'];
|
|
50
52
|
}
|
|
51
|
-
return slices.map((row) => `- #${row.id} ${row.slice}: ${row.startWith}
|
|
53
|
+
return slices.map((row) => `- #${row.id} ${row.slice}: ${row.startWith}${row.rules === undefined ? '' : ` ; rules: ${row.rules}`}`);
|
|
52
54
|
}
|
|
53
55
|
function contractsOf({ config, context }) {
|
|
54
56
|
const upstreams = config.contexts[context]?.upstreams ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefing-of.js","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;IAE3D,OAAO;QACL,iCAAiC,OAAO,OAAO,KAAK,CAAC,OAAO,GAAG;QAC/D,EAAE;QACF,aAAa,IAAI,cAAc,KAAK,CAAC,MAAM,aAAa,KAAK,EAAE;QAC/D,6CAA6C,IAAI,wBAAwB,IAAI,MAAM;QACnF,EAAE;QACF,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;QAC/B,EAAE;QACF,6DAA6D;QAC7D,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,EAAE;QACF,sCAAsC,WAAW,CAAC,KAAK,CAAC,EAAE;QAC1D,EAAE;QACF,yBAAyB,SAAS,mBAAmB;QACrD,6BAA6B,OAAO,4DAA4D;QAChG,EAAE;QACF,yGAAyG;QACzG,qDAAqD,KAAK,qBAAqB,OAAO,cAAc;QACpG,kBAAkB,OAAO,iCAAiC;QAC1D,EAAE;QACF,qFAAqF;QACrF,yBAAyB,OAAO,mBAAmB;QACnD,EAAE;QACF,4FAA4F;QAC5F,
|
|
1
|
+
{"version":3,"file":"briefing-of.js","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;IAE3D,OAAO;QACL,iCAAiC,OAAO,OAAO,KAAK,CAAC,OAAO,GAAG;QAC/D,EAAE;QACF,aAAa,IAAI,cAAc,KAAK,CAAC,MAAM,aAAa,KAAK,EAAE;QAC/D,6CAA6C,IAAI,wBAAwB,IAAI,MAAM;QACnF,EAAE;QACF,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;QAC/B,EAAE;QACF,6DAA6D;QAC7D,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,EAAE;QACF,sCAAsC,WAAW,CAAC,KAAK,CAAC,EAAE;QAC1D,EAAE;QACF,yBAAyB,SAAS,mBAAmB;QACrD,6BAA6B,OAAO,4DAA4D;QAChG,EAAE;QACF,yGAAyG;QACzG,qDAAqD,KAAK,qBAAqB,OAAO,cAAc;QACpG,kBAAkB,OAAO,iCAAiC;QAC1D,EAAE;QACF,qFAAqF;QACrF,yBAAyB,OAAO,mBAAmB;QACnD,EAAE;QACF,4FAA4F;QAC5F,6FAA6F;QAC7F,2FAA2F;QAC3F,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAe,EAAE,SAAiB;IACxE,OAAO;QACL,OAAO;QACP,oBAAoB,SAAS,yDAAyD;QACtF,4DAA4D,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU,WAAW;QAC/G,2FAA2F;QAC3F,6FAA6F;QAC7F,yEAAyE;QACzE,6BAA6B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACrD,wCAAwC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,4FAA4F,CAAC,CAAC;IACxG,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CACjH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAe;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAE5D,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC;QACzB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzG,CAAC,CAAC,MAAM,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuses a branch that does not contain the base: a worker on it would build on a stale
|
|
3
|
+
* trunk, and its merge would undo what the trunk gained since.
|
|
4
|
+
*/
|
|
5
|
+
export declare function ensureContainsBase(root: string, branch: string, base: string): void;
|
|
6
|
+
//# sourceMappingURL=ensure-contains-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-contains-base.d.ts","sourceRoot":"","sources":["../../src/worker/ensure-contains-base.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASnF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CliError } from '../cli-error.js';
|
|
2
|
+
import { runGit } from '../commit/run-git.js';
|
|
3
|
+
/**
|
|
4
|
+
* Refuses a branch that does not contain the base: a worker on it would build on a stale
|
|
5
|
+
* trunk, and its merge would undo what the trunk gained since.
|
|
6
|
+
*/
|
|
7
|
+
export function ensureContainsBase(root, branch, base) {
|
|
8
|
+
if (runGit(root, ['merge-base', '--is-ancestor', base, branch]) !== undefined) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
throw new CliError(`The branch ${branch} does not contain ${base}: its worker would build on a stale base.`, `Bring it up to date first (\`git -C <worktree> merge ${base}\`, or rebase it), or pass the base it was cut from with --base <ref>.`);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ensure-contains-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-contains-base.js","sourceRoot":"","sources":["../../src/worker/ensure-contains-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY;IAC3E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,IAAI,QAAQ,CAChB,cAAc,MAAM,qBAAqB,IAAI,2CAA2C,EACxF,wDAAwD,IAAI,wEAAwE,CACrI,CAAC;AACJ,CAAC"}
|
|
@@ -7,12 +7,16 @@ export interface WorkerRequest {
|
|
|
7
7
|
readonly worktree?: string;
|
|
8
8
|
/** By default `build/<context>`. */
|
|
9
9
|
readonly branch?: string;
|
|
10
|
+
/** The ref the worktree is cut from and checked against; by default the current branch. */
|
|
11
|
+
readonly base?: string;
|
|
12
|
+
/** The ids of the rows to brief, in this order; by default every row of the context still to do. */
|
|
13
|
+
readonly rows?: readonly string[];
|
|
10
14
|
readonly dryRun: boolean;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
|
-
* Gives one worker its place: a git worktree of the project on its own branch,
|
|
14
|
-
* confines it to its context, and its briefing. An existing worktree
|
|
15
|
-
* written again.
|
|
17
|
+
* Gives one worker its place: a git worktree of the project on its own branch, cut from the
|
|
18
|
+
* base, the file that confines it to its context, and its briefing. An existing worktree or
|
|
19
|
+
* branch is kept when it contains the base: only the file is written again.
|
|
16
20
|
*/
|
|
17
21
|
export declare function openWorkerScope(root: string, config: Config, request: WorkerRequest): WorkerScope;
|
|
18
22
|
//# sourceMappingURL=open-worker-scope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-worker-scope.d.ts","sourceRoot":"","sources":["../../src/worker/open-worker-scope.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"open-worker-scope.d.ts","sourceRoot":"","sources":["../../src/worker/open-worker-scope.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAOjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,WAAW,CA+BjG"}
|
|
@@ -4,25 +4,27 @@ import { CliError } from '../cli-error.js';
|
|
|
4
4
|
import { runGit } from '../commit/run-git.js';
|
|
5
5
|
import { WORKER_SCOPE_FILE } from '../commit/worker-scope-file.js';
|
|
6
6
|
import { KINDS } from '../generate/kinds.js';
|
|
7
|
-
import { readSlices } from '../progress/read-slices.js';
|
|
8
7
|
import { Workspace } from '../workspace/index.js';
|
|
8
|
+
import { briefedRows } from './briefed-rows.js';
|
|
9
9
|
import { briefingOf } from './briefing-of.js';
|
|
10
|
+
import { ensureContainsBase } from './ensure-contains-base.js';
|
|
11
|
+
import { baseOf } from './base-of.js';
|
|
10
12
|
import { workerGenerators } from './worker-generators.js';
|
|
11
13
|
/**
|
|
12
|
-
* Gives one worker its place: a git worktree of the project on its own branch,
|
|
13
|
-
* confines it to its context, and its briefing. An existing worktree
|
|
14
|
-
* written again.
|
|
14
|
+
* Gives one worker its place: a git worktree of the project on its own branch, cut from the
|
|
15
|
+
* base, the file that confines it to its context, and its briefing. An existing worktree or
|
|
16
|
+
* branch is kept when it contains the base: only the file is written again.
|
|
15
17
|
*/
|
|
16
18
|
export function openWorkerScope(root, config, request) {
|
|
17
19
|
const { context, dryRun } = request;
|
|
18
|
-
const { project, worktree, branch, trunk, created, inside } = placeOf(root, request);
|
|
20
|
+
const { project, worktree, branch, trunk, created, inside } = placeOf(root, config, request);
|
|
21
|
+
const { slices, notes } = briefedRows(new Workspace(root, false), context, request.rows);
|
|
19
22
|
if (created && !dryRun) {
|
|
20
|
-
addWorktree(root, worktree, branch);
|
|
23
|
+
addWorktree(root, { worktree, branch, base: trunk });
|
|
21
24
|
}
|
|
22
25
|
if (!dryRun) {
|
|
23
26
|
writeScope(inside, context);
|
|
24
27
|
}
|
|
25
|
-
const slices = todoSlices(root, context);
|
|
26
28
|
const generators = workerGenerators(KINDS);
|
|
27
29
|
const briefing = briefingOf({ config, context, project, root: inside, branch, trunk, generators, slices });
|
|
28
30
|
return {
|
|
@@ -38,25 +40,33 @@ export function openWorkerScope(root, config, request) {
|
|
|
38
40
|
generators,
|
|
39
41
|
slices,
|
|
40
42
|
briefing,
|
|
41
|
-
notes: notesOf(root, dryRun ? root : inside),
|
|
43
|
+
notes: [...notes, ...notesOf(root, dryRun ? root : inside)],
|
|
42
44
|
};
|
|
43
45
|
}
|
|
44
|
-
function placeOf(root, request) {
|
|
45
|
-
const
|
|
46
|
+
function placeOf(root, config, request) {
|
|
47
|
+
const prefix = prefixOf(root);
|
|
48
|
+
const trunk = baseOf(root, config, request.base);
|
|
46
49
|
const project = path.basename(root);
|
|
47
50
|
const worktree = path.resolve(root, request.worktree ?? `../${project}-${request.context}`);
|
|
48
51
|
const branch = request.branch ?? `build/${request.context}`;
|
|
49
52
|
const created = !isWorktree(root, worktree);
|
|
53
|
+
if (!created) {
|
|
54
|
+
ensureContainsBase(worktree, runGit(worktree, ['branch', '--show-current'])?.trim() || 'HEAD', trunk);
|
|
55
|
+
}
|
|
56
|
+
else if (branchExists(root, branch)) {
|
|
57
|
+
ensureContainsBase(root, branch, trunk);
|
|
58
|
+
}
|
|
50
59
|
return {
|
|
51
60
|
project,
|
|
52
61
|
worktree,
|
|
53
62
|
branch,
|
|
54
|
-
trunk
|
|
63
|
+
trunk,
|
|
55
64
|
created,
|
|
56
|
-
inside: path.join(worktree,
|
|
65
|
+
inside: path.join(worktree, prefix),
|
|
57
66
|
};
|
|
58
67
|
}
|
|
59
|
-
|
|
68
|
+
/** The path of the project inside its repository, empty at its top. */
|
|
69
|
+
function prefixOf(root) {
|
|
60
70
|
const prefix = runGit(root, ['rev-parse', '--show-prefix']);
|
|
61
71
|
if (prefix === undefined) {
|
|
62
72
|
throw new CliError(`${root} is not inside a git repository.`, 'Run `git init` and make a first commit: a worktree is cut from a commit.');
|
|
@@ -64,7 +74,7 @@ function repositoryOf(root) {
|
|
|
64
74
|
if (runGit(root, ['rev-parse', '--verify', '--quiet', 'HEAD']) === undefined) {
|
|
65
75
|
throw new CliError('The repository has no commit yet.', 'Commit the bootstrap first: a worktree is cut from a commit.');
|
|
66
76
|
}
|
|
67
|
-
return
|
|
77
|
+
return prefix.trim();
|
|
68
78
|
}
|
|
69
79
|
function isWorktree(root, worktree) {
|
|
70
80
|
if (!fs.existsSync(worktree)) {
|
|
@@ -79,11 +89,16 @@ function isWorktree(root, worktree) {
|
|
|
79
89
|
}
|
|
80
90
|
throw new CliError(`${worktree} exists and is not a worktree of this repository.`, 'Pass another directory with --worktree <path>, or remove that one.');
|
|
81
91
|
}
|
|
82
|
-
function
|
|
83
|
-
|
|
84
|
-
|
|
92
|
+
function branchExists(root, branch) {
|
|
93
|
+
return runGit(root, ['rev-parse', '--verify', '--quiet', `refs/heads/${branch}`]) !== undefined;
|
|
94
|
+
}
|
|
95
|
+
/** Adds the worktree on its branch: an existing branch is checked out, a new one is cut from the base. */
|
|
96
|
+
function addWorktree(root, place) {
|
|
97
|
+
const { worktree, branch, base } = place;
|
|
98
|
+
const target = branchExists(root, branch) ? [branch] : ['-b', branch, base];
|
|
99
|
+
const added = runGit(root, ['worktree', 'add', worktree, ...target]);
|
|
85
100
|
if (added === undefined) {
|
|
86
|
-
throw new CliError(`git could not add the worktree ${worktree} on the branch ${branch}.`, `Run \`git worktree add ${worktree} ${
|
|
101
|
+
throw new CliError(`git could not add the worktree ${worktree} on the branch ${branch}.`, `Run \`git worktree add ${worktree} ${target.join(' ')}\` to read its reason; a branch checked out elsewhere takes --branch <name>.`);
|
|
87
102
|
}
|
|
88
103
|
}
|
|
89
104
|
function writeScope(inside, context) {
|
|
@@ -91,9 +106,6 @@ function writeScope(inside, context) {
|
|
|
91
106
|
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
92
107
|
fs.writeFileSync(file, `${JSON.stringify({ context }, null, 2)}\n`);
|
|
93
108
|
}
|
|
94
|
-
function todoSlices(root, context) {
|
|
95
|
-
return (readSlices(new Workspace(root, false)) ?? []).filter((row) => row.owner === context && row.status === 'todo');
|
|
96
|
-
}
|
|
97
109
|
function notesOf(root, inside) {
|
|
98
110
|
const ignored = runGit(inside, ['check-ignore', '--quiet', WORKER_SCOPE_FILE]) !== undefined;
|
|
99
111
|
const installed = fs.existsSync(path.join(inside, 'node_modules')) || inside === root;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-worker-scope.js","sourceRoot":"","sources":["../../src/worker/open-worker-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"open-worker-scope.js","sourceRoot":"","sources":["../../src/worker/open-worker-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Config } from '../config/index.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { BriefedSlice } from './briefed-slice.js';
|
|
3
3
|
/** What a briefing is filled with. */
|
|
4
4
|
export interface WorkerPlace {
|
|
5
5
|
readonly config: Config;
|
|
@@ -10,6 +10,6 @@ export interface WorkerPlace {
|
|
|
10
10
|
readonly branch: string;
|
|
11
11
|
readonly trunk: string;
|
|
12
12
|
readonly generators: readonly string[];
|
|
13
|
-
readonly slices: readonly
|
|
13
|
+
readonly slices: readonly BriefedSlice[];
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=worker-place.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-place.d.ts","sourceRoot":"","sources":["../../src/worker/worker-place.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"worker-place.d.ts","sourceRoot":"","sources":["../../src/worker/worker-place.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BriefedSlice } from './briefed-slice.js';
|
|
2
2
|
/** The place one worker builds one context in, and what to tell that worker. */
|
|
3
3
|
export interface WorkerScope {
|
|
4
4
|
readonly dryRun: boolean;
|
|
@@ -10,7 +10,7 @@ export interface WorkerScope {
|
|
|
10
10
|
/** Absolute path of the project inside the worktree: where every command of the worker runs. */
|
|
11
11
|
readonly root: string;
|
|
12
12
|
readonly branch: string;
|
|
13
|
-
/** The
|
|
13
|
+
/** The base: the ref the worktree was cut from (`--base`, by default the current branch), that the worker checks against and merges back from. */
|
|
14
14
|
readonly trunk: string;
|
|
15
15
|
/** True when this run created the worktree, or would with `--dry-run`. */
|
|
16
16
|
readonly created: boolean;
|
|
@@ -18,8 +18,8 @@ export interface WorkerScope {
|
|
|
18
18
|
readonly scopeFile: string;
|
|
19
19
|
/** The generator kinds the worker may run; the conductor runs the others on the trunk. */
|
|
20
20
|
readonly generators: readonly string[];
|
|
21
|
-
/** The rows of the slices table
|
|
22
|
-
readonly slices: readonly
|
|
21
|
+
/** The rows of the slices table the worker builds: those of `--rows`, by default those of the context still to do. */
|
|
22
|
+
readonly slices: readonly BriefedSlice[];
|
|
23
23
|
readonly briefing: string;
|
|
24
24
|
readonly notes: readonly string[];
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-scope.d.ts","sourceRoot":"","sources":["../../src/worker/worker-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"worker-scope.d.ts","sourceRoot":"","sources":["../../src/worker/worker-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kJAAkJ;IAClJ,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,sHAAsH;IACtH,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ddd-ts-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Bootstrap, scaffold and verify Domain-Driven Design (DDD), Clean Architecture and hexagonal TypeScript backends on Node.js: project and code generators, architecture checks, OpenAPI and AsyncAPI documents, for developers and AI coding agents (Claude Code, Codex, GitHub Copilot).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ddd",
|
|
@@ -52,6 +52,6 @@
|
|
|
52
52
|
"clean:packages": "node dist/bin.js check --clean-only ../kernel/src ../validation/src ../http/src ../tracing/src ../di/src ../events/src ../testing/src ../s3/src ../drizzle/src ../knex/src ../prisma/src ../typeorm/src ../aspects/src ../rabbitmq/src ../auth/src ../audit/src ../redis/src ../scheduling/src ../pino/src ../winston/src ../sentry/src ../kafka/src ../nats/src ../eslint-plugin/src"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@ddd-ts-kit/kernel": "^0.
|
|
55
|
+
"@ddd-ts-kit/kernel": "^0.21.0"
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -8,7 +8,7 @@ A ddd-ts-kit project: one bounded context per directory of `{{config.contextsDir
|
|
|
8
8
|
- `npx ddd-ts-kit check --changed-since <ref>`: the architecture rules on what changed; `npx ddd-ts-kit explain <rule-id>` gives the reason and an example.
|
|
9
9
|
- `npx ddd-ts-kit list --json`: the map of the contexts. `npx ddd-ts-kit describe <context> --json`: one context as data (use cases, routes, events, ports, dependencies).
|
|
10
10
|
- `npx ddd-ts-kit status`: the next step of the plan, the slices by status, the markers left per context. `npx ddd-ts-kit todo [<context>]`: each remaining `TODO(domain)` and `it.todo` as `file:line`.
|
|
11
|
-
- `npx ddd-ts-kit docs
|
|
11
|
+
- `npm run regenerate`: every derived file in one step, after a change of route, schema, event or config: `.dependency-cruiser.cjs`, then `npm run docs:generate`, which runs `npx ddd-ts-kit docs` (the context map, the barrels, the generated sections of each `CONTEXT.md`) and writes the OpenAPI contract, the forms and the event catalog.
|
|
12
12
|
|
|
13
13
|
## Read less
|
|
14
14
|
|
|
@@ -29,7 +29,7 @@ Never edit `<context>.declarations.ts`: `generate`, `docs` and `npm run dev` rew
|
|
|
29
29
|
{{#if assembly.discovery}}
|
|
30
30
|
Never edit `<context>.dependencies.ts`: `generate`, `docs` and `npm run dev` rewrite it from the constructor signatures (it registers what each constructor is injected). After changing a constructor by hand, `npx ddd-ts-kit docs`.
|
|
31
31
|
{{/if}}
|
|
32
|
-
Never edit the contracts under `openapi/` (`openapi/openapi.yaml`, one file per document when `openapi.documents` splits it, the forms of `openapi/forms/`), `docs/integration/asyncapi.yaml`, `docs/integration/event-catalog.md`, `{{config.platformDir}}/http/openapi-documents.ts`, `.dependency-cruiser.cjs` or the generated sections of a `CONTEXT.md`: change the code or the config, then `npm run
|
|
32
|
+
Never edit the contracts under `openapi/` (`openapi/openapi.yaml`, one file per document when `openapi.documents` splits it, the forms of `openapi/forms/`), `docs/integration/asyncapi.yaml`, `docs/integration/event-catalog.md`, `{{config.platformDir}}/http/openapi-documents.ts`, `.dependency-cruiser.cjs` or the generated sections of a `CONTEXT.md`: change the code or the config, then `npm run regenerate`. `stored-events.lock.json` is written by `npx ddd-ts-kit docs --stored-events` once the shape of a version is final (`docs --check` fails while one is unrecorded), never by hand: a stored shape changes only by a new version with its upcaster (`event-sourcing/upcaster-required`).
|
|
33
33
|
{{#if sdk.on}}
|
|
34
34
|
{{sdk.instruction}}
|
|
35
35
|
{{/if}}
|
|
@@ -320,4 +320,5 @@ for each moment of the project: https://github.com/gbourgeat/ddd-ts-kit/blob/mai
|
|
|
320
320
|
| `npm run test:e2e` | the whole application through HTTP, on an in-process database unless `DATABASE_URL` is set |
|
|
321
321
|
| `npm run check:arch` | `ddd-ts-kit check` |
|
|
322
322
|
| `npm run docs:generate` | context map, OpenAPI, AsyncAPI and event catalog{{#if sdk.on}}, the clients under `clients/`{{/if}} |
|
|
323
|
+
| `npm run regenerate` | every derived file after a change: `.dependency-cruiser.cjs`, then `docs:generate` |
|
|
323
324
|
| `npm run verify` | everything CI runs |
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@biomejs/biome": "2.5.15",
|
|
24
24
|
"@commitlint/cli": "^21.2.3",
|
|
25
25
|
"@commitlint/config-conventional": "^21.2.3",
|
|
26
|
-
"@ddd-ts-kit/eslint-plugin": "^0.
|
|
26
|
+
"@ddd-ts-kit/eslint-plugin": "^0.21.0",
|
|
27
27
|
"@eslint/js": "^10.0.1",
|
|
28
28
|
"@typescript/native": "npm:typescript@~7.0.2",
|
|
29
29
|
"@vitest/coverage-v8": "5.0.3",
|
|
@@ -39,7 +39,16 @@ export default defineConfig(({ mode }) => ({
|
|
|
39
39
|
exclude: [INTEGRATION_SPECS, ...NOT_AFFECTED],
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
|
-
{
|
|
42
|
+
{
|
|
43
|
+
extends: true,
|
|
44
|
+
test: {
|
|
45
|
+
name: INTEGRATION_MODE,
|
|
46
|
+
include: [INTEGRATION_SPECS],
|
|
47
|
+
exclude: NOT_AFFECTED,
|
|
48
|
+
// A hook opens the test database (PGlite started and its tables created, or a server reached): under coverage on a busy machine it outlasts the default 10 seconds.
|
|
49
|
+
hookTimeout: 60_000,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
43
52
|
],
|
|
44
53
|
coverage: {
|
|
45
54
|
provider: 'v8',
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { Workspace } from '../../workspace/index.js';
|
|
2
|
-
/** The number the next decision record of the project takes: one after the highest in `docs/adr/`. */
|
|
3
|
-
export declare function nextAdrNumber(ws: Workspace): string;
|
|
4
|
-
//# sourceMappingURL=next-adr-number.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"next-adr-number.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/next-adr-number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAInD"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ADR_DIRECTORY } from '../../check/governance/adr-directory.js';
|
|
2
|
-
/** The number the next decision record of the project takes: one after the highest in `docs/adr/`. */
|
|
3
|
-
export function nextAdrNumber(ws) {
|
|
4
|
-
const taken = ws.list(ADR_DIRECTORY).map((file) => Number(/^(\d+)-/.exec(file)?.[1] ?? '0'));
|
|
5
|
-
return String(Math.max(0, ...taken) + 1).padStart(4, '0');
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=next-adr-number.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"next-adr-number.js","sourceRoot":"","sources":["../../../src/generate/kinds/next-adr-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,sGAAsG;AACtG,MAAM,UAAU,aAAa,CAAC,EAAa;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAE7F,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|