A linha de comando
Requer Solo ou TeamAtualizado 4 de outubro de 2026
mu é o Memoratu no terminal. É um único binário que fala com https://api.memoratu.com por HTTPS e com mais nada, do mesmo jeito que os apps do celular, só que sem tela.
Antes de começar
Requer Solo ou Team
Instalar o mu é gratuito e aberto a qualquer pessoa. Usá-lo com a sua conta do Memoratu exige um plano pago.
A linha de comando é um recurso pago por design. Ao entrar na conta, é criado um token de CLI, e o servidor se recusa a criar um no plano gratuito: ele responde plan_limit_exceeded e informa o plano e o recurso, em vez de apenas dizer não.
O que você precisa
- Um Mac com o Homebrew, para a instalação em uma linha. Apple silicon e Intel são compatíveis.
- Ou Linux, em
arm64ouamd64: a versão traz um tarball para cada um, com checksums publicados. - Uma conta do Memoratu com plano pago, para entrar.
Instale, passo a passo
Seis comandos. Execute-os em ordem, em um terminal.
-
Instale o
muEm um Mac, a partir do nosso tap público do Homebrew:
brew install subbutgs/memoratu/muO Homebrew adiciona a fórmula, baixa o binário e mostra onde ele foi parar, algo como
/opt/homebrew/Cellar/mu/0.1.0.No Linux, baixe o tarball da sua arquitetura na versão v0.1.0, confira com o
checksums.txte coloque omuem algum lugar do seu$PATH. -
Confira se funcionou
Confirme a versão e com qual API esta instalação fala:
mu --versionVocê deve ver a versão, o commit a partir do qual foi compilado e a URL base:
mu 0.1.0 (commit 4aef1232, built 2026-10-03T16:50:02Z) API: https://api.memoratu.com -
Entrar
Esta etapa requer Solo ou Team
Esta é a única forma de obter o seu primeiro token: ao entrar na conta, um é criado para você e guardado no Chaveiro do macOS.
mu auth loginO
mupede o seu e-mail e depois a sua senha. A senha é sempre digitada no prompt e nunca é aceita como argumento, então ela não vai parar no histórico do seu shell nem na lista de processos.Em seguida, ele mostra o nome do token, quando expira (90 dias por padrão, e o valor escolhido é sempre exibido, nunca em silêncio) e as permissões concedidas. Ele não mostra o segredo: já o guardou, então não precisa mostrá-lo a você.
O token criado é deliberadamente restrito: leitura em projetos, listas e tokens, e leitura, criação, atualização e conclusão em tarefas. Ele não pode criar nem revogar outros tokens. Se um comando posterior for recusado com
permission_denied, ele informa a permissão exata que falta, e isso é o comportamento padrão funcionando como planejado.Em um plano gratuito, é aqui que você para. O servidor se recusa a criar o token e responde
plan_limit_exceeded, informando o plano e o recurso. -
Capture sua primeira tarefa
Este é o comando que importa. Uma linha, sem configuração, sem escolher um projeto antes:
mu add "call the client back"Ela cai na
Inbox, a lista permanente que toda conta tem. Omugera o id para você, na sua máquina, antes de o servidor saber, e mostra tanto o id quanto o identificador legível, mais longo.Added to Inbox · call the client back id 3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b identifier mem:todo:...:3f2b1a9c-7e2d-4b11-9c4a-6a1f2e9d7c3b -
Veja o que você tem
Liste as suas tarefas:
mu todo listAs tarefas concluídas ficam ocultas por padrão; as abertas, canceladas e movidas continuam aparecendo. Adicione
--allpara ver todos os status, ou--status donesó para as concluídas. Se você está contando ou auditando, em vez de ver o que falta fazer, use--all. -
Marque como concluída
Passe o id, ou apenas os primeiros caracteres dele, no estilo do git:
mu todo done 3f2b1a9cUm prefixo curto e único funciona em qualquer lugar onde um id é aceito. Menos de seis caracteres é recusado de cara, e um prefixo que corresponde a mais de uma tarefa é recusado com todos os candidatos listados, sem adivinhar.
Esse é o ciclo todo: capturar, listar, concluir. Tudo o que vem a seguir é detalhe.
Os comandos
Um resumo legível. mu help <command> é sempre a referência para uma opção: ele é gerado a partir da própria árvore de comandos, então não pode ficar fora de sincronia com a ferramenta.
| Comando | O que faz |
|---|---|
mu add "<title>" | Captura rápida. Cai na Inbox. |
mu todo list | Lista as tarefas. Oculta as concluídas, a menos que você passe --all. |
mu todo get <id> | Mostra uma tarefa por completo. |
mu todo done <id> | Marca como concluída. |
mu todo reopen <id> | Reabre a tarefa. O horário de conclusão original é mantido, não apagado. |
mu todo rm <id> | Exclui uma tarefa. |
mu project add "<name>" | Cria um projeto, o nível acima das listas. |
mu project list | Lista os projetos. |
mu project rm <id> | Exclui um projeto e tudo o que há nele. Não dá para desfazer. |
mu list add "<name>" | Cria uma lista, dentro de um projeto ou avulsa. |
mu list list | Lista as listas. Um * marca a Inbox. |
mu list rm <id> | Exclui uma lista. Uma lista que não esteja vazia exige --delete-todos ou --move-to. |
mu auth login | Entra na conta e cria o token deste perfil. |
mu auth status | Quem você é, qual conta e quais permissões. mu whoami é o mesmo comando. |
mu auth logout | Revoga o token deste perfil no servidor e depois o remove localmente. |
mu token list | Os tokens desta conta, nunca um segredo. Os revogados ficam ocultos, a menos que você passe --all. |
mu token create | Cria um token. O segredo é mostrado uma única vez. |
mu token revoke <id> | Revoga um token imediatamente. |
mu help | Todos os comandos. mu help <command> mostra as opções e os exemplos de um comando. |
mu exit-codes | Imprime a tabela de códigos de saída. |
Excluir coisas
mu project rm, mu list rm, mu todo rm e mu token revoke aceitam --dry-run, que mostra o que aconteceria sem alterar nada, e --yes, que pula a confirmação. Sem --yes e sem um terminal para perguntar, eles se recusam em vez de adivinhar.
mu project rm também mostra uma estimativa do que será excluído antes de perguntar, e as contagens reais depois, avisando se as duas diferirem.
mu project rm 7c9e6679-7425-40de-944b-e07fc1f90ae7 --dry-runPara scripts e agentes de IA
Um agente que opera um terminal é um usuário de primeira classe do Memoratu, por design e não por acaso.
Use sempre --output json
Todos os comandos o aceitam, e ele devolve o mesmo formato que o próprio servidor, em vez de um segundo vocabulário inventado para a CLI.
mu todo list --output jsonRamifique pelo error.code, nunca pelo error.message: a mensagem é texto em inglês para uma pessoa e pode ser reescrita a qualquer momento. O código é o contrato.
{"error": {"code": "plan_limit_exceeded", "message": "...", "detail": {"limit": "max_todos_per_list", "current": 50, "allowed": 50}}}detail informa o que você precisa para agir: qual permissão falta, qual limite foi atingido, quanto esperar antes de tentar de novo. Um código que começa com cli_ significa que o próprio mu recusou antes de qualquer requisição sair da sua máquina, e nunca é um dos códigos do servidor.
Códigos de saída
Ramifique por estes códigos, e não pelo texto do stderr. mu exit-codes imprime a mesma tabela a partir da própria ferramenta.
| Código | Significado | Tentar de novo? |
|---|---|---|
0 | Sucesso | — |
1 | O servidor recusou: validação, permissão, não encontrado, conflito, limite do plano, limite de taxa ou um simples 500 | Consulte error.code. server_error e rate_limited geralmente sim, com espera crescente; os demais não |
2 | Você usou o comando de forma errada. Decidido antes de qualquer chamada de rede | Não: vai falhar do mesmo jeito |
3 | Não foi possível alcançar o servidor: DNS, recusa, conexão reiniciada, TLS, tempo esgotado | Sim, com espera crescente |
4 | Não autenticado: sem token, ou o servidor informou isso | Não: corrija primeiro as credenciais |
Credenciais, para algo sem chaveiro
Defina MEMORATU_TOKEN com um segredo já criado. Todos os comandos o verificam antes de tocar em qualquer chaveiro, e esse é o caminho suportado para CI e para um agente que roda onde não há chaveiro próprio.
export MEMORATU_TOKEN=mem_live_...Use mu token create para obter um segredo que você possa colar em outro lugar: é exatamente para isso que ele serve, e mostra o segredo uma única vez. O mu auth login deliberadamente não faz isso, porque já guardou o que criou.
Um agente não consegue concluir o mu auth login sozinho. Os prompts exigem uma entrada padrão equivalente à de uma pessoa em um terminal real. Se o mu terminar com 4 e você não tiver um token para definir, é a hora de pedir a uma pessoa: não há atalho, e isso é uma escolha deliberada, não uma lacuna.
Duas coisas a saber antes de contar qualquer coisa
mu todo listocultadone, emu token listoculta os tokens revogados. Os dois filtros se aplicam igualmente em--output json: não é uma diferença de apresentação. Passe--allquando estiver auditando, em vez de decidir o que fazer.- Todo comando de listagem pagina.
--limite--offsetentram;limit,offsetetotalvoltam junto com os itens. Nenhum endpoint devolve um conjunto sem limite.
Perfis e uma segunda máquina
Um Mac, várias contas, cada uma bem separada.
mu auth login --profile workmu todo list --profile workCada perfil tem a sua própria entrada em ~/.memoratu/config (a URL base e o formato de saída padrão, nunca um segredo) e o seu próprio item no Chaveiro. --profile funciona em qualquer ponto da linha de comando, antes ou depois do próprio comando.
Entrar de novo no mesmo perfil revoga o token que estava no espaço desse perfil, citado pelo id na confirmação, e nada mais. Um token de outra máquina, ou de outro perfil nesta, fica em seu próprio espaço e nunca é tocado.
Para reutilizar as mesmas credenciais em uma segunda máquina, mu auth login --show-secret as mostra. Para usar um token já criado, --with-token lê um a partir de um prompt ou de um pipe:
echo "$MY_TOKEN" | mu auth login --with-token