A command-line 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.
List View | Kanban View |
---|---|
![]() |
![]() |
- 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.
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/
Use Taskly commands from your terminal to manage tasks. The main command is
taskly
, followed by subcommands to perform specific actions.
-
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
anddone
columns:taskly kanban
-
View Database Path: Locate the database file where tasks are stored:
taskly where
- 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.
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.
- 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 are welcome! Please fork the repository, create a new branch, and submit a pull request.