adr-kit 0.11.0 → 0.13.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/README.md +2 -0
- package/README.zh.md +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +1 -55
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/instructions.d.ts.map +1 -1
- package/dist/commands/instructions.js +8 -1
- package/dist/commands/instructions.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +7 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/supersede.d.ts.map +1 -1
- package/dist/commands/supersede.js +11 -6
- package/dist/commands/supersede.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +7 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/core/adr.d.ts.map +1 -1
- package/dist/core/adr.js +66 -4
- package/dist/core/adr.js.map +1 -1
- package/dist/core/cli-options.d.ts +23 -0
- package/dist/core/cli-options.d.ts.map +1 -0
- package/dist/core/cli-options.js +69 -0
- package/dist/core/cli-options.js.map +1 -0
- package/dist/core/config.d.ts +29 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +69 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/deliberation-html.d.ts.map +1 -1
- package/dist/core/deliberation-html.js +4 -11
- package/dist/core/deliberation-html.js.map +1 -1
- package/dist/core/deliberation.d.ts +7 -5
- package/dist/core/deliberation.d.ts.map +1 -1
- package/dist/core/deliberation.js +26 -16
- package/dist/core/deliberation.js.map +1 -1
- package/dist/core/templates.d.ts +2 -1
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +2 -1
- package/dist/core/templates.js.map +1 -1
- package/dist/core/tool-integrations.d.ts +24 -0
- package/dist/core/tool-integrations.d.ts.map +1 -1
- package/dist/core/tool-integrations.js +52 -1
- package/dist/core/tool-integrations.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command surface: which commands exist and which options each one takes.
|
|
3
|
+
* `src/cli.ts` uses it to reject an option a command does not take, and
|
|
4
|
+
* `src/commands/completion.ts` uses it to offer the same options, so the two
|
|
5
|
+
* cannot drift apart. Update this table whenever the CLI surface changes.
|
|
6
|
+
*/
|
|
7
|
+
export declare const COMMANDS: readonly ['init', 'propose', 'decide', 'accept', 'reject', 'supersede', 'list', 'show', 'status', 'instructions', 'validate', 'update', 'config', 'graph', 'tree', 'completion', 'version', 'help'];
|
|
8
|
+
/**
|
|
9
|
+
* Options each command accepts, spelled with their leading dashes. `--help` is
|
|
10
|
+
* valid everywhere; the global `--version` never reaches a command because the
|
|
11
|
+
* CLI handles it before dispatch.
|
|
12
|
+
*/
|
|
13
|
+
export declare const COMMAND_OPTIONS: Record<string, string[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Options that consume the following word as their value. Declaring them as
|
|
16
|
+
* valueless would make every shell treat them as flags, so completion would
|
|
17
|
+
* repeat the option list where the CLI expects free text.
|
|
18
|
+
*/
|
|
19
|
+
export declare const VALUE_OPTIONS: readonly ['--by', '--reason', '--tag', '--tools', '--workflows', '--out'];
|
|
20
|
+
export declare function takesValue(option: string): boolean;
|
|
21
|
+
/** Options supplied for a `command` that its synopsis does not list. */
|
|
22
|
+
export declare function unsupportedOptions(command: string, supplied: readonly string[]): string[];
|
|
23
|
+
//# sourceMappingURL=cli-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../../src/core/cli-options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,QAAQ,YACnB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,MAAM,CACE,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAmBpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAI,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAU,CAAC;AAEvG,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAKzF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command surface: which commands exist and which options each one takes.
|
|
3
|
+
* `src/cli.ts` uses it to reject an option a command does not take, and
|
|
4
|
+
* `src/commands/completion.ts` uses it to offer the same options, so the two
|
|
5
|
+
* cannot drift apart. Update this table whenever the CLI surface changes.
|
|
6
|
+
*/
|
|
7
|
+
export const COMMANDS = [
|
|
8
|
+
'init',
|
|
9
|
+
'propose',
|
|
10
|
+
'decide',
|
|
11
|
+
'accept',
|
|
12
|
+
'reject',
|
|
13
|
+
'supersede',
|
|
14
|
+
'list',
|
|
15
|
+
'show',
|
|
16
|
+
'status',
|
|
17
|
+
'instructions',
|
|
18
|
+
'validate',
|
|
19
|
+
'update',
|
|
20
|
+
'config',
|
|
21
|
+
'graph',
|
|
22
|
+
'tree',
|
|
23
|
+
'completion',
|
|
24
|
+
'version',
|
|
25
|
+
'help',
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* Options each command accepts, spelled with their leading dashes. `--help` is
|
|
29
|
+
* valid everywhere; the global `--version` never reaches a command because the
|
|
30
|
+
* CLI handles it before dispatch.
|
|
31
|
+
*/
|
|
32
|
+
export const COMMAND_OPTIONS = {
|
|
33
|
+
init: ['--tools', '--workflows', '--help'],
|
|
34
|
+
propose: ['--help'],
|
|
35
|
+
decide: ['--raised-by', '--decided-by', '--help'],
|
|
36
|
+
accept: ['--raised-by', '--decided-by', '--help'],
|
|
37
|
+
reject: ['--reason', '--help'],
|
|
38
|
+
supersede: ['--by', '--help'],
|
|
39
|
+
list: ['--help'],
|
|
40
|
+
show: ['--help'],
|
|
41
|
+
status: ['--help'],
|
|
42
|
+
instructions: ['--help'],
|
|
43
|
+
validate: ['--all', '--help'],
|
|
44
|
+
update: ['--tools', '--workflows', '--help'],
|
|
45
|
+
config: ['--help'],
|
|
46
|
+
graph: ['--mermaid', '--dot', '--text', '--html', '--formal-only', '--tag', '--out', '--help'],
|
|
47
|
+
tree: ['--mermaid', '--text', '--html', '--help'],
|
|
48
|
+
completion: ['--help'],
|
|
49
|
+
version: ['--help'],
|
|
50
|
+
help: ['--help'],
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Options that consume the following word as their value. Declaring them as
|
|
54
|
+
* valueless would make every shell treat them as flags, so completion would
|
|
55
|
+
* repeat the option list where the CLI expects free text.
|
|
56
|
+
*/
|
|
57
|
+
export const VALUE_OPTIONS = ['--by', '--reason', '--tag', '--tools', '--workflows', '--out'];
|
|
58
|
+
export function takesValue(option) {
|
|
59
|
+
return VALUE_OPTIONS.includes(option);
|
|
60
|
+
}
|
|
61
|
+
/** Options supplied for a `command` that its synopsis does not list. */
|
|
62
|
+
export function unsupportedOptions(command, supplied) {
|
|
63
|
+
const allowed = COMMAND_OPTIONS[command];
|
|
64
|
+
if (allowed === undefined)
|
|
65
|
+
return [];
|
|
66
|
+
const set = new Set(allowed);
|
|
67
|
+
return supplied.filter((option) => !set.has(option));
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=cli-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/core/cli-options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,MAAM;IACN,MAAM;IACN,QAAQ;IACR,cAAc;IACd,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,YAAY;IACZ,SAAS;IACT,MAAM;CACE,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;IAC1C,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7B,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC7B,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;IAC5C,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC9F,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACjD,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAU,CAAC;AAEvG,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAQ,aAAmC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,QAA2B;IAC7E,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface AdrKitConfig {
|
|
|
9
9
|
tools?: string[];
|
|
10
10
|
/** Workflow subset for integrations, e.g. `["init", "decide", "validate"]`. */
|
|
11
11
|
workflows?: string[];
|
|
12
|
+
/** Version of the CLI that last wrote the integrations; absent before this stamp existed. */
|
|
13
|
+
installedWith?: string;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Walk from `startDir` upward to find the nearest directory that contains
|
|
@@ -19,8 +21,35 @@ export declare function findRoot(startDir: string): string | undefined;
|
|
|
19
21
|
export declare function requireRoot(startDir: string): string;
|
|
20
22
|
export declare function configPath(root: string): string;
|
|
21
23
|
export declare function readConfig(root: string): AdrKitConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Read the configuration without throwing. The drift notice must never turn a
|
|
26
|
+
* command into a failure: a repository with a malformed `adr/config.yaml`
|
|
27
|
+
* simply has nothing honest to say about its stamp, and `validate` remains the
|
|
28
|
+
* command that reports the broken file.
|
|
29
|
+
*/
|
|
30
|
+
export declare function readConfigSafe(root: string): AdrKitConfig | undefined;
|
|
22
31
|
/** Update the `tools:` key; see {@link writeListConfig} for the semantics. */
|
|
23
32
|
export declare function writeToolsConfig(root: string, tools: string[]): void;
|
|
24
33
|
/** Update the `workflows:` key; see {@link writeListConfig} for the semantics. */
|
|
25
34
|
export declare function writeWorkflowsConfig(root: string, workflows: string[]): void;
|
|
35
|
+
/**
|
|
36
|
+
* Stamp the `installed-with:` scalar with the version that is writing the
|
|
37
|
+
* integrations. The stamp is what lets later commands notice that the
|
|
38
|
+
* installed skills predate (or postdate) the running CLI; see
|
|
39
|
+
* {@link installedWithNotice}.
|
|
40
|
+
*/
|
|
41
|
+
export declare function writeInstalledWithConfig(root: string, version: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* The one-line drift notice for a repository whose integrations were written
|
|
44
|
+
* by a different adr-kit than the one now running. The newer side suggests
|
|
45
|
+
* `adrkit update`; the older side directs to upgrading the package instead,
|
|
46
|
+
* because running `adrkit update` there would rewrite the newer installed
|
|
47
|
+
* skills with this CLI's older templates. Quiet — `undefined` — when
|
|
48
|
+
* there is nothing honest to say: no stamp (repositories configured before it
|
|
49
|
+
* existed), an explicit integrations opt-out, equal versions, or a version
|
|
50
|
+
* either side cannot parse.
|
|
51
|
+
*/
|
|
52
|
+
export declare function installedWithNotice(config: AdrKitConfig, currentVersion: string): string | undefined;
|
|
53
|
+
/** Append the drift notice to a command's output as its own paragraph. */
|
|
54
|
+
export declare function withNotice(output: string, notice: string | undefined): string;
|
|
26
55
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU7D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAmBD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAgCrD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMrE;AA4BD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAEpE;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK5E;AASD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CAcpB;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7E"}
|
package/dist/core/config.js
CHANGED
|
@@ -58,6 +58,9 @@ export function readConfig(root) {
|
|
|
58
58
|
raw.workflows.every((entry) => typeof entry === 'string')) {
|
|
59
59
|
config.workflows = raw.workflows;
|
|
60
60
|
}
|
|
61
|
+
if (typeof raw['installed-with'] === 'string') {
|
|
62
|
+
config.installedWith = raw['installed-with'];
|
|
63
|
+
}
|
|
61
64
|
if (raw.rules !== null && typeof raw.rules === 'object' && !Array.isArray(raw.rules)) {
|
|
62
65
|
const rules = {};
|
|
63
66
|
for (const [key, value] of Object.entries(raw.rules)) {
|
|
@@ -69,11 +72,26 @@ export function readConfig(root) {
|
|
|
69
72
|
}
|
|
70
73
|
return config;
|
|
71
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Read the configuration without throwing. The drift notice must never turn a
|
|
77
|
+
* command into a failure: a repository with a malformed `adr/config.yaml`
|
|
78
|
+
* simply has nothing honest to say about its stamp, and `validate` remains the
|
|
79
|
+
* command that reports the broken file.
|
|
80
|
+
*/
|
|
81
|
+
export function readConfigSafe(root) {
|
|
82
|
+
try {
|
|
83
|
+
return readConfig(root);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
72
89
|
/**
|
|
73
90
|
* Rewrite a list-valued key of `adr/config.yaml` in place. Preserves other
|
|
74
91
|
* keys (`context`, `rules`, unknown keys) and comments attached to the
|
|
75
92
|
* surrounding YAML nodes. When the existing value is a sequence, reuse that
|
|
76
|
-
* node
|
|
93
|
+
* node to keep its flow/block style; the items are re-created, so a comment
|
|
94
|
+
* attached to an individual item does not survive.
|
|
77
95
|
*/
|
|
78
96
|
function writeListConfig(root, key, values) {
|
|
79
97
|
const file = configPath(root);
|
|
@@ -102,4 +120,54 @@ export function writeToolsConfig(root, tools) {
|
|
|
102
120
|
export function writeWorkflowsConfig(root, workflows) {
|
|
103
121
|
writeListConfig(root, 'workflows', workflows);
|
|
104
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Stamp the `installed-with:` scalar with the version that is writing the
|
|
125
|
+
* integrations. The stamp is what lets later commands notice that the
|
|
126
|
+
* installed skills predate (or postdate) the running CLI; see
|
|
127
|
+
* {@link installedWithNotice}.
|
|
128
|
+
*/
|
|
129
|
+
export function writeInstalledWithConfig(root, version) {
|
|
130
|
+
const file = configPath(root);
|
|
131
|
+
const parsed = parseConfigDocument(readFileSync(file, 'utf8'));
|
|
132
|
+
parsed.map.set('installed-with', version);
|
|
133
|
+
writeFileSync(file, parsed.document.toString());
|
|
134
|
+
}
|
|
135
|
+
const SEMVER = /^(\d+)\.(\d+)\.(\d+)$/;
|
|
136
|
+
function semver(value) {
|
|
137
|
+
const match = SEMVER.exec(value.trim());
|
|
138
|
+
return match === null ? undefined : [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The one-line drift notice for a repository whose integrations were written
|
|
142
|
+
* by a different adr-kit than the one now running. The newer side suggests
|
|
143
|
+
* `adrkit update`; the older side directs to upgrading the package instead,
|
|
144
|
+
* because running `adrkit update` there would rewrite the newer installed
|
|
145
|
+
* skills with this CLI's older templates. Quiet — `undefined` — when
|
|
146
|
+
* there is nothing honest to say: no stamp (repositories configured before it
|
|
147
|
+
* existed), an explicit integrations opt-out, equal versions, or a version
|
|
148
|
+
* either side cannot parse.
|
|
149
|
+
*/
|
|
150
|
+
export function installedWithNotice(config, currentVersion) {
|
|
151
|
+
const installed = config.installedWith;
|
|
152
|
+
if (installed === undefined)
|
|
153
|
+
return undefined;
|
|
154
|
+
if (config.tools !== undefined && config.tools.length === 0)
|
|
155
|
+
return undefined;
|
|
156
|
+
const written = semver(installed);
|
|
157
|
+
const running = semver(currentVersion);
|
|
158
|
+
if (written === undefined || running === undefined)
|
|
159
|
+
return undefined;
|
|
160
|
+
const order = written[0] - running[0] || written[1] - running[1] || written[2] - running[2];
|
|
161
|
+
if (order === 0)
|
|
162
|
+
return undefined;
|
|
163
|
+
return order < 0
|
|
164
|
+
? `note: the installed integrations were written by adr-kit ${installed}; this is ` +
|
|
165
|
+
`${currentVersion} - run "adrkit update" to refresh them`
|
|
166
|
+
: `note: this repository was configured by adr-kit ${installed}; you are running ` +
|
|
167
|
+
`${currentVersion}, which is older - upgrade adr-kit to at least ${installed}`;
|
|
168
|
+
}
|
|
169
|
+
/** Append the drift notice to a command's output as its own paragraph. */
|
|
170
|
+
export function withNotice(output, notice) {
|
|
171
|
+
return notice === undefined ? output : `${output}\n\n${notice}`;
|
|
172
|
+
}
|
|
105
173
|
//# sourceMappingURL=config.js.map
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAA+B,MAAM,MAAM,CAAC;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation-html.d.ts","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"deliberation-html.d.ts","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsC1D,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyH/E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RELATION_STYLE, RELATION_SCRIPT } from './relation-focus.js';
|
|
2
|
-
import { isUnlockedQuestion } from './deliberation.js';
|
|
2
|
+
import { isOverride, isUnlockedQuestion } from './deliberation.js';
|
|
3
3
|
import { CANVAS_STYLE, CANVAS_SCRIPT, canvasHeaderHTML, canvasDockHTML } from './canvas-view.js';
|
|
4
4
|
import { TREE_STYLE, TREE_SCRIPT } from './deliberation-view.js';
|
|
5
5
|
import { SHARE_SCRIPT, SHARE_STYLE } from './share.js';
|
|
@@ -7,13 +7,6 @@ import { escapeHtml } from './view-text.js';
|
|
|
7
7
|
function kindOf(node) {
|
|
8
8
|
return node.type ?? (node.children.length > 0 ? 'question' : 'option');
|
|
9
9
|
}
|
|
10
|
-
/** Only option children can be answers; a settled follow-up is not an answer. */
|
|
11
|
-
function overridden(card) {
|
|
12
|
-
const chosen = card.options.filter(({ node }) => node.status === 'settled');
|
|
13
|
-
return card.kind === 'question' && chosen.length > 0
|
|
14
|
-
&& card.options.some(({ node }) => node.recommended)
|
|
15
|
-
&& !chosen.some(({ node }) => node.recommended);
|
|
16
|
-
}
|
|
17
10
|
function reason(node) {
|
|
18
11
|
return node.reason === undefined ? '' : `<p class="reason">${escapeHtml(node.reason)}</p>`;
|
|
19
12
|
}
|
|
@@ -84,7 +77,7 @@ export function renderCardTree(nodes, title) {
|
|
|
84
77
|
const chipped = new Set();
|
|
85
78
|
const markup = cards.map((card) => {
|
|
86
79
|
const { node, id, kind } = card;
|
|
87
|
-
const override =
|
|
80
|
+
const override = isOverride(card.node);
|
|
88
81
|
const chosen = card.options.filter((option) => option.node.status === 'settled');
|
|
89
82
|
const other = card.options.filter((option) => option.node.status !== 'settled');
|
|
90
83
|
const status = node.status ?? 'unrecorded';
|
|
@@ -118,7 +111,7 @@ export function renderCardTree(nodes, title) {
|
|
|
118
111
|
${card.children.length === 0 ? '' : `<button class="branch" aria-expanded="true" aria-controls="${card.children.join(' ')}" aria-label="${toggleLabel}">−</button>`}
|
|
119
112
|
</article>`;
|
|
120
113
|
}).join('\n');
|
|
121
|
-
const overrides = cards.filter(
|
|
114
|
+
const overrides = cards.filter((card) => isOverride(card.node)).length;
|
|
122
115
|
const stats = [
|
|
123
116
|
['questions', questionNumber],
|
|
124
117
|
['options', cards.reduce((sum, card) => sum + card.options.length, 0)],
|
|
@@ -131,7 +124,7 @@ export function renderCardTree(nodes, title) {
|
|
|
131
124
|
const legend = [
|
|
132
125
|
cards.some((card) => card.options.some(({ node }) => node.status === 'settled'))
|
|
133
126
|
? '<span data-share-selector=".card:not([hidden]) .answer">✓ Selected answer</span>' : '',
|
|
134
|
-
cards.some((card) => card.parent !== '') ? '<span data-share-selector="#edges path[data-unlocked=false]"><i class="edge-key"></i>Raised by</span>' : '',
|
|
127
|
+
cards.some((card) => card.parent !== '' && !card.unlocked) ? '<span data-share-selector="#edges path[data-unlocked=false]"><i class="edge-key"></i>Raised by</span>' : '',
|
|
135
128
|
cards.some((card) => card.unlocked) ? '<span data-share-selector="#edges path[data-unlocked=true]"><i class="edge-key unlocked"></i>Unlocked question</span>' : '',
|
|
136
129
|
overrides === 0 ? '' : '<span class="override-key" data-share-selector=".card:not([hidden]) .override">● Human override</span>',
|
|
137
130
|
...STATE_LEGEND
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation-html.js","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"deliberation-html.js","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,11 +33,6 @@ export declare function parseDeliberation(body: string | undefined): Deliberatio
|
|
|
33
33
|
* renders by, so a marker can never promise a tree the command refuses.
|
|
34
34
|
*/
|
|
35
35
|
export declare function hasDeliberationTree(body: string | undefined): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* A question whose answer (its settled child) is not the option the agent
|
|
38
|
-
* recommended. Unknown unless both a settled child and a recommended child
|
|
39
|
-
* exist.
|
|
40
|
-
*/
|
|
41
36
|
/**
|
|
42
37
|
* Whether the node that raised a follow-up question unlocked it. In the outline
|
|
43
38
|
* a question nests under the node it depends on, so that parent is the node
|
|
@@ -46,6 +41,13 @@ export declare function hasDeliberationTree(body: string | undefined): boolean;
|
|
|
46
41
|
* this one question rather than each deciding for itself.
|
|
47
42
|
*/
|
|
48
43
|
export declare function isUnlockedQuestion(child: DeliberationNode, parent: DeliberationNode, parentIsRoot: boolean): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether a question took other than the option the agent recommended. Only
|
|
46
|
+
* option children can be an answer: a settled follow-up question is not one, so
|
|
47
|
+
* it never makes a question overridden. The text, Mermaid, and card renderers
|
|
48
|
+
* all read this one predicate so they cannot disagree.
|
|
49
|
+
*/
|
|
50
|
+
export declare function isOverride(node: DeliberationNode): boolean;
|
|
49
51
|
export declare function renderDeliberationText(nodes: DeliberationNode[]): string;
|
|
50
52
|
export declare function renderDeliberationMermaid(nodes: DeliberationNode[]): string;
|
|
51
53
|
/** An offline HTML view; the annotated outline remains the source. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation.d.ts","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"deliberation.d.ts","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAoED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,EAAE,CAsB9E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AAQD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,OAAO,GACpB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAM1D;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAYxE;AAkBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,CA8D3E;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import { renderCardTree } from './deliberation-html.js';
|
|
2
2
|
import { wrapText } from './view-text.js';
|
|
3
3
|
const BULLET = /^(\s*)-\s+(.*?)\s*$/;
|
|
4
|
-
const STATUS = /\[(settled|rejected|open)\]
|
|
4
|
+
const STATUS = /\[(settled|rejected|open)\]\s*(?:\([^)]*\)\s*)*$/i;
|
|
5
5
|
const RECOMMENDED = /\(recommended\)\s*$/i;
|
|
6
6
|
const TYPE = /^([QA]):\s+/i;
|
|
7
7
|
const EM_DASH = ' \u2014 ';
|
|
8
8
|
/**
|
|
9
|
-
* Split
|
|
10
|
-
* the only separator the grammar reserves, which leaves a hyphen free for
|
|
11
|
-
* prose
|
|
12
|
-
* into the
|
|
9
|
+
* Split the node text from its ` — reason`. The em dash with surrounding spaces
|
|
10
|
+
* is the only separator the grammar reserves, which leaves a hyphen free for
|
|
11
|
+
* prose. The first separator starts the reason, so a reason that itself contains
|
|
12
|
+
* ` — ` stays whole instead of swallowing text into the split.
|
|
13
13
|
*/
|
|
14
14
|
function splitReason(raw) {
|
|
15
|
-
const emDash = raw.
|
|
15
|
+
const emDash = raw.indexOf(EM_DASH);
|
|
16
16
|
if (emDash === -1)
|
|
17
17
|
return { content: raw };
|
|
18
18
|
return { content: raw.slice(0, emDash).trimEnd(), reason: raw.slice(emDash + EM_DASH.length).trim() };
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Parse one bullet in grammar order: the reason on the first separator, then a
|
|
22
|
+
* trailing `(recommended)`, then a trailing `[status]`. Only the trailing
|
|
23
|
+
* position is a marker, so a bracketed state word inside prose stays text.
|
|
24
|
+
*/
|
|
21
25
|
function parseNodeText(raw) {
|
|
22
26
|
const split = splitReason(raw);
|
|
23
27
|
let content = split.content;
|
|
@@ -31,7 +35,11 @@ function parseNodeText(raw) {
|
|
|
31
35
|
const statusMatch = content.match(STATUS);
|
|
32
36
|
if (statusMatch !== null && statusMatch.index !== undefined) {
|
|
33
37
|
status = statusMatch[1].toLowerCase();
|
|
34
|
-
|
|
38
|
+
// Remove only the token: a trailing unknown parenthetical such as a legacy
|
|
39
|
+
// (round N) stays in the text, and the spacing around the removed marker is
|
|
40
|
+
// not otherwise disturbed.
|
|
41
|
+
const token = statusMatch[0].slice(0, statusMatch[0].indexOf(']') + 1);
|
|
42
|
+
content = content.slice(0, statusMatch.index) + content.slice(statusMatch.index + token.length);
|
|
35
43
|
}
|
|
36
44
|
let type;
|
|
37
45
|
const typeMatch = content.match(TYPE);
|
|
@@ -99,11 +107,6 @@ function typeOf(node) {
|
|
|
99
107
|
return node.type;
|
|
100
108
|
return node.children.length > 0 ? 'question' : 'option';
|
|
101
109
|
}
|
|
102
|
-
/**
|
|
103
|
-
* A question whose answer (its settled child) is not the option the agent
|
|
104
|
-
* recommended. Unknown unless both a settled child and a recommended child
|
|
105
|
-
* exist.
|
|
106
|
-
*/
|
|
107
110
|
/**
|
|
108
111
|
* Whether the node that raised a follow-up question unlocked it. In the outline
|
|
109
112
|
* a question nests under the node it depends on, so that parent is the node
|
|
@@ -114,9 +117,16 @@ function typeOf(node) {
|
|
|
114
117
|
export function isUnlockedQuestion(child, parent, parentIsRoot) {
|
|
115
118
|
return typeOf(child) === 'question' && !parentIsRoot && parent.status === 'settled';
|
|
116
119
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Whether a question took other than the option the agent recommended. Only
|
|
122
|
+
* option children can be an answer: a settled follow-up question is not one, so
|
|
123
|
+
* it never makes a question overridden. The text, Mermaid, and card renderers
|
|
124
|
+
* all read this one predicate so they cannot disagree.
|
|
125
|
+
*/
|
|
126
|
+
export function isOverride(node) {
|
|
127
|
+
const options = node.children.filter((child) => typeOf(child) === 'option');
|
|
128
|
+
const settled = options.filter((child) => child.status === 'settled');
|
|
129
|
+
const recommended = options.filter((child) => child.recommended === true);
|
|
120
130
|
if (settled.length === 0 || recommended.length === 0)
|
|
121
131
|
return false;
|
|
122
132
|
return !settled.some((child) => child.recommended === true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation.js","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA0C1C,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACrC,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"deliberation.js","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"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"}
|
package/dist/core/templates.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ import { type AdrRecord, type DecidedBy, type RaisedBy } from './adr.js';
|
|
|
3
3
|
type FrontMatterValue = string | number | string[];
|
|
4
4
|
/**
|
|
5
5
|
* Render a YAML front matter block. Fields are written in the canonical
|
|
6
|
-
* order (status, date,
|
|
6
|
+
* order (status, date, raised-by, decided-by, created, commit, superseded-by,
|
|
7
|
+
* reason, tags); only the fields
|
|
7
8
|
* present in `fields` are emitted.
|
|
8
9
|
*/
|
|
9
10
|
export declare function frontMatter(fields: Record<string, FrontMatterValue>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAoClB,0DAA0D;AAC1D,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAoClB,0DAA0D;AAC1D,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAO5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBxE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA6BR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAgER;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE,CAI7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAoBnG"}
|
package/dist/core/templates.js
CHANGED
|
@@ -32,7 +32,8 @@ ${text}
|
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Render a YAML front matter block. Fields are written in the canonical
|
|
35
|
-
* order (status, date,
|
|
35
|
+
* order (status, date, raised-by, decided-by, created, commit, superseded-by,
|
|
36
|
+
* reason, tags); only the fields
|
|
36
37
|
* present in `fields` are emitted.
|
|
37
38
|
*/
|
|
38
39
|
export function frontMatter(fields) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,EACP,UAAU,GAIX,MAAM,UAAU,CAAC;AAElB,oEAAoE;AACpE,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,UAAU;IACV,yBAAyB;IACzB,qBAAqB;IACrB,OAAO;CACR,CAAC;AAEF;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,MAAM,CAC3D,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnD,CAAC;AAEF;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAuB;IAC3C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,oCAAoC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5D,OAAO;EACP,IAAI;;CAEL,CAAC;AACF,CAAC;AAKD
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,4 +42,28 @@ export declare function removeToolIntegrations(root: string, keys: string[]): st
|
|
|
42
42
|
*/
|
|
43
43
|
export declare function removeWorkflowIntegrations(root: string, tools: IntegrationTarget[], workflows: string[]): void;
|
|
44
44
|
export declare function integrationSummary(root: string, created: ToolIntegration[]): string[];
|
|
45
|
+
/** Heading of the standing-orders section the init workflow asks agents to paste. */
|
|
46
|
+
export declare const STANDING_ORDERS_HEADING = "## Reading architecture decisions";
|
|
47
|
+
/**
|
|
48
|
+
* A distinctive sentence from the section body. The init workflow allows an
|
|
49
|
+
* agent to "update an equivalent section", so a section with a reworked
|
|
50
|
+
* heading still counts; this phrase is what makes that honest instead of a
|
|
51
|
+
* heading-only match.
|
|
52
|
+
*/
|
|
53
|
+
export declare const STANDING_ORDERS_RULE = "Record an ADR when an architectural choice";
|
|
54
|
+
/**
|
|
55
|
+
* The agent instruction file (AGENTS.md, then CLAUDE.md) that carries the
|
|
56
|
+
* standing-orders section, or undefined when neither does. Reading only —
|
|
57
|
+
* the files belong to the user, and the CLI never rewrites them.
|
|
58
|
+
*/
|
|
59
|
+
export declare function standingOrdersFile(root: string): string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* The note for init/update output when no instruction file carries the
|
|
62
|
+
* standing orders. Integration files being installed is what makes the
|
|
63
|
+
* paste step meaningful, so an empty selection (an explicit `--tools none`
|
|
64
|
+
* opt-out) stays quiet. The pointer is derived from what was actually
|
|
65
|
+
* installed: a `--workflows` subset without the init workflow cannot name a
|
|
66
|
+
* file that does not exist.
|
|
67
|
+
*/
|
|
68
|
+
export declare function standingOrdersNote(root: string, integrations: ToolIntegration[]): string | undefined;
|
|
45
69
|
//# sourceMappingURL=tool-integrations.d.ts.map
|