コマンドライン
Solo または Teamが必要更新 2026年10月4日
muは、ターミナルから使うMemoratuです。単一のバイナリで、通信先はHTTPSのhttps://api.memoratu.comだけ。スマートフォンのアプリと同じ仕組みで、画面がないだけです。
始める前に
Solo または Teamが必要
muのインストールは無料で、誰でもできます。Memoratuのアカウントで使うには、有料プランが必要です。
コマンドラインは、設計上、有料の機能です。サインインするとCLIトークンが発行されますが、無料プランではサーバーが発行を断ります。単に拒否するのではなく、plan_limit_exceededを返し、プランと機能の名前を伝えます。
必要なもの
- Homebrewが入ったMac。1行でインストールできます。Apple siliconとIntelのどちらにも対応しています。
- またはLinux(
arm64かamd64)。リリースにはそれぞれのtarballがあり、チェックサムも公開されています。 - サインインするための、有料プランのMemoratuアカウント。
インストール手順
6つのコマンドです。ターミナルで、順番に実行してください。
-
muをインストールするMacの場合は、公開しているHomebrewのtapから:
brew install subbutgs/memoratu/muHomebrewがformulaを追加し、バイナリをダウンロードして、保存先を表示します(例:
/opt/homebrew/Cellar/mu/0.1.0)。Linuxでは、お使いのアーキテクチャ用のtarballをv0.1.0リリースからダウンロードし、
checksums.txtで確認してから、muを$PATHの通った場所に置いてください。 -
動作を確認する
バージョンと、このインストールの接続先APIを確認します:
mu --versionバージョン、ビルド元のコミット、ベースURLが表示されるはずです:
mu 0.1.0 (commit 4aef1232, built 2026-10-03T16:50:02Z) API: https://api.memoratu.com -
ログイン
この手順にはSolo または Teamが必要
最初のトークンを得る唯一の方法です。サインインするとトークンが発行され、macOSのキーチェーンに保存されます。
mu auth loginmuはメールアドレスとパスワードを順に尋ねます。パスワードは必ず入力画面で受け取り、オプションとしては受け付けません。そのため、シェルの履歴やプロセス一覧に残ることはありません。続いて、トークンの名前、有効期限(既定は90日で、選ばれた値は必ず表示され、黙って設定されることはありません)、与えられた権限が表示されます。シークレットは表示されません。すでに保存済みなので、見せる必要がないからです。
作成されるトークンは、意図的に権限を絞ってあります。プロジェクト、リスト、トークンは読み取りのみ、ToDoは読み取り・作成・更新・完了ができます。ほかのトークンの作成や取り消しはできません。あとのコマンドが
permission_deniedで拒否された場合は、足りない権限の名前が表示されます。これは既定の設計どおりの動作です。無料プランでは、この手順で先に進めません。サーバーがトークンの発行を断り、プランと機能の名前とともに
plan_limit_exceededを返します。 -
最初のToDoを追加する
これが肝心のコマンドです。1行で、設定も、先にプロジェクトを選ぶ必要もありません:
mu add "call the client back"ToDoは
Inboxに入ります。どのアカウントにもある、常設のリストです。muはサーバーに届く前に、お使いのマシン上でIDを生成し、IDと、より長い読みやすい識別子の両方を表示します。Added to Inbox · call the client back id 3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b identifier mem:todo:...:3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b -
一覧を見る
ToDoを一覧表示します:
mu todo list完了したToDoは既定では非表示です。未完了、キャンセル済み、移動済みは引き続き表示されます。すべてのステータスを見るには
--all、完了したものだけなら--status doneを付けます。やることを確認するのではなく、数えたり監査したりする場合は--allを使ってください。 -
完了にする
IDを指定します。gitのように、先頭の数文字だけでも構いません:
mu todo done 3f2b1a9c短くて一意な先頭部分であれば、IDを受け付ける場所ならどこでも使えます。6文字未満はその場で拒否され、複数のToDoに一致する場合は、推測せずにすべての候補を並べて拒否します。
これで一通りの流れです。追加して、一覧を見て、完了にする。以降は細かな補足になります。
コマンド一覧
読みやすくまとめた一覧です。オプションについては、常にmu help <command>が正です。コマンドツリーそのものから生成されるため、ツールとずれることはありません。
| コマンド | できること |
|---|---|
mu add "<title>" | クイック追加。Inboxに入ります。 |
mu todo list | ToDoを一覧表示します。--allを付けない限り、完了したものは表示しません。 |
mu todo get <id> | 1件のToDoの詳細をすべて表示します。 |
mu todo done <id> | 完了にします。 |
mu todo reopen <id> | 再び未完了にします。元の完了時刻は消さずに残ります。 |
mu todo rm <id> | ToDoを削除します。 |
mu project add "<name>" | プロジェクトを作成します。リストの1つ上の階層です。 |
mu project list | プロジェクトを一覧表示します。 |
mu project rm <id> | プロジェクトを中身ごと削除します。元に戻せません。 |
mu list add "<name>" | リストを作成します。プロジェクトの中でも、単独でも作れます。 |
mu list list | リストを一覧表示します。*が付くのがInboxです。 |
mu list rm <id> | リストを削除します。空でないリストには--delete-todosか--move-toが必要です。 |
mu auth login | サインインして、このプロファイルのトークンを発行します。 |
mu auth status | あなたが誰か、どのアカウントか、どの権限があるかを表示します。mu whoamiも同じコマンドです。 |
mu auth logout | このプロファイルのトークンをサーバー側で取り消し、続いて手元からも削除します。 |
mu token list | このアカウントのトークンを表示します。シークレットは表示しません。取り消し済みのものは、--allを付けない限り表示されません。 |
mu token create | トークンを発行します。シークレットが表示されるのは1度きりです。 |
mu token revoke <id> | トークンをただちに取り消します。 |
mu help | すべてのコマンドを表示します。mu help <command>で、1つのコマンドのオプションと例を確認できます。 |
mu exit-codes | 終了コードの表を表示します。 |
削除について
mu project rm、mu list rm、mu todo rm、mu token revokeはいずれも、何も変更せず実行内容だけを表示する--dry-runと、確認を省く--yesを受け付けます。--yesがなく、確認できる端末もない場合は、推測せずに実行を拒否します。
mu project rmは、確認の前に削除される見込みの件数を、実行後に実際の件数を表示し、両者が違えばそのことも伝えます。
mu project rm 7c9e6679-7425-40de-944b-e07fc1f90ae7 --dry-runスクリプトとAIエージェント向け
ターミナルを操作するエージェントは、Memoratuの正規のユーザーです。偶然ではなく、設計としてそうなっています。
常に--output jsonを使う
すべてのコマンドが対応しており、CLI専用に作った別の言い回しではなく、サーバーと同じ形式で返します。
mu todo list --output json分岐の条件にはerror.codeを使い、error.messageは使わないでください。メッセージは人間向けの英語の文章で、いつ書き換わるかわかりません。契約として守られるのはコードです。
{"error": {"code": "plan_limit_exceeded", "message": "...", "detail": {"limit": "max_todos_per_list", "current": 50, "allowed": 50}}}detailには、次の行動に必要な情報が入ります。足りない権限、達していた上限、待つべき時間などです。cli_で始まるコードは、リクエストがお使いのマシンを出る前にmu自身が拒否したことを意味し、サーバー側のコードではありません。
終了コード
stderrのテキストではなく、これらのコードで分岐してください。mu exit-codesで、ツール自身が同じ表を表示します。
| コード | 意味 | 再試行 |
|---|---|---|
0 | 成功 | — |
1 | サーバーが拒否しました。検証エラー、権限、未検出、競合、プランの上限、レート制限、または単なる500など | error.codeを確認します。server_errorとrate_limitedは、間隔を空ければ通常は再試行可。それ以外は不可 |
2 | コマンドの使い方が正しくありません。ネットワーク通信の前に判定されます | 不可。同じように失敗します |
3 | サーバーに接続できませんでした。DNS、接続拒否、リセット、TLS、タイムアウトなど | 可。間隔を空けて再試行します |
4 | 未認証です。トークンがないか、サーバーがそう応答しました | 不可。先に認証情報を直してください |
キーチェーンのない環境での認証情報
MEMORATU_TOKENに、発行済みのシークレットを設定します。すべてのコマンドが、キーチェーンに触れる前にこの変数を確認します。CIや、専用のキーチェーンがない環境で動くエージェントには、この方法が正式な手段です。
export MEMORATU_TOKEN=mem_live_...別の場所に貼り付けられるシークレットが必要なときは、mu token createを使います。そのためのコマンドで、シークレットは1度だけ表示されます。mu auth loginは、発行したトークンをすでに保存済みなので、意図的に表示しません。
エージェントはmu auth loginを単独では完了できません。入力画面には、実際のターミナルで人間が操作するのと同等の標準入力が必要です。muが終了コード4で終わり、設定できるトークンもない場合は、人に頼むべきタイミングです。回避策はありません。これは不備ではなく、意図した設計です。
数を数える前に知っておきたい2つのこと
mu todo listはdoneを、mu token listは取り消し済みのトークンを表示しません。この絞り込みは--output jsonでも同じように働きます。見た目だけの違いではありません。次にやることを決めるのではなく監査するときは、--allを付けてください。- 一覧を返すコマンドはすべてページ分割されます。
--limitと--offsetを渡すと、limit、offset、totalが項目と一緒に返ります。無制限の件数を返すエンドポイントはありません。
プロファイルと2台目のマシン
1台のMacで複数のアカウントを、きちんと分けて使えます。
mu auth login --profile workmu todo list --profile workプロファイルごとに、~/.memoratu/configに専用のエントリ(ベースURLと既定の出力形式で、シークレットは含みません)と、専用のキーチェーン項目が作られます。--profileは、コマンドラインのどこに置いても、コマンドの前でも後でも使えます。
同じプロファイルで再度サインインすると、そのプロファイルの枠にあったトークンが取り消されます。確認メッセージにIDが表示され、ほかには何も影響しません。別のマシンや、このマシンの別のプロファイルでサインインしたトークンは、それぞれの枠にあり、触れられることはありません。
同じ認証情報を2台目のマシンで使うには、mu auth login --show-secretで表示します。発行済みのトークンを使う場合は、--with-tokenで、入力画面またはパイプから読み込みます:
echo "$MY_TOKEN" | mu auth login --with-token