Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. checkmate.nvim

checkmate.nvim

MITLuav0.12.1

A full-featured, Markdown-based todo/task management plugin for Neovim with metadata, custom states, and archiving.

GitHubGitHub
380 stars8 forks0 contributors

What is checkmate.nvim?

Checkmate.nvim is a Neovim plugin that transforms the editor into a powerful task manager using standard Markdown files. It allows users to create, toggle, and manage todos directly within Markdown documents using familiar syntax like `- [ ]` and `- [x]`. The plugin keeps all task data in a portable, plain-text format compatible with any Markdown editor.

Target Audience

Neovim users who manage tasks or project notes in Markdown files and want a integrated, keyboard-driven workflow without leaving their editor. It's particularly suited for developers, technical writers, or anyone maintaining documentation with actionable items.

Value Proposition

Developers choose Checkmate.nvim for its deep integration with Neovim's ecosystem while maintaining data portability through standard Markdown. Its unique selling point is extensive customization—including custom todo states, metadata annotations, and smart toggling rules—without locking users into a proprietary format.

Overview

A full-featured, Markdown-based Neovim todo plugin

Use Cases

Best For

  • Managing project todos and tasks directly within Neovim using Markdown files.
  • Creating customizable task workflows with states beyond simple checked/unchecked (e.g., 'in-progress', 'on-hold').
  • Adding structured metadata like priorities (`@priority(high)`) and timestamps (`@started`) to todos with visual styling.
  • Automatically archiving completed tasks into a dedicated section at the bottom of a Markdown buffer.
  • Visualizing task progress with completion counts (e.g., '1/4') for parent todos with subtasks.
  • Integrating todo management with popular Neovim pickers like telescope.nvim, snacks.nvim, or mini.pick for quick navigation.

Not Ideal For

  • Teams needing real-time collaboration or cloud-synced task management across multiple users.
  • Projects requiring advanced task features like recurring reminders, dependencies, or calendar integration.
  • Users who primarily edit Markdown in non-Neovim editors and need full compatibility with custom todo states (e.g., `- [.]`).
  • Neovim newcomers unfamiliar with Lua configuration or plugin ecosystems seeking a zero-setup solution.

Pros & Cons

Pros

Portable Markdown Format

Todos are stored as standard Markdown syntax (`- [ ]`, `- [x]`), ensuring compatibility with any Markdown editor and long-term data portability, as emphasized in the philosophy.

Deep Customization Options

Supports custom todo states (e.g., 'in-progress', 'on-hold'), metadata annotations like `@priority(high)`, and configurable smart toggling rules, allowing tailored workflows without proprietary lock-in.

Neovim Ecosystem Integration

Out-of-the-box picker support for snacks.nvim, mini.pick, and telescope.nvim enables seamless todo navigation and selection, integrating with popular Neovim tools.

Smart Task Management Features

Includes automatic archiving of completed todos, completion counts for parent items, and list continuation in insert mode, mimicking modern task app behavior within the editor.

Cons

Non-Standard Markdown Risks

Custom todo states (e.g., `- [.]`) are not CommonMark-compliant and may break rendering in other Markdown editors, limiting portability despite the plain-text format.

Configuration Overhead

Setting up custom states, metadata, and pickers requires Lua knowledge and manual tweaking, with no GUI or wizard for beginners, as evidenced by the extensive config examples.

Limited Advanced Functionality

Missing features like recurring tasks, reminders, or cross-file todo management are acknowledged in the roadmap, making it less suited for complex project management needs.

Potential Tool Conflicts

The built-in linter for Markdown formatting may interfere with other linting tools like conform.nvim or prettier, and disabling it requires manual config changes.

Open Source Alternative To

checkmate.nvim is an open-source alternative to the following products:

Todoist
Todoist

Todoist is a popular task management and to-do list application available across multiple platforms, helping users organize projects and tasks.

TickTick
TickTick

TickTick is a task management and to-do list application that helps users organize tasks, set reminders, and collaborate with teams across multiple platforms.

Any.do
Any.do

Any.do is a task management and to-do list application available on web, mobile, and desktop platforms. It helps users organize tasks, set reminders, and collaborate on shared lists.

M
Microsoft To Do

Frequently Asked Questions

Quick Stats

Stars380
Forks8
Contributors0
Open Issues7
Last commit5 months ago
CreatedSince 2025

Tags

#todo#productivity#todo-management#plain-text#neovim-plugin#note-taking#task-management#metadata#markdown#todo-list#neovim#lua#neovim-lua-plugin#awesome-neovim#self-hosted

Built With

L
LuaSnip
N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

neorgneorg

Modernity meets insane extensibility. The future of organizing your life in Neovim.

Stars7,499
Forks247
Last commit2 months ago
orgmodeorgmode

Orgmode clone written in Lua for Neovim 0.12.0+.

Stars3,922
Forks192
Last commit9 days ago
obsidian.nvimobsidian.nvim

Obsidian 🤝 Neovim (actively maintained version)

Stars2,214
Forks145
Last commit3 days ago
telekasten.nvimtelekasten.nvim

A Neovim (lua) plugin for working with a markdown zettelkasten / wiki and mixing it with a journal, based on telescope.nvim

Stars1,695
Forks102
Last commit7 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub