# Todoman

The iCalendar format also supports saving tasks in form of `VTODO`-entries, with the same file extension as normal events: `.ics`. Many CalDAV servers support synchronizing tasks, vdirsyncer does too.

todoman is a CLI task manager supporting vdir. Its interface is similar to the ones of Taskwarrior or the todo.txt CLI app. You can use `filesystem` with it.

## Setting up vdirsyncer

For this tutorial we will use NextCloud.

Assuming a config like this:

    [general]
    status_path = "~/.vdirsyncer/status/"

    [pair calendars]
    conflict_resolution = "b wins"
    a = "calendars_local"
    b = "calendars_dav"
    collections = ["from b"]
    metadata = ["color", "displayname"]

    [storage calendars_local]
    type = "filesystem"
    path = "~/.calendars/"
    fileext = ".ics"

    [storage calendars_dav]
    type = "caldav"
    url = "https://nextcloud.example.net/"
    username = "..."
    password = "..."

`vdirsyncer sync` will then synchronize the calendars of your NextCloud instance to subfolders of `~/.calendar/`.

## Setting up todoman

Write this to `~/.config/todoman/config.py`:

    path = "~/.calendars/*"

The glob pattern in `path` will match all subfolders in `~/.calendars/`, which is exactly the tasklists we want. Now you can use `todoman` as described in its documentation and run `vdirsyncer sync` to synchronize the changes to NextCloud.

## Other clients

The following client applications also synchronize over CalDAV:

- The Tasks-app found on iOS

- OpenTasks for Android

- The Tasks-app for NextCloud’s web UI