Skip to content

πŸ“‹ A CLI Task manager built using Cobra & Bubble Tea in Go

License

Notifications You must be signed in to change notification settings

ashish0kumar/Taskly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‹ Taskly

Taskly is a CLI-based task management tool built in Go using the Cobra package. It features data storage with SQLite, visually styled output with Lip Gloss, and an interactive Kanban board view powered by Bubble Tea. Taskly makes it easy to add, edit, delete, and manage tasks directly from the terminal.

ss

✨ 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

Clone the repository and navigate to the project directory:

git clone https://github.com/ashish0kumar/Taskly.git
cd Taskly

Prerequisites

Ensure Go is installed on your system. You can install Taskly with the following commands:

go mod download
go build -o taskly

This will create a binary executable named taskly.

πŸ”§ 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.

πŸ“œ License

This project is licensed under the MIT License.

Releases

No releases published

Packages

No packages published

Languages