Taskly
Command-line task manager
| 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)
-
Clone the repository:
git clone https://github.com/ashish0kumar/taskly.git
cd taskly
-
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
- Adding a Task with Project Name
taskly add "Design Homepage" -p "Website Redesign"
- Updating a Task's Status
taskly update 1 -s 1
- Listing All Tasks
taskly list
This command shows tasks in a formatted table with columns for ID, Name,
Project, Status, and Creation Date.
- 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