Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ashish0kumar/taskly
📋 A CLI Task manager written in Go
https://github.com/ashish0kumar/taskly
bubbletea charmbracelet cobra-cli go golang kanban kanban-board sqlite task task-manager todo
Last synced: 14 days ago
JSON representation
📋 A CLI Task manager written in Go
- Host: GitHub
- URL: https://github.com/ashish0kumar/taskly
- Owner: ashish0kumar
- License: mit
- Created: 2024-11-02T17:47:34.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2024-11-03T12:26:56.000Z (14 days ago)
- Last Synced: 2024-11-03T12:27:16.447Z (14 days ago)
- Topics: bubbletea, charmbracelet, cobra-cli, go, golang, kanban, kanban-board, sqlite, task, task-manager, todo
- Language: Go
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📋 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](assets/screenshot.png)
## ✨ 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:
```bash
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:
```bash
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:
```bash
taskly add "Task Name" -p "Project Name"
```- ❌ **Delete a Task**
Delete a task by its unique ID:
```bash
taskly delete
```- ✏️ **Update a Task**
Update a task's name, project, or status:
```bash
taskly update -n "New Task Name" -p "New Project Name" -s
```*Status options:*
- `0` for "todo"
- `1` for "in progress"
- `2` for "done"- 📄 **List All Tasks**
List all stored tasks in a table format:
```bash
taskly list
```- 🗂️ **View Kanban Board**
Display tasks in a Kanban board layout. Tasks are categorized into "todo," "in progress," and "done" columns:
```bash
taskly kanban
```- 🗄️ **View Database Path**
Locate the database file where tasks are stored:
```bash
taskly where
```## 💡 Examples
1. **Adding a Task with Project Name**
```bash
taskly add "Design Homepage" -p "Website Redesign"
```2. **Updating a Task's Status**
```bash
taskly update 1 -s 1
```3. **Listing All Tasks**
```bash
taskly list
```This command shows tasks in a formatted table with columns for ID, Name, Project, Status, and Creation Date.
4. **Viewing the Kanban Board**
```bash
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](https://github.com/spf13/cobra): CLI command framework.
- [Bubble Tea](https://github.com/charmbracelet/bubbletea): TUI framework for the Kanban board.
- [Lip Gloss](https://github.com/charmbracelet/lipgloss): Used for stylish table layouts.
- [SQLite](https://github.com/mattn/go-sqlite3): 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.