# rem

> A blazing-fast open-source CLI for macOS Reminders that uses EventKit via cgo for sub-200ms reads and writes, natural language dates, and AI agent skill support.

rem is an open-source command-line interface for macOS Reminders, written in Go and maintained by BRO3886 on GitHub. It accesses Apple's EventKit framework directly via cgo through the companion go-eventkit library, achieving sub-200ms response times for all read and write operations. The project is available under the MIT License and can be installed via Homebrew, a curl install script, or `go install`.

## What It Is

rem is a macOS-only CLI tool that lets developers and power users manage their Reminders from the terminal without the performance overhead of AppleScript or JXA. Rather than sending Apple Events across process boundaries, rem compiles EventKit bindings directly into a single Go binary, giving it direct in-process memory access to the Reminders store. The project homepage claims this approach is 462× faster than JXA/AppleScript — reading 224 reminders takes approximately 130ms versus 60+ seconds with the scripting bridge.

## Core Capabilities

rem ships 20 commands covering the full lifecycle of reminders and lists:

- **CRUD** — `add`, `list`, `show`, `update`, `complete`, `uncomplete`, `delete`
- **Flags and search** — `flag`, `unflag`, `search`, `overdue`, `upcoming`, `today`
- **List management** — `lists`, `list-mgmt create/rename/delete`
- **Import/Export** — JSON and CSV with full property round-trip, including `--dry-run` preview
- **Interactive mode** — full terminal menu via `rem interactive`
- **Stats** — `rem stats` for overall counts and breakdowns

All list and show commands support `--output` (`-o`) with `table`, `json`, and `plain` formats, making rem easy to pipe into tools like `jq`.

## AI Agent Integration

rem includes a built-in `skills` subsystem designed for AI coding agents. Running `rem skills install` copies an embedded skill file to the agent's skill directory, teaching it all 20 commands, date formats, and output options. The project homepage lists support for Claude Code (`~/.claude/skills/`), Codex CLI (`~/.agents/skills/`), and OpenClaw (`~/.openclaw/skills/`). Every command outputs structured JSON and uses stable reminder IDs, which the project describes as intentional design choices for agent-friendly scripting.

## Natural Language Date Parsing

Date input is handled by the `go-eventkit/dateparser` package, which the README documents as supporting 30+ patterns. Inputs like `tomorrow`, `next friday at 2pm`, `in 3 hours`, `eod`, and ISO timestamps (`2026-02-15 14:30`) are all recognized. The parser works identically in both direct CLI use and agent-invoked contexts.

## Architecture and Go API

rem is structured around a service layer that wraps go-eventkit, with Cobra command definitions, domain models, export handlers, and a UI layer for table formatting. The go-eventkit library is also published separately (`github.com/BRO3886/go-eventkit`) so Go developers can use the same EventKit bridge programmatically in their own applications without the CLI layer. The README notes one known use of AppleScript — querying the default list name — and one use of a private ReminderKit bridge for the `flagged` property, which EventKit does not expose natively.

## Update: v0.10.2

The latest release is v0.10.2, published on April 16, 2026. The repository was created in February 2026 and last pushed in May 2026, indicating active early development. The project had 64 stars and 4 forks as of the last recorded update.

## Features
- Sub-200ms reads and writes via EventKit cgo bridge
- Single binary with no helper processes or runtime dependencies
- Natural language date parsing (30+ patterns)
- 20 commands: full CRUD, search, stats, overdue, upcoming, interactive mode
- Multiple output formats: table, JSON, plain text
- JSON and CSV import/export with full property round-trip
- AI agent skill installation for Claude Code, Codex CLI, and OpenClaw
- Shell completions for bash, zsh, and fish
- Interactive terminal mode
- Background update check via GitHub releases
- Public Go API via go-eventkit library
- Supports iCloud and local Reminders lists

## Integrations
macOS Reminders (EventKit), iCloud, Claude Code, Codex CLI, OpenClaw, jq, Homebrew

## Platforms
MACOS, API, CLI

## Pricing
Open Source

## Version
v0.10.2

## Links
- Website: https://rem.sidv.dev
- Documentation: https://rem.sidv.dev/docs/getting-started/
- Repository: https://github.com/BRO3886/rem
- EveryDev.ai: https://www.everydev.ai/tools/rem-cli
