Skip to content

feat(app): set and clear repeat rules on reminders - #19

Open
baileywickham wants to merge 1 commit into
FradSer:mainfrom
baileywickham:feat/reminder-recurrence
Open

baileywickham wants to merge 1 commit into
FradSer:mainfrom
baileywickham:feat/reminder-recurrence

Conversation

@baileywickham

@baileywickham baileywickham commented Sep 12, 2026 •

Copy link
Copy Markdown

event reads a reminder's recurrenceRules but has no way to write them. This adds repeat-rule flags to reminders create / update, following the LocationOptions pattern:

event reminders create --title "Pay rent" --due "2026-10-01 09:00:00" --recurrence monthly
event reminders update --id <ID> --recurrence weekly --recurrence-interval 2 --recurrence-days mon,wed --recurrence-end 2026-12-31
event reminders update --id <ID> --clear-recurrence
  • --recurrence <daily|weekly|monthly|yearly>, refined by --recurrence-interval, --recurrence-end | --recurrence-count, --recurrence-days (names, 3-letter abbreviations or 1–7 with 1 = Sunday), --recurrence-days-of-month, --recurrence-months; --clear-recurrence on update.
  • RecurrenceRule.toEKRecurrenceRule() is the inverse of init(from:). A rule on a reminder without a due date fails with a clear message instead of an EventKit save error.
  • RecurrenceRule gains an optional occurrenceCount, so count-limited series round-trip through JSON. Defaults to nil; existing call sites and payloads are unaffected.
  • macOS-only like location triggers; sync backends untouched.

Tested with swift test (new parsing/validation and EventKit round-trip tests) and against a real Reminders store on macOS 26.

`event` reads recurrenceRules but had no way to write them. Add
--recurrence <daily|weekly|monthly|yearly> with --recurrence-interval,
--recurrence-end | --recurrence-count, --recurrence-days,
--recurrence-days-of-month and --recurrence-months to `reminders create`
and `update`, plus --clear-recurrence on update, following the
LocationOptions pattern. RecurrenceRule gains occurrenceCount so
count-limited series round-trip through JSON.
@baileywickham
baileywickham force-pushed the feat/reminder-recurrence branch from 991a6e7 to f47f4cd Compare September 12, 2026 15:11
@baileywickham
baileywickham marked this pull request as ready for review September 12, 2026 15:11
@code-terrier

code-terrier Bot commented Sep 12, 2026

Copy link
Copy Markdown

Code Terrier Review unavailable for this commit: every reviewer model hit an infrastructure fault (upstream provider unavailable, not a code problem) - push a new commit or @code-terrier review to retry once it clears.

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.

1 participant