ドキュメント

コマンドライン

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つのコマンドです。ターミナルで、順番に実行してください。

  1. muをインストールする

    Macの場合は、公開しているHomebrewのtapから:

    brew install subbutgs/memoratu/mu

    Homebrewがformulaを追加し、バイナリをダウンロードして、保存先を表示します(例: /opt/homebrew/Cellar/mu/0.1.0)。

    Linuxでは、お使いのアーキテクチャ用のtarballをv0.1.0リリースからダウンロードし、checksums.txtで確認してから、muを$PATHの通った場所に置いてください。

  2. 動作を確認する

    バージョンと、このインストールの接続先APIを確認します:

    mu --version

    バージョン、ビルド元のコミット、ベースURLが表示されるはずです:

    mu 0.1.0 (commit 4aef1232, built 2026-10-03T16:50:02Z)
    API: https://api.memoratu.com
  3. ログイン

    この手順にはSolo または Teamが必要

    最初のトークンを得る唯一の方法です。サインインするとトークンが発行され、macOSのキーチェーンに保存されます。

    mu auth login

    muはメールアドレスとパスワードを順に尋ねます。パスワードは必ず入力画面で受け取り、オプションとしては受け付けません。そのため、シェルの履歴やプロセス一覧に残ることはありません。

    続いて、トークンの名前、有効期限(既定は90日で、選ばれた値は必ず表示され、黙って設定されることはありません)、与えられた権限が表示されます。シークレットは表示されません。すでに保存済みなので、見せる必要がないからです。

    作成されるトークンは、意図的に権限を絞ってあります。プロジェクト、リスト、トークンは読み取りのみ、ToDoは読み取り・作成・更新・完了ができます。ほかのトークンの作成や取り消しはできません。あとのコマンドがpermission_deniedで拒否された場合は、足りない権限の名前が表示されます。これは既定の設計どおりの動作です。

    無料プランでは、この手順で先に進めません。サーバーがトークンの発行を断り、プランと機能の名前とともにplan_limit_exceededを返します。

  4. 最初の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
  5. 一覧を見る

    ToDoを一覧表示します:

    mu todo list

    完了したToDoは既定では非表示です。未完了、キャンセル済み、移動済みは引き続き表示されます。すべてのステータスを見るには--all、完了したものだけなら--status doneを付けます。やることを確認するのではなく、数えたり監査したりする場合は--allを使ってください。

  6. 完了にする

    IDを指定します。gitのように、先頭の数文字だけでも構いません:

    mu todo done 3f2b1a9c

    短くて一意な先頭部分であれば、IDを受け付ける場所ならどこでも使えます。6文字未満はその場で拒否され、複数のToDoに一致する場合は、推測せずにすべての候補を並べて拒否します。

    これで一通りの流れです。追加して、一覧を見て、完了にする。以降は細かな補足になります。

コマンド一覧

読みやすくまとめた一覧です。オプションについては、常にmu help <command>が正です。コマンドツリーそのものから生成されるため、ツールとずれることはありません。

コマンドできること
mu add "<title>"クイック追加。Inboxに入ります。
mu todo listToDoを一覧表示します。--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 work
mu 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