calendarmap-cli
v1.0.0
Published
CLI tool to convert CSV events to ICS calendar format with smart field mapping and validation
Maintainers
Readme
CalendarMap CLI
Command-line tool to convert CSV events to ICS calendar format with smart field mapping and validation.
Installation
npm install -g calendarmap-cliQuick Start
# 1. Generate a mapping from your CSV headers
calendarmap guess --schema calendar-ics < events.csv > mapping.json
# 2. Convert CSV to ICS using the mapping
calendarmap map --schema calendar-ics --mapping mapping.json < events.csv > calendar.icsCommands
guess - Generate Field Mapping
Auto-detects your CSV columns and creates a mapping file:
calendarmap guess --schema calendar-ics --input events.csv --output mapping.jsonOr using pipes:
calendarmap guess --schema calendar-ics < events.csv > mapping.jsonmap - Convert CSV to ICS
Converts CSV data using a mapping file:
calendarmap map --schema calendar-ics --mapping mapping.json --input events.csv --output calendar.icsOr using pipes:
calendarmap map --schema calendar-ics --mapping mapping.json < events.csv > calendar.icsvalidate - Check Your Data
Validates CSV data before conversion:
calendarmap validate --schema calendar-ics --mapping mapping.json --input events.csvCSV Format
Your CSV should have columns for:
- Title/Summary (required)
- Start Date/Time (required)
- End Date/Time (optional - defaults to 1 hour)
- Location (optional)
- Description (optional)
Example CSV:
Event Name,Start Date,End Date,Location,Notes
Team Meeting,2024-01-15 10:00,2024-01-15 11:00,Conference Room A,Weekly sync
Project Demo,2024-01-20 14:00,2024-01-20 15:30,Main Hall,Show progressWhy Use the CLI?
- ✅ No file size limits - Process millions of events
- ✅ Privacy first - All processing happens locally
- ✅ Automation ready - Perfect for scripts and workflows
- ✅ Batch processing - Handle multiple files
- ✅ RFC 5545 compliant - Works with all calendar apps
Examples
Conference Schedule
# Convert conference sessions
calendarmap guess --schema calendar-ics < conference.csv > conf-mapping.json
calendarmap map --schema calendar-ics --mapping conf-mapping.json < conference.csv > conference2024.icsTeam Calendar
# Process with validation
calendarmap validate --schema calendar-ics --mapping team-mapping.json < team-events.csv
calendarmap map --schema calendar-ics --mapping team-mapping.json < team-events.csv > team.icsAutomation Script
#!/bin/bash
for file in *.csv; do
name=$(basename "$file" .csv)
calendarmap guess --schema calendar-ics < "$file" > "$name-mapping.json"
calendarmap map --schema calendar-ics --mapping "$name-mapping.json" < "$file" > "$name.ics"
doneWeb Version
For a user-friendly interface, try the web version at calendarmap.app - perfect for one-off conversions and files under 2,000 events.
Support
License
MIT - see LICENSE file.
