A professional task management plugin for Obsidian that helps you track tasks across your vault, organize your day with intelligent planning, and manage your workload effectively.
Note: This plugin is a fork of Proletarian Wizard by cfe84. See LICENSE for attribution.
- Kanban-style planning view with time-based horizons
- Today section with Todo, In Progress, and Done columns
- Future planning with configurable day, week, month, quarter, and year horizons
- Drag and drop tasks between time periods
- Custom horizons filtered by tag or specific dates
- WIP (Work In Progress) limits to manage daily workload
- Track tasks from any markdown file in your vault
- Support for multiple task statuses: Todo, In Progress, Complete, Canceled, Delegated
- Priority levels: Critical, High, Medium, Low, Lowest
- Due date tracking with flexible attribute syntax
- Pin important tasks to keep them visible
- Subtask support with collapsible groups
Task attributes use the Dataview inline field format:
- [ ] Buy groceries [due:: 2025-01-15] [priority:: high]This syntax is compatible with the popular Dataview plugin and is the Obsidian community standard.
Type shorthand attributes and Task Planner automatically converts them to Dataview format when you move to the next line:
@today→[due:: 2025-01-17]@tomorrow→[due:: 2025-01-18]@high→[priority:: high]
This auto-conversion can be disabled in settings if you prefer manual control.
- Open Obsidian Settings
- Navigate to Community Plugins
- Search for "Task Planner"
- Click Install, then Enable
- Download the latest release from GitHub
- Extract to your vault's
.obsidian/plugins/task-planner/directory - Enable the plugin in Obsidian Settings > Community Plugins
Add tasks anywhere in your markdown files using standard checkbox syntax:
- [ ] Unchecked task
- [x] Completed task
- [>] In progress
- [-] Canceled
- [d] Delegated
- [!] Attention requiredAdd due dates, priorities, and other metadata:
- [ ] Review quarterly report [due:: 2025-03-31] [priority:: high]
- [ ] Schedule team meeting [due:: 2025-01-20] [selected:: true]Use standard hashtags to categorize tasks. Custom horizons can filter by these tags:
- [ ] Buy groceries #shopping #household
- [ ] Review PR #work #urgent- Open planning: Opens the planning board view
- Open todo report: Opens the completed tasks report
- Mark todo as checked/unchecked: Toggle task completion
- Mark todo as ongoing/unchecked: Toggle in-progress status
- Complete line attributes: Expand shorthand dates and priorities
Configure Task Planner in Settings > Task Planner:
- Planning Board: Configure visible time horizons (days, weeks, months, quarters)
- Custom Horizons: Create tag-filtered or date-specific columns
- Task Attributes: Customize attribute names (due, completed, selected)
- Filtering: Ignore specific folders or archived content
- Node.js 22+
- npm
# Install dependencies
npm install
# Development build with watch mode
npm run dev
# Production build
npm run build
# Run all validation (lint, types, format, tests)
npm run validate| Script | Description |
|---|---|
npm run dev |
Development build with watch mode |
npm run build |
Production build |
npm run test |
Run tests |
npm run test:watch |
Run tests in watch mode |
npm run test:coverage |
Run tests with coverage report |
npm run lint |
Run ESLint |
npm run lint:fix |
Run ESLint with auto-fix |
npm run format |
Format code with Prettier |
npm run format:check |
Check code formatting |
npm run typecheck |
TypeScript type checking |
npm run validate |
Run all checks |
src/
commands/ # Editor commands
core/ # Core business logic
events/ # Event handling
lib/ # Shared utilities
settings/ # Plugin settings
types/ # TypeScript types
ui/ # React components
views/ # Obsidian views
__tests__/ # Test files
__mocks__/ # Mock implementations
We use Jest for testing with comprehensive Obsidian API mocks:
# Run tests
npm run test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage- Prettier for code formatting
- ESLint with React and TypeScript plugins
- TypeScript with gradual strictness
Contributions are welcome! Please read our Contributing Guidelines before submitting a Pull Request.
We use Conventional Commits for commit messages:
feat(planning): add drag-and-drop reordering
fix(parser): handle empty attributes correctly
docs: update installation instructionsQuick start:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Make your changes and run
npm run validate - Commit using conventional commits
- Push and open a Pull Request
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.
This software is based on Proletarian Wizard by cfe84 and contributors, licensed under GPL v2.0.
- Report issues on GitHub Issues
- Join the discussion in the Obsidian community forums