Documentación

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.

Qué incluye cada plan →

Lo que necesitas

  • Un Mac con Homebrew, para la instalación en una línea. Sirven tanto Apple silicon como Intel.
  • O Linux, en arm64 o amd64: 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.

  1. Instala mu

    En un Mac, desde nuestro tap público de Homebrew:

    brew install subbutgs/memoratu/mu

    Homebrew 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.txt y pon mu en algún lugar de tu $PATH.

  2. Comprueba que funciona

    Confirma la versión y con qué API habla esta instalación:

    mu --version

    Deberí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
  3. 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 login

    mu te 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.

  4. 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. mu genera 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
  5. Mira lo que tienes

    Lista tus tareas:

    mu todo list

    Las tareas completadas están ocultas por defecto; las abiertas, canceladas y movidas siguen apareciendo. Añade --all para ver todos los estados, o --status done solo para las terminadas. Si estás contando o auditando en lugar de ver qué hay que hacer, usa --all.

  6. Márcala como hecha

    Pasa el id, o solo los primeros caracteres, al estilo git:

    mu todo done 3f2b1a9c

    Un 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.

ComandoQué hace
mu add "<title>"Captura rápida. Cae en Inbox.
mu todo listLista 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 listLista 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 listLista 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 loginInicia sesión y crea el token de este perfil.
mu auth statusQuién eres, qué cuenta y qué permisos. mu whoami es el mismo comando.
mu auth logoutRevoca el token de este perfil en el servidor y luego lo elimina en local.
mu token listLos tokens de esta cuenta, nunca un secreto. Los revocados se ocultan salvo que pases --all.
mu token createCrea un token. El secreto se muestra una sola vez.
mu token revoke <id>Revoca un token al instante.
mu helpTodos los comandos. mu help <command> muestra las opciones y ejemplos de un comando.
mu exit-codesImprime 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-run

Para 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 json

Ramifica 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ódigoSignificado¿Reintentar?
0Correcto—
1El servidor lo rechazó: validación, permiso, no encontrado, conflicto, límite del plan, límite de frecuencia o un 500 sin másConsulta error.code. server_error y rate_limited normalmente sí, con espera creciente; el resto no
2Usaste mal el comando. Se decide antes de cualquier llamada de redNo: fallará igual
3No se pudo contactar con el servidor: DNS, rechazo, reinicio de conexión, TLS, tiempo de esperaSí, con espera creciente
4No autenticado: falta el token, o así lo dijo el servidorNo: 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 list oculta done, y mu token list oculta los tokens revocados. Ambos filtros se aplican igual en --output json: no es una diferencia de presentación. Pasa --all cuando audites en lugar de decidir qué hacer.
  • Todos los comandos de listado paginan. Entran --limit y --offset; salen limit, offset y total junto 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 work
mu todo list --profile work

Cada 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