Parses one or more .ics calendar files and writes one JSON object per event occurrence to a JSONL file, suitable for LLM analysis.
Recurring events (RRULE/EXDATE/RECURRENCE-ID overrides) are expanded into individual occurrences. The default expansion range spans the earliest event start through the current date/time.
bun run src/cli.ts --input <file.ics> [--input <file2.ics> ...] --output <out.jsonl> [--from <ISO> --to <ISO>]| Field | Type | Notes |
|---|---|---|
summary |
string | null |
|
start |
string |
ISO 8601 datetime or YYYY-MM-DD for all-day |
end |
string |
Same format as start |
duration |
string |
ISO 8601 duration, e.g. PT1H30M |
dayOfWeek |
string |
M T W Th F Sa Su |
allDay |
boolean |
|
timezone |
string | null |
|
location |
string | null |
Full location |
locationTitle |
string | null |
Short location label |
description |
string | null |
- remove unnecessary recurrence exception processing
- output times in local timezone
🤖 Built w/ help from AI