Aaron116 downloadsRoll over incomplete todos from the most recent daily TODO file into today's note.
A standalone Obsidian community plugin for a dedicated daily TODO workflow. Create dated TODO files in their own folder — separate from journal or daily notes — and roll incomplete tasks forward with one click. No Daily Notes or Periodic Notes plugin required.

2025-06-09 TODO.md, stored separately from journal or daily notes.# TODO section; stops at ## Notes or other headings._TODO with a sample yesterday file for immediate testing.tags, date, type: daily-todo, and rolledOverFrom wikilink to the source note.# TODO heading.YYYY-MM-DDtodo.md naming to the current YYYY-MM-DD TODO.md format.main.js and manifest.json from the latest GitHub release.{vault}/.obsidian/plugins/dailytodo/.main.js and manifest.json into that folder.The first time you use the plugin (or if your configured folder no longer exists), a setup modal appears when you run Create today's TODO:
_TODO — Creates a _TODO folder with a sample yesterday note so you can test rollover immediately.After setup, today's TODO file is created automatically.
_TODO).TODO, producing 2025-06-09 TODO.md).todo).# TODO heading below the frontmatter.Given incomplete tasks in TODO/2025-06-08 TODO.md, running the command on June 9 creates TODO/2025-06-09 TODO.md:
---
tags: [daily, todo]
date: 2025-06-09
type: daily-todo
rolledOverFrom: "[[2025-06-08 TODO]]"
---
# TODO
- [ ] Finish report
- [ ] Gather sources
- [ ] Email team
## Notes
The sample yesterday file created during first-run setup demonstrates nested rollover: completed sub-tasks (e.g. - [x] Draft email…) are left behind; incomplete siblings roll forward.
Daily TODO files must start with a date in YYYY-MM-DD format:
| Suffix setting | Example file name |
|---|---|
TODO |
2025-06-09 TODO.md |
| (empty) | 2025-06-09.md |
todo |
2025-06-09 todo.md |
For best results, structure each daily TODO file like this:
# TODO
- [ ] Your tasks here
## Notes
Free-form notes that are never rolled over.
Only content between # TODO and ## Notes (or the next top-level heading) is considered for rollover.
git clone https://github.com/aaronarcade/Obsidian-Daily-Todo.git
cd Obsidian-Daily-Todo
npm install
npm run dev
Symlink or copy the plugin folder into your vault's .obsidian/plugins/ directory. Use npm run dev for watch mode during development.
Build for production:
npm run build
MIT — see LICENSE.