Skip to content

ashish0kumar/taskly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taskly

Command-line task manager

List View Kanban View
List View Kanban View

Features

  • Task Management: Add, delete, update, and list tasks.
  • Project Organization: Assign tasks to specific projects for better organization.
  • SQLite Database Integration: Efficient storage and retrieval of tasks.
  • Styled Output: Stylish table and Kanban layouts using Lip Gloss.
  • Kanban Board Interface: Visualize tasks as a Kanban board with Bubble Tea.

Installation

Prerequisites:

  • Go (version 1.16 or later recommended)
  1. Clone the repository:

    git clone https://github.com/ashish0kumar/taskly.git
    cd taskly
  2. Install the application using go install:

    go install .

This command will compile the main.go file and place the resulting executable (taskly) in your GOPATH/bin directory. Ensure that your GOPATH/bin is included in your system's PATH environment variable so you can run taskly from anywhere in your terminal.

Alternatively, you can build the executable manually:

go build -o taskly .
# Then move the 'taskly' executable to a directory in your PATH
# For example: mv taskly /usr/local/bin/

Usage

Use Taskly commands from your terminal to manage tasks. The main command is taskly, followed by subcommands to perform specific actions.

Commands

  • Add a Task: Add a new task, optionally specifying a project name

    taskly add "Task Name" -p "Project Name"
  • Delete a Task: Delete a task by its unique ID:

    taskly delete <ID>
  • Update a Task: Update a task's name, project, or status:

    taskly update <ID> -n "New Task Name" -p "New Project Name" -s <status>

    Status options:

    • 0 for "todo"
    • 1 for "in progress"
    • 2 for "done"
  • List All Tasks: List all stored tasks in a table format:

    taskly list
  • View Kanban Board: Display tasks in a Kanban board layout. Tasks are categorized into todo, in progress and done columns:

    taskly kanban
  • View Database Path: Locate the database file where tasks are stored:

    taskly where

Examples

  1. Adding a Task with Project Name
taskly add "Design Homepage" -p "Website Redesign"
  1. Updating a Task's Status
taskly update 1 -s 1
  1. Listing All Tasks
taskly list

This command shows tasks in a formatted table with columns for ID, Name, Project, Status, and Creation Date.

  1. Viewing the Kanban Board
taskly kanban

This displays tasks in a Kanban layout, categorized by status.

Data Storage

Taskly uses a SQLite database to persist tasks. The database is stored in an XDG-compliant directory (typically $HOME/.local/share/tasks.db). This structure enables easy backup and integration across systems.

Dependencies

  • Cobra: CLI command framework.
  • Bubble Tea: TUI framework for the Kanban board.
  • Lip Gloss: Used for stylish table layouts.
  • SQLite: Lightweight, serverless SQL database.

Contributions

Contributions are welcome! Please fork the repository, create a new branch, and submit a pull request.


© 2025-present Ashish Kumar

LICENSE  

Sponsor this project

 

Languages