@ozzylabs/feedradar 0.2.1 → 0.2.3

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 (192) hide show
  1. package/README.ja.md +51 -13
  2. package/README.md +51 -13
  3. package/dist/agents/_boundary.d.ts +21 -0
  4. package/dist/agents/_boundary.d.ts.map +1 -1
  5. package/dist/agents/_boundary.js +34 -0
  6. package/dist/agents/_boundary.js.map +1 -1
  7. package/dist/agents/claude-code.d.ts.map +1 -1
  8. package/dist/agents/claude-code.js +14 -6
  9. package/dist/agents/claude-code.js.map +1 -1
  10. package/dist/agents/codex-cli.d.ts.map +1 -1
  11. package/dist/agents/codex-cli.js +13 -7
  12. package/dist/agents/codex-cli.js.map +1 -1
  13. package/dist/agents/copilot.d.ts.map +1 -1
  14. package/dist/agents/copilot.js +13 -6
  15. package/dist/agents/copilot.js.map +1 -1
  16. package/dist/agents/gemini-cli.d.ts.map +1 -1
  17. package/dist/agents/gemini-cli.js +13 -6
  18. package/dist/agents/gemini-cli.js.map +1 -1
  19. package/dist/agents/types.d.ts +26 -0
  20. package/dist/agents/types.d.ts.map +1 -1
  21. package/dist/claude-skills/dismiss/SKILL.md +4 -4
  22. package/dist/claude-skills/research/SKILL.md +2 -3
  23. package/dist/claude-skills/review/SKILL.md +2 -2
  24. package/dist/claude-skills/update/SKILL.md +7 -7
  25. package/dist/cli/_locale.d.ts +96 -0
  26. package/dist/cli/_locale.d.ts.map +1 -0
  27. package/dist/cli/_locale.js +130 -0
  28. package/dist/cli/_locale.js.map +1 -0
  29. package/dist/cli/_progress.d.ts +30 -1
  30. package/dist/cli/_progress.d.ts.map +1 -1
  31. package/dist/cli/_progress.js +9 -1
  32. package/dist/cli/_progress.js.map +1 -1
  33. package/dist/cli/dismiss.d.ts.map +1 -1
  34. package/dist/cli/dismiss.js +61 -54
  35. package/dist/cli/dismiss.js.map +1 -1
  36. package/dist/cli/doctor.d.ts +8 -0
  37. package/dist/cli/doctor.d.ts.map +1 -1
  38. package/dist/cli/doctor.js +91 -60
  39. package/dist/cli/doctor.js.map +1 -1
  40. package/dist/cli/index.d.ts +36 -1
  41. package/dist/cli/index.d.ts.map +1 -1
  42. package/dist/cli/index.js +81 -18
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/cli/init.d.ts +15 -0
  45. package/dist/cli/init.d.ts.map +1 -1
  46. package/dist/cli/init.js +149 -51
  47. package/dist/cli/init.js.map +1 -1
  48. package/dist/cli/items.d.ts.map +1 -1
  49. package/dist/cli/items.js +51 -30
  50. package/dist/cli/items.js.map +1 -1
  51. package/dist/cli/research.d.ts.map +1 -1
  52. package/dist/cli/research.js +138 -109
  53. package/dist/cli/research.js.map +1 -1
  54. package/dist/cli/review.d.ts.map +1 -1
  55. package/dist/cli/review.js +114 -92
  56. package/dist/cli/review.js.map +1 -1
  57. package/dist/cli/routine/fire.d.ts +3 -2
  58. package/dist/cli/routine/fire.d.ts.map +1 -1
  59. package/dist/cli/routine/fire.js +30 -25
  60. package/dist/cli/routine/fire.js.map +1 -1
  61. package/dist/cli/routine/generate-pipeline.d.ts +24 -10
  62. package/dist/cli/routine/generate-pipeline.d.ts.map +1 -1
  63. package/dist/cli/routine/generate-pipeline.js +158 -83
  64. package/dist/cli/routine/generate-pipeline.js.map +1 -1
  65. package/dist/cli/routine/generate-watch.d.ts +56 -1
  66. package/dist/cli/routine/generate-watch.d.ts.map +1 -1
  67. package/dist/cli/routine/generate-watch.js +116 -42
  68. package/dist/cli/routine/generate-watch.js.map +1 -1
  69. package/dist/cli/routine.d.ts.map +1 -1
  70. package/dist/cli/routine.js +28 -24
  71. package/dist/cli/routine.js.map +1 -1
  72. package/dist/cli/source.d.ts.map +1 -1
  73. package/dist/cli/source.js +212 -182
  74. package/dist/cli/source.js.map +1 -1
  75. package/dist/cli/state.d.ts +43 -0
  76. package/dist/cli/state.d.ts.map +1 -0
  77. package/dist/cli/state.js +177 -0
  78. package/dist/cli/state.js.map +1 -0
  79. package/dist/cli/triage.d.ts.map +1 -1
  80. package/dist/cli/triage.js +146 -130
  81. package/dist/cli/triage.js.map +1 -1
  82. package/dist/cli/undismiss.d.ts.map +1 -1
  83. package/dist/cli/undismiss.js +32 -25
  84. package/dist/cli/undismiss.js.map +1 -1
  85. package/dist/cli/update.d.ts.map +1 -1
  86. package/dist/cli/update.js +77 -61
  87. package/dist/cli/update.js.map +1 -1
  88. package/dist/cli/watch.d.ts.map +1 -1
  89. package/dist/cli/watch.js +71 -31
  90. package/dist/cli/watch.js.map +1 -1
  91. package/dist/cli/workflow/generate-combined-with-triage.d.ts +9 -2
  92. package/dist/cli/workflow/generate-combined-with-triage.d.ts.map +1 -1
  93. package/dist/cli/workflow/generate-combined-with-triage.js +120 -71
  94. package/dist/cli/workflow/generate-combined-with-triage.js.map +1 -1
  95. package/dist/cli/workflow/generate-combined.d.ts +8 -1
  96. package/dist/cli/workflow/generate-combined.d.ts.map +1 -1
  97. package/dist/cli/workflow/generate-combined.js +39 -33
  98. package/dist/cli/workflow/generate-combined.js.map +1 -1
  99. package/dist/cli/workflow/generate-watch.d.ts +10 -1
  100. package/dist/cli/workflow/generate-watch.d.ts.map +1 -1
  101. package/dist/cli/workflow/generate-watch.js +37 -30
  102. package/dist/cli/workflow/generate-watch.js.map +1 -1
  103. package/dist/cli/workflow.d.ts.map +1 -1
  104. package/dist/cli/workflow.js +28 -23
  105. package/dist/cli/workflow.js.map +1 -1
  106. package/dist/core/config.d.ts +2 -1
  107. package/dist/core/config.d.ts.map +1 -1
  108. package/dist/core/config.js +14 -4
  109. package/dist/core/config.js.map +1 -1
  110. package/dist/core/feeds/html-js.d.ts.map +1 -1
  111. package/dist/core/feeds/html-js.js +16 -9
  112. package/dist/core/feeds/html-js.js.map +1 -1
  113. package/dist/core/feeds/json-api.d.ts.map +1 -1
  114. package/dist/core/feeds/json-api.js +38 -21
  115. package/dist/core/feeds/json-api.js.map +1 -1
  116. package/dist/core/feeds/types.d.ts +9 -0
  117. package/dist/core/feeds/types.d.ts.map +1 -1
  118. package/dist/core/filter.d.ts +20 -12
  119. package/dist/core/filter.d.ts.map +1 -1
  120. package/dist/core/filter.js +87 -46
  121. package/dist/core/filter.js.map +1 -1
  122. package/dist/core/locale.d.ts +69 -0
  123. package/dist/core/locale.d.ts.map +1 -0
  124. package/dist/core/locale.js +74 -0
  125. package/dist/core/locale.js.map +1 -0
  126. package/dist/core/state.d.ts +20 -0
  127. package/dist/core/state.d.ts.map +1 -1
  128. package/dist/core/state.js +26 -0
  129. package/dist/core/state.js.map +1 -1
  130. package/dist/core/triage/prompt.d.ts.map +1 -1
  131. package/dist/core/triage/prompt.js +18 -4
  132. package/dist/core/triage/prompt.js.map +1 -1
  133. package/dist/core/watcher.d.ts +28 -0
  134. package/dist/core/watcher.d.ts.map +1 -1
  135. package/dist/core/watcher.js +77 -8
  136. package/dist/core/watcher.js.map +1 -1
  137. package/dist/i18n/index.d.ts +57 -0
  138. package/dist/i18n/index.d.ts.map +1 -0
  139. package/dist/i18n/index.js +49 -0
  140. package/dist/i18n/index.js.map +1 -0
  141. package/dist/i18n/messages/en.d.ts +1049 -0
  142. package/dist/i18n/messages/en.d.ts.map +1 -0
  143. package/dist/i18n/messages/en.js +1152 -0
  144. package/dist/i18n/messages/en.js.map +1 -0
  145. package/dist/i18n/messages/ja.d.ts +13 -0
  146. package/dist/i18n/messages/ja.d.ts.map +1 -0
  147. package/dist/i18n/messages/ja.js +1010 -0
  148. package/dist/i18n/messages/ja.js.map +1 -0
  149. package/dist/schemas/config.d.ts +7 -0
  150. package/dist/schemas/config.d.ts.map +1 -1
  151. package/dist/schemas/config.js +5 -0
  152. package/dist/schemas/config.js.map +1 -1
  153. package/dist/schemas/item.d.ts +1 -0
  154. package/dist/schemas/item.d.ts.map +1 -1
  155. package/dist/schemas/item.js +15 -0
  156. package/dist/schemas/item.js.map +1 -1
  157. package/dist/schemas/recipe.d.ts +7 -1
  158. package/dist/schemas/recipe.d.ts.map +1 -1
  159. package/dist/schemas/recipe.js +1 -0
  160. package/dist/schemas/recipe.js.map +1 -1
  161. package/dist/schemas/source.d.ts +40 -18
  162. package/dist/schemas/source.d.ts.map +1 -1
  163. package/dist/schemas/source.js +84 -23
  164. package/dist/schemas/source.js.map +1 -1
  165. package/dist/skills/research/SKILL.md +13 -12
  166. package/dist/skills/review/SKILL.md +13 -12
  167. package/dist/skills/update/SKILL.md +19 -19
  168. package/dist/templates/en/agents/AGENTS.md +284 -0
  169. package/dist/templates/en/claude/CLAUDE.md +5 -0
  170. package/dist/templates/en/default.md +16 -0
  171. package/dist/templates/en/digest.md +66 -0
  172. package/dist/templates/en/feedradar.md +235 -0
  173. package/dist/templates/{routines → en/routines}/pipeline.yaml.tmpl +93 -34
  174. package/dist/templates/{routines → en/routines}/watch-daily.yaml +12 -15
  175. package/dist/templates/{routines → en/routines}/watch.yaml.tmpl +11 -14
  176. package/dist/templates/{workflows → en/workflows}/combined-with-triage.template.yaml.tmpl +3 -3
  177. package/dist/templates/{workflows → en/workflows}/combined.template.yaml.tmpl +6 -6
  178. package/dist/templates/{workflows → en/workflows}/watch.template.yaml.tmpl +8 -8
  179. package/dist/templates/{workflows → en/workflows}/watch.yaml +3 -3
  180. package/dist/templates/{agents → ja/agents}/AGENTS.md +16 -16
  181. package/dist/templates/{digest.md → ja/digest.md} +5 -6
  182. package/dist/templates/{feedradar.md → ja/feedradar.md} +12 -12
  183. package/dist/templates/ja/routines/pipeline.yaml.tmpl +267 -0
  184. package/dist/templates/ja/routines/watch-daily.yaml +151 -0
  185. package/dist/templates/ja/routines/watch.yaml.tmpl +145 -0
  186. package/dist/templates/ja/workflows/combined-with-triage.template.yaml.tmpl +123 -0
  187. package/dist/templates/ja/workflows/combined.template.yaml.tmpl +109 -0
  188. package/dist/templates/ja/workflows/watch.template.yaml.tmpl +100 -0
  189. package/dist/templates/ja/workflows/watch.yaml +73 -0
  190. package/package.json +1 -1
  191. /package/dist/templates/{claude → ja/claude}/CLAUDE.md +0 -0
  192. /package/dist/templates/{default.md → ja/default.md} +0 -0
@@ -1,7 +1,9 @@
1
1
  import { access, mkdir, readFile, writeFile } from "node:fs/promises";
2
2
  import { dirname, isAbsolute, join, relative, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { collectSourceHosts, isSafeRoutinePath, isSubHourlyCron, isValidCron, renderNetworkAccessBlock, SUPPORTED_MODELS, } from "./generate-watch.js";
4
+ import { createTranslator } from "../../i18n/index.js";
5
+ import { LangFlagError, parseLangFlag, resolveWorkspaceLocale } from "../_locale.js";
6
+ import { collectSourceHosts, isSafeRoutinePath, isSubHourlyCron, isValidCron, PROMPT_MODES, printPromptModePaste, renderNetworkAccessBlock, SUPPORTED_MODELS, } from "./generate-watch.js";
5
7
  /**
6
8
  * `radar routine generate pipeline` (ADR-0020 D5 `pipeline`).
7
9
  *
@@ -26,7 +28,7 @@ import { collectSourceHosts, isSafeRoutinePath, isSubHourlyCron, isValidCron, re
26
28
  */
27
29
  export const PIPELINE_DEFAULT_MAX_ITEMS = 10;
28
30
  /**
29
- * Landing / output modes for the pipeline routine's step-6 commit (#301).
31
+ * Landing / output modes for the pipeline routine's step-8 commit (#301).
30
32
  *
31
33
  * Symmetric with the GHA `combined-with-triage --output-mode pr|direct-commit`
32
34
  * (#258), but the names differ because the mechanics differ:
@@ -37,7 +39,7 @@ export const PIPELINE_DEFAULT_MAX_ITEMS = 10;
37
39
  * - `auto-merge`: open the same `claude/pipeline/...` PR, then immediately
38
40
  * `gh pr merge --squash` it so the output lands on `main`. Distinct from the
39
41
  * GHA `direct-commit` (which pushes to main with NO PR at all); here a PR is
40
- * always created first. Opt-in because the step-5 self-review makes the PR
42
+ * always created first. Opt-in because the step-6 self-review makes the PR
41
43
  * review-complete (ADR-0020 D3a opt-in auto-merge).
42
44
  *
43
45
  * NB: `--auto` (vs immediate `--squash`) is intentionally NOT used — on a repo
@@ -46,7 +48,7 @@ export const PIPELINE_DEFAULT_MAX_ITEMS = 10;
46
48
  */
47
49
  export const OUTPUT_MODES = ["pr", "auto-merge"];
48
50
  /**
49
- * Build the instructions step-6 commit/landing block for the given output mode.
51
+ * Build the instructions step-8 commit/landing block for the given output mode.
50
52
  *
51
53
  * - `pr`: open a `claude/pipeline/...` branch + PR and stop (the current,
52
54
  * pre-#301 behavior).
@@ -60,7 +62,7 @@ export const OUTPUT_MODES = ["pr", "auto-merge"];
60
62
  * step (the placeholder sits where the step body starts). Exported for unit
61
63
  * testing (mirrors the GHA generator's `buildFinalStep`).
62
64
  */
63
- export function buildPipelineLandingStep(mode) {
65
+ export function buildPipelineLandingStep(mode, locale = "en") {
64
66
  // The `${...}` / `$(...)` tokens below are bash expansions in the GENERATED
65
67
  // YAML, not JS template placeholders, so they are assembled by concatenation
66
68
  // to keep biome's noTemplateCurlyInString quiet (same convention as the GHA
@@ -77,27 +79,54 @@ export function buildPipelineLandingStep(mode) {
77
79
  ` gh pr create --fill --base main --head "${BR}" || true`,
78
80
  ];
79
81
  if (mode === "auto-merge") {
82
+ const prose = locale === "ja"
83
+ ? [
84
+ " 8. `items/`・`state/`・`research/` が変わったら、それらを `claude/*` ブランチへ",
85
+ " コミットし、プルリクエストを開き、`main` へ squash-merge する(auto-merge は",
86
+ " ここではオプトイン — 手順 6 のレビューが PR をレビュー完了にする):",
87
+ ]
88
+ : [
89
+ " 8. If `items/`, `state/`, or `research/` changed, commit them to a `claude/*`",
90
+ " branch, open a pull request, then squash-merge it to `main` (auto-merge is",
91
+ " opt-in here — the step-6 review makes the PR review-complete):",
92
+ ];
93
+ const mergeComment = locale === "ja"
94
+ ? [
95
+ " # マージを堅牢にするため --delete-branch の前に head ブランチから離れ、",
96
+ " # 即座に squash-merge する(--auto ではない: 必須チェックのない repo では",
97
+ " # --auto は決してマージしない)。一時的なマージ失敗で実行を中断せず PR を",
98
+ " # 開いたまま残すよう fail-soft にする。",
99
+ ]
100
+ : [
101
+ " # Switch off the head branch before --delete-branch so the merge is",
102
+ " # robust, then squash-merge immediately (NOT --auto: on a repo with no",
103
+ " # required checks --auto never merges). Fail-soft so a transient merge",
104
+ " # failure leaves the PR open rather than aborting the run.",
105
+ ];
80
106
  return [
81
- " 6. If `items/`, `state/`, or `research/` changed, commit them to a `claude/*`",
82
- " branch, open a pull request, then squash-merge it to `main` (auto-merge is",
83
- " opt-in here — the step-5 review makes the PR review-complete):",
107
+ ...prose,
84
108
  "",
85
109
  " ```bash",
86
110
  " if ! git diff --quiet items/ state/ research/; then",
87
111
  ...common,
88
- " # Switch off the head branch before --delete-branch so the merge is",
89
- " # robust, then squash-merge immediately (NOT --auto: on a repo with no",
90
- " # required checks --auto never merges). Fail-soft so a transient merge",
91
- " # failure leaves the PR open rather than aborting the run.",
112
+ ...mergeComment,
92
113
  " git switch main",
93
114
  ` gh pr merge "${BR}" --squash --delete-branch || true`,
94
115
  " fi",
95
116
  " ```",
96
117
  ].join("\n");
97
118
  }
119
+ const prose = locale === "ja"
120
+ ? [
121
+ " 8. `items/`・`state/`・`research/` が変わったら、それらを `claude/*` ブランチへ",
122
+ " コミットし、プルリクエストを開く(`main` へは push しない):",
123
+ ]
124
+ : [
125
+ " 8. If `items/`, `state/`, or `research/` changed, commit them to a `claude/*`",
126
+ " branch and open a pull request (do NOT push to `main`):",
127
+ ];
98
128
  return [
99
- " 6. If `items/`, `state/`, or `research/` changed, commit them to a `claude/*`",
100
- " branch and open a pull request (do NOT push to `main`):",
129
+ ...prose,
101
130
  "",
102
131
  " ```bash",
103
132
  " if ! git diff --quiet items/ state/ research/; then",
@@ -113,40 +142,67 @@ export function buildPipelineLandingStep(mode) {
113
142
  * constraint (ADR-0020 D3a, no auto-merge).
114
143
  * - `auto-merge`: flips the constraint to say auto-merge is intentional — the
115
144
  * routine opens a `claude/pipeline/...` PR then squash-merges it, and the
116
- * step-5 review is what makes the PR review-complete (ADR-0020 D3a opt-in
145
+ * step-6 review is what makes the PR review-complete (ADR-0020 D3a opt-in
117
146
  * auto-merge).
118
147
  *
119
148
  * Exported for unit testing (mirrors the GHA generator's exported builders).
120
149
  */
121
- export function buildOutputGateConstraint(mode) {
150
+ export function buildOutputGateConstraint(mode, locale = "en") {
122
151
  if (mode === "auto-merge") {
152
+ if (locale === "ja") {
153
+ return [
154
+ " - auto-merge はここでは意図的: この routine は `claude/pipeline/...` PR を開いてから",
155
+ " `main` へ squash-merge する。手順 6 のレビューが PR をレビュー完了にする。",
156
+ ].join("\n");
157
+ }
123
158
  return [
124
159
  " - Auto-merge is intentional here: this routine opens a `claude/pipeline/...`",
125
- " PR then squash-merges it to `main`. The step-5 review makes the PR",
126
- " review-complete (ADR-0020 D3a opt-in auto-merge).",
160
+ " PR then squash-merges it to `main`. The step-6 review makes the PR",
161
+ " review-complete.",
162
+ ].join("\n");
163
+ }
164
+ if (locale === "ja") {
165
+ return [
166
+ " - `main` へ直接 push しない。常に `claude/pipeline/...` ブランチと PR を使う",
167
+ " (出力ゲート。auto-merge なし)。",
127
168
  ].join("\n");
128
169
  }
129
170
  return [
130
171
  " - Do NOT push to `main` directly. Always use a `claude/pipeline/...` branch",
131
- " and a PR (ADR-0020 D3a output gate; no auto-merge).",
172
+ " and a PR (output gate; no auto-merge).",
132
173
  ].join("\n");
133
174
  }
134
175
  /**
135
176
  * Build the `notes:` output-gate sentence for the given output mode. Mirrors
136
177
  * `buildOutputGateConstraint` but phrased for the ops `notes` block.
137
178
  */
138
- export function buildOutputGateNote(mode) {
179
+ export function buildOutputGateNote(mode, locale = "en") {
139
180
  if (mode === "auto-merge") {
181
+ if (locale === "ja") {
182
+ return [
183
+ " 出力は `claude/*` ブランチ / PR にコミットされ、その後 main へ squash-merge される",
184
+ " (auto-merge はオプトイン。手順 6 のレビューが PR をレビュー完了にする)。",
185
+ " 単一の Claude セッション、spawn なし: GHA パイプラインのクロスエージェント",
186
+ " レビューはここには存在しない。",
187
+ ].join("\n");
188
+ }
140
189
  return [
141
190
  " Output is committed to a `claude/*` branch / PR, then squash-merged to main",
142
- " (auto-merge is opt-in; the step-5 review makes the PR review-complete",
143
- " ADR-0020 D3a). Single Claude session, no spawn (D2): the cross-agent review",
191
+ " (auto-merge is opt-in; the step-6 review makes the PR review-complete).",
192
+ " Single Claude session, no spawn: the cross-agent review",
144
193
  " of the GHA pipeline is NOT present here.",
145
194
  ].join("\n");
146
195
  }
196
+ if (locale === "ja") {
197
+ return [
198
+ " 出力は `claude/*` ブランチ / PR のみにコミットされる(main へ直接ではない)。",
199
+ " 単一の Claude セッション、spawn なし: GHA パイプラインのクロスエージェント",
200
+ " レビューはここには存在しない。",
201
+ ].join("\n");
202
+ }
147
203
  return [
148
- " Output is committed to a `claude/*` branch / PR only (never main directly;",
149
- " ADR-0020 D3a). Single Claude session, no spawn (D2): the cross-agent review",
204
+ " Output is committed to a `claude/*` branch / PR only (never main directly).",
205
+ " Single Claude session, no spawn: the cross-agent review",
150
206
  " of the GHA pipeline is NOT present here.",
151
207
  ].join("\n");
152
208
  }
@@ -208,8 +264,14 @@ export function renderPipelineRoutineTemplate(template, values) {
208
264
  */
209
265
  export async function generatePipelineRoutine(options) {
210
266
  const { cwd, name, repository, cron, timezone, model, maxItems, outputMode, output, force } = options;
267
+ const promptMode = options.promptMode ?? "inline";
268
+ const locale = options.locale ?? "en";
269
+ const t = createTranslator(locale);
211
270
  const log = options.io?.log ?? ((m) => console.log(m));
212
271
  const warn = options.io?.warn ?? ((m) => console.warn(m));
272
+ if (!PROMPT_MODES.includes(promptMode)) {
273
+ throw new Error(`invalid --prompt-mode '${promptMode}' (expected one of: ${PROMPT_MODES.join(" | ")})`);
274
+ }
213
275
  if (!OUTPUT_MODES.includes(outputMode)) {
214
276
  throw new Error(`invalid --output-mode '${outputMode}' (expected one of: ${OUTPUT_MODES.join(" | ")})`);
215
277
  }
@@ -231,7 +293,7 @@ export async function generatePipelineRoutine(options) {
231
293
  throw new Error(`invalid --repo '${repository}' (expected owner/repo)`);
232
294
  }
233
295
  const templatesRoot = options.templatesRoot ?? (await resolveTemplatesRoot());
234
- const templatePath = join(templatesRoot, "routines", "pipeline.yaml.tmpl");
296
+ const templatePath = join(templatesRoot, locale, "routines", "pipeline.yaml.tmpl");
235
297
  if (!(await pathExists(templatePath))) {
236
298
  throw new Error(`bundled template not found: ${templatePath}`);
237
299
  }
@@ -245,9 +307,9 @@ export async function generatePipelineRoutine(options) {
245
307
  model,
246
308
  maxItems,
247
309
  networkAccessBlock: renderNetworkAccessBlock(hosts),
248
- landingStep: buildPipelineLandingStep(outputMode),
249
- outputGateConstraint: buildOutputGateConstraint(outputMode),
250
- outputGateNote: buildOutputGateNote(outputMode),
310
+ landingStep: buildPipelineLandingStep(outputMode, locale),
311
+ outputGateConstraint: buildOutputGateConstraint(outputMode, locale),
312
+ outputGateNote: buildOutputGateNote(outputMode, locale),
251
313
  allowUnrestrictedGitPush: outputMode === "auto-merge",
252
314
  });
253
315
  const destAbs = isAbsolute(output) ? output : join(cwd, output);
@@ -256,44 +318,45 @@ export async function generatePipelineRoutine(options) {
256
318
  throw new Error(`output file already exists: ${destRel} (use --force to overwrite)`);
257
319
  }
258
320
  if ((await pathExists(destAbs)) && force) {
259
- warn(`routine generate pipeline: overwriting existing file ${destRel}`);
321
+ warn(t("cli.routine.generatePipelineOverwriting", { path: destRel }));
260
322
  }
261
323
  await mkdir(dirname(destAbs), { recursive: true });
262
324
  await writeFile(destAbs, rendered, "utf8");
263
- log(`routine generate pipeline: wrote ${destRel}`);
264
- log(`routine generate pipeline: name='${name}', repo='${repository}', cron='${cron}', model='${model}', max-items=${maxItems}, output-mode='${outputMode}'`);
325
+ log(t("cli.routine.generatePipelineWrote", { path: destRel }));
326
+ log(t("cli.routine.generatePipelineSummary", {
327
+ name,
328
+ repo: repository,
329
+ cron,
330
+ model,
331
+ maxItems,
332
+ outputMode,
333
+ }));
265
334
  if (outputMode === "auto-merge") {
266
- warn("routine generate pipeline: --output-mode auto-merge sets " +
267
- "`allow_unrestricted_git_push: true`, but that is NECESSARY, NOT SUFFICIENT — " +
268
- "you must ALSO turn ON the Web UI 'Allow unrestricted branch pushes' toggle " +
269
- "(the RemoteTrigger API does not accept this field). Note that unattended AI " +
270
- "output then lands on the default branch with NO human review.");
335
+ warn(t("cli.routine.autoMergeWarning", { cmd: "routine generate pipeline" }));
271
336
  }
272
337
  log("");
273
- log("Routines has no declarative apply API — paste this routine into the Web UI by hand:");
274
- log(" 1. Open https://claude.ai/code/routines and click New routine.");
275
- log(" 2. Fill the form fields from the YAML (Name / Model / Repositories / Trigger / Permissions).");
276
- log(" 3. For the multi-line Instructions and Setup script fields, extract them with yq:");
277
- log(` yq -r '.instructions' ${destRel}`);
278
- log(` yq -r '.environment.setup_script' ${destRel}`);
279
- log(" 4. After registering, copy the issued routine_id (trig_xxxx) back into the YAML and set status: active.");
338
+ log(t("cli.routine.pasteNoApi"));
339
+ log(t("cli.routine.pasteStep1"));
340
+ log(t("cli.routine.pasteStep2"));
341
+ printPromptModePaste(promptMode, { path: destRel, name }, t, log);
342
+ log(t("cli.routine.pasteStep4"));
280
343
  log("");
281
- log("Note on /schedule (Claude Code): it is conversational — `/schedule <description>`");
282
- log("to create one, plus `list` / `update` / `run` subcommands. There is no flag-based");
283
- log("form (no `--name` / `--cron` / `--repo` arguments). It also cannot ingest this YAML");
284
- log("verbatim, so for the long Instructions field the Web UI paste flow above (yq");
285
- log("extraction) is the practical path. Finally, the unrestricted-git-push permission an");
286
- log("auto-merge routine needs is set only via the Web UI 'Allow unrestricted branch");
287
- log("pushes' toggle — /schedule cannot configure it.");
344
+ log(t("cli.routine.scheduleNote1"));
345
+ log(t("cli.routine.scheduleNote2"));
346
+ log(t("cli.routine.scheduleNote3"));
347
+ log(t("cli.routine.scheduleNote4"));
348
+ log(t("cli.routine.scheduleNote5"));
349
+ log(t("cli.routine.scheduleNote6"));
350
+ log(t("cli.routine.scheduleNote7"));
288
351
  log("");
289
- log("Single Claude session, no spawn (ADR-0020 D2): unlike the GHA combined-with-triage");
290
- log("workflow, there is NO cross-agent review here — one Claude does every step.");
291
- log(`Item caps are CLI-enforced (ADR-0020 D3e): triage --max-items ${maxItems} / items --limit ${maxItems}.`);
352
+ log(t("cli.routine.pipelineNoSpawn1"));
353
+ log(t("cli.routine.pipelineNoSpawn2"));
354
+ log(t("cli.routine.pipelineItemCaps", { maxItems }));
292
355
  if (outputMode === "auto-merge") {
293
- log("Output gate (ADR-0020 D3a): this routine opens a claude/* PR then squash-merges it to main (review-complete via step 5).");
356
+ log(t("cli.routine.outputGateAutoMerge"));
294
357
  }
295
358
  else {
296
- log("Output gate (ADR-0020 D3a): this routine writes to a claude/* branch / PR only — never main directly.");
359
+ log(t("cli.routine.outputGateBranchPr"));
297
360
  }
298
361
  return { outputPath: destRel };
299
362
  }
@@ -311,6 +374,7 @@ export function parseGeneratePipelineRoutineArgs(args) {
311
374
  let model = "claude-sonnet-4-6";
312
375
  let maxItems = PIPELINE_DEFAULT_MAX_ITEMS;
313
376
  let outputMode = "pr";
377
+ let promptMode = "inline";
314
378
  let output;
315
379
  let force = false;
316
380
  let help = false;
@@ -379,6 +443,16 @@ export function parseGeneratePipelineRoutineArgs(args) {
379
443
  outputMode = value;
380
444
  continue;
381
445
  }
446
+ if (a === "--prompt-mode") {
447
+ const value = args[++i];
448
+ if (value === undefined)
449
+ throw new Error(`option ${a} requires a value`);
450
+ if (!PROMPT_MODES.includes(value)) {
451
+ throw new Error(`option --prompt-mode expects one of: ${PROMPT_MODES.join(" | ")}, got '${value}'`);
452
+ }
453
+ promptMode = value;
454
+ continue;
455
+ }
382
456
  if (a === "--output") {
383
457
  const value = args[++i];
384
458
  if (value === undefined)
@@ -403,37 +477,17 @@ export function parseGeneratePipelineRoutineArgs(args) {
403
477
  model,
404
478
  maxItems,
405
479
  outputMode,
480
+ promptMode,
406
481
  output: output ?? join(".claude", "routines", `${name}.yaml`),
407
482
  force,
408
483
  help,
409
484
  };
410
485
  }
411
- export function printGeneratePipelineRoutineHelp(log) {
412
- log("Usage: radar routine generate pipeline [options]");
413
- log("");
414
- log("Generates a Claude Code Routine YAML whose single session runs the FULL");
415
- log("pipeline — `radar watch run` -> triage -> research -> review — IN SEQUENCE,");
416
- log("processing items ONE AT A TIME (ADR-0020 D5 `pipeline`). It does NOT spawn");
417
- log("other agents (D2), so the cross-agent review of the GHA combined-with-triage");
418
- log("workflow is NOT present. Per-run item count is bounded by CLI flags (D3e).");
419
- log("");
420
- log("Options:");
421
- log(' --name <name> Routine name (default: "feedradar-pipeline")');
422
- log(" Also the default output filename.");
423
- log(" --repo <owner/repo> Target repository (default: <owner>/<repo>)");
424
- log(' --cron <expression> 5-field cron, min interval 1 HOUR (default: "0 * * * *")');
425
- log(' Sub-hourly (e.g. "*/5 * * * *") is rejected.');
426
- log(' --timezone <tz> Schedule timezone (default: "UTC")');
427
- log(` --model <name> ${SUPPORTED_MODELS.join(" | ")}`);
428
- log(" (default: claude-sonnet-4-6)");
429
- log(` --max-items N Hard cap on items triaged/researched/reviewed per run`);
430
- log(` (default: ${PIPELINE_DEFAULT_MAX_ITEMS}). Drives triage --max-items and items --limit.`);
431
- log(" --output-mode <mode> pr | auto-merge (default: pr). 'auto-merge' squash-merges");
432
- log(" the routine's own PR to main (requires the Web UI 'Allow");
433
- log(" unrestricted branch pushes' toggle).");
434
- log(" --output <path> Output file under .claude/routines/");
435
- log(" (default: .claude/routines/<name>.yaml)");
436
- log(" --force, -f Overwrite existing output file");
486
+ export function printGeneratePipelineRoutineHelp(t, log) {
487
+ log(t("cli.routine.generatePipelineHelp", {
488
+ models: SUPPORTED_MODELS.join(" | "),
489
+ maxItems: PIPELINE_DEFAULT_MAX_ITEMS,
490
+ }));
437
491
  }
438
492
  /**
439
493
  * Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
@@ -444,16 +498,35 @@ export function printGeneratePipelineRoutineHelp(log) {
444
498
  export async function runGeneratePipelineRoutine(args, io = {}, cwd = process.cwd()) {
445
499
  const log = io.log ?? ((m) => console.log(m));
446
500
  const error = io.error ?? ((m) => console.error(m));
501
+ // Strip `--lang <en|ja>` before the type parser sees argv (mirrors `init`).
502
+ let langFlag;
503
+ let rest;
504
+ try {
505
+ const langState = parseLangFlag(args);
506
+ langFlag = langState.flag;
507
+ rest = langState.rest;
508
+ }
509
+ catch (e) {
510
+ if (e instanceof LangFlagError) {
511
+ error(`routine generate pipeline: ${e.message}`);
512
+ return 2;
513
+ }
514
+ throw e;
515
+ }
447
516
  let parsed;
448
517
  try {
449
- parsed = parseGeneratePipelineRoutineArgs(args);
518
+ parsed = parseGeneratePipelineRoutineArgs(rest);
450
519
  }
451
520
  catch (e) {
452
521
  error(`routine generate pipeline: ${e instanceof Error ? e.message : String(e)}`);
453
522
  return 2;
454
523
  }
524
+ // Resolve the locale before the help branch so `--help` honors --lang / env /
525
+ // config (the per-type help is now sourced from the i18n catalog, #337).
526
+ const locale = await resolveWorkspaceLocale({ flag: langFlag, cwd, warn: error });
527
+ const t = createTranslator(locale);
455
528
  if (parsed.help) {
456
- printGeneratePipelineRoutineHelp(log);
529
+ printGeneratePipelineRoutineHelp(t, log);
457
530
  return 0;
458
531
  }
459
532
  try {
@@ -466,8 +539,10 @@ export async function runGeneratePipelineRoutine(args, io = {}, cwd = process.cw
466
539
  model: parsed.model,
467
540
  maxItems: parsed.maxItems,
468
541
  outputMode: parsed.outputMode,
542
+ promptMode: parsed.promptMode,
469
543
  output: parsed.output,
470
544
  force: parsed.force,
545
+ locale,
471
546
  io,
472
547
  });
473
548
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-pipeline.js","sourceRoot":"","sources":["../../../src/cli/routine/generate-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-pipeline.js","sourceRoot":"","sources":["../../../src/cli/routine/generate-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { Locale } from "../../core/locale.js";
2
+ import { type Translator } from "../../i18n/index.js";
1
3
  /**
2
4
  * Sinks for the `routine generate watch` command's user-facing output.
3
5
  *
@@ -17,6 +19,45 @@ export interface RoutineIO {
17
19
  */
18
20
  export declare const SUPPORTED_MODELS: readonly ["claude-sonnet-4-6", "claude-opus-4-7", "claude-haiku-4-5"];
19
21
  export type SupportedModel = (typeof SUPPORTED_MODELS)[number];
22
+ /**
23
+ * What the generator tells the user to paste into the Web UI **Prompt /
24
+ * Instructions** field (#327). This does NOT change the generated YAML — the
25
+ * `instructions:` block always stays in the file as the runtime source of
26
+ * truth (ADR-0020). It only switches the completion stdout's paste guidance:
27
+ *
28
+ * - `inline` (default): the current behavior — paste the full multi-line
29
+ * `instructions:` block, extracted with `yq -r '.instructions'`. The Web UI
30
+ * Prompt is self-contained (ADR-0020 "prompt is self-contained"), at the
31
+ * cost of re-pasting whenever `instructions:` changes.
32
+ * - `bootstrap` (opt-in): paste a SHORT bootstrap prompt that tells the routine
33
+ * to read `.claude/routines/<name>.yaml` and follow its top-level
34
+ * `instructions:` block at run time. Instructions then track repo commits
35
+ * with NO Web UI re-paste, trading away some self-contained-ness.
36
+ *
37
+ * The default is `inline` so existing behavior is unchanged; `bootstrap` is
38
+ * strictly opt-in (Issue #327).
39
+ */
40
+ export declare const PROMPT_MODES: readonly ["inline", "bootstrap"];
41
+ export type PromptMode = (typeof PROMPT_MODES)[number];
42
+ /**
43
+ * Print the Web UI **Prompt / Instructions** paste guidance for the chosen
44
+ * `promptMode` (#327). Shared by the `watch` and `pipeline` generators so the
45
+ * two stay in lockstep.
46
+ *
47
+ * In `inline` mode this is the current "extract the full instructions with yq"
48
+ * guidance. In `bootstrap` mode it prints a short bootstrap prompt (the exact
49
+ * text to paste) that instructs the routine to read the committed YAML and
50
+ * follow its `instructions:` block at run time. In BOTH modes the
51
+ * Setup-script `yq` extraction line is still printed (the setup script always
52
+ * has to be pasted into its own Web UI field).
53
+ *
54
+ * `path` is the rendered routine's relative path; `name` is the routine name
55
+ * (interpolated into the bootstrap prompt body).
56
+ */
57
+ export declare function printPromptModePaste(promptMode: PromptMode, values: {
58
+ path: string;
59
+ name: string;
60
+ }, t: Translator, log: (m: string) => void): void;
20
61
  /**
21
62
  * Collect the distinct outbound hosts a routine must reach to fetch the
22
63
  * workspace's subscribed feeds.
@@ -126,6 +167,19 @@ export interface GenerateWatchRoutineOptions {
126
167
  model: SupportedModel;
127
168
  output: string;
128
169
  force: boolean;
170
+ /**
171
+ * What to paste into the Web UI Prompt field (#327). Defaults to `inline`
172
+ * (full instructions). Does NOT change the generated YAML — only the
173
+ * completion stdout's paste guidance.
174
+ */
175
+ promptMode?: PromptMode;
176
+ /**
177
+ * UI locale selecting the per-locale template subtree
178
+ * (`<templatesRoot>/<locale>/routines/`). Defaults to `en` (#315). Only the
179
+ * `notes:` / `instructions:` prose and comments differ; the cron / model /
180
+ * network_access functional fields are identical across locales.
181
+ */
182
+ locale?: Locale;
129
183
  /** Test seam: override the templates root location. */
130
184
  templatesRoot?: string;
131
185
  io?: RoutineIO;
@@ -151,6 +205,7 @@ interface ParsedFlags {
151
205
  cron: string;
152
206
  timezone: string;
153
207
  model: SupportedModel;
208
+ promptMode: PromptMode;
154
209
  output: string;
155
210
  force: boolean;
156
211
  help: boolean;
@@ -162,7 +217,7 @@ interface ParsedFlags {
162
217
  * AFTER the loop once `--name` is known (a `--output` flag, if given, wins).
163
218
  */
164
219
  export declare function parseGenerateWatchRoutineArgs(args: string[]): ParsedFlags;
165
- export declare function printGenerateWatchRoutineHelp(log: (m: string) => void): void;
220
+ export declare function printGenerateWatchRoutineHelp(t: Translator, log: (m: string) => void): void;
166
221
  /**
167
222
  * Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
168
223
  * types `radar routine generate watch`. Translates parsed flags into
@@ -1 +1 @@
1
- {"version":3,"file":"generate-watch.d.ts","sourceRoot":"","sources":["../../../src/cli/routine/generate-watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-watch.d.ts","sourceRoot":"","sources":["../../../src/cli/routine/generate-watch.ts"],"names":[],"mappings":"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"}