Files
verdande/docs/import.md
T
Kristian WindandClaude Opus 5 7c9bde2cfd docs(phase6): documentation site, landing page and open-source scaffolding
Material for MkDocs under docs/, covering self-hosting, the Rune, the
quick-add and filter languages, importing from Todoist, CalDAV,
mail-to-task, MCP, the AI layer and the API. The version is pinned: the
maintainers have announced that MkDocs 2.0 removes the plugin system
with no migration path, and an unpinned install would break this build
on the day it lands.

The landing page shows the quick-add parser as actual text rather than a
screenshot of it — that is the thing worth showing, and it reads better
as the real thing. It shares the app's design tokens, so the site and
what it describes look like one project.

MIT licence, contributing guide, security policy and issue templates.
Pages deployment is behind workflow_dispatch, so the docs build on every
push but nothing is published until the owner chooses to.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 08:08:36 +02:00

67 lines
2.2 KiB
Markdown

# Importing from Todoist
## Getting the file out of Todoist
For one project: open it, **⋯ → Export as template → Export as CSV**.
For everything: **Settings → Backups**, then take the most recent one. That gives
you one CSV per project.
## Bringing it in
**Settings → Import → From Todoist**, then pick the file. One project comes in per
file.
## What comes across
| Todoist | verdande |
|---|---|
| Tasks, in their tree | Tasks, with sub-tasks nested the same way |
| Sections | Sections |
| Notes | Comments |
| Priority | Priority — see below |
| Due dates | Due dates, and recurrence where it can be read |
| Descriptions | Descriptions |
!!! info "Priorities are renumbered on purpose"
Todoist's CSV numbers priorities the opposite way to how its interface shows
them: what you see as P1 is written as `4`. verdande stores what the interface
means, so the two are converted. A P1 in Todoist is a P1 here.
## Dates
Todoist stores what you typed rather than a date — `every Monday`, `tomorrow`,
`15 Mar`. Machine-readable dates come across exactly. Anything else goes through
the same [quick-add parser](quick-add.md) the app uses, which understands a great
deal of it in both languages — including recurrence, so `every Monday` arrives as a
real repeating task.
Anything it genuinely cannot read is listed in the import result rather than
dropped silently.
## What does not come across
**Assignees.** A person in your Todoist workspace is not a person here. The import
lists them so you can reassign.
**Attachments.** Todoist's CSV does not include them; they are links into Todoist's
own storage.
**Reminders and filters.** Not in the export format.
## Any other CSV
**Settings → Import → From a CSV file** takes anything with a header row, and asks
you which column means what. The only one it needs is the task text.
## Getting back out
Nothing here is a one-way door.
- **A project as Todoist CSV** — the same format, so it opens in Todoist.
- **A project as ICS** — a calendar file.
- **Your whole account as JSON** — every project, task, comment, label and filter.
A CSV that goes in and comes back out again is the same project: the round trip is
tested, and two exports of an unchanged project are byte-identical.