La línea de comandos
Requiere Solo o TeamActualizado 4 de octubre de 2026
mu es Memoratu desde una terminal. Es un único binario que habla con https://api.memoratu.com por HTTPS y con nada más, igual que las apps del móvil, solo que sin pantalla.
Antes de empezar
Requiere Solo o Team
Instalar mu es gratis y está abierto a cualquiera. Usarlo con tu cuenta de Memoratu requiere un plan de pago.
La línea de comandos es una función de pago por diseño. Al iniciar sesión se crea un token de CLI, y el servidor se niega a crear uno en el plan gratuito: responde plan_limit_exceeded y nombra el plan y la función, en lugar de limitarse a decir que no.
Lo que necesitas
- Un Mac con Homebrew, para la instalación en una línea. Sirven tanto Apple silicon como Intel.
- O Linux, en
arm64oamd64: la versión incluye un archivo tar para cada uno, con sumas de verificación publicadas. - Una cuenta de Memoratu con un plan de pago, para iniciar sesión.
Instálalo, paso a paso
Seis comandos. Ejecútalos en orden, en una terminal.
-
Instala
muEn un Mac, desde nuestro tap público de Homebrew:
brew install subbutgs/memoratu/muHomebrew añade la fórmula, descarga el binario y te dice dónde ha quedado, algo como
/opt/homebrew/Cellar/mu/0.1.0.En Linux, descarga el tarball de tu arquitectura desde la versión v0.1.0, compruébalo con
checksums.txty ponmuen algún lugar de tu$PATH. -
Comprueba que funciona
Confirma la versión y con qué API habla esta instalación:
mu --versionDeberías ver la versión, el commit desde el que se compiló y la URL base:
mu 0.1.0 (commit 4aef1232, built 2026-10-03T16:50:02Z) API: https://api.memoratu.com -
Iniciar sesión
Este paso requiere Solo o Team
Es la única forma de conseguir tu primer token: al iniciar sesión se crea uno para ti y se guarda en el Llavero de macOS.
mu auth loginmute pide el correo y luego la contraseña. La contraseña siempre se pide en pantalla y nunca se acepta como argumento, así que no llega al historial de tu shell ni a la lista de procesos.Después muestra el nombre del token, cuándo caduca (90 días por defecto, y el valor elegido siempre se muestra, nunca en silencio) y los permisos que recibió. No muestra el secreto: ya lo guardó, así que no necesita enseñártelo.
El token que crea es deliberadamente limitado: lectura en proyectos, listas y tokens, y lectura, creación, actualización y finalización en tareas. No puede crear ni revocar otros tokens. Si un comando posterior falla con
permission_denied, nombra el permiso exacto que falta, y eso es simplemente el comportamiento por defecto, tal como se diseñó.En un plan gratuito, este paso es donde te detienes. El servidor se niega a crear el token y responde
plan_limit_exceeded, nombrando el plan y la función. -
Captura tu primera tarea
Este es el comando que importa. Una línea, sin configuración, sin elegir antes un proyecto:
mu add "call the client back"Cae en
Inbox, la lista permanente que toda cuenta tiene.mugenera el id por ti, en tu equipo, antes de que el servidor se entere, y muestra tanto el id como el identificador legible más largo.Added to Inbox · call the client back id 3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b identifier mem:todo:...:3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b -
Mira lo que tienes
Lista tus tareas:
mu todo listLas tareas completadas están ocultas por defecto; las abiertas, canceladas y movidas siguen apareciendo. Añade
--allpara ver todos los estados, o--status donesolo para las terminadas. Si estás contando o auditando en lugar de ver qué hay que hacer, usa--all. -
Márcala como hecha
Pasa el id, o solo los primeros caracteres, al estilo git:
mu todo done 3f2b1a9cUn prefijo corto y único funciona en cualquier sitio donde se acepte un id. Menos de seis caracteres se rechaza sin más, y un prefijo que coincide con más de una tarea se rechaza listando todos los candidatos, sin adivinar.
Ese es todo el ciclo: capturar, listar, completar. Todo lo que sigue es detalle.
Los comandos
Un resumen legible. mu help <command> es siempre la autoridad sobre una opción: se genera desde el propio árbol de comandos, así que no puede desfasarse de la herramienta.
| Comando | Qué hace |
|---|---|
mu add "<title>" | Captura rápida. Cae en Inbox. |
mu todo list | Lista las tareas. Oculta las completadas salvo que pases --all. |
mu todo get <id> | Muestra una tarea completa. |
mu todo done <id> | La marca como completada. |
mu todo reopen <id> | La reabre. Se conserva la hora de finalización original, no se borra. |
mu todo rm <id> | Elimina una tarea. |
mu project add "<name>" | Crea un proyecto, el nivel por encima de las listas. |
mu project list | Lista los proyectos. |
mu project rm <id> | Elimina un proyecto y todo lo que contiene. No se puede deshacer. |
mu list add "<name>" | Crea una lista, dentro de un proyecto o por sí sola. |
mu list list | Lista las listas. Un * marca Inbox. |
mu list rm <id> | Elimina una lista. Una que no esté vacía necesita --delete-todos o --move-to. |
mu auth login | Inicia sesión y crea el token de este perfil. |
mu auth status | Quién eres, qué cuenta y qué permisos. mu whoami es el mismo comando. |
mu auth logout | Revoca el token de este perfil en el servidor y luego lo elimina en local. |
mu token list | Los tokens de esta cuenta, nunca un secreto. Los revocados se ocultan salvo que pases --all. |
mu token create | Crea un token. El secreto se muestra una sola vez. |
mu token revoke <id> | Revoca un token al instante. |
mu help | Todos los comandos. mu help <command> muestra las opciones y ejemplos de un comando. |
mu exit-codes | Imprime la tabla de códigos de salida. |
Eliminar cosas
mu project rm, mu list rm, mu todo rm y mu token revoke aceptan --dry-run, que muestra lo que pasaría sin modificar nada, y --yes, que omite la confirmación. Si no reciben ni --yes ni una terminal en la que preguntar, se niegan en lugar de adivinar.
mu project rm también muestra una estimación de lo que se eliminará antes de preguntar, y los recuentos reales después, e indica si difieren.
mu project rm 7c9e6679-7425-40de-944b-e07fc1f90ae7 --dry-runPara scripts y agentes de IA
Un agente que maneja una terminal es un usuario de primera clase de Memoratu, por diseño y no por casualidad.
Usa siempre --output json
Todos los comandos lo admiten y devuelve la misma forma que el propio servidor, en lugar de un segundo vocabulario inventado para la CLI.
mu todo list --output jsonRamifica según error.code, nunca según error.message: el mensaje es prosa en inglés para una persona y puede reescribirse en cualquier momento. El código es el contrato.
{"error": {"code": "plan_limit_exceeded", "message": "...", "detail": {"limit": "max_todos_per_list", "current": 50, "allowed": 50}}}detail nombra lo que necesitas para actuar: qué permiso falta, qué límite se alcanzó, cuánto esperar antes de reintentar. Un código que empieza por cli_ significa que mu mismo se negó antes de que saliera ninguna petición de tu equipo, y nunca es uno de los códigos del servidor.
Códigos de salida
Ramifica según estos, no según el texto de stderr. mu exit-codes imprime la misma tabla desde la propia herramienta.
| Código | Significado | ¿Reintentar? |
|---|---|---|
0 | Correcto | — |
1 | El servidor lo rechazó: validación, permiso, no encontrado, conflicto, límite del plan, límite de frecuencia o un 500 sin más | Consulta error.code. server_error y rate_limited normalmente sí, con espera creciente; el resto no |
2 | Usaste mal el comando. Se decide antes de cualquier llamada de red | No: fallará igual |
3 | No se pudo contactar con el servidor: DNS, rechazo, reinicio de conexión, TLS, tiempo de espera | Sí, con espera creciente |
4 | No autenticado: falta el token, o así lo dijo el servidor | No: arregla antes las credenciales |
Credenciales, para algo sin llavero
Define MEMORATU_TOKEN con un secreto ya creado. Todos los comandos lo comprueban antes de tocar ningún llavero, y es la vía admitida para CI y para un agente que se ejecuta donde no hay llavero propio.
export MEMORATU_TOKEN=mem_live_...Usa mu token create para obtener un secreto que puedas pegar en otro sitio: es justo para eso, y imprime el secreto una sola vez. mu auth login deliberadamente no lo hace, porque ya guardó el que creó.
Un agente no puede completar mu auth login por sí solo. Los avisos necesitan una entrada estándar equivalente a la de una persona en una terminal real. Si mu termina con 4 y no tienes un token que configurar, es el momento de preguntar a una persona: no hay atajo, y es una decisión deliberada, no una carencia.
Dos cosas que debes saber antes de contar nada
mu todo listocultadone, ymu token listoculta los tokens revocados. Ambos filtros se aplican igual en--output json: no es una diferencia de presentación. Pasa--allcuando audites en lugar de decidir qué hacer.- Todos los comandos de listado paginan. Entran
--limity--offset; salenlimit,offsetytotaljunto con los elementos. Ningún endpoint devuelve nunca un conjunto sin límite.
Perfiles y un segundo equipo
Un Mac, varias cuentas, cada una bien separada.
mu auth login --profile workmu todo list --profile workCada perfil tiene su propia entrada en ~/.memoratu/config (la URL base y el formato de salida por defecto, nunca un secreto) y su propio elemento en el Llavero. --profile funciona en cualquier punto de la línea de comandos, antes o después del propio comando.
Volver a iniciar sesión en el mismo perfil revoca el token que había en ese hueco del perfil, nombrado por su id en la confirmación, y nada más. Un token creado al iniciar sesión en otro equipo, o bajo otro perfil en este, vive en su propio hueco y nunca se toca.
Para reutilizar las mismas credenciales en un segundo equipo, mu auth login --show-secret las muestra. Para usar en su lugar un token ya creado, --with-token lo lee desde un aviso o una tubería:
echo "$MY_TOKEN" | mu auth login --with-token