{"id":30019971,"url":"https://github.com/scross01/obsidian-todoseq","last_synced_at":"2026-05-28T22:00:41.864Z","repository":{"id":307872870,"uuid":"1030940155","full_name":"scross01/obsidian-todoseq","owner":"scross01","description":"TODOseq (\"to-do-seek\") is a lightweight, keyword-based task tracker for Obsidian","archived":false,"fork":false,"pushed_at":"2026-05-21T22:41:44.000Z","size":14105,"stargazers_count":52,"open_issues_count":11,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-22T07:49:58.140Z","etag":null,"topics":["logseq","obsidian-plugin","task-list","task-management","task-manager","todo-list","todolist"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scross01.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-08-02T16:55:06.000Z","updated_at":"2026-05-21T15:13:25.000Z","dependencies_parsed_at":"2026-05-02T18:05:10.258Z","dependency_job_id":null,"html_url":"https://github.com/scross01/obsidian-todoseq","commit_stats":null,"previous_names":["scross01/obsidian-todoseq"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/scross01/obsidian-todoseq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scross01%2Fobsidian-todoseq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scross01%2Fobsidian-todoseq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scross01%2Fobsidian-todoseq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scross01%2Fobsidian-todoseq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scross01","download_url":"https://codeload.github.com/scross01/obsidian-todoseq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scross01%2Fobsidian-todoseq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33627938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["logseq","obsidian-plugin","task-list","task-management","task-manager","todo-list","todolist"],"created_at":"2025-08-06T01:35:50.938Z","updated_at":"2026-05-28T22:00:41.854Z","avatar_url":"https://github.com/scross01.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TODOseq for Obsidian\n\n[![Obsidian Downloads](https://img.shields.io/badge/dynamic/json?logo=obsidian\u0026color=%23483699\u0026label=downloads\u0026query=%24%5B%22todoseq%22%5D.downloads\u0026url=https%3A%2F%2Fraw.githubusercontent.com%2Fobsidianmd%2Fobsidian-releases%2Fmaster%2Fcommunity-plugin-stats.json)](https://obsidian.md/plugins?id=todoseq)\n[![GitHub Release](https://img.shields.io/github/v/release/scross01/obsidian-todoseq?logo=github\u0026color=blue)](https://github.com/scross01/obsidian-todoseq/releases/latest)\n[![License](https://img.shields.io/github/license/scross01/obsidian-todoseq)](LICENSE)\n\n**Keyword-based task management for Obsidian. No checkboxes required.**\n\nTODOseq (\"to-do-seek\") scans your vault for tasks marked with simple state keywords like `TODO`, `DOING`, and `DONE`, then presents them in a unified Task List view. Inspired by [Logseq](https://logseq.com/) and [Org-mode](https://orgmode.org/), it lets you capture tasks naturally within your notes without disrupting your writing flow.\n\n![TODOseq Screenshot](screenshot.png)\n\n## Why TODOseq?\n\nMost task managers force you into a separate system. TODOseq meets you where you already work—inside your Obsidian notes. Type `TODO Write report` anywhere in your vault, and it appears instantly in your Task List. No switching contexts, no special syntax to remember, no checkboxes to click.\n\n## Core Features\n\n**Natural Task Capture** — Write tasks as plain text using keywords: `TODO`, `DOING`, `DONE`, `LATER`, `NOW`, `WAIT`, and more. Add priorities `[#A]`, `[#B]`, `[#C]` and dates using natural language or structured Org-mode syntax.\n\n**Smart Date Recognition** — Type dates using everyday language like \"today\", \"tomorrow\", \"every Friday\", or \"daily 20:00\". TODOseq automatically converts them to structured format when you finish typing.\n\n**Unified Task List** — See all tasks from across your vault in one searchable, sortable panel. Filter by state, priority, date, tags, or use advanced boolean queries. Sort by urgency to surface what matters most right now.\n\n**Works Everywhere** — Tasks remain functional in both Edit mode and Reader view. Click any keyword to cycle through states. Right-click for direct state selection. Use `Ctrl+Enter` to toggle tasks from your keyboard.\n\n**Code-Aware** — Extracts tasks from code comments in 20+ languages. Capture `// TODO Refactor this` from JavaScript, `# TODO Optimize query` from SQL, or `-- TODO Update schema` from SQL.\n\n**Embedded Lists** — Render filtered task lists directly in your notes using `todoseq` code blocks. Create dynamic dashboards showing \"High Priority Work Tasks\" or \"Overdue Items\" that update automatically.\n\n**Subtasks** — Break down complex tasks with indented checkbox items. The Task List shows subtask progress as `[1/3]` indicating completed and total subtasks.\n\n**Repeating Tasks** — Automatically advance scheduled and deadline dates when completed. Use natural language like \"every day\" or Org-mode repeaters like `.+1d`, `++1w`, or `+1m` to create recurring tasks.\n\n**Closed Date Tracking** — Optional CLOSED date on completed tasks, following Org-mode syntax. Records when tasks were marked as done and automatically manages the date when tasks are reactivated.\n\n**Logseq Compatible** — Use the same task format across both tools. Existing Logseq tasks work without modification. Dual-use your vault or migrate at your own pace.\n\n**Experimental Features** — Additional capabilities including Org-mode file support are available as experimental features. See [documentation](docs/experimental-features.md) for details.\n\n## Quick Start\n\n### Basic Tasks with Natural Language Dates\n\n```markdown\nTODO [#A] Finish quarterly report #work tomorrow\nDOING [#B] Review pull requests #coding\nDONE Submit expense report\n```\n\nOr use structured Org-mode dates:\n\n```markdown\nTODO [#A] Finish quarterly report #work\nSCHEDULED: \u003c2025-03-15\u003e\n\nDOING [#B] Review pull requests #coding\n\nDONE Submit expense report\nDEADLINE: \u003c2025-03-10\u003e\n```\n\n1. **Install** from Obsidian Community Plugins (search \"TODOseq\")\n2. **Create tasks** by typing `TODO`, `DOING`, `DONE`, etc. in any note\n3. **Add dates** using natural language (\"today\", \"tomorrow\", \"every Friday\") or structured format\n4. **Open Task List** — it appears automatically in the right sidebar (or use Command Palette → \"TODOseq: Show task list\")\n5. **Click keywords** to cycle states, or click task text to jump to source\n6. **Search** using natural language or advanced filters like `priority:high deadline:this week`\n\n## Installation\n\n### From Obsidian Community Plugins (Recommended)\n\nSettings → Community plugins → Browse → Search \"TODOseq\" → Install → Enable\n\n### Manual Installation\n\n```bash\ncd /path/to/your/vault/.obsidian/plugins\ngit clone https://github.com/scross01/obsidian-todoseq.git todoseq\ncd todoseq\nnpm install\nnpm run build\n```\n\nThen enable \"TODOseq\" in Settings → Community plugins.\n\n## Documentation\n\nComprehensive documentation is available at **[scross01.github.io/obsidian-todoseq](https://scross01.github.io/obsidian-todoseq/)**\n\n- [Introduction \u0026 Philosophy](https://scross01.github.io/obsidian-todoseq/introduction.html) — Task management approach and Logseq compatibility\n- [Task List](https://scross01.github.io/obsidian-todoseq/task-list.html) — Using the dedicated task panel\n- [Task Entry](https://scross01.github.io/obsidian-todoseq/task-entry.html) — Task syntax, keywords, and lifecycle\n- [Editor Integration](https://scross01.github.io/obsidian-todoseq/editor.html) — Working with tasks in Edit mode\n- [Reader View](https://scross01.github.io/obsidian-todoseq/reader.html) — Working with tasks in Reading mode\n- [Search](https://scross01.github.io/obsidian-todoseq/search.html) — Advanced search syntax and filters\n- [Embedded Lists](https://scross01.github.io/obsidian-todoseq/embedded-task-lists.html) — Dynamic task lists in notes\n- [Settings](https://scross01.github.io/obsidian-todoseq/settings.html) — Configuration and customization\n\n## Examples\n\n### Basic Tasks\n\n```markdown\nTODO Draft proposal\nDOING Review feedback\nDONE Submit final version\n```\n\n### With Priorities and Dates\n\n**Natural Language Dates:**\n\n```markdown\nTODO [#A] Critical security patch tomorrow\nDOING [#B] Update documentation next Friday\nDONE [#C] Quarterly review monthly\n```\n\n**Structured Org-mode Dates:**\n\n```markdown\nTODO [#A] Critical security patch\nDEADLINE: \u003c2025-03-12\u003e\n\nDOING [#B] Update documentation\nSCHEDULED: \u003c2025-03-15\u003e\n```\n\n**Recurring Tasks:**\n\n```markdown\nTODO Daily standup every day 9am\nDOING Weekly team meeting every Friday 14:00\nDONE Monthly review every month\n```\n\n### In Code Blocks\n\n```python\n# TODO Add input validation\n# FIXME Handle edge case when user is null\ndef process_user(user):\n    pass\n```\n\n### In Org-Mode Files _(Experimental)_\n\n\u003e **Note**: Org-mode support is an experimental feature. Enable it in Settings → TODOseq → Experimental features.\n\n```org\n* TODO [#A] Critical security patch\n  DEADLINE: \u003c2025-03-12\u003e\n\n** DOING [#B] Update documentation\n   SCHEDULED: \u003c2025-03-15\u003e\n\n*** DONE Submit expense report\n```\n\n### Embedded Task List\n\n````markdown\n```todoseq\nsearch: tag:work priority:high\nsort: urgency\nshow-completed: hide\nlimit: 10\ntitle: High Priority Work\n```\n````\n\n## Support\n\n- ⭐ Star this repo if you find it useful\n- 🐛 [Report issues](https://github.com/scross01/obsidian-todoseq/issues) or request features\n- 📝 [Contribute](CONTRIBUTING.md) improvements via pull requests\n\n## License\n\nMIT License — see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscross01%2Fobsidian-todoseq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscross01%2Fobsidian-todoseq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscross01%2Fobsidian-todoseq/lists"}