macOS向けのシンプルで直感的な時間記録アプリケーション。プロジェクトと作業区分ごとに時間を追跡し、日次統計を確認できます。
- プロジェクト管理: カラーコード付きでプロジェクトを作成・管理
- 作業区分: 5つの固定作業カテゴリ(開発、保守、POサポート・コンサル、デザイン、その他)
- 時間記録: プロジェクトと作業区分の組み合わせで時間を記録
- 日次統計: プロジェクト×作業区分ごとの時間内訳とパーセンテージ
- データエクスポート: 統計データをMarkdown形式でコピー可能
- 履歴管理: 過去の作業記録の表示・編集
- データ永続化: SwiftDataによる安全なローカルデータ保存
(TODO: スクリーンショットを追加)
- macOS 14.0以降
- Apple Silicon (arm64) または Intel (x86_64)
- 最新リリースから
TimeRabbit-X.X.X.zipまたはTimeRabbit-X.X.X.dmgをダウンロード - ZIPファイルを展開するか、DMGファイルをマウント
TimeRabbit.appをApplicationsフォルダに移動- 重要: 初回起動時にGatekeeperの警告が表示される場合は、以下の手順を実行してください
このアプリケーションはApple Developer証明書で署名されていないため、初回起動時に警告が表示される場合があります。
解決方法1: 隔離属性の削除(推奨)
xattr -cr /Applications/TimeRabbit.app解決方法2: システム設定から開く(macOS Ventura以降)
- アプリを開こうとする(エラーが表示される)
- システム設定 → プライバシーとセキュリティ を開く
- セキュリティセクションまでスクロール
- TimeRabbitの隣にある**「このまま開く」**をクリック
- 確認ダイアログで**「開く」**をクリック
# リポジトリをクローン
git clone https://github.com/ITK13201/TimeRabbit.git
cd TimeRabbit
# Xcodeでプロジェクトを開く
open TimeRabbit.xcodeproj
# または、コマンドラインからビルド
xcodebuild -project TimeRabbit.xcodeproj -scheme TimeRabbit -destination 'platform=macOS' build要件:
- Xcode 16.1以降
- macOS 15以降(ビルド環境)
- 左サイドバーの**「案件を追加」**ボタンをクリック
- プロジェクトID(3-20文字)と名前を入力
- カラーを選択
- **「追加」**をクリック
- サイドバーでプロジェクトを選択
- 作業区分(開発、保守など)を選択
- **「開始」**ボタンをクリック
- 作業完了後、**「停止」**ボタンをクリック
- メイン画面の**「統計」**タブを選択
- 日付ピッカーで確認したい日付を選択
- プロジェクト×作業区分ごとの時間とパーセンテージが表示されます
- 各行の**「コピー」**ボタンで、Markdown形式のコマンドをクリップボードにコピー可能
- メイン画面の**「履歴」**タブを選択
- 日付ピッカーで確認したい日付を選択
- 記録をクリックして詳細を表示
- **「編集」**ボタンで開始時刻、終了時刻、プロジェクト、作業区分を変更可能
TimeRabbitは1:1 View-ViewModel MVVM パターンとリポジトリレイヤーを採用しています:
TimeRabbit/
├── TimeRabbitApp.swift # アプリエントリーポイント
├── Models.swift # SwiftDataモデル(Project, Job, TimeRecord)
├── repositories/ # データ永続化層
│ ├── ProjectRepository.swift
│ ├── TimeRecordRepository.swift
│ ├── JobRepository.swift
│ └── Mock*.swift # テスト・プレビュー用
├── viewmodels/ # プレゼンテーション層
│ ├── base/
│ │ ├── BaseViewModel.swift
│ │ └── ViewModelFactory.swift
│ └── *.swift # 各画面のViewModel
└── views/ # UI層
└── *.swift # SwiftUIビュー
詳細なアーキテクチャ情報はCLAUDE.mdを参照してください。
# プロジェクトをビルド
xcodebuild -project TimeRabbit.xcodeproj -scheme TimeRabbit -destination 'platform=macOS' build
# ユニットテストを実行
xcodebuild test -project TimeRabbit.xcodeproj -scheme TimeRabbit -destination 'platform=macOS' -testPlan TimeRabbitTestsすべてのコミットメッセージは以下の形式に従います:
#[issue_number] [type]: [message]
タイプ:
feature: 新機能実装bugfix: バグ修正hotfix: 緊急修正docs: ドキュメント変更refactor: リファクタリングtest: テスト関連chore: ビルドプロセスやツールの変更
例:
#5 bugfix: Fix macOS Gatekeeper error with improved release notes
#12 feature: Add project color customization
- すべてのGitHub IssueとPull Requestは日本語で記載してください
- コミットメッセージは英語規約に従います
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。
貢献を歓迎します!以下の手順でご協力ください:
- このリポジトリをフォーク
- 機能ブランチを作成(
git checkout -b feature/#XX-amazing-feature) - 変更をコミット(
git commit -m '#XX feature: Add amazing feature') - ブランチをプッシュ(
git push origin feature/#XX-amazing-feature) - Pull Requestを作成(日本語で記載)
詳細な開発ガイドラインはCLAUDE.mdを参照してください。
このプロジェクトは以下の技術を使用して構築されています:
- SwiftUI - UI框架
- SwiftData - データ永続化
- GitHub Actions - CI/CD
TimeRabbitで効率的な時間管理を始めましょう!