adr-kit 0.10.0 → 0.12.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 +9 -6
- package/README.zh.md +7 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +2 -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/graph.d.ts +2 -0
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/graph.js +37 -7
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -0
- 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 +12 -7
- package/dist/commands/supersede.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/core/adr.d.ts +1 -0
- package/dist/core/adr.d.ts.map +1 -1
- package/dist/core/adr.js.map +1 -1
- package/dist/core/canvas-view.d.ts +19 -3
- package/dist/core/canvas-view.d.ts.map +1 -1
- package/dist/core/canvas-view.js +210 -15
- package/dist/core/canvas-view.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 +89 -24
- package/dist/core/deliberation-html.js.map +1 -1
- package/dist/core/deliberation-view.d.ts.map +1 -1
- package/dist/core/deliberation-view.js +28 -195
- package/dist/core/deliberation-view.js.map +1 -1
- package/dist/core/deliberation.d.ts +15 -0
- package/dist/core/deliberation.d.ts.map +1 -1
- package/dist/core/deliberation.js +35 -15
- package/dist/core/deliberation.js.map +1 -1
- package/dist/core/graph-html.d.ts +1 -1
- package/dist/core/graph-html.d.ts.map +1 -1
- package/dist/core/graph-html.js +163 -44
- package/dist/core/graph-html.js.map +1 -1
- package/dist/core/graph-view.d.ts +1 -1
- package/dist/core/graph-view.d.ts.map +1 -1
- package/dist/core/graph-view.js +9 -187
- package/dist/core/graph-view.js.map +1 -1
- package/dist/core/relation-focus.d.ts +4 -0
- package/dist/core/relation-focus.d.ts.map +1 -0
- package/dist/core/relation-focus.js +89 -0
- package/dist/core/relation-focus.js.map +1 -0
- package/dist/core/share.d.ts +30 -0
- package/dist/core/share.d.ts.map +1 -0
- package/dist/core/share.js +420 -0
- package/dist/core/share.js.map +1 -0
- package/dist/core/templates.d.ts +4 -1
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +4 -1
- package/dist/core/templates.js.map +1 -1
- package/dist/core/tool-integrations.d.ts.map +1 -1
- package/dist/core/tool-integrations.js +47 -29
- package/dist/core/tool-integrations.js.map +1 -1
- package/dist/core/validate.d.ts +1 -1
- package/dist/core/validate.d.ts.map +1 -1
- package/dist/core/validate.js +25 -14
- package/dist/core/validate.js.map +1 -1
- package/dist/core/view-text.d.ts +7 -0
- package/dist/core/view-text.d.ts.map +1 -1
- package/dist/core/view-text.js +15 -0
- package/dist/core/view-text.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -103,7 +103,7 @@ adrkit validate [name] [--all] Validate one record or the repository
|
|
|
103
103
|
adrkit update [--tools <list>] [--workflows <list>]
|
|
104
104
|
Rewrite AI tool integrations
|
|
105
105
|
adrkit config Print the current configuration
|
|
106
|
-
adrkit graph [--mermaid|--dot|--text|--html] [--formal-only] [--tag <tag>]
|
|
106
|
+
adrkit graph [--mermaid|--dot|--text|--html] [--formal-only] [--tag <tag>] [--out <path>]
|
|
107
107
|
Emit the decision relationship graph
|
|
108
108
|
adrkit tree <name> [--mermaid|--text|--html] Render a record's deliberation tree
|
|
109
109
|
adrkit completion <bash|zsh|fish> Print a shell completion script
|
|
@@ -120,7 +120,7 @@ adrkit version Print the version
|
|
|
120
120
|
> `.claude/` copies; an exception we carry until Anthropic adopts the standard.
|
|
121
121
|
|
|
122
122
|
> [!TIP]
|
|
123
|
-
> Every integration ships all
|
|
123
|
+
> Every integration ships all nine workflow skills by default. A small
|
|
124
124
|
> repository that only records decisions can pass
|
|
125
125
|
> `--workflows init,decide,validate` to install a lean subset; the choice is
|
|
126
126
|
> recorded in `adr/config.yaml`, `adrkit update` keeps it, and
|
|
@@ -193,7 +193,8 @@ stays in git.
|
|
|
193
193
|
replacing decision in the front matter: `status: superseded` plus
|
|
194
194
|
`superseded-by: N`.
|
|
195
195
|
`adrkit supersede <old> --by <new>` performs the rewrite; `validate`
|
|
196
|
-
checks that
|
|
196
|
+
checks that the complete replacement chain exists, has no cycles, and
|
|
197
|
+
ends at an accepted decision. Historical links are preserved.
|
|
197
198
|
|
|
198
199
|
`adrkit accept` performs the mechanical rewrite a lifecycle move always
|
|
199
200
|
owed: `## Proposal` becomes `## Decision`, and `Acceptance criteria` plus
|
|
@@ -208,9 +209,11 @@ unrelated ones stay flat. Render it with `adrkit tree <name>` (text by default,
|
|
|
208
209
|
`adrkit-grill` workflow produces that tree and records every decision the
|
|
209
210
|
session settles. The whole set renders as an interactive offline decision map with
|
|
210
211
|
`adrkit graph --html`, which marks the decisions that carry a tree. Ask your
|
|
211
|
-
agent to visualize a recorded decision
|
|
212
|
-
it uses the built-in renderer
|
|
213
|
-
|
|
212
|
+
agent to visualize a recorded decision or the whole set with `adrkit-visualize`;
|
|
213
|
+
it uses the built-in renderer, opens the result in your default browser, and
|
|
214
|
+
returns an HTML file link. Ask for a file only to skip opening the browser. If
|
|
215
|
+
opening is unavailable or fails, the agent explains and keeps the link. HTML is
|
|
216
|
+
not a default grilling deliverable.
|
|
214
217
|
Run `adrkit update` to refresh installed skills.
|
|
215
218
|
|
|
216
219
|
```sh
|
package/README.zh.md
CHANGED
|
@@ -96,7 +96,7 @@ adrkit validate [name] [--all] 校验单条记录或整个仓库
|
|
|
96
96
|
adrkit update [--tools <list>] [--workflows <list>]
|
|
97
97
|
重写 AI 工具集成文件
|
|
98
98
|
adrkit config 查看当前配置
|
|
99
|
-
adrkit graph [--mermaid|--dot|--text|--html] [--formal-only] [--tag <tag>]
|
|
99
|
+
adrkit graph [--mermaid|--dot|--text|--html] [--formal-only] [--tag <tag>] [--out <path>]
|
|
100
100
|
输出决策关系图
|
|
101
101
|
adrkit tree <name> [--mermaid|--text|--html] 渲染记录的 deliberation 树
|
|
102
102
|
adrkit completion <bash|zsh|fish> 打印 shell 补全脚本
|
|
@@ -112,7 +112,7 @@ adrkit version 查看版本
|
|
|
112
112
|
> 副本;这个例外我们一直背到 Anthropic 采纳标准为止。
|
|
113
113
|
|
|
114
114
|
> [!TIP]
|
|
115
|
-
>
|
|
115
|
+
> 集成默认安装全部九个工作流技能。只记录决策的小仓库可传
|
|
116
116
|
> `--workflows init,decide,validate` 装精简子集;选择会写入
|
|
117
117
|
> `adr/config.yaml`,`adrkit update` 会保持,`--workflows all` 恢复全套。
|
|
118
118
|
|
|
@@ -175,7 +175,8 @@ CLI 既不推断也不校验,只记录声明,所以它不能证明是谁自
|
|
|
175
175
|
- **Superseded** 决策保留在 `adr/decisions/` 作为历史,front matter 指向
|
|
176
176
|
取代它的决策:`status: superseded` 加 `superseded-by: N`。
|
|
177
177
|
`adrkit supersede <旧> --by <新>` 完成改写;
|
|
178
|
-
`validate`
|
|
178
|
+
`validate` 沿完整替代链检查引用均存在、没有循环,且最终到达 accepted 决策;
|
|
179
|
+
保留各次替代的历史链接。
|
|
179
180
|
|
|
180
181
|
`adrkit accept` 会自动完成生命周期迁移所要求的改写:`## Proposal` 改为
|
|
181
182
|
`## Decision`,`Acceptance criteria` 与 `Risks` 合并进 `## Consequences`。
|
|
@@ -185,8 +186,9 @@ CLI 既不推断也不校验,只记录声明,所以它不能证明是谁自
|
|
|
185
186
|
后续问题嵌在提出它的节点之下,因此相关问题更深、无关问题平铺。用 `adrkit tree
|
|
186
187
|
<name>` 渲染(默认文本,加 `--mermaid` 输出图形,加 `--html` 输出离线交互卡片树)。这
|
|
187
188
|
棵树通常来自 `adrkit-grill` 工作流,它记录会话定下的每个决策。
|
|
188
|
-
需要时让 AI
|
|
189
|
-
HTML
|
|
189
|
+
需要时让 AI 用 `adrkit-visualize` 可视化指定决策或整套决策。它会调用内置渲染器,主动用默认浏览器打开,
|
|
190
|
+
并提供 HTML 文件链接。明确要求“只生成文件”或“不要打开”时不打开浏览器;
|
|
191
|
+
无法打开时会说明原因并保留链接。HTML 不是 grilling 的默认交付。
|
|
190
192
|
整套决策可用 `adrkit graph --html` 渲染为可交互的离线决策地图,并标出带 deliberation 树的决策。
|
|
191
193
|
用 `adrkit update` 更新已安装的技能。
|
|
192
194
|
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAyEA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAiMzC"}
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@ import { parseArgs } from 'node:util';
|
|
|
2
2
|
import { pathToFileURL } from 'node:url';
|
|
3
3
|
import { VERSION } from './version.js';
|
|
4
4
|
import { isDecidedBy, isRaisedBy } from './core/adr.js';
|
|
5
|
+
import { unsupportedOptions } from './core/cli-options.js';
|
|
5
6
|
import { acceptCommand } from './commands/accept.js';
|
|
6
7
|
import { completionCommand } from './commands/completion.js';
|
|
7
8
|
import { configCommand } from './commands/config.js';
|
|
@@ -47,7 +48,7 @@ Usage:
|
|
|
47
48
|
adrkit update [--tools <list>] [--workflows <list>]
|
|
48
49
|
Rewrite AI tool integrations
|
|
49
50
|
adrkit config Print the current configuration
|
|
50
|
-
adrkit graph [--mermaid|--dot|--text|--html] [--formal-only] [--tag <tag>]
|
|
51
|
+
adrkit graph [--mermaid|--dot|--text|--html] [--formal-only] [--tag <tag>] [--out <path>]
|
|
51
52
|
Emit the decision relationship graph
|
|
52
53
|
adrkit tree <name> [--mermaid|--text|--html] Render the record's deliberation tree
|
|
53
54
|
adrkit completion <bash|zsh|fish> Print a shell completion script
|
|
@@ -61,14 +62,17 @@ bodies, and nodes group by their created date. --mermaid pastes into any
|
|
|
61
62
|
Markdown and renders natively on GitHub (nodes are tinted by their tags),
|
|
62
63
|
--dot feeds Graphviz (dot -Tpng), --text prints a terminal-friendly tree,
|
|
63
64
|
--html emits an offline self-contained decision map; --tag <tag> filters to
|
|
64
|
-
one theme, --formal-only drops the mined edges.
|
|
65
|
+
one theme, --formal-only drops the mined edges. --out <path> writes the output
|
|
66
|
+
to a file instead of stdout: the map resolves its record links from that
|
|
67
|
+
location, so a map written outside the repository still opens its records.
|
|
65
68
|
|
|
66
69
|
Run from anywhere inside the project; commands discover the nearest adr/ directory.
|
|
67
70
|
`;
|
|
68
71
|
export function main(argv) {
|
|
69
|
-
const { values, positionals } = parseArgs({
|
|
72
|
+
const { values, positionals, tokens } = parseArgs({
|
|
70
73
|
args: argv,
|
|
71
74
|
allowPositionals: true,
|
|
75
|
+
tokens: true,
|
|
72
76
|
options: {
|
|
73
77
|
all: { type: 'boolean', default: false },
|
|
74
78
|
by: { type: 'string' },
|
|
@@ -80,6 +84,7 @@ export function main(argv) {
|
|
|
80
84
|
html: { type: 'boolean', default: false },
|
|
81
85
|
text: { type: 'boolean', default: false },
|
|
82
86
|
tag: { type: 'string' },
|
|
87
|
+
out: { type: 'string' },
|
|
83
88
|
reason: { type: 'string' },
|
|
84
89
|
tools: { type: 'string' },
|
|
85
90
|
workflows: { type: 'string' },
|
|
@@ -106,6 +111,16 @@ export function main(argv) {
|
|
|
106
111
|
throw new Error(`adrkit ${command.length > 0 ? command : '(no command)'} does not take --${flag}`);
|
|
107
112
|
}
|
|
108
113
|
}
|
|
114
|
+
// Every other option is command-specific too: reject one a command does not
|
|
115
|
+
// list instead of silently ignoring it. `--out` on `tree` was the sharp
|
|
116
|
+
// case, where the caller got stdout and no file.
|
|
117
|
+
const supplied = tokens
|
|
118
|
+
.filter((token) => token.kind === 'option' && token.name !== undefined)
|
|
119
|
+
.map((token) => `--${String(token.name)}`);
|
|
120
|
+
const unsupported = unsupportedOptions(command, supplied);
|
|
121
|
+
if (unsupported.length > 0) {
|
|
122
|
+
throw new Error(`adrkit ${command} does not take ${unsupported.join(', ')}`);
|
|
123
|
+
}
|
|
109
124
|
switch (command) {
|
|
110
125
|
case '': {
|
|
111
126
|
console.error(HELP);
|
|
@@ -190,6 +205,7 @@ export function main(argv) {
|
|
|
190
205
|
html: values.html,
|
|
191
206
|
formalOnly: values['formal-only'],
|
|
192
207
|
tag: values.tag,
|
|
208
|
+
out: values.out,
|
|
193
209
|
}));
|
|
194
210
|
return;
|
|
195
211
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,IAAI,GAAG,UAAU,OAAO
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AA8BA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiGvD"}
|
|
@@ -1,56 +1,5 @@
|
|
|
1
1
|
import { DECIDED_BY_VALUES } from '../core/adr.js';
|
|
2
|
-
|
|
3
|
-
'init',
|
|
4
|
-
'propose',
|
|
5
|
-
'decide',
|
|
6
|
-
'accept',
|
|
7
|
-
'reject',
|
|
8
|
-
'supersede',
|
|
9
|
-
'list',
|
|
10
|
-
'show',
|
|
11
|
-
'status',
|
|
12
|
-
'instructions',
|
|
13
|
-
'validate',
|
|
14
|
-
'update',
|
|
15
|
-
'config',
|
|
16
|
-
'graph',
|
|
17
|
-
'tree',
|
|
18
|
-
'completion',
|
|
19
|
-
'version',
|
|
20
|
-
'help',
|
|
21
|
-
];
|
|
22
|
-
/**
|
|
23
|
-
* Options each command takes, used for completion. `--decided-by` is listed
|
|
24
|
-
* because it is required on the two commands that record a decision and its
|
|
25
|
-
* two values are the whole point of the flag: completing the command name and
|
|
26
|
-
* stopping there leaves the caller to guess a required argument.
|
|
27
|
-
*/
|
|
28
|
-
const COMMAND_OPTIONS = {
|
|
29
|
-
init: ['--tools', '--workflows', '--help'],
|
|
30
|
-
propose: ['--help'],
|
|
31
|
-
decide: ['--raised-by', '--decided-by', '--help'],
|
|
32
|
-
accept: ['--raised-by', '--decided-by', '--help'],
|
|
33
|
-
reject: ['--reason', '--help'],
|
|
34
|
-
supersede: ['--by', '--help'],
|
|
35
|
-
list: ['--help'],
|
|
36
|
-
show: ['--help'],
|
|
37
|
-
status: ['--help'],
|
|
38
|
-
instructions: ['--help'],
|
|
39
|
-
validate: ['--all', '--help'],
|
|
40
|
-
update: ['--tools', '--workflows', '--help'],
|
|
41
|
-
config: ['--help'],
|
|
42
|
-
graph: ['--mermaid', '--dot', '--text', '--html', '--formal-only', '--tag', '--help'],
|
|
43
|
-
tree: ['--mermaid', '--text', '--html', '--help'],
|
|
44
|
-
completion: ['--help'],
|
|
45
|
-
version: ['--help'],
|
|
46
|
-
help: ['--help'],
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Options that consume the following word as their value. Declaring them as
|
|
50
|
-
* valueless would make every shell treat them as flags, so completion would
|
|
51
|
-
* repeat the option list in a position where the CLI expects free text.
|
|
52
|
-
*/
|
|
53
|
-
const VALUE_OPTIONS = ['--by', '--reason', '--tag', '--tools', '--workflows'];
|
|
2
|
+
import { COMMANDS, COMMAND_OPTIONS, takesValue, VALUE_OPTIONS } from '../core/cli-options.js';
|
|
54
3
|
/** Short descriptions for the shells that show one next to an option. */
|
|
55
4
|
const OPTION_DESCRIPTIONS = {
|
|
56
5
|
'--by': 'the decision that replaces this one',
|
|
@@ -58,12 +7,10 @@ const OPTION_DESCRIPTIONS = {
|
|
|
58
7
|
'--raised-by': 'who raised the decision',
|
|
59
8
|
'--reason': 'why the draft is discarded',
|
|
60
9
|
'--tag': 'filter to one theme',
|
|
10
|
+
'--out': 'write the output to this file',
|
|
61
11
|
'--tools': 'AI tools to install integrations for',
|
|
62
12
|
'--workflows': 'workflows to install',
|
|
63
13
|
};
|
|
64
|
-
function takesValue(option) {
|
|
65
|
-
return VALUE_OPTIONS.includes(option);
|
|
66
|
-
}
|
|
67
14
|
/**
|
|
68
15
|
* A `_arguments` spec: a boolean stands alone, while a value option has to
|
|
69
16
|
* carry its `=` and an argument slot, or zsh offers it as a flag and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBjD"}
|
package/dist/commands/config.js
CHANGED
|
@@ -15,6 +15,9 @@ export function configCommand(cwd) {
|
|
|
15
15
|
}
|
|
16
16
|
lines.push(`workflows: ${workflows.join(', ')}`, '');
|
|
17
17
|
lines.push(`rules: ${JSON.stringify(config.rules ?? {})}`);
|
|
18
|
+
if (config.installedWith !== undefined) {
|
|
19
|
+
lines.push(`installed-with: ${config.installedWith}`);
|
|
20
|
+
}
|
|
18
21
|
return lines.join('\n');
|
|
19
22
|
}
|
|
20
23
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/commands/graph.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface GraphFormatFlags {
|
|
|
5
5
|
html?: boolean;
|
|
6
6
|
formalOnly?: boolean;
|
|
7
7
|
tag?: string;
|
|
8
|
+
/** Write the output here instead of returning it. */
|
|
9
|
+
out?: string;
|
|
8
10
|
}
|
|
9
11
|
export declare function graphCommand(cwd: string, flags: GraphFormatFlags): string;
|
|
10
12
|
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAwBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAuBzE"}
|
package/dist/commands/graph.js
CHANGED
|
@@ -1,23 +1,53 @@
|
|
|
1
|
+
import { existsSync, realpathSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, relative, resolve, sep } from 'node:path';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
1
4
|
import { requireRoot } from '../core/config.js';
|
|
2
5
|
import { listRecords } from '../core/repository.js';
|
|
3
6
|
import { buildDecisionGraph, dotGraph, mermaidGraph, textTree } from '../core/graph.js';
|
|
4
7
|
import { renderDecisionMapHtml } from '../core/graph-html.js';
|
|
8
|
+
/**
|
|
9
|
+
* Record links resolve from the file the map is written to: a repository-
|
|
10
|
+
* relative path while the map sits inside the repository, so it can be
|
|
11
|
+
* committed and moved with it, and an absolute `file://` URL once it is written
|
|
12
|
+
* outside, where a relative path could not resolve. Without `--out` the caller
|
|
13
|
+
* is redirecting stdout, which only works for a map written into the repository.
|
|
14
|
+
*/
|
|
15
|
+
function recordHref(root, target) {
|
|
16
|
+
if (target === undefined)
|
|
17
|
+
return (recordPath) => recordPath;
|
|
18
|
+
// Both sides go through the real path: a symlinked /tmp on macOS would
|
|
19
|
+
// otherwise read as "outside the repository" for a map written inside it.
|
|
20
|
+
const outDir = realpathSync(dirname(target));
|
|
21
|
+
const rootReal = realpathSync(root);
|
|
22
|
+
const inside = outDir === rootReal || outDir.startsWith(rootReal + sep);
|
|
23
|
+
return (recordPath) => {
|
|
24
|
+
const absolute = realpathSync(resolve(rootReal, recordPath));
|
|
25
|
+
return inside
|
|
26
|
+
? relative(outDir, absolute).split(sep).join('/')
|
|
27
|
+
: pathToFileURL(absolute).href;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
5
30
|
export function graphCommand(cwd, flags) {
|
|
6
31
|
const formats = ['mermaid', 'dot', 'text', 'html'].filter((format) => flags[format]);
|
|
7
32
|
if (formats.length > 1) {
|
|
8
33
|
throw new Error(`--${formats.join(' and --')} are mutually exclusive; pick one output format`);
|
|
9
34
|
}
|
|
10
35
|
const root = requireRoot(cwd);
|
|
36
|
+
const target = flags.out === undefined ? undefined : resolve(cwd, flags.out);
|
|
37
|
+
if (target !== undefined && !existsSync(dirname(target))) {
|
|
38
|
+
throw new Error(`--out directory does not exist: ${dirname(target)}`);
|
|
39
|
+
}
|
|
11
40
|
const graph = buildDecisionGraph(listRecords(root), {
|
|
12
41
|
formalOnly: flags.formalOnly,
|
|
13
42
|
tag: flags.tag,
|
|
14
43
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
return
|
|
21
|
-
|
|
44
|
+
const output = formats[0] === 'dot' ? dotGraph(graph)
|
|
45
|
+
: formats[0] === 'text' ? textTree(graph)
|
|
46
|
+
: formats[0] === 'html' ? renderDecisionMapHtml(graph, 'Decision map', recordHref(root, target))
|
|
47
|
+
: mermaidGraph(graph);
|
|
48
|
+
if (target === undefined)
|
|
49
|
+
return output;
|
|
50
|
+
writeFileSync(target, output);
|
|
51
|
+
return `wrote ${target}`;
|
|
22
52
|
}
|
|
23
53
|
//# sourceMappingURL=graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBnG"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { initRepository } from '../core/repository.js';
|
|
2
|
+
import { writeInstalledWithConfig } from '../core/config.js';
|
|
2
3
|
import { integrationSummary, parseTools, parseWorkflows, writeToolIntegrations, } from '../core/tool-integrations.js';
|
|
4
|
+
import { VERSION } from '../version.js';
|
|
3
5
|
export function initCommand(targetDir, toolsValue, workflowsValue) {
|
|
4
6
|
const tools = parseTools(toolsValue);
|
|
5
7
|
const workflows = parseWorkflows(workflowsValue);
|
|
@@ -8,6 +10,7 @@ export function initCommand(targetDir, toolsValue, workflowsValue) {
|
|
|
8
10
|
const { root, created } = initRepository(targetDir, tools, workflowsValue === undefined ? undefined : workflows);
|
|
9
11
|
const lines = created.map((path) => ` created ${path}`);
|
|
10
12
|
const integrations = writeToolIntegrations(root, tools, workflows);
|
|
13
|
+
writeInstalledWithConfig(root, VERSION);
|
|
11
14
|
return [
|
|
12
15
|
`ADR Kit initialized at ${root}`,
|
|
13
16
|
...lines,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,UAAmB,EAAE,cAAuB;IACzF,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACjD,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CACtC,SAAS,EACT,KAAK,EACL,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO;QACL,0BAA0B,IAAI,EAAE;QAChC,GAAG,KAAK;QACR,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC;QACzC,EAAE;QACF,OAAO;QACP,oGAAoG;QACpG,6EAA6E;KAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKvD"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { findRoot } from '../core/config.js';
|
|
1
|
+
import { findRoot, installedWithNotice, readConfigSafe, withNotice } from '../core/config.js';
|
|
2
2
|
import { listDrafts, listRecords } from '../core/repository.js';
|
|
3
3
|
import { formatIssues, validateDraft, validateRepository } from '../core/validate.js';
|
|
4
|
+
import { VERSION } from '../version.js';
|
|
4
5
|
export function instructionsCommand(cwd) {
|
|
6
|
+
const root = findRoot(cwd);
|
|
7
|
+
const config = root === undefined ? undefined : readConfigSafe(root);
|
|
8
|
+
const notice = config === undefined ? undefined : installedWithNotice(config, VERSION);
|
|
9
|
+
return withNotice(instructionsOutput(cwd), notice);
|
|
10
|
+
}
|
|
11
|
+
function instructionsOutput(cwd) {
|
|
5
12
|
const root = findRoot(cwd);
|
|
6
13
|
if (root === undefined) {
|
|
7
14
|
const output = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiC/C"}
|
package/dist/commands/list.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { requireRoot } from '../core/config.js';
|
|
1
|
+
import { installedWithNotice, readConfigSafe, requireRoot, withNotice } from '../core/config.js';
|
|
2
2
|
import { displayName, listDrafts, listRecords, relativePath } from '../core/repository.js';
|
|
3
|
+
import { VERSION } from '../version.js';
|
|
3
4
|
export function listCommand(cwd) {
|
|
4
5
|
const root = requireRoot(cwd);
|
|
6
|
+
const config = readConfigSafe(root);
|
|
7
|
+
const notice = config === undefined ? undefined : installedWithNotice(config, VERSION);
|
|
5
8
|
const records = listRecords(root);
|
|
6
9
|
const drafts = listDrafts(root);
|
|
7
10
|
if (records.length === 0 && drafts.length === 0) {
|
|
8
|
-
return 'no ADRs yet: start one with "adrkit decide <title> --raised-by human --decided-by human" or "adrkit propose <title>"';
|
|
11
|
+
return withNotice('no ADRs yet: start one with "adrkit decide <title> --raised-by human --decided-by human" or "adrkit propose <title>"', notice);
|
|
9
12
|
}
|
|
10
13
|
const lines = [];
|
|
11
14
|
if (records.length > 0) {
|
|
12
|
-
lines.push('
|
|
15
|
+
lines.push('Decisions', '');
|
|
13
16
|
for (const record of records) {
|
|
14
17
|
const supersededNote = record.status === 'superseded' && record.supersededBy !== undefined
|
|
15
18
|
? ` [superseded by ${record.supersededBy}]`
|
|
@@ -25,6 +28,6 @@ export function listCommand(cwd) {
|
|
|
25
28
|
}
|
|
26
29
|
lines.push('');
|
|
27
30
|
}
|
|
28
|
-
return lines.join('\n').trimEnd();
|
|
31
|
+
return withNotice(lines.join('\n').trimEnd(), notice);
|
|
29
32
|
}
|
|
30
33
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,UAAU,CACf,sHAAsH,EACtH,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;gBACxF,CAAC,CAAC,oBAAoB,MAAM,CAAC,YAAY,GAAG;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supersede.d.ts","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"supersede.d.ts","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA+CpF"}
|
|
@@ -6,22 +6,19 @@ import { stampLifecycleMove } from '../core/templates.js';
|
|
|
6
6
|
export function supersedeCommand(query, byQuery, cwd) {
|
|
7
7
|
const root = requireRoot(cwd);
|
|
8
8
|
const record = resolveRecord(root, query);
|
|
9
|
-
if (record.folder !== 'decisions') {
|
|
10
|
-
throw new Error(`"${query}" is not an accepted decision (it is in ${record.folder})`);
|
|
11
|
-
}
|
|
12
9
|
if (record.status === 'superseded') {
|
|
13
10
|
const current = record.supersededBy ?? 0;
|
|
14
11
|
throw new Error(`"${query}" is already superseded by ${current}; supersede that decision instead if it is now outdated`);
|
|
15
12
|
}
|
|
16
13
|
const replacement = resolveRecord(root, byQuery);
|
|
17
|
-
if (replacement.folder !== 'decisions') {
|
|
18
|
-
throw new Error(`"--by ${byQuery}" is not an accepted decision (it is in ${replacement.folder})`);
|
|
19
|
-
}
|
|
20
14
|
if (replacement.path === record.path) {
|
|
21
15
|
throw new Error('a decision cannot supersede itself');
|
|
22
16
|
}
|
|
23
17
|
if (replacement.status === 'superseded') {
|
|
24
|
-
throw new Error(`"--by ${byQuery}" is itself superseded;
|
|
18
|
+
throw new Error(`"--by ${byQuery}" is itself superseded; choose its currently accepted successor`);
|
|
19
|
+
}
|
|
20
|
+
if (replacement.status !== 'accepted') {
|
|
21
|
+
throw new Error(`"--by ${byQuery}" is not an accepted decision (status "${replacement.status}")`);
|
|
25
22
|
}
|
|
26
23
|
if (replacement.number === undefined) {
|
|
27
24
|
throw new Error(`"--by ${byQuery}" has no decision number`);
|
|
@@ -29,6 +26,14 @@ export function supersedeCommand(query, byQuery, cwd) {
|
|
|
29
26
|
if (record.status !== 'accepted') {
|
|
30
27
|
throw new Error(`unexpected status "${record.status}" in ${record.fileName}`);
|
|
31
28
|
}
|
|
29
|
+
// A lifecycle rewrite emits only the canonical fields, so a key outside the
|
|
30
|
+
// set would disappear silently. Refuse and point at the command that reports
|
|
31
|
+
// it instead of dropping written content.
|
|
32
|
+
const extras = record.frontMatterExtras ?? [];
|
|
33
|
+
if (extras.length > 0) {
|
|
34
|
+
throw new Error(`"${query}" has unknown front matter field(s): ${extras.join(', ')}; ` +
|
|
35
|
+
`fix them with "adrkit validate ${record.number ?? query}" before superseding`);
|
|
36
|
+
}
|
|
32
37
|
const original = readRecord(record);
|
|
33
38
|
const patch = {
|
|
34
39
|
status: 'superseded',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supersede.js","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,GAAW;IAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"supersede.js","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,GAAW;IAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,8BAA8B,OAAO,yDAAyD,CACxG,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,iEAAiE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,0CAA0C,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,0BAA0B,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,4EAA4E;IAC5E,6EAA6E;IAC7E,0CAA0C;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACpE,kCAAkC,MAAM,CAAC,MAAM,IAAI,KAAK,sBAAsB,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAoC;QAC7C,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,UAAU,EAAE;QAClB,eAAe,EAAE,WAAW,CAAC,MAAM;KACpC,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACrF,OAAO,4BAA4B,MAAM,CAAC,QAAQ,qBAAqB,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAkBA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAwB/F"}
|
package/dist/commands/update.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { readConfig, requireRoot, writeToolsConfig, writeWorkflowsConfig, } from '../core/config.js';
|
|
1
|
+
import { readConfig, requireRoot, writeInstalledWithConfig, writeToolsConfig, writeWorkflowsConfig, } from '../core/config.js';
|
|
2
2
|
import { integrationSummary, parseTools, parseWorkflows, removeToolIntegrations, removeWorkflowIntegrations, staleIntegrationKeys, writeToolIntegrations, } from '../core/tool-integrations.js';
|
|
3
|
+
import { VERSION } from '../version.js';
|
|
3
4
|
export function updateCommand(cwd, toolsValue, workflowsValue) {
|
|
4
5
|
const root = requireRoot(cwd);
|
|
5
6
|
const config = readConfig(root);
|
|
@@ -15,6 +16,7 @@ export function updateCommand(cwd, toolsValue, workflowsValue) {
|
|
|
15
16
|
if (workflowsArg !== undefined)
|
|
16
17
|
writeWorkflowsConfig(root, workflows);
|
|
17
18
|
const integrations = writeToolIntegrations(root, tools, workflows);
|
|
19
|
+
writeInstalledWithConfig(root, VERSION);
|
|
18
20
|
const lines = [`updated AI tool integrations at ${root}`];
|
|
19
21
|
if (removed.length > 0) {
|
|
20
22
|
lines.push(` removed integrations for: ${removed.join(', ')}`);
|