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.
Files changed (87) hide show
  1. package/README.md +9 -6
  2. package/README.zh.md +7 -5
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +19 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/completion.d.ts.map +1 -1
  7. package/dist/commands/completion.js +2 -55
  8. package/dist/commands/completion.js.map +1 -1
  9. package/dist/commands/config.d.ts.map +1 -1
  10. package/dist/commands/config.js +3 -0
  11. package/dist/commands/config.js.map +1 -1
  12. package/dist/commands/graph.d.ts +2 -0
  13. package/dist/commands/graph.d.ts.map +1 -1
  14. package/dist/commands/graph.js +37 -7
  15. package/dist/commands/graph.js.map +1 -1
  16. package/dist/commands/init.d.ts.map +1 -1
  17. package/dist/commands/init.js +3 -0
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/instructions.d.ts.map +1 -1
  20. package/dist/commands/instructions.js +8 -1
  21. package/dist/commands/instructions.js.map +1 -1
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +7 -4
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/commands/supersede.d.ts.map +1 -1
  26. package/dist/commands/supersede.js +12 -7
  27. package/dist/commands/supersede.js.map +1 -1
  28. package/dist/commands/update.d.ts.map +1 -1
  29. package/dist/commands/update.js +3 -1
  30. package/dist/commands/update.js.map +1 -1
  31. package/dist/core/adr.d.ts +1 -0
  32. package/dist/core/adr.d.ts.map +1 -1
  33. package/dist/core/adr.js.map +1 -1
  34. package/dist/core/canvas-view.d.ts +19 -3
  35. package/dist/core/canvas-view.d.ts.map +1 -1
  36. package/dist/core/canvas-view.js +210 -15
  37. package/dist/core/canvas-view.js.map +1 -1
  38. package/dist/core/cli-options.d.ts +23 -0
  39. package/dist/core/cli-options.d.ts.map +1 -0
  40. package/dist/core/cli-options.js +69 -0
  41. package/dist/core/cli-options.js.map +1 -0
  42. package/dist/core/config.d.ts +29 -0
  43. package/dist/core/config.d.ts.map +1 -1
  44. package/dist/core/config.js +69 -1
  45. package/dist/core/config.js.map +1 -1
  46. package/dist/core/deliberation-html.d.ts.map +1 -1
  47. package/dist/core/deliberation-html.js +89 -24
  48. package/dist/core/deliberation-html.js.map +1 -1
  49. package/dist/core/deliberation-view.d.ts.map +1 -1
  50. package/dist/core/deliberation-view.js +28 -195
  51. package/dist/core/deliberation-view.js.map +1 -1
  52. package/dist/core/deliberation.d.ts +15 -0
  53. package/dist/core/deliberation.d.ts.map +1 -1
  54. package/dist/core/deliberation.js +35 -15
  55. package/dist/core/deliberation.js.map +1 -1
  56. package/dist/core/graph-html.d.ts +1 -1
  57. package/dist/core/graph-html.d.ts.map +1 -1
  58. package/dist/core/graph-html.js +163 -44
  59. package/dist/core/graph-html.js.map +1 -1
  60. package/dist/core/graph-view.d.ts +1 -1
  61. package/dist/core/graph-view.d.ts.map +1 -1
  62. package/dist/core/graph-view.js +9 -187
  63. package/dist/core/graph-view.js.map +1 -1
  64. package/dist/core/relation-focus.d.ts +4 -0
  65. package/dist/core/relation-focus.d.ts.map +1 -0
  66. package/dist/core/relation-focus.js +89 -0
  67. package/dist/core/relation-focus.js.map +1 -0
  68. package/dist/core/share.d.ts +30 -0
  69. package/dist/core/share.d.ts.map +1 -0
  70. package/dist/core/share.js +420 -0
  71. package/dist/core/share.js.map +1 -0
  72. package/dist/core/templates.d.ts +4 -1
  73. package/dist/core/templates.d.ts.map +1 -1
  74. package/dist/core/templates.js +4 -1
  75. package/dist/core/templates.js.map +1 -1
  76. package/dist/core/tool-integrations.d.ts.map +1 -1
  77. package/dist/core/tool-integrations.js +47 -29
  78. package/dist/core/tool-integrations.js.map +1 -1
  79. package/dist/core/validate.d.ts +1 -1
  80. package/dist/core/validate.d.ts.map +1 -1
  81. package/dist/core/validate.js +25 -14
  82. package/dist/core/validate.js.map +1 -1
  83. package/dist/core/view-text.d.ts +7 -0
  84. package/dist/core/view-text.d.ts.map +1 -1
  85. package/dist/core/view-text.js +15 -0
  86. package/dist/core/view-text.js.map +1 -1
  87. 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 eight workflow skills by default. A small
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 `N` exists and is not itself superseded.
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 when needed;
212
- it uses the built-in renderer and returns an HTML file link. HTML is not a
213
- default grilling deliverable, and a browser opens only on an explicit request.
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` 校验 `N` 存在且自身未被取代。
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 可视化指定决策,它会调用内置渲染器并提供 HTML 文件链接。
189
- HTML 不是 grilling 的默认交付,只有明确要求时才打开浏览器。
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":"AAsEA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAmLzC"}
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":"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"}
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":"AAuFA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiGvD"}
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
- const COMMANDS = [
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":"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"}
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,CAgBjD"}
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"}
@@ -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"}
@@ -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":"AAKA,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;CACd;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAgBzE"}
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"}
@@ -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
- if (formats[0] === 'dot')
16
- return dotGraph(graph);
17
- if (formats[0] === 'text')
18
- return textTree(graph);
19
- if (formats[0] === 'html')
20
- return renderDecisionMapHtml(graph);
21
- return mermaidGraph(graph);
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;AAW9D,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,KAAuB;IAC/D,MAAM,OAAO,GAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAChG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,iDAAiD,CAC9E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QAClD,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,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":"AAQA,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAqBnG"}
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"}
@@ -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;AAEtC,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,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
+ {"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":"AAIA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA2FvD"}
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":"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"}
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":"AAGA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4B/C"}
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"}
@@ -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('Accepted', '');
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;AAChD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE3F,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,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,sHAAsH,CAAC;IAChI,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3B,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,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpC,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,CAwCpF"}
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; superseding with it would create a dangling chain`);
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,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,2CAA2C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACxF,CAAC;IACD,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,MAAM,KAAK,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,2CAA2C,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACpG,CAAC;IACD,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,2EAA2E,CAAC,CAAC;IAC/G,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,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
+ {"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":"AAgBA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB/F"}
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"}
@@ -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(', ')}`);