Clido is an awesome CLI to-do list management application that helps you keep track of your projects and tasks efficiently.
Clido is a simple yet powerful CLI tool designed to help you manage your projects and tasks effectively from the terminal. Whether you're a developer, a project manager, or just someone who loves to keep things organized, Clido is the perfect tool for you.
- Go
- Cobra - For building powerful modern CLI applications
- SQLite
- Tablewriter - For table formatting in terminal
- Treeprint - For tree formating in terminal
To get a local copy up and running, follow these simple steps.
You have several options to install Clido:
-
Download the official binary:
- Get the appropriate binary for your operating system and computer architecture from the releases page.
- Move the binary to a location in your PATH.
-
Install via Go:
go install github.com/d4r1us-drk/clido@latest
-
Install using Make:
git clone https://github.com/d4r1us-drk/clido.git cd clido make install
Clido allows you to manage projects and tasks with various commands. Below are some usage examples.
-
Create a new project:
clido new project -n "New Project" -d "Project Description"
-
Create a new task with priority:
clido new task -n "New Task" -d "Task Description" -D "2024-08-15 23:00" -p "Existing Project" -P 1
Priority levels: 1 (High), 2 (Medium), 3 (Low), 4 (None)
-
Edit an existing project:
clido edit project 1 -n "Updated Project Name" -d "Updated Description"
-
Edit a task's priority:
clido edit task 1 -P 2
-
List all projects:
clido list projects
-
List tasks by project:
clido list tasks -p "Project Name"
-
Remove a project:
clido remove project 1
-
Toggle task completion:
clido toggle 1
For detailed help, use the help command:
clido help
- Add task and project management
- Add priority levels for tasks
- Implement Cobra framework for improved CLI structure
- Add shell completion support
- Add sub-tasks and sub-projects
- Add a JSON output option to facilitate scripting
- Use MVC Architecture and dependency injection
- Add a TUI interface
- Add a config file with customizable options, like database path, date-time format, etc.
- Add reminders and notifications (this would require a daemon)
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPLv3 License. See LICENSE
for more information.