noteleaf

module
v0.0.0-...-c75bb4f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2025 License: MIT

README

Noteleaf

codecov Go Report Card License Go Version

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.

Why?

  • 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

Getting Started

Quick Install
git clone https://github.com/stormlightlabs/noteleaf
cd noteleaf
go build -o ./tmp/noteleaf ./cmd
go install
First Steps

For a comprehensive walkthrough including task management, time tracking, notes, and media tracking, see the Quickstart Guide.

Development

Noteleaf uses Task for build automation. Development builds include additional tooling commands not available in production builds.

Building
# Production build
task build

# Development build (with version info and dev tools)
task build:dev

# Run tests
task test
task cov # ...with coverage
Development Tools

Dev 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/manual

Data 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.

Directories

Path Synopsis
internal
documents
Term Frequency-Inverse Document Frequency search model for notes
Term Frequency-Inverse Document Frequency search model for notes
handlers
Package handlers provides command handlers for leaflet publication operations.
Package handlers provides command handlers for leaflet publication operations.
public
Package public provides conversion between markdown and leaflet block formats
Package public provides conversion between markdown and leaflet block formats
repo
TODO: extend queryMany composition for GetTasksBy...
TODO: extend queryMany composition for GetTasksBy...
services
Package services provides AT Protocol integration for leaflet.pub
Package services provides AT Protocol integration for leaflet.pub
shared
package shared contains constants used across the codebase
package shared contains constants used across the codebase
ui
This module contains colors from github.com/charmbracelet/x/exp/charmtone
This module contains colors from github.com/charmbracelet/x/exp/charmtone

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL