これは何
reminder ファミリー4リポジトリの全体ロードマップ。各リポジトリの実行タスク issue はここから辿れる(本文末尾のリンク集参照。作成後に追記)。
対象リポジトリと現状
| リポジトリ |
役割 |
現状 |
| reminder-cli |
Swift 製 iCloud Reminders CLI。ファミリーの土台 |
v1.0.1(binary 配布に移行済み)。テストなし |
| homebrew-reminder-cli |
Homebrew tap |
⚠️ Formula が v1.0.0 のソースビルドのままで、本体の binary 配布方針と乖離 |
| reminder-server (private) |
cli をラップする REST API サーバー(Sinatra 4) |
実装は動く状態だがほぼ全ファイル未コミット(消失リスク) |
| reminder-dashboard (private) |
閲覧専用ダッシュボード構想 |
コミット 0。旧設計書と、reminder-server の重複コード(backend/)のみ |
server / dashboard の統合判断(提案)
提案: reminder-server に統合し、dashboard はサルベージ後アーカイブ。
根拠:
- dashboard の backend/ は reminder-server の旧バージョンの重複(役割が完全に被っている)
- dashboard の設計書が想定する Node/Express + React + Vite スタックは未着手。閲覧専用 UI に SPA スタックは過剰
- reminder-server(Sinatra)が
/ で静的な閲覧 UI を配信すれば設計書の要件(一覧・詳細・フィルタ・ソート)は満たせる
- リポジトリが1つ減り、launchd 常駐・公開も1サービスで済む
代替案(分離維持)を選ぶ場合も、dashboard の backend/ 削除と設計書の全面書き直しは必須。判断はユーザーに委ねるが、タスク issue は統合前提で切ってある。
優先順位
P1 — 壊れている / 消失リスク
- tap の Formula を v1.0.1 binary 配布に更新(homebrew-reminder-cli)
- reminder-server の未コミット実装を commit & push(reminder-server)
P2 — 品質基盤(後方互換を守るための足場)
3. reminder-cli にテストスイート導入 + CI(reminder-cli)
4. reminder-server にテスト導入 + CI(reminder-server)
5. reminder-cli の変更系コマンドに --format json 追加(reminder-cli)
6. ↑完了後、reminder-server の正規表現パースを JSON 化(reminder-server)
P3 — 機能・運用
7. reminder-server を launchd 常駐 + tailnet 内公開に(reminder-server)
8. 閲覧ダッシュボード UI を reminder-server に実装(reminder-server)
9. reminder-cli に lists サブコマンド追加(reminder-cli)
10. リリース時の tap 自動更新(reminder-cli → homebrew-reminder-cli)
P4 — 整理
11. dashboard の未コミット資産の棚卸しと移管(reminder-dashboard)
12. dashboard リポジトリのアーカイブ判断(reminder-dashboard)
後方互換ポリシー(ファミリー共通)
- reminder-cli は日常運用(自動化スクリプト・server)から常用されているため、既存コマンドのデフォルト出力・既存フラグの挙動は変えない。機能追加はオプトイン(新フラグ・新サブコマンド)のみ
- バージョンは semver。出力フォーマット変更を伴う場合は minor 以上を上げる
- server の API は
/api/v1 名前空間を維持。破壊的変更は /api/v2
タスク issue リンク集
reminder-cli
homebrew-reminder-cli
reminder-server(private)
- yancya/reminder-server#1 — 未コミット実装のコミット & push(P1-2・最優先)
- yancya/reminder-server#2 — テスト整備 + CI(P2-4)
- yancya/reminder-server#3 — launchd 常駐 + Tailscale VIP Service 化(P3-7)
- yancya/reminder-server#4 — 正規表現パースの JSON 化(P2-6、cli#5 に依存)
- yancya/reminder-server#5 — 閲覧ダッシュボード UI(P3-8、統合の受け皿)
reminder-dashboard(private)
- yancya/reminder-dashboard#1 — 未コミット資産の棚卸しと移管確認(P4-11)
- yancya/reminder-dashboard#2 — アーカイブ判断と実行(P4-12、ユーザー承認必須)
依存関係の要点
- cli#5(変更系 json)→ server#4(パース置換)
- server#5(UI)→ dashboard#1 → dashboard#2(アーカイブ)
- cli#4(テスト基盤)は cli#5 / cli#6 より先に着手推奨(いずれもclose済み)
- tap自動更新はpull型(homebrew#6)に方針転換。reminder-cli側の実装・secret登録は不要になった
これは何
reminder ファミリー4リポジトリの全体ロードマップ。各リポジトリの実行タスク issue はここから辿れる(本文末尾のリンク集参照。作成後に追記)。
対象リポジトリと現状
server / dashboard の統合判断(提案)
提案: reminder-server に統合し、dashboard はサルベージ後アーカイブ。
根拠:
/で静的な閲覧 UI を配信すれば設計書の要件(一覧・詳細・フィルタ・ソート)は満たせる代替案(分離維持)を選ぶ場合も、dashboard の backend/ 削除と設計書の全面書き直しは必須。判断はユーザーに委ねるが、タスク issue は統合前提で切ってある。
優先順位
P1 — 壊れている / 消失リスク
P2 — 品質基盤(後方互換を守るための足場)
3. reminder-cli にテストスイート導入 + CI(reminder-cli)
4. reminder-server にテスト導入 + CI(reminder-server)
5. reminder-cli の変更系コマンドに
--format json追加(reminder-cli)6. ↑完了後、reminder-server の正規表現パースを JSON 化(reminder-server)
P3 — 機能・運用
7. reminder-server を launchd 常駐 + tailnet 内公開に(reminder-server)
8. 閲覧ダッシュボード UI を reminder-server に実装(reminder-server)
9. reminder-cli に
listsサブコマンド追加(reminder-cli)10. リリース時の tap 自動更新(reminder-cli → homebrew-reminder-cli)
P4 — 整理
11. dashboard の未コミット資産の棚卸しと移管(reminder-dashboard)
12. dashboard リポジトリのアーカイブ判断(reminder-dashboard)
後方互換ポリシー(ファミリー共通)
/api/v1名前空間を維持。破壊的変更は/api/v2タスク issue リンク集
reminder-cli
リリース時に Homebrew tap の Formula を自動更新する #7— リリース時の tap 自動更新(P3-10、close。push型からpull型に方針転換、後継は homebrew-reminder-cli#6)sub: release.yml に tap Formula 自動更新ステップを実装(テンプレート全文生成方式) #11 / 【人間作業】TAP_GITHUB_TOKEN 用 Fine-grained PAT の発行とシークレット登録 #12 / tap 自動更新の end-to-end 検証(v1.1.0 リリースに同乗) #13いずれもclose(push型前提のため不要に)homebrew-reminder-cli
Formula を v1.0.1 バイナリ配布に更新する(現在 v1.0.0 ソースビルドのまま乖離) homebrew-reminder-cli#1— Formula を v1.0.1 バイナリ配布に更新(P1-1・close済み)reminder-server(private)
reminder-dashboard(private)
依存関係の要点