Skip to main content
Glama

ターミナルからリストの作成、リマインダーの追加、セクションへの整理を行い、すべてのAppleデバイス間で同期させることができます。

なぜremiなのか?

  • iCloud同期付きセクション — Appleリマインダーのセクションをサポートする唯一のCLIです。セクションの作成、リマインダーの割り当て、セクション間の移動が可能で、すべて同期されます。

  • 自然言語対応--due "next tuesday"--repeat "every 2 weeks on monday,friday" のように指定できます。

  • あいまい検索remi list "Groceries / Shopping List" と入力する代わりに remi list shopping と入力できます。

  • エージェントファースト — 構造化されたJSON出力、Claude Codeプラグイン、skills.shスキル、OpenClaw互換。

  • 高速 — コンパイル済みのSwiftヘルパーを使用。ElectronやGUIは不要です。

他のツールとの比較

remi

remindctl

reminders-cli

セクション

あり

なし

なし

セクション同期 (iCloud)

あり

N/A

N/A

繰り返し設定

あり

あり

なし

自然言語の日付指定

あり

あり

なし

JSON出力

あり

あり

なし

AIエージェント統合

あり

部分的

なし

Related MCP server: MCP Apple Reminders

インストール

brew tap mattheworiordan/tap && brew install remi

またはnpm経由:

npm install -g @mattheworiordan/remi
# or run without installing
npx @mattheworiordan/remi lists

クイックスタート

remi lists                                              # See all lists
remi list "Groceries"                                   # View a list (fuzzy: remi list groceries)
remi add "Groceries" "Buy milk" --section "Dairy"       # Add to a section
remi today                                              # What's due today?
remi complete "Groceries" "milk"                        # Fuzzy complete

使用方法

期限を確認する

remi today                    # Due today
remi overdue                  # Past due
remi upcoming --days 7        # Coming up
remi search "dentist"         # Search across all lists

リマインダーを管理する

remi add "Work" "Review PR" --due "next friday" --priority high
remi add "Work" "Standup" --due tomorrow --repeat daily
remi complete "Work" "standup"
remi update "Work" "Review PR" --due "in 3 days"
remi delete "Work" "Review PR" --confirm

日付: tomorrownext tuesdayin 3 days、または YYYY-MM-DD 繰り返し: dailyweeklymonthlyevery 2 weeksevery 3 months on monday,friday

セクションで整理する

remi sections "Groceries"                                # List sections
remi create-section "Groceries" "Produce"                # Create a section
remi add "Groceries" "Bananas" --section "Produce"       # Add to a section
remi move "Groceries" "Bananas" --to-section "Dairy"     # Move between sections

セクションはCRDTベクタークロックを介してiCloudに同期されます。仕組みの詳細をご覧ください。

JSON出力

すべてのコマンドで --json を使用して、機械可読な出力を得ることができます:

remi today --json
# {"success": true, "data": [...]}

AIエージェント統合

remiはAIエージェント向けに設計されています。MCPサーバー、Claude Codeプラグイン、またはスキルとして使用してください:

MCPサーバー

{
  "mcpServers": {
    "remi": {
      "command": "remi",
      "args": ["--mcp"]
    }
  }
}

16個のツール: remi_listsremi_addremi_completeremi_moveremi_todayremi_search など。すべてあいまい検索と構造化されたレスポンスに対応しています。

その他の統合

# Claude Code plugin
claude plugin marketplace add mattheworiordan/remi

# skills.sh
npx skills add mattheworiordan/remi

# OpenClaw
clawhub install remi

権限

初回実行時に、macOSからリマインダーへのアクセス許可を求められます(「許可」をクリックしてください)。セクション機能を使用するには、ターミナルアプリに「フルディスクアクセス」を許可する必要があります。

remi authorize    # Guides you through both
remi doctor       # Shows what's granted

要件

  • macOS 13以降 (Ventura以降)

  • Node.js 18以降

  • Xcode Command Line Tools (xcode-select --install)

仕組み

Appleは公開APIでセクションを公開していないため、remiは3つの層を使用しています:

内容

理由

EventKit

リマインダーのCRUD、クエリ、繰り返し

安定した公開API

ReminderKit

セクションのCRUD

非公開フレームワーク — 同期可能なセクションを作成する唯一の方法

SQLite + トークンマップ

セクションの所属関係

iCloud同期のためのCRDTベクタークロックを用いた直接的なデータベース書き込み

リバースエンジニアリングの全容では、Appleの非公開同期アーキテクチャについて発見した内容を解説しています。

コントリビューション

git clone https://github.com/mattheworiordan/remi.git && cd remi
npm install && npm run build:swift && npm run build
npm test                        # Unit tests
npm run test:integration        # Integration tests (needs Reminders access)

ライセンス

MIT — Matthew O'Riordan

Related MCP Connectors

Related MCP Servers