Назад към всички

timely

// Manage Apple Reminders from the command line with geofencing support. Use when creating reminders on macOS with optional location-based triggers (arrive/depart), due dates, or time-based alerts. Works with iCloud-synced reminder lists.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nametimely
descriptionManage Apple Reminders from the command line with geofencing support. Use when creating reminders on macOS with optional location-based triggers (arrive/depart), due dates, or time-based alerts. Works with iCloud-synced reminder lists.
metadata[object Object]

timely

A CLI for Apple Reminders with geofencing support. Create location-aware and time-based reminders without UI interaction.

Why timely?

  • Location triggers — Remind when arriving at or departing from a place
  • No UI prompts — Works silently via EventKit
  • iCloud sync — Reminders appear on all devices

Installation

brew tap halbotley/tap
brew install timely

First run prompts for Reminders access (System Settings → Privacy → Reminders). One-time only.

Commands

List reminder lists

timely lists

View reminders

timely show Reminders        # Show all in list
timely show Reminders 10     # Show last 10

Create time-based reminder

timely add Reminders "Call mom" --due "tomorrow 3pm"
timely add Reminders "Submit report" --due "friday 5pm"

Create location-based reminder (arrive)

timely add Reminders "Buy milk" \
  --location "Trader Joe's" \
  --address "123 Main St, Santa Barbara, CA" \
  --arrive

Create location-based reminder (depart)

timely add Reminders "Text wife leaving" \
  --location "Office" \
  --address "456 Work Ave" \
  --depart

Combined (time + location)

timely add Reminders "Pick up prescription" \
  --due "today" \
  --location "CVS" \
  --address "789 Pharmacy Rd" \
  --arrive

Due Date Formats

Natural language parsing:

  • "today", "tomorrow"
  • "monday", "next friday"
  • "tomorrow 3pm", "friday 5pm"
  • "2025-03-15", "2025-03-15 14:30"

Geofencing Notes

  • --location is the display name (what you see in Reminders)
  • --address is used for geocoding (must be a real address)
  • --arrive triggers when entering the location
  • --depart triggers when leaving the location
  • Default geofence radius is ~100 meters

Shared Lists

For shared iCloud reminder lists, use the exact list name as it appears in the Reminders app. The list syncs across all family members' devices.

Examples

# Simple reminder
timely add Reminders "Water plants" --due "saturday 9am"

# Reminder when getting home
timely add Reminders "Take out trash" \
  --location "Home" \
  --address "123 My Street, My City, CA" \
  --arrive

# Reminder when leaving work
timely add Reminders "Pick up kids" \
  --location "Office" \
  --address "456 Work Blvd" \
  --depart