@ozzylabs/feedradar 0.2.1 → 0.2.2
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.ja.md +51 -13
- package/README.md +51 -13
- package/dist/agents/_boundary.d.ts +21 -0
- package/dist/agents/_boundary.d.ts.map +1 -1
- package/dist/agents/_boundary.js +34 -0
- package/dist/agents/_boundary.js.map +1 -1
- package/dist/agents/claude-code.d.ts.map +1 -1
- package/dist/agents/claude-code.js +14 -6
- package/dist/agents/claude-code.js.map +1 -1
- package/dist/agents/codex-cli.d.ts.map +1 -1
- package/dist/agents/codex-cli.js +13 -7
- package/dist/agents/codex-cli.js.map +1 -1
- package/dist/agents/copilot.d.ts.map +1 -1
- package/dist/agents/copilot.js +13 -6
- package/dist/agents/copilot.js.map +1 -1
- package/dist/agents/gemini-cli.d.ts.map +1 -1
- package/dist/agents/gemini-cli.js +13 -6
- package/dist/agents/gemini-cli.js.map +1 -1
- package/dist/agents/types.d.ts +26 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/claude-skills/dismiss/SKILL.md +4 -4
- package/dist/claude-skills/research/SKILL.md +2 -3
- package/dist/claude-skills/review/SKILL.md +2 -2
- package/dist/claude-skills/update/SKILL.md +7 -7
- package/dist/cli/_locale.d.ts +96 -0
- package/dist/cli/_locale.d.ts.map +1 -0
- package/dist/cli/_locale.js +130 -0
- package/dist/cli/_locale.js.map +1 -0
- package/dist/cli/_progress.d.ts +30 -1
- package/dist/cli/_progress.d.ts.map +1 -1
- package/dist/cli/_progress.js +9 -1
- package/dist/cli/_progress.js.map +1 -1
- package/dist/cli/dismiss.d.ts.map +1 -1
- package/dist/cli/dismiss.js +61 -54
- package/dist/cli/dismiss.js.map +1 -1
- package/dist/cli/doctor.d.ts +8 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +91 -60
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +36 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +79 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +15 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +149 -51
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/items.d.ts.map +1 -1
- package/dist/cli/items.js +51 -30
- package/dist/cli/items.js.map +1 -1
- package/dist/cli/research.d.ts.map +1 -1
- package/dist/cli/research.js +138 -109
- package/dist/cli/research.js.map +1 -1
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +114 -92
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/routine/fire.d.ts +3 -2
- package/dist/cli/routine/fire.d.ts.map +1 -1
- package/dist/cli/routine/fire.js +30 -25
- package/dist/cli/routine/fire.js.map +1 -1
- package/dist/cli/routine/generate-pipeline.d.ts +11 -4
- package/dist/cli/routine/generate-pipeline.d.ts.map +1 -1
- package/dist/cli/routine/generate-pipeline.js +137 -77
- package/dist/cli/routine/generate-pipeline.js.map +1 -1
- package/dist/cli/routine/generate-watch.d.ts +10 -1
- package/dist/cli/routine/generate-watch.d.ts.map +1 -1
- package/dist/cli/routine/generate-watch.js +49 -42
- package/dist/cli/routine/generate-watch.js.map +1 -1
- package/dist/cli/routine.d.ts.map +1 -1
- package/dist/cli/routine.js +28 -24
- package/dist/cli/routine.js.map +1 -1
- package/dist/cli/source.d.ts.map +1 -1
- package/dist/cli/source.js +206 -182
- package/dist/cli/source.js.map +1 -1
- package/dist/cli/triage.d.ts.map +1 -1
- package/dist/cli/triage.js +146 -130
- package/dist/cli/triage.js.map +1 -1
- package/dist/cli/undismiss.d.ts.map +1 -1
- package/dist/cli/undismiss.js +32 -25
- package/dist/cli/undismiss.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +77 -61
- package/dist/cli/update.js.map +1 -1
- package/dist/cli/watch.d.ts.map +1 -1
- package/dist/cli/watch.js +71 -31
- package/dist/cli/watch.js.map +1 -1
- package/dist/cli/workflow/generate-combined-with-triage.d.ts +9 -2
- package/dist/cli/workflow/generate-combined-with-triage.d.ts.map +1 -1
- package/dist/cli/workflow/generate-combined-with-triage.js +120 -71
- package/dist/cli/workflow/generate-combined-with-triage.js.map +1 -1
- package/dist/cli/workflow/generate-combined.d.ts +8 -1
- package/dist/cli/workflow/generate-combined.d.ts.map +1 -1
- package/dist/cli/workflow/generate-combined.js +39 -33
- package/dist/cli/workflow/generate-combined.js.map +1 -1
- package/dist/cli/workflow/generate-watch.d.ts +10 -1
- package/dist/cli/workflow/generate-watch.d.ts.map +1 -1
- package/dist/cli/workflow/generate-watch.js +37 -30
- package/dist/cli/workflow/generate-watch.js.map +1 -1
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +28 -23
- package/dist/cli/workflow.js.map +1 -1
- package/dist/core/config.d.ts +2 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +14 -4
- package/dist/core/config.js.map +1 -1
- package/dist/core/feeds/html-js.d.ts.map +1 -1
- package/dist/core/feeds/html-js.js +16 -9
- package/dist/core/feeds/html-js.js.map +1 -1
- package/dist/core/feeds/types.d.ts +9 -0
- package/dist/core/feeds/types.d.ts.map +1 -1
- package/dist/core/locale.d.ts +69 -0
- package/dist/core/locale.d.ts.map +1 -0
- package/dist/core/locale.js +74 -0
- package/dist/core/locale.js.map +1 -0
- package/dist/core/watcher.d.ts +11 -0
- package/dist/core/watcher.d.ts.map +1 -1
- package/dist/core/watcher.js +21 -5
- package/dist/core/watcher.js.map +1 -1
- package/dist/i18n/index.d.ts +57 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +49 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/en.d.ts +993 -0
- package/dist/i18n/messages/en.d.ts.map +1 -0
- package/dist/i18n/messages/en.js +1096 -0
- package/dist/i18n/messages/en.js.map +1 -0
- package/dist/i18n/messages/ja.d.ts +13 -0
- package/dist/i18n/messages/ja.d.ts.map +1 -0
- package/dist/i18n/messages/ja.js +970 -0
- package/dist/i18n/messages/ja.js.map +1 -0
- package/dist/schemas/config.d.ts +7 -0
- package/dist/schemas/config.d.ts.map +1 -1
- package/dist/schemas/config.js +5 -0
- package/dist/schemas/config.js.map +1 -1
- package/dist/schemas/recipe.d.ts +1 -1
- package/dist/schemas/source.d.ts +3 -3
- package/dist/skills/research/SKILL.md +13 -12
- package/dist/skills/review/SKILL.md +13 -12
- package/dist/skills/update/SKILL.md +19 -19
- package/dist/templates/en/agents/AGENTS.md +284 -0
- package/dist/templates/en/claude/CLAUDE.md +5 -0
- package/dist/templates/en/default.md +16 -0
- package/dist/templates/en/digest.md +66 -0
- package/dist/templates/en/feedradar.md +235 -0
- package/dist/templates/{routines → en/routines}/pipeline.yaml.tmpl +18 -20
- package/dist/templates/{routines → en/routines}/watch-daily.yaml +12 -15
- package/dist/templates/{routines → en/routines}/watch.yaml.tmpl +11 -14
- package/dist/templates/{workflows → en/workflows}/combined-with-triage.template.yaml.tmpl +3 -3
- package/dist/templates/{workflows → en/workflows}/combined.template.yaml.tmpl +6 -6
- package/dist/templates/{workflows → en/workflows}/watch.template.yaml.tmpl +8 -8
- package/dist/templates/{workflows → en/workflows}/watch.yaml +3 -3
- package/dist/templates/{agents → ja/agents}/AGENTS.md +16 -16
- package/dist/templates/{digest.md → ja/digest.md} +5 -6
- package/dist/templates/{feedradar.md → ja/feedradar.md} +12 -12
- package/dist/templates/ja/routines/pipeline.yaml.tmpl +211 -0
- package/dist/templates/ja/routines/watch-daily.yaml +151 -0
- package/dist/templates/ja/routines/watch.yaml.tmpl +145 -0
- package/dist/templates/ja/workflows/combined-with-triage.template.yaml.tmpl +123 -0
- package/dist/templates/ja/workflows/combined.template.yaml.tmpl +109 -0
- package/dist/templates/ja/workflows/watch.template.yaml.tmpl +100 -0
- package/dist/templates/ja/workflows/watch.yaml +73 -0
- package/package.json +1 -1
- /package/dist/templates/{claude → ja/claude}/CLAUDE.md +0 -0
- /package/dist/templates/{default.md → ja/default.md} +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
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 { createTranslator } from "../../i18n/index.js";
|
|
5
|
+
import { LangFlagError, parseLangFlag, resolveWorkspaceLocale } from "../_locale.js";
|
|
4
6
|
import { collectSourceHosts, isSafeRoutinePath, isSubHourlyCron, isValidCron, renderNetworkAccessBlock, SUPPORTED_MODELS, } from "./generate-watch.js";
|
|
5
7
|
/**
|
|
6
8
|
* `radar routine generate pipeline` (ADR-0020 D5 `pipeline`).
|
|
@@ -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
|
+
" 6. `items/`・`state/`・`research/` が変わったら、それらを `claude/*` ブランチへ",
|
|
85
|
+
" コミットし、プルリクエストを開き、`main` へ squash-merge する(auto-merge は",
|
|
86
|
+
" ここではオプトイン — 手順 5 のレビューが PR をレビュー完了にする):",
|
|
87
|
+
]
|
|
88
|
+
: [
|
|
89
|
+
" 6. 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-5 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
|
-
|
|
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
|
-
|
|
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
|
+
" 6. `items/`・`state/`・`research/` が変わったら、それらを `claude/*` ブランチへ",
|
|
122
|
+
" コミットし、プルリクエストを開く(`main` へは push しない):",
|
|
123
|
+
]
|
|
124
|
+
: [
|
|
125
|
+
" 6. 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
|
-
|
|
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",
|
|
@@ -118,35 +147,62 @@ export function buildPipelineLandingStep(mode) {
|
|
|
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 する。手順 5 のレビューが PR をレビュー完了にする。",
|
|
156
|
+
].join("\n");
|
|
157
|
+
}
|
|
123
158
|
return [
|
|
124
159
|
" - Auto-merge is intentional here: this routine opens a `claude/pipeline/...`",
|
|
125
160
|
" PR then squash-merges it to `main`. The step-5 review makes the PR",
|
|
126
|
-
" review-complete
|
|
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 (
|
|
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 はオプトイン。手順 5 のレビューが 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
|
-
"
|
|
191
|
+
" (auto-merge is opt-in; the step-5 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
|
-
"
|
|
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,6 +264,8 @@ 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 locale = options.locale ?? "en";
|
|
268
|
+
const t = createTranslator(locale);
|
|
211
269
|
const log = options.io?.log ?? ((m) => console.log(m));
|
|
212
270
|
const warn = options.io?.warn ?? ((m) => console.warn(m));
|
|
213
271
|
if (!OUTPUT_MODES.includes(outputMode)) {
|
|
@@ -231,7 +289,7 @@ export async function generatePipelineRoutine(options) {
|
|
|
231
289
|
throw new Error(`invalid --repo '${repository}' (expected owner/repo)`);
|
|
232
290
|
}
|
|
233
291
|
const templatesRoot = options.templatesRoot ?? (await resolveTemplatesRoot());
|
|
234
|
-
const templatePath = join(templatesRoot, "routines", "pipeline.yaml.tmpl");
|
|
292
|
+
const templatePath = join(templatesRoot, locale, "routines", "pipeline.yaml.tmpl");
|
|
235
293
|
if (!(await pathExists(templatePath))) {
|
|
236
294
|
throw new Error(`bundled template not found: ${templatePath}`);
|
|
237
295
|
}
|
|
@@ -245,9 +303,9 @@ export async function generatePipelineRoutine(options) {
|
|
|
245
303
|
model,
|
|
246
304
|
maxItems,
|
|
247
305
|
networkAccessBlock: renderNetworkAccessBlock(hosts),
|
|
248
|
-
landingStep: buildPipelineLandingStep(outputMode),
|
|
249
|
-
outputGateConstraint: buildOutputGateConstraint(outputMode),
|
|
250
|
-
outputGateNote: buildOutputGateNote(outputMode),
|
|
306
|
+
landingStep: buildPipelineLandingStep(outputMode, locale),
|
|
307
|
+
outputGateConstraint: buildOutputGateConstraint(outputMode, locale),
|
|
308
|
+
outputGateNote: buildOutputGateNote(outputMode, locale),
|
|
251
309
|
allowUnrestrictedGitPush: outputMode === "auto-merge",
|
|
252
310
|
});
|
|
253
311
|
const destAbs = isAbsolute(output) ? output : join(cwd, output);
|
|
@@ -256,44 +314,47 @@ export async function generatePipelineRoutine(options) {
|
|
|
256
314
|
throw new Error(`output file already exists: ${destRel} (use --force to overwrite)`);
|
|
257
315
|
}
|
|
258
316
|
if ((await pathExists(destAbs)) && force) {
|
|
259
|
-
warn(
|
|
317
|
+
warn(t("cli.routine.generatePipelineOverwriting", { path: destRel }));
|
|
260
318
|
}
|
|
261
319
|
await mkdir(dirname(destAbs), { recursive: true });
|
|
262
320
|
await writeFile(destAbs, rendered, "utf8");
|
|
263
|
-
log(
|
|
264
|
-
log(
|
|
321
|
+
log(t("cli.routine.generatePipelineWrote", { path: destRel }));
|
|
322
|
+
log(t("cli.routine.generatePipelineSummary", {
|
|
323
|
+
name,
|
|
324
|
+
repo: repository,
|
|
325
|
+
cron,
|
|
326
|
+
model,
|
|
327
|
+
maxItems,
|
|
328
|
+
outputMode,
|
|
329
|
+
}));
|
|
265
330
|
if (outputMode === "auto-merge") {
|
|
266
|
-
warn("routine
|
|
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.");
|
|
331
|
+
warn(t("cli.routine.autoMergeWarning", { cmd: "routine generate pipeline" }));
|
|
271
332
|
}
|
|
272
333
|
log("");
|
|
273
|
-
log("
|
|
274
|
-
log("
|
|
275
|
-
log("
|
|
276
|
-
log("
|
|
277
|
-
log(
|
|
278
|
-
log(
|
|
279
|
-
log("
|
|
334
|
+
log(t("cli.routine.pasteNoApi"));
|
|
335
|
+
log(t("cli.routine.pasteStep1"));
|
|
336
|
+
log(t("cli.routine.pasteStep2"));
|
|
337
|
+
log(t("cli.routine.pasteStep3"));
|
|
338
|
+
log(t("cli.routine.pasteYqInstructions", { path: destRel }));
|
|
339
|
+
log(t("cli.routine.pasteYqSetupScript", { path: destRel }));
|
|
340
|
+
log(t("cli.routine.pasteStep4"));
|
|
280
341
|
log("");
|
|
281
|
-
log(
|
|
282
|
-
log("
|
|
283
|
-
log("
|
|
284
|
-
log(
|
|
285
|
-
log("
|
|
286
|
-
log("
|
|
287
|
-
log("
|
|
342
|
+
log(t("cli.routine.scheduleNote1"));
|
|
343
|
+
log(t("cli.routine.scheduleNote2"));
|
|
344
|
+
log(t("cli.routine.scheduleNote3"));
|
|
345
|
+
log(t("cli.routine.scheduleNote4"));
|
|
346
|
+
log(t("cli.routine.scheduleNote5"));
|
|
347
|
+
log(t("cli.routine.scheduleNote6"));
|
|
348
|
+
log(t("cli.routine.scheduleNote7"));
|
|
288
349
|
log("");
|
|
289
|
-
log(
|
|
290
|
-
log("
|
|
291
|
-
log(
|
|
350
|
+
log(t("cli.routine.pipelineNoSpawn1"));
|
|
351
|
+
log(t("cli.routine.pipelineNoSpawn2"));
|
|
352
|
+
log(t("cli.routine.pipelineItemCaps", { maxItems }));
|
|
292
353
|
if (outputMode === "auto-merge") {
|
|
293
|
-
log("
|
|
354
|
+
log(t("cli.routine.outputGateAutoMerge"));
|
|
294
355
|
}
|
|
295
356
|
else {
|
|
296
|
-
log("
|
|
357
|
+
log(t("cli.routine.outputGateBranchPr"));
|
|
297
358
|
}
|
|
298
359
|
return { outputPath: destRel };
|
|
299
360
|
}
|
|
@@ -408,32 +469,11 @@ export function parseGeneratePipelineRoutineArgs(args) {
|
|
|
408
469
|
help,
|
|
409
470
|
};
|
|
410
471
|
}
|
|
411
|
-
export function printGeneratePipelineRoutineHelp(log) {
|
|
412
|
-
log("
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
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");
|
|
472
|
+
export function printGeneratePipelineRoutineHelp(t, log) {
|
|
473
|
+
log(t("cli.routine.generatePipelineHelp", {
|
|
474
|
+
models: SUPPORTED_MODELS.join(" | "),
|
|
475
|
+
maxItems: PIPELINE_DEFAULT_MAX_ITEMS,
|
|
476
|
+
}));
|
|
437
477
|
}
|
|
438
478
|
/**
|
|
439
479
|
* Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
|
|
@@ -444,16 +484,35 @@ export function printGeneratePipelineRoutineHelp(log) {
|
|
|
444
484
|
export async function runGeneratePipelineRoutine(args, io = {}, cwd = process.cwd()) {
|
|
445
485
|
const log = io.log ?? ((m) => console.log(m));
|
|
446
486
|
const error = io.error ?? ((m) => console.error(m));
|
|
487
|
+
// Strip `--lang <en|ja>` before the type parser sees argv (mirrors `init`).
|
|
488
|
+
let langFlag;
|
|
489
|
+
let rest;
|
|
490
|
+
try {
|
|
491
|
+
const langState = parseLangFlag(args);
|
|
492
|
+
langFlag = langState.flag;
|
|
493
|
+
rest = langState.rest;
|
|
494
|
+
}
|
|
495
|
+
catch (e) {
|
|
496
|
+
if (e instanceof LangFlagError) {
|
|
497
|
+
error(`routine generate pipeline: ${e.message}`);
|
|
498
|
+
return 2;
|
|
499
|
+
}
|
|
500
|
+
throw e;
|
|
501
|
+
}
|
|
447
502
|
let parsed;
|
|
448
503
|
try {
|
|
449
|
-
parsed = parseGeneratePipelineRoutineArgs(
|
|
504
|
+
parsed = parseGeneratePipelineRoutineArgs(rest);
|
|
450
505
|
}
|
|
451
506
|
catch (e) {
|
|
452
507
|
error(`routine generate pipeline: ${e instanceof Error ? e.message : String(e)}`);
|
|
453
508
|
return 2;
|
|
454
509
|
}
|
|
510
|
+
// Resolve the locale before the help branch so `--help` honors --lang / env /
|
|
511
|
+
// config (the per-type help is now sourced from the i18n catalog, #337).
|
|
512
|
+
const locale = await resolveWorkspaceLocale({ flag: langFlag, cwd, warn: error });
|
|
513
|
+
const t = createTranslator(locale);
|
|
455
514
|
if (parsed.help) {
|
|
456
|
-
printGeneratePipelineRoutineHelp(log);
|
|
515
|
+
printGeneratePipelineRoutineHelp(t, log);
|
|
457
516
|
return 0;
|
|
458
517
|
}
|
|
459
518
|
try {
|
|
@@ -468,6 +527,7 @@ export async function runGeneratePipelineRoutine(args, io = {}, cwd = process.cw
|
|
|
468
527
|
outputMode: parsed.outputMode,
|
|
469
528
|
output: parsed.output,
|
|
470
529
|
force: parsed.force,
|
|
530
|
+
locale,
|
|
471
531
|
io,
|
|
472
532
|
});
|
|
473
533
|
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
|
*
|
|
@@ -126,6 +128,13 @@ export interface GenerateWatchRoutineOptions {
|
|
|
126
128
|
model: SupportedModel;
|
|
127
129
|
output: string;
|
|
128
130
|
force: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* UI locale selecting the per-locale template subtree
|
|
133
|
+
* (`<templatesRoot>/<locale>/routines/`). Defaults to `en` (#315). Only the
|
|
134
|
+
* `notes:` / `instructions:` prose and comments differ; the cron / model /
|
|
135
|
+
* network_access functional fields are identical across locales.
|
|
136
|
+
*/
|
|
137
|
+
locale?: Locale;
|
|
129
138
|
/** Test seam: override the templates root location. */
|
|
130
139
|
templatesRoot?: string;
|
|
131
140
|
io?: RoutineIO;
|
|
@@ -162,7 +171,7 @@ interface ParsedFlags {
|
|
|
162
171
|
* AFTER the loop once `--name` is known (a `--output` flag, if given, wins).
|
|
163
172
|
*/
|
|
164
173
|
export declare function parseGenerateWatchRoutineArgs(args: string[]): ParsedFlags;
|
|
165
|
-
export declare function printGenerateWatchRoutineHelp(log: (m: string) => void): void;
|
|
174
|
+
export declare function printGenerateWatchRoutineHelp(t: Translator, log: (m: string) => void): void;
|
|
166
175
|
/**
|
|
167
176
|
* Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
|
|
168
177
|
* 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":"
|
|
1
|
+
{"version":3,"file":"generate-watch.d.ts","sourceRoot":"","sources":["../../../src/cli/routine/generate-watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
|
2
2
|
import { dirname, isAbsolute, join, normalize, relative, resolve } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { loadSources } from "../../core/watcher.js";
|
|
5
|
+
import { createTranslator } from "../../i18n/index.js";
|
|
6
|
+
import { LangFlagError, parseLangFlag, resolveWorkspaceLocale } from "../_locale.js";
|
|
5
7
|
/**
|
|
6
8
|
* Models supported by `--model`. Claude Routines run on the subscription
|
|
7
9
|
* Claude session (ADR-0020 D2), so the only valid models are Claude family
|
|
@@ -74,8 +76,8 @@ export function renderNetworkAccessBlock(hosts) {
|
|
|
74
76
|
" # Trusted (Default): only a curated host allowlist; ANY other host gets",
|
|
75
77
|
" # 403 (x-deny-reason: host_not_allowed) — so it CANNOT fetch arbitrary feeds.",
|
|
76
78
|
" # Custom: you supply the allowlist — use this, scoped to your subscribed feeds.",
|
|
77
|
-
" # Full: unrestricted egress — NOT used (
|
|
78
|
-
" #
|
|
79
|
+
" # Full: unrestricted egress — NOT used (outbound is limited to",
|
|
80
|
+
" # sources/*.yaml hosts; never open the routine to any host).",
|
|
79
81
|
];
|
|
80
82
|
if (hosts.length > 0) {
|
|
81
83
|
lines.push(" # Register these subscribed-feed hosts (from sources/*.yaml) in the Web UI", " # Custom network access allowlist:");
|
|
@@ -238,6 +240,8 @@ export function renderWatchRoutineTemplate(template, values) {
|
|
|
238
240
|
*/
|
|
239
241
|
export async function generateWatchRoutine(options) {
|
|
240
242
|
const { cwd, name, repository, cron, timezone, model, output, force } = options;
|
|
243
|
+
const locale = options.locale ?? "en";
|
|
244
|
+
const t = createTranslator(locale);
|
|
241
245
|
const log = options.io?.log ?? ((m) => console.log(m));
|
|
242
246
|
const warn = options.io?.warn ?? ((m) => console.warn(m));
|
|
243
247
|
if (!isValidCron(cron)) {
|
|
@@ -255,7 +259,7 @@ export async function generateWatchRoutine(options) {
|
|
|
255
259
|
throw new Error(`invalid --repo '${repository}' (expected owner/repo)`);
|
|
256
260
|
}
|
|
257
261
|
const templatesRoot = options.templatesRoot ?? (await resolveTemplatesRoot());
|
|
258
|
-
const templatePath = join(templatesRoot, "routines", "watch.yaml.tmpl");
|
|
262
|
+
const templatePath = join(templatesRoot, locale, "routines", "watch.yaml.tmpl");
|
|
259
263
|
if (!(await pathExists(templatePath))) {
|
|
260
264
|
throw new Error(`bundled template not found: ${templatePath}`);
|
|
261
265
|
}
|
|
@@ -275,30 +279,30 @@ export async function generateWatchRoutine(options) {
|
|
|
275
279
|
throw new Error(`output file already exists: ${destRel} (use --force to overwrite)`);
|
|
276
280
|
}
|
|
277
281
|
if ((await pathExists(destAbs)) && force) {
|
|
278
|
-
warn(
|
|
282
|
+
warn(t("cli.routine.generateWatchOverwriting", { path: destRel }));
|
|
279
283
|
}
|
|
280
284
|
await mkdir(dirname(destAbs), { recursive: true });
|
|
281
285
|
await writeFile(destAbs, rendered, "utf8");
|
|
282
|
-
log(
|
|
283
|
-
log(
|
|
286
|
+
log(t("cli.routine.generateWatchWrote", { path: destRel }));
|
|
287
|
+
log(t("cli.routine.generateWatchSummary", { name, repo: repository, cron, model }));
|
|
284
288
|
log("");
|
|
285
|
-
log("
|
|
286
|
-
log("
|
|
287
|
-
log("
|
|
288
|
-
log("
|
|
289
|
-
log(
|
|
290
|
-
log(
|
|
291
|
-
log("
|
|
289
|
+
log(t("cli.routine.pasteNoApi"));
|
|
290
|
+
log(t("cli.routine.pasteStep1"));
|
|
291
|
+
log(t("cli.routine.pasteStep2"));
|
|
292
|
+
log(t("cli.routine.pasteStep3"));
|
|
293
|
+
log(t("cli.routine.pasteYqInstructions", { path: destRel }));
|
|
294
|
+
log(t("cli.routine.pasteYqSetupScript", { path: destRel }));
|
|
295
|
+
log(t("cli.routine.pasteStep4"));
|
|
292
296
|
log("");
|
|
293
|
-
log(
|
|
294
|
-
log("
|
|
295
|
-
log("
|
|
296
|
-
log(
|
|
297
|
-
log("
|
|
298
|
-
log("
|
|
299
|
-
log("
|
|
297
|
+
log(t("cli.routine.scheduleNote1"));
|
|
298
|
+
log(t("cli.routine.scheduleNote2"));
|
|
299
|
+
log(t("cli.routine.scheduleNote3"));
|
|
300
|
+
log(t("cli.routine.scheduleNote4"));
|
|
301
|
+
log(t("cli.routine.scheduleNote5"));
|
|
302
|
+
log(t("cli.routine.scheduleNote6"));
|
|
303
|
+
log(t("cli.routine.scheduleNote7"));
|
|
300
304
|
log("");
|
|
301
|
-
log("
|
|
305
|
+
log(t("cli.routine.outputGateBranchPr"));
|
|
302
306
|
return { outputPath: destRel };
|
|
303
307
|
}
|
|
304
308
|
/**
|
|
@@ -387,25 +391,8 @@ export function parseGenerateWatchRoutineArgs(args) {
|
|
|
387
391
|
help,
|
|
388
392
|
};
|
|
389
393
|
}
|
|
390
|
-
export function printGenerateWatchRoutineHelp(log) {
|
|
391
|
-
log("
|
|
392
|
-
log("");
|
|
393
|
-
log("Generates a Claude Code Routine YAML that runs `radar watch run` on a schedule");
|
|
394
|
-
log("and commits detected items/state to a claude/* branch (ADR-0020 D5 `watch`).");
|
|
395
|
-
log("The routine completes in one Claude session — it does NOT spawn other agents.");
|
|
396
|
-
log("");
|
|
397
|
-
log("Options:");
|
|
398
|
-
log(' --name <name> Routine name (default: "feedradar-watch")');
|
|
399
|
-
log(" Also the default output filename.");
|
|
400
|
-
log(" --repo <owner/repo> Target repository (default: <owner>/<repo>)");
|
|
401
|
-
log(' --cron <expression> 5-field cron, min interval 1 HOUR (default: "0 * * * *")');
|
|
402
|
-
log(' Sub-hourly (e.g. "*/5 * * * *") is rejected.');
|
|
403
|
-
log(' --timezone <tz> Schedule timezone (default: "UTC")');
|
|
404
|
-
log(` --model <name> ${SUPPORTED_MODELS.join(" | ")}`);
|
|
405
|
-
log(" (default: claude-sonnet-4-6)");
|
|
406
|
-
log(" --output <path> Output file under .claude/routines/");
|
|
407
|
-
log(" (default: .claude/routines/<name>.yaml)");
|
|
408
|
-
log(" --force, -f Overwrite existing output file");
|
|
394
|
+
export function printGenerateWatchRoutineHelp(t, log) {
|
|
395
|
+
log(t("cli.routine.generateWatchHelp", { models: SUPPORTED_MODELS.join(" | ") }));
|
|
409
396
|
}
|
|
410
397
|
/**
|
|
411
398
|
* Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
|
|
@@ -416,16 +403,35 @@ export function printGenerateWatchRoutineHelp(log) {
|
|
|
416
403
|
export async function runGenerateWatchRoutine(args, io = {}, cwd = process.cwd()) {
|
|
417
404
|
const log = io.log ?? ((m) => console.log(m));
|
|
418
405
|
const error = io.error ?? ((m) => console.error(m));
|
|
406
|
+
// Strip `--lang <en|ja>` before the type parser sees argv (mirrors `init`).
|
|
407
|
+
let langFlag;
|
|
408
|
+
let rest;
|
|
409
|
+
try {
|
|
410
|
+
const langState = parseLangFlag(args);
|
|
411
|
+
langFlag = langState.flag;
|
|
412
|
+
rest = langState.rest;
|
|
413
|
+
}
|
|
414
|
+
catch (e) {
|
|
415
|
+
if (e instanceof LangFlagError) {
|
|
416
|
+
error(`routine generate watch: ${e.message}`);
|
|
417
|
+
return 2;
|
|
418
|
+
}
|
|
419
|
+
throw e;
|
|
420
|
+
}
|
|
419
421
|
let parsed;
|
|
420
422
|
try {
|
|
421
|
-
parsed = parseGenerateWatchRoutineArgs(
|
|
423
|
+
parsed = parseGenerateWatchRoutineArgs(rest);
|
|
422
424
|
}
|
|
423
425
|
catch (e) {
|
|
424
426
|
error(`routine generate watch: ${e instanceof Error ? e.message : String(e)}`);
|
|
425
427
|
return 2;
|
|
426
428
|
}
|
|
429
|
+
// Resolve the locale before the help branch so `--help` honors --lang / env /
|
|
430
|
+
// config (the per-type help is now sourced from the i18n catalog, #337).
|
|
431
|
+
const locale = await resolveWorkspaceLocale({ flag: langFlag, cwd, warn: error });
|
|
432
|
+
const t = createTranslator(locale);
|
|
427
433
|
if (parsed.help) {
|
|
428
|
-
printGenerateWatchRoutineHelp(log);
|
|
434
|
+
printGenerateWatchRoutineHelp(t, log);
|
|
429
435
|
return 0;
|
|
430
436
|
}
|
|
431
437
|
try {
|
|
@@ -438,6 +444,7 @@ export async function runGenerateWatchRoutine(args, io = {}, cwd = process.cwd()
|
|
|
438
444
|
model: parsed.model,
|
|
439
445
|
output: parsed.output,
|
|
440
446
|
force: parsed.force,
|
|
447
|
+
locale,
|
|
441
448
|
io,
|
|
442
449
|
});
|
|
443
450
|
return 0;
|