Skip to main content
Glama

Crea listas, añade recordatorios, organízalos en secciones y haz que todo se sincronice en todos tus dispositivos Apple, desde la terminal.

¿Por qué remi?

  • Secciones con sincronización en iCloud — la única CLI que soporta secciones de Recordatorios de Apple. Créalas, asigna recordatorios, muévelos entre ellas y todo se sincronizará.

  • Lenguaje natural--due "next tuesday", --repeat "every 2 weeks on monday,friday"

  • Coincidencia difusa (fuzzy matching) — escribe remi list shopping en lugar de remi list "Groceries / Shopping List"

  • Pensado para agentes — salida JSON estructurada, plugin para Claude Code, skill para skills.sh, compatible con OpenClaw

  • Rápido — helpers compilados en Swift, sin Electron, sin interfaz gráfica

vs otras herramientas

remi

remindctl

reminders-cli

Secciones

No

No

Sincronización de secciones (iCloud)

N/A

N/A

Recurrencia

No

Fechas en lenguaje natural

No

Salida JSON

No

Integración con agentes IA

Parcial

No

Instalación

brew tap mattheworiordan/tap && brew install remi

O vía npm:

npm install -g @mattheworiordan/remi
# or run without installing
npx @mattheworiordan/remi lists

Inicio rápido

remi lists                                              # See all lists
remi list "Groceries"                                   # View a list (fuzzy: remi list groceries)
remi add "Groceries" "Buy milk" --section "Dairy"       # Add to a section
remi today                                              # What's due today?
remi complete "Groceries" "milk"                        # Fuzzy complete

Uso

Comprobar qué hay pendiente

remi today                    # Due today
remi overdue                  # Past due
remi upcoming --days 7        # Coming up
remi search "dentist"         # Search across all lists

Gestionar recordatorios

remi add "Work" "Review PR" --due "next friday" --priority high
remi add "Work" "Standup" --due tomorrow --repeat daily
remi complete "Work" "standup"
remi update "Work" "Review PR" --due "in 3 days"
remi delete "Work" "Review PR" --confirm

Fechas: tomorrow, next tuesday, in 3 days, o YYYY-MM-DD Recurrencia: daily, weekly, monthly, every 2 weeks, every 3 months on monday,friday

Organizar con secciones

remi sections "Groceries"                                # List sections
remi create-section "Groceries" "Produce"                # Create a section
remi add "Groceries" "Bananas" --section "Produce"       # Add to a section
remi move "Groceries" "Bananas" --to-section "Dairy"     # Move between sections

Las secciones se sincronizan con iCloud mediante relojes vectoriales CRDT. Consulta cómo funciona.

Salida JSON

Cada comando admite --json para una salida legible por máquina:

remi today --json
# {"success": true, "data": [...]}

Integración con agentes IA

remi está diseñado para agentes de IA. Úsalo como servidor MCP, plugin de Claude Code o skill:

Servidor MCP

{
  "mcpServers": {
    "remi": {
      "command": "remi",
      "args": ["--mcp"]
    }
  }
}

16 herramientas: remi_lists, remi_add, remi_complete, remi_move, remi_today, remi_search y más, todas con coincidencia difusa y respuestas estructuradas.

Otras integraciones

# Claude Code plugin
claude plugin marketplace add mattheworiordan/remi

# skills.sh
npx skills add mattheworiordan/remi

# OpenClaw
clawhub install remi

Permisos

En la primera ejecución, macOS te pedirá que concedas acceso a Recordatorios (haz clic en Permitir). Las funciones de sección también necesitan Acceso total al disco para tu aplicación de terminal.

remi authorize    # Guides you through both
remi doctor       # Shows what's granted

Requisitos

  • macOS 13+ (Ventura o posterior)

  • Node.js 18+

  • Xcode Command Line Tools (xcode-select --install)

Cómo funciona

remi utiliza tres capas porque Apple nunca expuso las secciones en su API pública:

Capa

Qué

Por qué

EventKit

CRUD de recordatorios, consultas, recurrencia

API pública estable

ReminderKit

CRUD de secciones

Framework privado: la única forma de crear secciones que se sincronicen

SQLite + Token Maps

Pertenencia a secciones

Escrituras directas en la base de datos con relojes vectoriales CRDT para la sincronización con iCloud

La historia completa de ingeniería inversa explica lo que descubrimos sobre la arquitectura de sincronización no documentada de Apple.

Contribución

git clone https://github.com/mattheworiordan/remi.git && cd remi
npm install && npm run build:swift && npm run build
npm test                        # Unit tests
npm run test:integration        # Integration tests (needs Reminders access)

Licencia

MIT — Matthew O'Riordan

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattheworiordan/remi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server