SunnyYYLin180 downloadsA lightweight tree-aware task manager with Tasks-compatible emoji metadata.
TaskLite is a lightweight, tree-aware Obsidian task plugin compatible with the Tasks plugin's emoji metadata format. It focuses on editing and rendering standard Markdown task lines.

@ emoji input suggestions on task linestasks: ignore frontmatter to exclude files from scanning- [ ] Task description ⏳ 2026-01-01 📅 2026-01-15 🔁 every week 👤 Mary
| Emoji | Field | Example |
|---|---|---|
| 🔺 | Priority: highest | 🔺 |
| ⏫ | Priority: high | ⏫ |
| 🔼 | Priority: medium | 🔼 |
| 🔽 | Priority: low | 🔽 |
| ⏬ | Priority: lowest | ⏬ |
| 🛫 | Start date | 🛫 2026-01-01 |
| ➕ | Created date | ➕ 2026-01-01 |
| ⏳ | Scheduled date | ⏳ 2026-01-01 |
| 📅 | Due date | 📅 2026-01-15 |
| ✅ | Done date | ✅ 2026-01-10 |
| ❌ | Cancelled date | ❌ 2026-01-10 |
| 🔁 | Recurrence | 🔁 every week |
| 🏁 | On completion | 🏁 delete |
| ⛔ | Depends on | ⛔ task-id |
| 🆔 | Task ID | 🆔 my-task |
| 👤 | Assignee | 👤 Mary |
every day, every week, every month, every yearevery N days, every N weeks, every N months, every N yearsevery weekdayevery week on Monday, every week on Fridayevery month on the 1stevery day when done (recurrence relative to completion date)Add tasks: ignore to a file's YAML frontmatter to exclude it from TaskLite scanning:
---
tasks: ignore
---
You can turn an entire file (like a project note or a daily note) into a single task. This is particularly useful for tracking high-level projects or notes that themselves represent a task.
To enable this, add task: true (or a status symbol) to the file's YAML frontmatter:
---
task: true
description: "Review quarterly roadmap"
status: " "
priority: "⏫"
due: "2026-06-30"
assignee: "Alice & Bob"
---
task: Set to true (or any truthy value) to enable the file task.status: The status symbol (e.g. " " for todo, "x" for done) or keywords (e.g., todo, done, in-progress, cancelled). Keywords are case-insensitive and format-preserving. Status symbols with spaces (like " ") should be quoted.description: The task description. If omitted, the file's basename will be used.priority: Task priority. Supports emoji (🔺, ⏫, 🔼, 🔽, ⏬) or keyword (highest, high, medium, low, lowest).due / scheduled / start / created / done / cancelled: Dates in YYYY-MM-DD format.recurrence: Recurrence rules (e.g., every week).assignee / person: The person assigned (supports array or a single string with names separated by &).onCompletion: On-completion actions (delete or keep).id: Unique task ID.dependsOn: Depends on task IDs.Any root-level task lines (indented at depth 0, i.e. not indented under another list item) within the body of a file-task note are automatically treated as subtasks of the file task.
A task in TaskLite is a standard Markdown checklist item (e.g., - [ ]) followed by a description and metadata emojis.
Append these emojis to your task description to add metadata:
📅 YYYY-MM-DD (e.g., 📅 2026-06-30)⏳ YYYY-MM-DD (e.g., ⏳ 2026-06-25)🛫 YYYY-MM-DD (e.g., 🛫 2026-06-20)➕ YYYY-MM-DD (automatically added upon creation)🔁 <rule> (e.g., 🔁 every week, 🔁 every weekday, 🔁 every 2 days)👤 <name> or 👤 <name1> & <name2> (e.g., 👤 Mary, 👤 Alice & Bob)🏁 delete or 🏁 keep (controls whether a recurring task is deleted/kept on completion)🆔 <id> (for task dependency identification)⛔ <id> (specifies parent/dependent tasks)🔺⏫🔼🔽⏬TaskLite is tree-aware. Simply indent your list items using tabs or spaces to create subtasks:
- [ ] Parent task
- [ ] Subtask 1 (completes automatically when Parent task is finished)
- [ ] Subtask 2
When typing a task line, type @ to open the emoji auto-suggest menu, allowing you to quickly insert date placeholders, priority symbols, assignees, or recurring rules.
| Command | ID | Description |
|---|---|---|
| Toggle task | toggle-task |
Cycle through task states (todo → done → todo) |
| Toggle task cancellation | toggle-task-cancellation |
Cycle through cancellation states |
| Cancel task | cancel-task |
Mark task as cancelled |
| Uncancel task | uncancel-task |
Restore cancelled task |
| Import status settings | import-tasks-status-settings |
Import from Tasks plugin |
bun install # Install dependencies
bun test # Run tests
bun run build # Production build (tsc + esbuild)
bun run dev # Development mode (watch)
bun run lint # ESLint check
Push a tag matching x.y.z to trigger automatic GitHub release:
bun pm version patch # Bumps version in manifest.json and versions.json
git push && git push --tags
0BSD