@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.
Files changed (164) 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 +79 -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 +11 -4
  62. package/dist/cli/routine/generate-pipeline.d.ts.map +1 -1
  63. package/dist/cli/routine/generate-pipeline.js +137 -77
  64. package/dist/cli/routine/generate-pipeline.js.map +1 -1
  65. package/dist/cli/routine/generate-watch.d.ts +10 -1
  66. package/dist/cli/routine/generate-watch.d.ts.map +1 -1
  67. package/dist/cli/routine/generate-watch.js +49 -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 +206 -182
  74. package/dist/cli/source.js.map +1 -1
  75. package/dist/cli/triage.d.ts.map +1 -1
  76. package/dist/cli/triage.js +146 -130
  77. package/dist/cli/triage.js.map +1 -1
  78. package/dist/cli/undismiss.d.ts.map +1 -1
  79. package/dist/cli/undismiss.js +32 -25
  80. package/dist/cli/undismiss.js.map +1 -1
  81. package/dist/cli/update.d.ts.map +1 -1
  82. package/dist/cli/update.js +77 -61
  83. package/dist/cli/update.js.map +1 -1
  84. package/dist/cli/watch.d.ts.map +1 -1
  85. package/dist/cli/watch.js +71 -31
  86. package/dist/cli/watch.js.map +1 -1
  87. package/dist/cli/workflow/generate-combined-with-triage.d.ts +9 -2
  88. package/dist/cli/workflow/generate-combined-with-triage.d.ts.map +1 -1
  89. package/dist/cli/workflow/generate-combined-with-triage.js +120 -71
  90. package/dist/cli/workflow/generate-combined-with-triage.js.map +1 -1
  91. package/dist/cli/workflow/generate-combined.d.ts +8 -1
  92. package/dist/cli/workflow/generate-combined.d.ts.map +1 -1
  93. package/dist/cli/workflow/generate-combined.js +39 -33
  94. package/dist/cli/workflow/generate-combined.js.map +1 -1
  95. package/dist/cli/workflow/generate-watch.d.ts +10 -1
  96. package/dist/cli/workflow/generate-watch.d.ts.map +1 -1
  97. package/dist/cli/workflow/generate-watch.js +37 -30
  98. package/dist/cli/workflow/generate-watch.js.map +1 -1
  99. package/dist/cli/workflow.d.ts.map +1 -1
  100. package/dist/cli/workflow.js +28 -23
  101. package/dist/cli/workflow.js.map +1 -1
  102. package/dist/core/config.d.ts +2 -1
  103. package/dist/core/config.d.ts.map +1 -1
  104. package/dist/core/config.js +14 -4
  105. package/dist/core/config.js.map +1 -1
  106. package/dist/core/feeds/html-js.d.ts.map +1 -1
  107. package/dist/core/feeds/html-js.js +16 -9
  108. package/dist/core/feeds/html-js.js.map +1 -1
  109. package/dist/core/feeds/types.d.ts +9 -0
  110. package/dist/core/feeds/types.d.ts.map +1 -1
  111. package/dist/core/locale.d.ts +69 -0
  112. package/dist/core/locale.d.ts.map +1 -0
  113. package/dist/core/locale.js +74 -0
  114. package/dist/core/locale.js.map +1 -0
  115. package/dist/core/watcher.d.ts +11 -0
  116. package/dist/core/watcher.d.ts.map +1 -1
  117. package/dist/core/watcher.js +21 -5
  118. package/dist/core/watcher.js.map +1 -1
  119. package/dist/i18n/index.d.ts +57 -0
  120. package/dist/i18n/index.d.ts.map +1 -0
  121. package/dist/i18n/index.js +49 -0
  122. package/dist/i18n/index.js.map +1 -0
  123. package/dist/i18n/messages/en.d.ts +993 -0
  124. package/dist/i18n/messages/en.d.ts.map +1 -0
  125. package/dist/i18n/messages/en.js +1096 -0
  126. package/dist/i18n/messages/en.js.map +1 -0
  127. package/dist/i18n/messages/ja.d.ts +13 -0
  128. package/dist/i18n/messages/ja.d.ts.map +1 -0
  129. package/dist/i18n/messages/ja.js +970 -0
  130. package/dist/i18n/messages/ja.js.map +1 -0
  131. package/dist/schemas/config.d.ts +7 -0
  132. package/dist/schemas/config.d.ts.map +1 -1
  133. package/dist/schemas/config.js +5 -0
  134. package/dist/schemas/config.js.map +1 -1
  135. package/dist/schemas/recipe.d.ts +1 -1
  136. package/dist/schemas/source.d.ts +3 -3
  137. package/dist/skills/research/SKILL.md +13 -12
  138. package/dist/skills/review/SKILL.md +13 -12
  139. package/dist/skills/update/SKILL.md +19 -19
  140. package/dist/templates/en/agents/AGENTS.md +284 -0
  141. package/dist/templates/en/claude/CLAUDE.md +5 -0
  142. package/dist/templates/en/default.md +16 -0
  143. package/dist/templates/en/digest.md +66 -0
  144. package/dist/templates/en/feedradar.md +235 -0
  145. package/dist/templates/{routines → en/routines}/pipeline.yaml.tmpl +18 -20
  146. package/dist/templates/{routines → en/routines}/watch-daily.yaml +12 -15
  147. package/dist/templates/{routines → en/routines}/watch.yaml.tmpl +11 -14
  148. package/dist/templates/{workflows → en/workflows}/combined-with-triage.template.yaml.tmpl +3 -3
  149. package/dist/templates/{workflows → en/workflows}/combined.template.yaml.tmpl +6 -6
  150. package/dist/templates/{workflows → en/workflows}/watch.template.yaml.tmpl +8 -8
  151. package/dist/templates/{workflows → en/workflows}/watch.yaml +3 -3
  152. package/dist/templates/{agents → ja/agents}/AGENTS.md +16 -16
  153. package/dist/templates/{digest.md → ja/digest.md} +5 -6
  154. package/dist/templates/{feedradar.md → ja/feedradar.md} +12 -12
  155. package/dist/templates/ja/routines/pipeline.yaml.tmpl +211 -0
  156. package/dist/templates/ja/routines/watch-daily.yaml +151 -0
  157. package/dist/templates/ja/routines/watch.yaml.tmpl +145 -0
  158. package/dist/templates/ja/workflows/combined-with-triage.template.yaml.tmpl +123 -0
  159. package/dist/templates/ja/workflows/combined.template.yaml.tmpl +109 -0
  160. package/dist/templates/ja/workflows/watch.template.yaml.tmpl +100 -0
  161. package/dist/templates/ja/workflows/watch.yaml +73 -0
  162. package/package.json +1 -1
  163. /package/dist/templates/{claude → ja/claude}/CLAUDE.md +0 -0
  164. /package/dist/templates/{default.md → ja/default.md} +0 -0
@@ -0,0 +1,109 @@
1
+ # `radar workflow generate combined` テンプレート。
2
+ #
3
+ # `radar watch run` -> 「新規アイテムがなければスキップ」ガード -> `radar research
4
+ # --batch` -> `git commit/push --rebase` リトライを単一ジョブ内で連結し、検出から
5
+ # リサーチまでの遅延を 2 つに分かれたワークフローではなく cron 1 ティックに収める。
6
+ #
7
+ # `src/cli/workflow/generate-combined.ts` が差し込むプレースホルダ:
8
+ # {{cron}} — スケジュールの cron 式(デフォルト "0 0 * * *")
9
+ # {{maxItems}} — `--max-items` のハードキャップ(デフォルト 10)
10
+ # {{filterTags}} — `--filter-tags` 引数を単一の CLI リテラルとして(フィルタが
11
+ # 無効なときは空になり、行は素の `--batch` に縮む)
12
+ # {{agent}} — エージェント ID リテラル(claude-code|codex-cli|gemini-cli|copilot)
13
+ # {{secretsBlock}} — エージェント固有の `env:` 本体(共通デフォルトはなく、CLI
14
+ # ジェネレータが 4 種のプリビルト断片から 1 つを選ぶ。OAuth
15
+ # トークンは決して注入しない)
16
+ #
17
+ # ハードキャップの根拠: この YAML は `--max-items {{maxItems}}` をリテラルで埋め込み、
18
+ # ワークフローを監査すれば CLI ソースを読み直さずともキャップが分かるようにしている。
19
+ # CLI 側もキャップを再強制する(`src/cli/research.ts` の
20
+ # `RESEARCH_BATCH_DEFAULT_MAX_ITEMS`)ため、手で編集した YAML でも 1 回の呼び出し内で
21
+ # 超過できない(多層防御: YAML リテラル + CLI デフォルト)。
22
+
23
+ name: feedradar-combined
24
+
25
+ on:
26
+ schedule:
27
+ - cron: "{{cron}}"
28
+ workflow_dispatch: {}
29
+
30
+ permissions:
31
+ contents: write
32
+
33
+ concurrency:
34
+ # 種別スコープの concurrency グループ。watch のみと combined のワークフローは
35
+ # 互いを直列化してはならない(cadence もスコープも異なる)ため、種別ごとに
36
+ # 独自の `feedradar-<type>-${{ github.ref }}` グループを持つ。
37
+ group: feedradar-combined-${{ github.ref }}
38
+ cancel-in-progress: false
39
+
40
+ jobs:
41
+ combined:
42
+ runs-on: ubuntu-latest
43
+ timeout-minutes: 30
44
+ steps:
45
+ - name: ワークスペースをチェックアウト
46
+ uses: actions/checkout@v4
47
+ with:
48
+ fetch-depth: 0
49
+ persist-credentials: true
50
+
51
+ - name: Node.js をセットアップ
52
+ uses: actions/setup-node@v4
53
+ with:
54
+ node-version: "22.21"
55
+
56
+ - name: FeedRadar をインストール
57
+ run: npm install -g @ozzylabs/feedradar
58
+
59
+ - name: watch を実行
60
+ env:
61
+ {{secretsBlock}}
62
+ run: radar watch run
63
+
64
+ - name: 新規アイテムがなければ research をスキップ
65
+ id: detect_changes
66
+ # `watch run` が新規アイテムを生まなかったときは research ステップを
67
+ # まるごとスキップする。さもないと、暴走検出キャップがあっても空のキューに対して
68
+ # 丸ごと 1 回の `radar research --batch` 呼び出し(テンプレ読み込み・アイテム走査)を
69
+ # 消費してしまう。
70
+ run: |
71
+ if [ -z "$(git status --porcelain items/)" ]; then
72
+ echo "no new items in items/; skipping research step"
73
+ echo "has_changes=false" >> "$GITHUB_OUTPUT"
74
+ else
75
+ echo "has_changes=true" >> "$GITHUB_OUTPUT"
76
+ fi
77
+
78
+ - name: 検出したアイテムを research(最大 {{maxItems}} 件, agent={{agent}})
79
+ if: steps.detect_changes.outputs.has_changes == 'true'
80
+ env:
81
+ {{secretsBlock}}
82
+ # `--batch` は items/ を status=detected で走査し、filter-tags の許可リストを
83
+ # 適用し、`--max-items` 件のレポートを書き終えたら停止する。CLI 側もキャップを
84
+ # 再強制するため、手で編集した YAML でも超過できない。
85
+ run: radar research --batch --status detected --max-items {{maxItems}}{{filterTags}} --agent {{agent}}
86
+
87
+ - name: リトライ付きでコミットして push
88
+ if: steps.detect_changes.outputs.has_changes == 'true'
89
+ # 失敗のあいだに `git pull --rebase --autostash` を挟む 3 回試行 push。
90
+ # items/ / state/ / research/ を奪い合う 2 つの並行 feedradar ワークフロー
91
+ # (例: watch-hourly + combined-weekly)向けに調整している。
92
+ run: |
93
+ git config user.name "feedradar-bot"
94
+ git config user.email "feedradar-bot@users.noreply.github.com"
95
+ git add items/ state/ research/
96
+ if git diff --cached --quiet; then
97
+ echo "nothing staged; exiting cleanly"
98
+ exit 0
99
+ fi
100
+ git commit -m "chore(feedradar): combined watch + research $(date -u +%Y-%m-%d)"
101
+ for attempt in 1 2 3; do
102
+ if git push origin "${GITHUB_REF_NAME}"; then
103
+ exit 0
104
+ fi
105
+ echo "push failed (attempt ${attempt}/3), rebasing..."
106
+ git pull --rebase --autostash origin "${GITHUB_REF_NAME}"
107
+ done
108
+ echo "push failed after 3 attempts" >&2
109
+ exit 1
@@ -0,0 +1,100 @@
1
+ # `radar workflow generate watch` が生成する GitHub Actions の雛形。
2
+ # cron スケジュール・sources・コミットメッセージは自分のワークフローに合わせて編集する。
3
+ # 認証ポリシー: API キーのみ。Claude Code の OAuth トークンは
4
+ # Anthropic の利用規約により無人ワークフローでは禁止。
5
+ #
6
+ # このテンプレートはプレースホルダ駆動で、init 後に再生成するための変種。
7
+ # `src/templates/en/workflows/watch.yaml`(init --with-actions が初回ブートストラップで
8
+ # 出力するもの)は後方互換のため別に保持している。違いは次のとおり:
9
+ #
10
+ # - cron スケジュール・出力先・エージェントの secret 名は、書き込み前に
11
+ # `generate-watch.ts` が CLI フラグから差し込む。
12
+ # - `concurrency.group` を `feedradar-watch-` にスコープし、複数のワークフロー種別
13
+ # (watch / combined)が互いをキャンセルせず並走できるようにしている。下記の
14
+ # rebase リトライと組み合わせて push 衝突を緩和する。
15
+ # - `Commit and push with retry` ステップは、並行 cron による push を吸収するため
16
+ # 最大 3 回まで `git pull --rebase` をリトライする。
17
+
18
+ name: feedradar-watch
19
+
20
+ on:
21
+ schedule:
22
+ - cron: "{{cron}}"
23
+ workflow_dispatch: {}
24
+
25
+ permissions:
26
+ # 検出したアイテム / state をワークスペースのブランチへコミットするのに必要。
27
+ contents: write
28
+
29
+ concurrency:
30
+ # 種別ごとのグループ。`watch` と `combined` のワークフローが互いをキャンセルしない。
31
+ # 同一種別の並行実行はこのグループで直列化される。
32
+ group: feedradar-watch-${{ github.ref }}
33
+ cancel-in-progress: false
34
+
35
+ jobs:
36
+ watch:
37
+ runs-on: ubuntu-latest
38
+ timeout-minutes: 15
39
+ steps:
40
+ - name: ワークスペースをチェックアウト
41
+ uses: actions/checkout@v4
42
+ with:
43
+ # 並行 push の上に rebase できるよう履歴が必要。
44
+ fetch-depth: 0
45
+ persist-credentials: true
46
+
47
+ - name: Node.js をセットアップ
48
+ uses: actions/setup-node@v4
49
+ with:
50
+ # radar が HTTPS_PROXY / HTTP_PROXY を自動検出して --use-env-proxy で
51
+ # 再起動するには Node 22.21+(または 24.5+)が必要。
52
+ node-version: "22.21"
53
+
54
+ - name: FeedRadar をインストール
55
+ # バージョンを決めたらリリースに固定する。この雛形では
56
+ # 最新の公開ビルドをインストールする。
57
+ run: npm install -g @ozzylabs/feedradar
58
+
59
+ - name: watch を実行
60
+ env:
61
+ # エージェント API に対して認証する(API キーのみ、OAuth は使わない)。
62
+ # 下記の secret 名はエージェント別の規約に従う。追加すべき正確な
63
+ # secret 名は生成後の標準出力を参照。
64
+ {{agentEnvKey}}: ${{ secrets.{{agentEnvKey}} }}
65
+ # github-releases アダプタの GitHub REST API レート上限を
66
+ # 60 → 5000 req/h に引き上げる。
67
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68
+ run: radar watch run
69
+
70
+ - name: リトライ付きでコミットして push
71
+ # items/ と state/ の更新を永続化し、次回の定期実行が前回の
72
+ # lastSeenIds と差分を取れるようにする。Routines / Actions はどちらも
73
+ # 毎回クリーンに clone するため、state は git に置く必要がある。
74
+ #
75
+ # push 衝突の緩和: 別のワークフロー(例: combined.yaml)が並行して
76
+ # push すると `git push` が non-fast-forward で失敗する。各試行で
77
+ # rebase しながら最大 3 回リトライする。autostash により index 外の
78
+ # bot 側変更も rebase をまたいで保全される。4 回以上は構造的な問題
79
+ # (branch protection・トークン障害・本当のマージ衝突)を示すため、
80
+ # それ以上リトライせず即座に失敗させる。
81
+ run: |
82
+ set -euo pipefail
83
+ git config user.name "github-actions[bot]"
84
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
85
+ if git diff --quiet items/ state/; then
86
+ echo "no changes detected; skipping commit"
87
+ exit 0
88
+ fi
89
+ git add items/ state/
90
+ git commit -m "chore(watch): detected items $(date -u +%Y-%m-%d)"
91
+ for attempt in 1 2 3; do
92
+ if git push origin "${GITHUB_REF_NAME}"; then
93
+ echo "push succeeded on attempt ${attempt}"
94
+ exit 0
95
+ fi
96
+ echo "push failed (attempt ${attempt}/3), rebasing..."
97
+ git pull --rebase --autostash origin "${GITHUB_REF_NAME}"
98
+ done
99
+ echo "push failed after 3 attempts" >&2
100
+ exit 1
@@ -0,0 +1,73 @@
1
+ # `radar init --with-actions` が生成する GitHub Actions の雛形。
2
+ # cron スケジュール・sources・コミットメッセージは自分のワークフローに合わせて編集する。
3
+ # 認証ポリシー: API キーのみ。Claude Code の OAuth トークンは
4
+ # Anthropic の利用規約により無人ワークフローでは禁止。
5
+
6
+ name: feedradar
7
+
8
+ on:
9
+ schedule:
10
+ # 毎日 00:00 UTC。自分のペースに合わせて調整する。
11
+ - cron: "0 0 * * *"
12
+ workflow_dispatch: {}
13
+
14
+ permissions:
15
+ # 検出したアイテム / state をワークスペースのブランチへコミットするのに必要。
16
+ contents: write
17
+
18
+ concurrency:
19
+ group: feedradar-${{ github.ref }}
20
+ cancel-in-progress: false
21
+
22
+ jobs:
23
+ watch:
24
+ runs-on: ubuntu-latest
25
+ timeout-minutes: 15
26
+ steps:
27
+ - name: ワークスペースをチェックアウト
28
+ uses: actions/checkout@v4
29
+ with:
30
+ # 同じブランチへコミットを push し戻せるよう履歴が必要。
31
+ fetch-depth: 0
32
+ # push 時に GITHUB_TOKEN の identity を使う — 下記の
33
+ # "Commit state" ステップを参照。
34
+ persist-credentials: true
35
+
36
+ - name: Node.js をセットアップ
37
+ uses: actions/setup-node@v4
38
+ with:
39
+ # radar が HTTPS_PROXY / HTTP_PROXY を自動検出して --use-env-proxy で
40
+ # 再起動するには Node 22.21+(または 24.5+)が必要。
41
+ # 古い 22.x はこのフラグを欠くため、HTTPS_PROXY を設定しても
42
+ # `radar` は proxy サポートなしで動作してしまう。
43
+ node-version: "22.21"
44
+
45
+ - name: FeedRadar をインストール
46
+ # バージョンを決めたらリリースに固定する。この雛形では
47
+ # 最新の公開ビルドをインストールする。
48
+ run: npm install -g @ozzylabs/feedradar
49
+
50
+ - name: watch を実行
51
+ env:
52
+ # Anthropic API に対して認証する。このワークフローは `watch run` しか
53
+ # 呼ばないが、後続の `research`/`review`/`update` コマンドに必要。
54
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
55
+ # github-releases アダプタの GitHub REST API レート上限を
56
+ # 60 → 5000 req/h に引き上げる。
57
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58
+ run: radar watch run
59
+
60
+ - name: state をコミット
61
+ # items/ と state/ の更新を永続化し、次回の定期実行が前回の
62
+ # lastSeenIds と差分を取れるようにする。Routines / Actions はどちらも
63
+ # 毎回クリーンに clone するため、state は git に置く必要がある。
64
+ run: |
65
+ if git diff --quiet items/ state/; then
66
+ echo "no changes detected; skipping commit"
67
+ exit 0
68
+ fi
69
+ git config user.name "github-actions[bot]"
70
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
71
+ git add items/ state/
72
+ git commit -m "chore(watch): detected items $(date -u +%Y-%m-%d)"
73
+ git push
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozzylabs/feedradar",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Multi-agent CLI that watches blogs and release feeds, then turns keyword hits into Markdown research reports",
5
5
  "type": "module",
6
6
  "publishConfig": {
File without changes
File without changes