tasks

command module
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2025 License: MIT Imports: 13 Imported by: 0

README ΒΆ

Tasks - Terminal Markdown Task Manager

A beautiful, interactive terminal application for managing tasks stored in markdown files. Built with Go, Bubble Tea, and lipgloss for a modern TUI experience.

Yes, this has been vibe coded.

Tasks UI

Features

  • ✨ Interactive Terminal UI - Navigate with Vim-style keys including page navigation
  • πŸ“‹ Markdown Integration - Works with standard markdown task lists
  • 🌳 Hierarchical Structure - Support for nested sections and tasks
  • 🎨 Beautiful Styling - Modern colors, typography, and consistent highlighting
  • ⚑ Live Editing - Create and edit tasks and sections in-place
  • πŸ”„ Task Management - Toggle completion, move tasks, delete items, collapse sections
  • 🎯 Section Creation - Quick section creation with h+1 to h+6 shortcuts
  • ✨ Smart Highlighting - Fixed-width highlighting that adapts to indentation
  • πŸ—‚οΈ Global Section Control - Collapse/expand all sections at once
  • 🌍 Unicode Support - Full support for international characters and emojis
  • πŸ“ Empty File Handling - Create tasks and sections in empty markdown files

Installation

Prerequisites
  • Go 1.24.5 or later
Install with Go
go install dev.rischmann.fr/tasks@latest
Build from Source
git clone https://github.com/vrischmann/tasks
cd tasks
go build

Quick Start

  1. Run with a markdown file:

    tasks demo.md
    
  2. Try the included examples:

    tasks demo.md    # Complex hierarchical example
    tasks test.md    # Simple test file
    
  3. Use with your own files:

    tasks path/to/your/todo.md
    

Supported Markdown Format

The application works with standard markdown task lists:

# Project Tasks

## Frontend Development
- [ ] Setup React project
- [x] Create main components
- [ ] Implement routing

### UI Components
- [ ] Button component
- [ ] Form component

## Backend Development
- [x] API design
- [ ] Database setup

Controls

Navigation
Key Action
j / ↓ Move down
k / ↑ Move up
Ctrl+F Page forward (down)
Ctrl+B Page backward (up)
q Quit application
Task Management
Key Action
space Toggle task completion (β˜’/☐)
n Create new task
e Edit current task or section
d Delete current item (tasks or sections with all contents)
Alt+j / Alt+↓ Move item down
Alt+k / Alt+↑ Move item up
Section Management
Key Action
h+1 Create new h1 section (#)
h+2 Create new h2 section (##)
h+3 Create new h3 section (###)
h+4 Create new h4 section (####)
h+5 Create new h5 section (#####)
h+6 Create new h6 section (######)
Section Control
Key Action
enter Toggle section expand/collapse
← Collapse current section
β†’ Expand current section
- Collapse all sections
+ Expand all sections
File Operations
Key Action
s Save changes to file
Input Mode

When creating or editing tasks/sections:

Key Action
Enter Save and exit input mode
Esc / Ctrl+C Cancel and exit input mode
Backspace Delete characters

Note: Full Unicode support - type accented characters (Γ©, Γ±, etc.) and emojis directly!

Examples

Creating a New Task
  1. Navigate to where you want to add a task
  2. Press n
  3. Type your task description
  4. Press Enter to save
Creating a New Section
  1. Navigate to where you want to add a section
  2. Press h followed by a number (1-6) for the section level
    • h+1 creates # Section Name
    • h+2 creates ## Section Name
    • etc.
  3. Type your section name
  4. Press Enter to save
Organizing with Sections
  • Use markdown headers (#, ##, ###) to create sections
  • Navigate to a section header and press Enter to collapse/expand
  • Use ←/β†’ for quick collapse/expand
  • Collapsed sections hide all their sub-content
Editing Existing Items
  1. Navigate to the task or section you want to edit
  2. Press e
  3. Modify the text
  4. Press Enter to save changes
Moving Items
  • Use Alt+j or Alt+↓ to move items down
  • Use Alt+k or Alt+↑ to move items up
  • Works for both tasks and sections
Deleting Items
  1. Navigate to the task or section you want to delete
  2. Press d
  3. The item is immediately deleted (no confirmation)
    • For tasks: Only the task is deleted
    • For sections: The section and ALL its contents (subsections, tasks) are deleted
Global Section Management
  • Press - to collapse all sections at once (overview mode)
  • Press + to expand all sections at once (detailed mode)
  • Useful for quickly switching between high-level and detailed views

File Structure

tasks/
β”œβ”€β”€ main.go           # Main application code (867 lines)
β”œβ”€β”€ go.mod            # Go module definition
β”œβ”€β”€ go.sum            # Go module checksums
β”œβ”€β”€ Justfile          # Just build automation (optional)
β”œβ”€β”€ demo.md           # Complex example file
β”œβ”€β”€ test.md           # Simple example file
β”œβ”€β”€ README.md         # This file
β”œβ”€β”€ CLAUDE.md         # Developer documentation
β”œβ”€β”€ AGENTS.md         # Agent configuration
└── LICENSE           # MIT License

Development

Requirements
  • Go 1.24.5+
  • Terminal with color support
Dependencies
Building
go mod download
go build
Using Just (alternative build tool)

If you have just installed:

just build          # Build the application
just run            # Run with test.md
just fmt             # Format code
just check           # Run vet and staticcheck
just watch-build     # Watch and rebuild on changes
just watch-run       # Watch and run on changes
Testing
go run main.go demo.md

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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