packages/plugin-dev/todoist-import/README.md
This bundled, one-time importer adds active Todoist data to Super Productivity. It is additive: it never replaces existing app data and is not a live Todoist integration.
https://api.todoist.com/api/v1/sync, first with sync_token=* and then with
the returned token so changes during a delayed snapshot are included.api.todoist.com and is never stored, synced, or logged.http and exactly
allowedHosts: ["api.todoist.com"].The importer handles active projects, top-level tasks, two levels of subtasks, notes/comments, labels on top-level tasks, due dates/times, and minute-based time estimates.
Current limitations are surfaced in preview and summary:
TaskRepeatCfg is created;src/map/plan-import.ts and src/map/run-import.ts deliberately:
batchUpdateForProject call;temp--prefixed IDs for unresolved parents; andChanging any of these can orphan and delete imported subtasks or collapse many dispatches into one event-loop turn. The batch result is not authoritative, so the importer re-reads tasks and compares landed counts with the plan.
Due dates, timed due values, and tags are follow-up updateTask calls because
the batch-create contract does not carry them. TODAY is virtual and must never
be written to task.tagIds.
cd packages/plugin-dev/todoist-import
npm test
npm run build
Pure parsing, mapping, lossy-summary, localization, and executor behavior are
covered by colocated Jest specs. Also run npm run plugins:build from the
repository root after packaging changes.