Skip to content

feat: add --alarm flag for EKAlarm support in add/edit commands#39

Open
judeyang wants to merge 1 commit intosteipete:mainfrom
judeyang:feature/alarm-support
Open

feat: add --alarm flag for EKAlarm support in add/edit commands#39
judeyang wants to merge 1 commit intosteipete:mainfrom
judeyang:feature/alarm-support

Conversation

@judeyang
Copy link
Copy Markdown

Summary

Adds --alarm / -a flag to add and edit commands, enabling native iOS/macOS notification triggers via EKAlarm.

Problem

Reminders created via remindctl add --due <date> set a due date but no alarm trigger. This means they show up in the Reminders app but never pop up as notifications on iPhone/iPad/Mac.

Solution

  • Add alarmDate field to ReminderInput, ReminderDraft, and ReminderUpdate
  • createReminder: auto-add EKAlarm (uses alarmDate if set, falls back to dueDate)
  • updateReminder: support updating/clearing alarms
  • AddCommand: add --alarm/-a option
  • EditCommand: add --alarm/-a and --clear-alarm options

Usage

# Add with explicit alarm time
remindctl add "Meeting" --due "2026-03-17 14:00" --alarm "2026-03-17 13:50"

# Alarm defaults to due date when --alarm is omitted but --due is set
remindctl add "Buy milk" --due "2026-03-17 09:00"

# Edit alarm on existing reminder
remindctl edit <id> --alarm "2026-03-17 10:00"

# Clear alarm
remindctl edit <id> --clear-alarm

Changes

  • Sources/RemindCore/Models.swift — added alarmDate to ReminderInput and ReminderUpdate
  • Sources/RemindCore/EventKitStore.swiftEKAlarm creation in create/update flows
  • Sources/remindctl/Commands/AddCommand.swift--alarm/-a option
  • Sources/remindctl/Commands/EditCommand.swift--alarm/-a and --clear-alarm options

Tested on macOS 26.3.1 (Tahoe), reminders sync correctly to iPhone/iPad with alarm triggers.

- Add alarmDate field to ReminderInput, ReminderDraft, and ReminderUpdate
- CreateReminder: auto-add EKAlarm (uses alarmDate if set, falls back to dueDate)
- UpdateReminder: support updating/clearing alarms
- AddCommand: add --alarm/-a option for setting alarm date
- EditCommand: add --alarm/-a and --clear-alarm options

This enables reminders to trigger native iOS/macOS notifications.
Without this, reminders created via CLI have due dates but no alarm triggers,
so they never pop up as notifications on devices.
@judeyang
Copy link
Copy Markdown
Author

就是说吧,我特么的也不知道 ai 给我改了些啥。
但是之前 openclaw 安排完提醒事项之后没有触发提醒,到时间就自动过期。
改完之后已经可以了。
不用谢我,也就花了 5 美刀的 token 而已,谁给报销一下。

@pablopunk
Copy link
Copy Markdown

I was running into this issue and I can confirm this PR solves it for me. I pulled and built this branch and reminders do trigger notifications now ❤️

bobsahur-robot pushed a commit to raymondlee-personal-org/remindctl that referenced this pull request Mar 29, 2026
…nds, and output

- AddCommand: --repeat, --alarm, --url, --parent, --tags flags
- EditCommand: same + --clear-alarm, --clear-repeat, --clear-url
- EventKitStore: full read/write for all new fields via EKReminder
- OutputFormatting: display recurrence, alarm, url, tags in text + JSON
- Cherry-picked model extensions from upstream PRs steipete#40, steipete#39, steipete#17, steipete#35, steipete#13
jakubswierczek added a commit to jakubswierczek/remindctl that referenced this pull request Mar 30, 2026
…pete#39)

add: --alarm sets alarm, defaults to due date if not specified
edit: --alarm sets, --clear-alarm removes alarm
alarms use EKAlarm absoluteDate for native iOS/macOS notifications

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants