{"repo":"t4t5/caldir","free":true,"listed":false,"github":"https://github.com/t4t5/caldir","clone":"git clone https://github.com/t4t5/caldir.git","description":"your calendar as a directory","language":"Rust","stars":46,"topics":["calendar","cli","ics","local-first"],"license":"MIT","category":"cli-tools","readme_excerpt":"caldir The \"file over app\" philosophy for calendars. Why? Calendars already have an open format ( .ics files) but they're hidden behind APIs and proprietary sync layers. Caldir connects to any provider and puts your calendar data on disk, so that you can: Search it Script it Manage it with your AI agent Keep your data portable Quick start Install from source Make sure you have Rust and Cargo installed. Providers Caldir syncs through providers — small plugin binaries that talk to calendar services. It currently supports: - Google (caldir-provider-google) - iCloud (caldir-provider-icloud) - Outlook (caldir-provider-outlook) - CalDAV (caldir-provider-caldav) - Webcal (caldir-provider-webcal) A provider is just an executable named caldir-provider-{name} that speaks JSON over stdin/stdout. Anyone can create one. Once a provider is connected, you can communicate with it using caldir's CLI commands: - caldir pull -- download remote changes to local - caldir push -- upload local changes to remote (including deletions) - caldir sync -- both, in one command - caldir status -- show pending changes in either direction Commands Create event View events Sync with provider Configuration Caldir's global settings are stored in in your system's config directory: Your calendar-specific settings are stored in each calendar's directory: For more details, check out the full documentation.","default_branch":null,"files":null,"tree":[],"storefront":"/r/t4t5","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/t4t5/caldir/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}