# Real Tasks
An Obsidian plugin that deletes task lines shortly after their checkbox is ticked. Your notes keep only the tasks that still need doing — no graveyard of strikethroughs, no manual cleanup.
## Why
Most task workflows leave completed tasks in the file as `- [x]` lines. That's great if you want a historical log; it's noise if you want your notes to function like a todo app. Real Tasks removes that noise automatically while preserving undo.
## How it works
- When you check off a task in the editor, Real Tasks waits **800 ms**, then removes the whole line via the editor API. Undo (`Cmd/Ctrl-Z`) restores it.
- When a task gets completed programmatically — for example by Dataview checkbox clicks in an embedded query, or by a sync client — Real Tasks catches the `vault.modify` event, waits **400 ms**, and rewrites the file with the completed lines stripped out.
- A ribbon button and command insert a new `- [ ] ` task line at the cursor, ready to type.
## Features
- Auto-delete completed task lines (`- [x]`, `- [X]`, `* [x]`, `+ [x]`).
- Short delay after completion to allow for accidental clicks (`Cmd/Ctrl-Z` to recover).
- Works from both the editor and external writes (Dataview, sync, external tools).
- Ribbon icon and command **Insert new task** for quick task creation.
- Command **Sweep completed tasks in this note now** for ad-hoc cleanup.
- Desktop and mobile support.
## Usage
1. Install and enable the plugin.
2. Write tasks as normal: `- [ ] something to do`.
3. Check the box. ~1 second later the line vanishes.
4. Accidentally checked? Press `Cmd/Ctrl-Z` within the delay window, or immediately after, to restore the line.
5. Tap the ribbon icon (a check-square) to insert a new task at your cursor. Optionally bind `Insert new task` to a hotkey in Settings → Hotkeys.
## Commands
| Command | Description |
| ---------------------------------------------- | ----------------------------------------------------------- |
| `Real Tasks: Insert new task` | Insert a `- [ ] ` line at the cursor. |
| `Real Tasks: Sweep completed tasks in this note now` | Immediately remove all completed tasks from the active note. |
## Compatibility
- Tested on Obsidian `1.4.0` and above.
- Desktop and mobile (iOS, Android).
- Compatible with Dataview `TASK` queries — checking a task in an embedded Dataview result triggers the auto-delete.
## Installation
### Community plugins (once published)
1. Open **Settings → Community plugins**.
2. Search for **Real Tasks**.
3. Install and enable.
### Manual install
1. Download `main.js` and `manifest.json` from the latest [release](https://github.com/cryptic0011/real-tasks/releases).
2. Create a folder `/.obsidian/plugins/real-tasks/`.
3. Drop both files inside.
4. Enable the plugin in **Settings → Community plugins**.
## Settings
No settings page in this release. Everything runs on sensible defaults. Future versions may expose the delete delay and checkbox filters.
## Development
- `main.js` is hand-written plain JavaScript — no build step, no bundler, no TypeScript.
- To modify locally, edit `main.js` then reload the plugin via **Settings → Community plugins** toggle, or restart Obsidian.
## License
[MIT](LICENSE)