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 du brauchst
- Ein Mac mit Homebrew für die Ein-Zeilen-Installation. Apple Silicon und Intel werden beide unterstützt.
- Oder Linux auf
arm64oderamd64: 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.
-
muinstallierenAuf einem Mac über unseren öffentlichen Homebrew-Tap:
brew install subbutgs/memoratu/muHomebrew 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.txtund legstmuirgendwo in deinen$PATH. -
Prüfen, ob es läuft
Bestätige die Version und mit welcher API diese Installation spricht:
mu --versionDu 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 -
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 loginmufragt 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_deniedabgelehnt 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. -
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.muerzeugt 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 -
Sieh dir an, was du hast
Liste deine Aufgaben auf:
mu todo listErledigte Aufgaben sind standardmäßig ausgeblendet; offene, abgebrochene und verschobene werden weiterhin angezeigt. Mit
--allsiehst du jeden Status, mit--status donenur die erledigten. Wenn du zählst oder prüfst, statt zu schauen, was noch zu tun ist, nimm--all. -
Hake sie ab
Gib die ID an, oder nur die ersten Zeichen davon, wie bei git:
mu todo done 3f2b1a9cEin 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.
| Befehl | Was er tut |
|---|---|
mu add "<title>" | Schnelle Erfassung. Landet in Inbox. |
mu todo list | Listet 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 list | Listet 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 list | Listet 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 login | Meldet dich an und erzeugt das Token dieses Profils. |
mu auth status | Wer du bist, welches Konto und welche Berechtigungen. mu whoami ist derselbe Befehl. |
mu auth logout | Widerruft das Token dieses Profils auf dem Server und entfernt es dann lokal. |
mu token list | Die Tokens dieses Kontos, nie ein Geheimnis. Widerrufene werden ausgeblendet, außer du übergibst --all. |
mu token create | Erzeugt ein Token. Das Geheimnis wird genau einmal angezeigt. |
mu token revoke <id> | Widerruft ein Token sofort. |
mu help | Alle Befehle. mu help <command> zeigt Optionen und Beispiele eines Befehls. |
mu exit-codes | Gibt 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-runFü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 jsonVerzweige 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.
| Code | Bedeutung | Wiederholen? |
|---|---|---|
0 | Erfolg | — |
1 | Der Server hat es abgelehnt: Validierung, Berechtigung, nicht gefunden, Konflikt, Tariflimit, Ratenlimit oder ein schlichtes 500 | Prüfe error.code. server_error und rate_limited meist ja, mit Backoff; alle anderen nein |
2 | Du hast den Befehl falsch benutzt. Wird vor jedem Netzwerkaufruf entschieden | Nein: Es scheitert genauso |
3 | Der Server war nicht erreichbar: DNS, Verbindung abgelehnt, zurückgesetzt, TLS, Zeitüberschreitung | Ja, mit Backoff |
4 | Nicht authentifiziert: kein Token, oder der Server hat es so gemeldet | Nein: 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 listblendetdoneaus, undmu token listblendet widerrufene Tokens aus. Beide Filter gelten bei--output jsongenauso: Das ist kein Darstellungsunterschied. Übergib--all, wenn du prüfst, statt zu entscheiden, was zu tun ist.- Jeder Listenbefehl paginiert.
--limitund--offsetgehen hinein;limit,offsetundtotalkommen 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 workmu todo list --profile workJedes 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