Noteleaf is a unified personal productivity CLI that combines task management, note-taking, and media tracking in one place. It provides TaskWarrior-inspired task management with additional support for notes, articles, books, movies, and TV shows, all built with Golang & Charm.sh libs. Inspired by TaskWarrior & todo.txt CLI applications.
- Fragmented Ecosystem: Instead of juggling multiple apps for tasks, notes, reading lists, and media queues, Noteleaf provides a single CLI interface
- Terminal-native: For developers and power users who prefer staying in the terminal, Noteleaf offers rich TUIs without leaving your command line
- Lightweight: No desktop apps or web interfaces, just a fast, focused CLI tool
- Unified data model: Tasks, notes, and media items can reference each other, creating a connected knowledge and productivity system
git clone https://github.com/stormlightlabs/noteleaf
cd noteleaf
go build -o ./tmp/noteleaf ./cmd
go installFor a comprehensive walkthrough including task management, time tracking, notes, and media tracking, see the Quickstart Guide.
Noteleaf uses Task for build automation. Development builds include additional tooling commands not available in production builds.
# Production build
task build
# Development build (with version info and dev tools)
task build:dev
# Run tests
task test
task cov # ...with coverageDev builds (task build:dev) include a tools subcommand with maintenance utilities:
Documentation Generation:
# Generate Docusaurus documentation
noteleaf tools docgen --format docusaurus --out website/docs/manual
# Generate man pages
noteleaf tools docgen --format man --out docs/manualData Synchronization:
# Fetch Leaflet lexicons from GitHub
noteleaf tools fetch lexicons
# Fetch from a specific commit
noteleaf tools fetch lexicons --sha abc123def
# Generic GitHub repository archive fetcher
noteleaf tools fetch gh-repo \
--repo owner/repo \
--path schemas/ \
--output local/schemas/Production builds (task build:rc, task build:prod) use the -tags prod flag to exclude dev tools.