Notion の「進行中タスク」を macOS メニューバーで確認・更新する Wails v3 アプリです。ローカル完結で動作します。
- 進行中タスクの一覧表示
- 習慣チェックの一覧表示(当日分)
- 完了 / 中断へのステータス更新
- 手動更新と自動ポーリング
- Notion 設定の UI からの保存
- Notion のタスクは Database で管理されている
- Integration を作成し、対象 Database を共有済み
- macOS
- Go
- Wails v3 (
wails3) - go-task (
task)
- Wails v3 と task を用意
- Notion Integration を作成し、Database を共有
- アプリ起動
task run
- アプリの「設定」タブで以下を保存
- Notion API トークン
- タスク/習慣の Database 設定
- Data Source ID(ボタンで自動取得可)
- Title / Status / チェックボックスのプロパティ名
- Status 型(
status/select) - 進行中 / 完了 / 中断 の値
- 保存先:
~/Library/Application Support/Nudge/config.json - 形式は
snake_case+ 2 スペースインデント - 例:
{ "databases": [ { "key": "tasks", "name": "タスク", "kind": "task", "enabled": true, "database_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data_source_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "title_property_name": "Name", "status_property_name": "Status", "status_property_type": "status", "status_in_progress": "In Progress", "status_done": "Done", "status_paused": "Paused", "checkbox_property_name": "" } ], "poll_interval_seconds": 60, "max_results": 30 }
- Notion API トークンは macOS Keychain(Service:
nudge-notion, Account:notion-api-token)に保存 - リポジトリへのトークンのコミットは禁止
# 開発モード(デフォルト Vite ポート 9245)
task dev
# task dev が動かない場合
wails3 task run dev
# 現在の OS 向けに実行
task run
# 現在の OS 向けにビルド
task build
# 配布用パッケージ作成
task package
# クロスコンパイル用 Docker イメージ作成
task setup:dockergo test ./...cmd/nudge: エントリーポイント / 埋め込み UI 資産internal/app: アプリのユースケースと制御internal/notion: Notion API クライアントinternal/store: 設定ファイル / Keychain 永続化internal/sync,internal/tray,internal/dto,internal/logbuild/: Wails のビルド/配布設定docs/: 設計資料