Skip to content

Latest commit

 

History

History

README.md

Tide 設計ドキュメント

このドキュメントについて

macOS 用の S3 同期ツール「Tide」の設計書一式。Claude Code に実装を依頼するための実装指示書として作成された。

読む順序

  1. 00-OVERVIEW.md - プロジェクト全体像、マイルストーン、確定スコープ
  2. 01-ARCHITECTURE.md - モジュール構成、レイヤー、起動フロー(M1 + M2 実装後の現状)
  3. 02-S3-LAYOUT.md - S3 バケットレイアウト、マニフェスト仕様、SSE / PublicAccessBlock / ライフサイクルマージ
  4. 03-LOCAL-DATABASE.md - ローカル SQLite のスキーマ
  5. 04-SYNC-LOGIC.md - 同期アルゴリズム(M1 一方向 + 末尾 M2 セクションでダウンロード / 復元 / ポーリング)
  6. 05-IMPLEMENTATION-GUIDE.md - M1 向けの実装手順(過去ドキュメント、参考用)
  7. 06-SETUP-AND-BUILD.md - 開発環境セットアップ、ビルド方法、IAM ポリシー
  8. 07-M3-IMPLEMENTATION-GUIDE.md - M3 着手前の設計メモ(マルチパート / .syncignore / 3-way merge)

加えて、リポジトリルートの CLAUDE.md(= AGENTS.md)に、本書群には書ききれない実装上の決定と AI エージェント向けの運用ルールを集約している。新規スレッドで作業を始める時は必ず読むこと。

実装状況(2026-06-11 現在)

  • M1 完了: 一方向アップロード(バックアップ機能)
  • M2 完了: ダウンロード / 復元 / 定期ポーリング(MVP ゴール達成)
  • M3 完了(サブ A〜E): マルチパート(A) / .syncignore(B) / 3-way merge(C) / 中断・再開(D) / 帯域制御(E・トークンバケット)
  • M4 一部着手: 削除済みファイルの復元 UI / 過去バージョン参照 UI(ListObjectVersions + RestoreService。詳細は 02-S3-LAYOUT.md「バージョン復元 / 削除済み復元」)。同期状況の詳細表示・エラー履歴(「Sync Activity」ウィンドウ + 構造化エラー SyncIssue + ポップオーバー刷新)と通知(競合・未バックアップ確定時の macOS 通知。NotificationPolicy)も実装済み。最適化は未着手

Claude Code への指示の渡し方

このディレクトリ全体を Claude Code に渡して、以下を伝える:

このディレクトリにある設計書に従って、M1 スコープのみを実装してください。

開始ファイル: 00-OVERVIEW.md
実装手順: 05-IMPLEMENTATION-GUIDE.md

実装中に設計上の判断が必要になったら、勝手に決めずに必ず聞いてください。
ステップごとにコミット可能な単位で進めて、各ステップ完了時に
「ステップNが完了しました、次に進めますか?」と確認してください。

確定事項サマリ

  • macOS 26+, Swift 6, SwiftUI
  • AWS SDK for Swift(公式)
  • GRDB.swift for SQLite
  • メニューバー常駐アプリ
  • シングルユーザー、単一同期フォルダ、単一バケット
  • S3 バージョニング必須、ライフサイクルルール自動投入
  • .git/ はデフォルト同期対象
  • 暗号化なし、ファイルオンデマンドなし
  • 配布は自分用、コード署名なし