dorkhub

TaskTrove

TaskTrove is a modern Todo Manager that is fully self-hostable.

dohsimpson
TypeScript1.1k24 forksupdated 6 months ago
visit the demogit clone https://github.com/dohsimpson/TaskTrove.gitdohsimpson/TaskTrove

TaskTrove

tasktrove-banner

License Self-Hosted Docker Demo

🌐 WebsiteFeaturesInstallationUsageDevelopmentRoadmap

Light Theme Dark Theme Mobile View
TaskTrove Light Theme TaskTrove Dark Theme TaskTrove Mobile View

✨ Features

Feature Description
🏠 Complete Privacy Self-hosted on your infrastructure with zero tracking or data collection
📝 Smart Task Creation Natural language parsing ("tomorrow at 2pm") with unlimited subtasks and rich details
🔄 Recurring Tasks Daily, weekly, monthly, or custom patterns with automatic scheduling
📊 Project Organization Group tasks by projects with sections, color-coded labels, and multiple views
🎨 Modern Interface Clean design with dark/light themes, mobile-friendly, and keyboard shortcuts
💾 Simple Data Management File-based storage in JSON format for easy backups and transfers

📦 Installation

Docker (Recommended)

# Quick start
docker run -p 3000:3000 -v ./data:/app/data -d --name tasktrove ghcr.io/dohsimpson/tasktrove

Docker Compose

# Download setup files
git clone https://github.com/dohsimpson/TaskTrove
cd TaskTrove/selfhost

# Start TaskTrove
docker-compose up -d

Manual Setup

# Clone repository
git clone https://github.com/dohsimpson/TaskTrove
cd TaskTrove

# Install dependencies
pnpm install

# Build and start
pnpm build
pnpm start

💻 Usage

Keyboard Shortcuts

Key Action
n Quick add new task
/ Search tasks and projects
Space Mark task as complete/incomplete
Esc Close details panel or dialogs

Task Features

  • Natural Language: "tomorrow at 2pm", "next Friday", "every Monday"
  • Subtasks: Break down complex projects into manageable pieces
  • Rich Details: Priorities, due dates, comments, file attachments
  • Views: List, Kanban board, and Calendar views

Backup Your Data

cp data/data.json ~/tasktrove-backup-$(date +%Y%m%d).json

🧩 Development

Want to contribute? Check out the development setup:

git clone https://github.com/dohsimpson/TaskTrove
cd TaskTrove
pnpm install
pnpm dev

Key Commands:

  • pnpm typecheck - Type checking
  • pnpm lint - Code linting
  • pnpm test - Run tests
  • pnpm run check - Full validation

Contributing

We welcome and appreciate all contributions! Thank you for helping make TaskTrove better.

Process:

  1. Open an issue first - Discuss bugs in GitHub Issues, or features in GitHub Discussions
  2. Submit your PR - You'll be prompted to sign our CLA (Contributor License Agreement)
  3. Code review - A maintainer will review your changes and provide feedback
  4. Merge - Once approved, your contribution will be merged

Guidelines:

  • Follow existing code patterns and test coverage requirements
  • Add unit tests for non-trivial changes
  • AI assisted PRs are allowed, but through review is required before submitting. Make sure you are the sole contributor of the PR (avoid co-authored by XYZ in commit message)

📄 License

See LICENSE.md for license terms and pricing.


Happy Tasking!

more like this

ForwardWidgets

Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…

JavaScript247

tobira.nvim

Open the next door in your Vim journey — personalized command discovery based on your actual usage

Lua51

frirss

A modern, self-hosted, customizable web frontend for FreshRSS.

TypeScript51

search

search projects, people, and tags