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.
- 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.
Clone the repository and navigate to the project directory:
git clone https://github.com/ashish0kumar/Taskly.git
cd Taskly
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
.
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," and "done" 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.
This project is licensed under the MIT License.