@ebarooni/capacitor-calendar
    Preparing search index...

    @ebarooni/capacitor-calendar

    capacitor-calendar-logo
    A capacitor plugin for managing calendar events on iOS and Android, with reminders support on iOS.


    npm install @ebarooni/capacitor-calendar
    npx cap sync
    iOS 26 Android 16

    This plugin requires additional platform-specific configuration. Follow the official guides:

    For comprehensive usage examples, detailed explanations, and API references, check out:

    See CHANGELOG.md for the latest updates and release history.

    Note


    Version 7.1.0 introduces breaking changes.

    checkPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>
    

    Retrieves the current permission state for a given scope.

    Param Type
    options { scope: CalendarPermissionScope; }

    Returns: Promise<{ result: PermissionState; }>

    Since: 0.1.0

    Platform: Android, iOS


    checkAllPermissions() => Promise<{ result: CheckAllPermissionsResult; }>
    

    Retrieves the current state of all permissions.

    Returns: Promise<{ result: CheckAllPermissionsResult; }>

    Since: 0.1.0

    Platform: Android, iOS


    requestPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>
    

    Requests permission for a given scope.

    Param Type
    options { scope: CalendarPermissionScope; }

    Returns: Promise<{ result: PermissionState; }>

    Since: 0.1.0

    Platform: Android, iOS


    requestAllPermissions() => Promise<{ result: RequestAllPermissionsResult; }>
    

    Requests permission for all calendar and reminder permissions.

    Returns: Promise<{ result: CheckAllPermissionsResult; }>

    Since: 0.1.0

    Platform: Android, iOS


    requestWriteOnlyCalendarAccess() => Promise<{ result: PermissionState; }>
    

    Requests write access to the calendar.

    Returns: Promise<{ result: PermissionState; }>

    Since: 5.4.0

    Platform: Android, iOS


    requestReadOnlyCalendarAccess() => Promise<{ result: PermissionState; }>
    

    Requests read access to the calendar.

    Returns: Promise<{ result: PermissionState; }>

    Since: 5.4.0

    Platform: Android


    requestFullCalendarAccess() => Promise<{ result: PermissionState; }>
    

    Requests read and write access to the calendar.

    Returns: Promise<{ result: PermissionState; }>

    Since: 5.4.0

    Platform: Android, iOS


    requestFullRemindersAccess() => Promise<{ result: PermissionState; }>
    

    Requests read and write access to the reminders.

    Returns: Promise<{ result: PermissionState; }>

    Since: 5.4.0

    Platform: iOS


    createEventWithPrompt(options?: CreateEventWithPromptOptions | undefined) => Promise<{ id: string | null; }>
    

    Opens the system calendar interface to create a new event. On Android always returns null. Fetch the events to find the ID of the newly created event.

    Param Type
    options CreateEventWithPromptOptions

    Returns: Promise<{ id: string | null; }>

    Since: 0.1.0

    Platform: Android, iOS


    modifyEventWithPrompt(options: ModifyEventWithPromptOptions) => Promise<{ result: EventEditAction | null; }>
    

    Opens a system calendar interface to modify an event. On Android always returns null.

    Param Type
    options ModifyEventWithPromptOptions

    Returns: Promise<{ result: EventEditAction | null; }>

    Since: 6.6.0

    Platform: Android, iOS


    createEvent(options: CreateEventOptions) => Promise<{ id: string; }>
    

    Creates an event in the calendar.

    Param Type
    options CreateEventOptions

    Returns: Promise<{ id: string; }>

    Since: 0.4.0

    Platform: iOS, Android


    modifyEvent(options: ModifyEventOptions) => Promise<void>
    

    Modifies an event.

    Param Type
    options ModifyEventOptions

    Since: 6.6.0

    Platform: Android, iOS


    deleteEventsById(options: DeleteEventsByIdOptions) => Promise<{ result: DeleteEventsByIdResult; }>
    

    Deletes multiple events.

    Param Type
    options DeleteEventsByIdOptions

    Returns: Promise<{ result: DeleteEventsByIdResult; }>

    Since: 0.11.0

    Platform: Android, iOS


    deleteEvent(options: DeleteEventOptions) => Promise<void>
    

    Deletes an event.

    Param Type
    options DeleteEventOptions

    Since: 7.1.0

    Platform: Android, iOS


    deleteEventWithPrompt(options: DeleteEventWithPromptOptions) => Promise<{ deleted: boolean; }>
    

    Opens a dialog to delete an event.

    Param Type
    options DeleteEventWithPromptOptions

    Returns: Promise<{ deleted: boolean; }>

    Since: 7.1.0

    Platform: Android, iOS


    listEventsInRange(options: ListEventsInRangeOptions) => Promise<{ result: CalendarEvent[]; }>
    

    Retrieves the events within a date range.

    Param Type
    options ListEventsInRangeOptions

    Returns: Promise<{ result: CalendarEvent[]; }>

    Since: 0.10.0

    Platform: Android, iOS


    commit() => Promise<void>
    

    Save the changes to the calendar.

    Since: 7.1.0

    Platform: iOS


    selectCalendarsWithPrompt(options?: SelectCalendarsWithPromptOptions | undefined) => Promise<{ result: Calendar[]; }>
    

    Opens a system interface to choose one or multiple calendars.

    Param Type
    options SelectCalendarsWithPromptOptions

    Returns: Promise<{ result: Calendar[]; }>

    Since: 0.2.0

    Platform: iOS


    fetchAllCalendarSources() => Promise<{ result: CalendarSource[]; }>
    

    Retrieves a list of calendar sources.

    Returns: Promise<{ result: CalendarSource[]; }>

    Since: 6.6.0

    Platform: iOS


    listCalendars() => Promise<{ result: Calendar[]; }>
    

    Retrieves a list of all available calendars.

    Returns: Promise<{ result: Calendar[]; }>

    Since: 7.1.0

    Platform: Android, iOS


    getDefaultCalendar() => Promise<{ result: Calendar | null; }>
    

    Retrieves the default calendar.

    Returns: Promise<{ result: Calendar | null; }>

    Since: 0.3.0

    Platform: Android, iOS


    openCalendar(options?: OpenCalendarOptions | undefined) => Promise<void>
    

    Opens the calendar app.

    Param Type
    options OpenCalendarOptions

    Since: 7.1.0

    Platform: Android, iOS


    createCalendar(options: CreateCalendarOptions) => Promise<{ id: string; }>
    

    Creates a calendar.

    Param Type
    options CreateCalendarOptions

    Returns: Promise<{ id: string; }>

    Since: 5.2.0

    Platform: Android, iOS


    deleteCalendar(options: DeleteCalendarOptions) => Promise<void>
    

    Deletes a calendar by id.

    Param Type
    options DeleteCalendarOptions

    Since: 5.2.0

    Platform: Android, iOS


    modifyCalendar(options: ModifyCalendarOptions) => Promise<void>
    

    Modifies a calendar with options.

    Param Type
    options ModifyCalendarOptions

    Since: 7.2.0

    Platform: Android, iOS


    fetchAllRemindersSources() => Promise<{ result: CalendarSource[]; }>
    

    Retrieves a list of calendar sources.

    Returns: Promise<{ result: CalendarSource[]; }>

    Since: 6.6.0

    Platform: iOS


    openReminders() => Promise<void>
    

    Opens the reminders app.

    Since: 7.1.0

    Platform: iOS


    getDefaultRemindersList() => Promise<{ result: RemindersList | null; }>
    

    Retrieves the default reminders list.

    Returns: Promise<{ result: Calendar | null; }>

    Since: 7.1.0

    Platform: iOS


    getRemindersLists() => Promise<{ result: RemindersList[]; }>
    

    Retrieves all available reminders lists.

    Returns: Promise<{ result: Calendar[]; }>

    Since: 7.1.0

    Platform: iOS


    createReminder(options: CreateReminderOptions) => Promise<{ id: string; }>
    

    Creates a reminder.

    Param Type
    options CreateReminderOptions

    Returns: Promise<{ id: string; }>

    Since: 0.5.0

    Platform: iOS


    deleteRemindersById(options: DeleteRemindersByIdOptions) => Promise<{ result: DeleteRemindersByIdResult; }>
    

    Deletes multiple reminders.

    Param Type
    options DeleteRemindersByIdOptions

    Returns: Promise<{ result: DeleteRemindersByIdResult; }>

    Since: 5.3.0

    Platform: iOS


    deleteReminder(options: DeleteReminderOptions) => Promise<void>
    

    Deletes a reminder.

    Param Type
    options DeleteReminderOptions

    Since: 7.1.0

    Platform: iOS


    modifyReminder(options: ModifyReminderOptions) => Promise<void>
    

    Modifies a reminder.

    Param Type
    options ModifyReminderOptions

    Since: 6.7.0

    Platform: iOS


    getReminderById(options: GetReminderByIdOptions) => Promise<{ result: Reminder | null; }>
    

    Retrieve a reminder by ID.

    Param Type
    options GetReminderByIdOptions

    Returns: Promise<{ result: Reminder | null; }>

    Since: 7.1.0

    Platform: iOS


    getRemindersFromLists(options: GetRemindersFromListsOptions) => Promise<{ result: Reminder[]; }>
    

    Retrieves reminders from multiple lists.

    Param Type
    options GetRemindersFromListsOptions

    Returns: Promise<{ result: Reminder[]; }>

    Since: 5.3.0

    Platform: iOS


    deleteReminderWithPrompt(options: DeleteReminderWithPromptOptions) => Promise<{ deleted: boolean; }>
    

    Opens a dialog to delete a reminder.

    Param Type
    options DeleteReminderWithPromptOptions

    Returns: Promise<{ deleted: boolean; }>

    Since: 7.2.0

    Platform: iOS


    Prop Type Description Since Platform
    alerts number[] Alert times in minutes relative to the event start. Use negative numbers for reminders before the start, and positive numbers for reminders after the start. On iOS only 2 alerts are supported. 7.1.0 iOS
    availability EventAvailability 7.1.0 Android, iOS
    calendarId string 0.1.0 iOS
    description string 7.1.0 Android, iOS
    endDate number 0.1.0 Android, iOS
    invitees string[] An array of emails to invite. 7.1.0 Android
    isAllDay boolean 0.1.0 Android, iOS
    location string 0.1.0 Android, iOS
    recurrence EventRecurrenceRule Rules for creating a recurring event. 7.3.0 Android, iOS
    startDate number 0.1.0 Android, iOS
    title string 0.1.0 Android, iOS
    url string 0.1.0 iOS
    Prop Type Description Default Since Platform
    byMonth number[] Limits a yearly recurrence to specific months of the year. The values should be between 1 and 12. 7.1.0 Android, iOS
    byMonthDay number[] Limits a monthly recurrence to specific days of the month. The values should be between 1 and 31. 7.1.0 Android, iOS
    byWeekDay number[] Limits a weekly recurrence to specific weekdays. The values should be between 1 and 7. 1 means Monday and 7 means Sunday. 7.3.0 Android, iOS
    count number The total number of occurrences. If set, the recurrence ends after this many occurrences. If count is provided, end is ignored. 7.3.0 Android, iOS
    daysOfTheYear number[] Limits a yearly recurrence to specific days of the year (1 to 366). 7.3.0 iOS
    end number End date of the recurrence series as a Unix timestamp in milliseconds. 7.1.0 Android, iOS
    frequency RecurrenceFrequency How often the event repeats. 7.3.0 Android, iOS
    interval number The interval between recurrences. Use in combination with frequency. For example, a weekly event with an interval of 2, results in the event occurring every 2 weeks. 1 7.3.0 Android, iOS
    weeksOfTheYear number[] Limits a yearly recurrence to specific ISO week numbers (1 to 53). 7.3.0 iOS
    Prop Type Description Since Platform
    alerts number[] Alert times in minutes relative to the event start. Use negative numbers for reminders before the start, and positive numbers for reminders after the start. On iOS only 2 alerts are supported. 7.1.0 iOS
    availability EventAvailability 7.1.0 Android, iOS
    calendarId string 0.1.0 iOS
    description string 7.1.0 Android, iOS
    endDate number 0.1.0 Android, iOS
    invitees string[] An array of emails to invite. 7.1.0 Android
    isAllDay boolean 0.1.0 Android, iOS
    location string 0.1.0 Android, iOS
    recurrence EventRecurrenceRule Rules for creating a recurring event. 7.3.0 Android, iOS
    startDate number 0.1.0 Android, iOS
    title string 0.1.0 Android, iOS
    url string 0.1.0 iOS
    id string The ID of the event to be modified. 7.1.0 Android, iOS
    Prop Type Description Default Since Platform
    alerts number[] Alert times in minutes relative to the event start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. 7.1.0 Android, iOS
    attendees EventGuest[] The event guests. 7.1.0 Android
    availability EventAvailability 7.1.0 Android, iOS
    calendarId string 0.1.0 Android, iOS
    color string 7.1.0 Android
    commit boolean Whether to save immediately (true) or batch changes for later (false). true 7.1.0 iOS
    description string 7.1.0 Android, iOS
    duration string Duration of the event in RFC2445 format. 7.1.0 Android
    endDate number 0.1.0 Android, iOS
    isAllDay boolean 0.1.0 Android, iOS
    location string 0.1.0 Android, iOS
    organizer string Email of the event organizer. 7.1.0 Android
    recurrence EventRecurrenceRule Rules for creating a recurring event. 7.3.0 Android, iOS
    startDate number 0.1.0 Android, iOS
    title string 0.4.0 Android, iOS
    url string 0.1.0 iOS
    Prop Type Since
    name string 7.1.0
    email string 7.1.0
    Prop Type Description Default Since Platform
    alerts number[] Alert times in minutes relative to the event start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. 7.1.0 Android, iOS
    attendees EventGuest[] The event guests. 7.1.0 Android
    availability EventAvailability 7.1.0 Android, iOS
    calendarId string 0.1.0 Android, iOS
    color string 7.1.0 Android
    description string 7.1.0 Android, iOS
    duration string Duration of the event in RFC2445 format. 7.1.0 Android
    endDate number 0.1.0 Android, iOS
    id string The ID of the event to be modified. 7.1.0 Android, iOS
    isAllDay boolean 0.1.0 Android, iOS
    location string 0.1.0 Android, iOS
    recurrence EventRecurrenceRule Rules for creating a recurring event. 7.3.0 Android, iOS
    organizer string Email of the event organizer. 7.1.0 Android
    span EventSpan The span of modifications. EventSpan.THIS_EVENT iOS
    startDate number 0.1.0 Android, iOS
    title string 0.4.0 Android, iOS
    url string 0.1.0 iOS
    Prop Type Since
    deleted string[] 7.1.0
    failed string[] 7.1.0
    Prop Type Description Default Since Platform
    ids string[] 7.1.0
    span EventSpan The span of deletion. EventSpan.THIS_EVENT iOS
    Prop Type Description Default Since Platform
    id string 7.1.0
    span EventSpan The span of deletion. EventSpan.THIS_EVENT iOS
    Prop Type Description Default Since Platform
    id string 7.1.0
    span EventSpan The span of deletion. EventSpan.THIS_EVENT iOS
    title string Title of the dialog. 7.1.0 Android, iOS
    message string Message of the dialog. 7.1.0 Android, iOS
    confirmButtonText string Text to show on the confirm button. 'Delete' 7.1.0 Android, iOS
    cancelButtonText string Text to show on the cancel button. 'Cancel' 7.1.0 Android, iOS
    Prop Type Description Since Platform
    id string 7.1.0 Android, iOS
    title string 7.1.0 Android, iOS
    calendarId string | null 7.1.0 Android, iOS
    location string | null 7.1.0 Android, iOS
    startDate number 7.1.0 Android, iOS
    endDate number 7.1.0 Android, iOS
    isAllDay boolean 7.1.0 Android, iOS
    alerts number[] Alert times in minutes relative to the event start. 7.1.0 Android, iOS
    url string | null 7.1.0 iOS
    description string | null 7.1.0 Android, iOS
    availability EventAvailability | null 7.1.0 Android, iOS
    organizer string | null 7.1.0 Android, iOS
    color string | null 7.1.0 Android, iOS
    duration string | null 7.1.0 Android
    isDetached boolean | null 7.1.0 iOS
    birthdayContactIdentifier string | null 7.1.0 iOS
    status EventStatus | null 7.1.0 Android, iOS
    creationDate number | null 7.1.0 iOS
    lastModifiedDate number | null 7.1.0 iOS
    attendees { email: string | null; name: string | null; role: AttendeeRole | null; status: AttendeeStatus | null; type: AttendeeType | null; }[] 7.1.0 Android, iOS
    timezone string | null 7.1.0 Android, iOS
    Prop Type Description Since
    from number The timestamp in milliseconds. 7.1.0
    to number The timestamp in milliseconds. 7.1.0
    Prop Type Description Since Platform
    id string 7.1.0 Android, iOS
    title string 7.1.0 Android, iOS
    internalTitle string | null Internal name of the calendar (CalendarContract.Calendars.NAME). 7.1.0 Android
    color string 7.1.0 Android, iOS
    isImmutable boolean | null 7.1.0 iOS
    allowsContentModifications boolean | null 7.1.0 iOS
    type CalendarType | null 7.1.0 iOS
    isSubscribed boolean | null 7.1.0 iOS
    source CalendarSource | null 7.1.0 iOS
    visible boolean | null Indicates if the events from this calendar should be shown. 7.1.0 Android
    accountName string | null The account under which the calendar is registered. 7.1.0 Android
    ownerAccount string | null The owner of the calendar. 7.1.0 Android
    maxReminders number | null Maximum number of reminders allowed per event. 7.1.0 Android
    location string | null 7.1.0 Android
    Prop Type Since
    type CalendarSourceType 7.1.0
    id string 7.1.0
    title string 7.1.0
    Prop Type Description Default Since
    displayStyle CalendarChooserDisplayStyle CalendarChooserDisplayStyle.ALL_CALENDARS 7.1.0
    multiple boolean Allow multiple selections. false 7.1.0
    Prop Type Default Since
    date number Date.now() 7.1.0
    Prop Type Description Since Platform
    title string 5.2.0 Android, iOS
    color string The color of the calendar. Should be provided on Android. 5.2.0 Android, iOS
    sourceId string 5.2.0 iOS
    accountName string Only needed on Android. Typically set to an email address. 7.1.0 Android
    ownerAccount string Only needed on Android. Typically set to an email address. 7.1.0 Android
    Prop Type Since
    id string 7.1.0
    Prop Type Since Platform
    id string 7.2.0 Android, iOS
    title string 7.2.0 Android, iOS
    color string 7.2.0 Android, iOS
    Prop Type Description Since
    title string 7.1.0
    listId string 7.1.0
    priority number 7.1.0
    isCompleted boolean 7.1.0
    startDate number 7.1.0
    dueDate number 7.1.0
    completionDate number 7.1.0
    notes string 7.1.0
    url string 7.1.0
    location string 7.1.0
    recurrence RecurrenceRule 7.1.0
    alerts number[] Alert times in minutes relative to the reminder start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. 7.1.0
    Prop Type Description Since
    frequency RecurrenceFrequency 7.1.0
    interval number How often it repeats (e.g. 1 for every occurrence, 2 for every second occurrence). 7.1.0
    end number Timestamp of when the recurrence ends. 7.1.0
    Prop Type Since
    deleted string[] 7.1.0
    failed string[] 7.1.0
    Prop Type Since
    ids string[] 7.1.0
    Prop Type Since
    id string 7.1.0
    Prop Type Description Since
    id string 7.1.0
    title string 7.1.0
    listId string 7.1.0
    priority number 7.1.0
    isCompleted boolean 7.1.0
    startDate number 7.1.0
    dueDate number 7.1.0
    completionDate number 7.1.0
    notes string 7.1.0
    url string 7.1.0
    location string 7.1.0
    recurrence RecurrenceRule 7.1.0
    alerts number[] Alert times in minutes relative to the reminder start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. On iOS only 2 alerts are supported. 7.1.0
    Prop Type Since
    id string 7.1.0
    title string | null 7.1.0
    listId string | null 7.1.0
    isCompleted boolean 7.1.0
    priority number | null 7.1.0
    notes string | null 7.1.0
    location string | null 7.1.0
    url string | null 7.1.0
    startDate number | null 7.1.0
    dueDate number | null 7.1.0
    completionDate number | null 7.1.0
    recurrence RecurrenceRule[] 7.1.0
    alerts number[] 7.1.0
    Prop Type Since
    id string 7.1.0
    Prop Type Since
    listIds string[] 7.1.0
    Prop Type Description Default Since
    id string 7.2.0
    title string Title of the dialog. 7.2.0
    message string Message of the dialog. 7.2.0
    confirmButtonText string Text to show on the confirm button. 'Delete' 7.2.0
    cancelButtonText string Text to show on the cancel button. 'Cancel' 7.2.0

    'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

    Record<CalendarPermissionScope,{' '} PermissionState>

    Construct a type with a set of properties K of type T

    { [P in K]: T; }

    CheckAllPermissionsResult

    'daily' | 'weekly' | 'monthly' | 'yearly'

    'canceled' | 'saved' | 'deleted'

    Calendar
    Members Value Description Since Platform
    READ_CALENDAR 'readCalendar' Permission required for reading calendar events. 7.1.0 Android, iOS
    READ_REMINDERS 'readReminders' Permission required for reading reminders. 7.1.0 iOS
    WRITE_CALENDAR 'writeCalendar' Permission required for adding or modifying calendar events. 7.1.0 Android, iOS
    WRITE_REMINDERS 'writeReminders' Permission required for adding or modifying reminders. 7.1.0 iOS
    Members Value Since Platform
    NOT_SUPPORTED -1 7.1.0 iOS
    BUSY 7.1.0 Android, iOS
    FREE 7.1.0 Android, iOS
    TENTATIVE 7.1.0 Android, iOS
    UNAVAILABLE 7.1.0 iOS
    Members Since
    THIS_EVENT 7.1.0
    THIS_AND_FUTURE_EVENTS 7.1.0
    Members Value Since Platform
    NONE 'none' 7.1.0 iOS
    CONFIRMED 'confirmed' 7.1.0 Android, iOS
    TENTATIVE 'tentative' 7.1.0 Android, iOS
    CANCELED 'canceled' 7.1.0 Android, iOS
    Members Value Since Platform
    UNKNOWN 'unknown' 7.1.0 Android, iOS
    REQUIRED 'required' 7.1.0 iOS
    OPTIONAL 'optional' 7.1.0 iOS
    CHAIR 'chair' 7.1.0 iOS
    NON_PARTICIPANT 'nonParticipant' 7.1.0 Android, iOS
    ATTENDEE 'attendee' 7.1.0 Android
    ORGANIZER 'organizer' 7.1.0 Android
    PERFORMER 'performer' 7.1.0 Android
    SPEAKER 'speaker' 7.1.0 Android
    Members Value Since Platform
    NONE 'none' 7.1.0 Android
    ACCEPTED 'accepted' 7.1.0 Android, iOS
    DECLINED 'declined' 7.1.0 Android, iOS
    INVITED 'invited' 7.1.0 Android
    UNKNOWN 'unknown' 7.1.0 iOS
    PENDING 'pending' 7.1.0 iOS
    TENTATIVE 'tentative' 7.1.0 Android, iOS
    DELEGATED 'delegated' 7.1.0 iOS
    COMPLETED 'completed' 7.1.0 iOS
    IN_PROCESS 'inProcess' 7.1.0 iOS
    Members Value Since Platform
    UNKNOWN 'unknown' 7.1.0 Android, iOS
    PERSON 'person' 7.1.0 iOS
    ROOM 'room' 7.1.0 iOS
    RESOURCE 'resource' 7.1.0 Android, iOS
    GROUP 'group' 7.1.0 iOS
    REQUIRED 'required' 7.1.0 Android
    NONE 'none' 7.1.0 Android
    OPTIONAL 'optional' 7.1.0 Android
    Members Since
    LOCAL 7.1.0
    CAL_DAV 7.1.0
    EXCHANGE 7.1.0
    SUBSCRIPTION 7.1.0
    BIRTHDAY 7.1.0
    Members Since
    LOCAL 7.1.0
    EXCHANGE 7.1.0
    CAL_DAV 7.1.0
    MOBILE_ME 7.1.0
    SUBSCRIBED 7.1.0
    BIRTHDAYS 7.1.0
    Members Since
    ALL_CALENDARS 0.2.0
    WRITABLE_CALENDARS_ONLY 0.2.0

    See CONTRIBUTING.md for guidelines.

    This project is licensed under the MIT License. See LICENSE for details.