Dokumentation

Die Kommandozeile

Benötigt Solo oder TeamAktualisiert 4. Oktober 2026

mu ist Memoratu im Terminal. Es ist eine einzelne Binärdatei, die per HTTPS mit https://api.memoratu.com spricht und mit sonst nichts, genau wie die Apps auf dem Handy, nur ohne Bildschirm.

Bevor du beginnst

Benötigt Solo oder Team

mu zu installieren ist kostenlos und für alle offen. Um es mit deinem Memoratu-Konto zu nutzen, brauchst du einen kostenpflichtigen Tarif.

Die Kommandozeile ist von Haus aus eine kostenpflichtige Funktion. Beim Anmelden wird ein CLI-Token erzeugt, und der Server lehnt das im kostenlosen Tarif ab: Er antwortet mit plan_limit_exceeded und nennt Tarif und Funktion, statt nur Nein zu sagen.

Was jeder Tarif enthält →

Was du brauchst

  • Ein Mac mit Homebrew für die Ein-Zeilen-Installation. Apple Silicon und Intel werden beide unterstützt.
  • Oder Linux auf arm64 oder amd64: Das Release enthält für beide ein Tarball mit veröffentlichten Prüfsummen.
  • Ein Memoratu-Konto mit kostenpflichtigem Tarif, um dich anzumelden.

Installation, Schritt für Schritt

Sechs Befehle. Führe sie der Reihe nach in einem Terminal aus.

  1. mu installieren

    Auf einem Mac über unseren öffentlichen Homebrew-Tap:

    brew install subbutgs/memoratu/mu

    Homebrew bindet die Formel ein, lädt die Binärdatei herunter und sagt dir, wo sie liegt, etwa /opt/homebrew/Cellar/mu/0.1.0.

    Unter Linux lädst du das Tarball für deine Architektur vom Release v0.1.0 herunter, prüfst es gegen checksums.txt und legst mu irgendwo in deinen $PATH.

  2. Prüfen, ob es läuft

    Bestätige die Version und mit welcher API diese Installation spricht:

    mu --version

    Du solltest die Version, den Commit, aus dem es gebaut wurde, und die Basis-URL sehen:

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

    Dieser Schritt benötigt Solo oder Team

    Das ist der einzige Weg zu deinem ersten Token: Beim Anmelden wird eines für dich erzeugt und im macOS-Schlüsselbund abgelegt.

    mu auth login

    mu fragt nach deiner E-Mail-Adresse und dann nach deinem Passwort. Das Passwort wird immer abgefragt und nie als Option akzeptiert, sodass es weder in den Verlauf deiner Shell noch in die Prozessliste gelangt.

    Danach zeigt es den Namen des Tokens, wann es abläuft (standardmäßig nach 90 Tagen, und der gewählte Wert wird immer angezeigt, nie stillschweigend gesetzt) und welche Berechtigungen es bekommen hat. Das Geheimnis zeigt es nicht an: Es hat es bereits gespeichert und muss es dir nicht zeigen.

    Das Token, das es erzeugt, ist bewusst eng gefasst: Lesen bei Projekten, Listen und Tokens sowie Lesen, Anlegen, Ändern und Abschließen bei Aufgaben. Es kann keine anderen Tokens erzeugen oder widerrufen. Wenn ein späterer Befehl mit permission_denied abgelehnt wird, nennt er die genau fehlende Berechtigung, und das ist schlicht die Standardeinstellung, so wie sie gedacht ist.

    Im kostenlosen Tarif ist hier Schluss. Der Server lehnt es ab, das Token zu erzeugen, und antwortet mit plan_limit_exceeded, wobei er Tarif und Funktion nennt.

  4. Erfasse deine erste Aufgabe

    Das ist der Befehl, auf den es ankommt. Eine Zeile, keine Einrichtung, kein Projekt, das du zuerst wählen musst:

    mu add "call the client back"

    Sie landet in Inbox, der dauerhaften Liste, die jedes Konto hat. mu erzeugt die ID für dich, auf deinem Rechner, bevor der Server davon erfährt, und gibt sowohl die ID als auch die längere lesbare Kennung aus.

    Added to Inbox · call the client back
      id         3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b
      identifier mem:todo:...:3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b
  5. Sieh dir an, was du hast

    Liste deine Aufgaben auf:

    mu todo list

    Erledigte Aufgaben sind standardmäßig ausgeblendet; offene, abgebrochene und verschobene werden weiterhin angezeigt. Mit --all siehst du jeden Status, mit --status done nur die erledigten. Wenn du zählst oder prüfst, statt zu schauen, was noch zu tun ist, nimm --all.

  6. Hake sie ab

    Gib die ID an, oder nur die ersten Zeichen davon, wie bei git:

    mu todo done 3f2b1a9c

    Ein kurzes, eindeutiges Präfix funktioniert überall, wo eine ID akzeptiert wird. Weniger als sechs Zeichen werden sofort abgelehnt, und ein Präfix, das auf mehr als eine Aufgabe passt, wird mit allen Kandidaten abgelehnt, statt zu raten.

    Das ist der ganze Ablauf: erfassen, auflisten, abschließen. Alles Weitere ist Detail.

Die Befehle

Eine lesbare Zusammenfassung. mu help <command> ist bei einer Option immer maßgeblich: Es wird aus dem Befehlsbaum selbst erzeugt und kann deshalb nicht vom Werkzeug abweichen.

BefehlWas er tut
mu add "<title>"Schnelle Erfassung. Landet in Inbox.
mu todo listListet Aufgaben auf. Erledigte werden ausgeblendet, außer du übergibst --all.
mu todo get <id>Zeigt eine Aufgabe vollständig an.
mu todo done <id>Markiert sie als erledigt.
mu todo reopen <id>Öffnet sie wieder. Die ursprüngliche Abschlusszeit bleibt erhalten und wird nicht gelöscht.
mu todo rm <id>Löscht eine Aufgabe.
mu project add "<name>"Legt ein Projekt an, die Ebene über den Listen.
mu project listListet Projekte auf.
mu project rm <id>Löscht ein Projekt und alles darin. Das lässt sich nicht rückgängig machen.
mu list add "<name>"Legt eine Liste an, in einem Projekt oder für sich allein.
mu list listListet Listen auf. Ein * kennzeichnet Inbox.
mu list rm <id>Löscht eine Liste. Eine nicht leere Liste braucht --delete-todos oder --move-to.
mu auth loginMeldet dich an und erzeugt das Token dieses Profils.
mu auth statusWer du bist, welches Konto und welche Berechtigungen. mu whoami ist derselbe Befehl.
mu auth logoutWiderruft das Token dieses Profils auf dem Server und entfernt es dann lokal.
mu token listDie Tokens dieses Kontos, nie ein Geheimnis. Widerrufene werden ausgeblendet, außer du übergibst --all.
mu token createErzeugt ein Token. Das Geheimnis wird genau einmal angezeigt.
mu token revoke <id>Widerruft ein Token sofort.
mu helpAlle Befehle. mu help <command> zeigt Optionen und Beispiele eines Befehls.
mu exit-codesGibt die Tabelle der Exit-Codes aus.

Dinge löschen

mu project rm, mu list rm, mu todo rm und mu token revoke akzeptieren alle --dry-run, das ausgibt, was passieren würde, ohne etwas zu ändern, und --yes, das die Bestätigung überspringt. Wenn weder --yes noch ein Terminal zum Nachfragen da ist, verweigern sie, statt zu raten.

mu project rm zeigt außerdem vor der Nachfrage eine Schätzung dessen, was gelöscht wird, und danach die tatsächlichen Zahlen und weist darauf hin, wenn beide abweichen.

mu project rm 7c9e6679-7425-40de-944b-e07fc1f90ae7 --dry-run

Für Skripte und KI-Agenten

Ein Agent, der ein Terminal bedient, ist ein vollwertiger Nutzer von Memoratu, mit Absicht und nicht zufällig.

Nutze immer --output json

Jeder Befehl unterstützt es, und es liefert dieselbe Form wie der Server selbst, statt eines zweiten, nur für die CLI erfundenen Vokabulars.

mu todo list --output json

Verzweige nach error.code, nie nach error.message: Die Meldung ist englischer Fließtext für Menschen und kann jederzeit umformuliert werden. Der Code ist der Vertrag.

{"error": {"code": "plan_limit_exceeded", "message": "...", "detail": {"limit": "max_todos_per_list", "current": 50, "allowed": 50}}}

detail nennt, was du zum Handeln brauchst: welche Berechtigung fehlt, welches Limit erreicht wurde, wie lange du warten sollst. Ein Code, der mit cli_ beginnt, bedeutet, dass mu selbst abgelehnt hat, bevor irgendeine Anfrage deinen Rechner verlassen hat, und ist nie einer der Codes des Servers.

Exit-Codes

Verzweige nach diesen Codes statt nach dem Text von stderr. mu exit-codes gibt dieselbe Tabelle direkt aus dem Werkzeug aus.

CodeBedeutungWiederholen?
0Erfolg—
1Der Server hat es abgelehnt: Validierung, Berechtigung, nicht gefunden, Konflikt, Tariflimit, Ratenlimit oder ein schlichtes 500Prüfe error.code. server_error und rate_limited meist ja, mit Backoff; alle anderen nein
2Du hast den Befehl falsch benutzt. Wird vor jedem Netzwerkaufruf entschiedenNein: Es scheitert genauso
3Der Server war nicht erreichbar: DNS, Verbindung abgelehnt, zurückgesetzt, TLS, ZeitüberschreitungJa, mit Backoff
4Nicht authentifiziert: kein Token, oder der Server hat es so gemeldetNein: Behebe zuerst die Zugangsdaten

Zugangsdaten für Umgebungen ohne Schlüsselbund

Setze MEMORATU_TOKEN auf ein bereits erzeugtes Geheimnis. Jeder Befehl prüft es, bevor er einen Schlüsselbund anfasst, und das ist der unterstützte Weg für CI und für einen Agenten, der dort läuft, wo es keinen eigenen Schlüsselbund gibt.

export MEMORATU_TOKEN=mem_live_...

Nutze mu token create, um ein Geheimnis zu erhalten, das du anderswo einfügen kannst: Dafür ist es da, und es gibt das Geheimnis genau einmal aus. mu auth login tut das bewusst nicht, weil es das erzeugte bereits gespeichert hat.

Ein Agent kann mu auth login nicht allein abschließen. Die Abfragen brauchen eine menschenähnliche Standardeingabe an einem echten Terminal. Wenn mu mit 4 endet und du kein Token zum Setzen hast, ist das der Moment, eine Person zu fragen: Es gibt keinen Umweg, und das ist eine bewusste Entscheidung, keine Lücke.

Zwei Dinge, die du wissen solltest, bevor du etwas zählst

  • mu todo list blendet done aus, und mu token list blendet widerrufene Tokens aus. Beide Filter gelten bei --output json genauso: Das ist kein Darstellungsunterschied. Übergib --all, wenn du prüfst, statt zu entscheiden, was zu tun ist.
  • Jeder Listenbefehl paginiert. --limit und --offset gehen hinein; limit, offset und total kommen zusammen mit den Einträgen zurück. Kein Endpunkt liefert je eine unbegrenzte Menge.

Profile und ein zweiter Rechner

Ein Mac, mehrere Konten, jedes sauber getrennt.

mu auth login --profile work
mu todo list --profile work

Jedes Profil hat einen eigenen Eintrag in ~/.memoratu/config (die Basis-URL und das Standard-Ausgabeformat, nie ein Geheimnis) und ein eigenes Element im Schlüsselbund. --profile funktioniert an beliebiger Stelle in der Befehlszeile, vor oder nach dem Befehl selbst.

Wenn du dich im selben Profil erneut anmeldest, wird das Token widerrufen, das im Platz dieses Profils lag, in der Bestätigung mit seiner ID genannt, und sonst nichts. Ein Token, das auf einem anderen Rechner oder unter einem anderen Profil auf diesem angemeldet wurde, liegt in seinem eigenen Platz und wird nie angetastet.

Um dieselben Zugangsdaten auf einem zweiten Rechner zu verwenden, gibt mu auth login --show-secret sie aus. Um stattdessen ein bereits erzeugtes Token zu übernehmen, liest --with-token eines aus einer Abfrage oder einer Pipe:

echo "$MY_TOKEN" | mu auth login --with-token