gplan
gplan is an awesome CLI to-do list management application that helps you keep track of your projects and tasks efficiently.
Table of Contents
- About The Project
- Getting Started
- Usage
- Roadmap
- Contributing
- License
About The Project
gplan 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, gplan is the perfect tool for you.
Built With
Getting Started
To get a local copy up and running, follow these simple steps.
Installation
You have several options to install gplan:
-
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 codeberg.org/dynn/gplan@latest
-
Install using Make:
git clone https://codeberg.org/dynn/gplan.git
cd gplan
make install
Usage
gplan allows you to manage projects and tasks with various commands. Below are some usage examples.
Commands
-
Create a new project:
gplan new project -n "New Project" -d "Project Description"
-
Create a new task with priority:
gplan 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:
gplan edit project 1 -n "Updated Project Name" -d "Updated Description"
-
Edit a task's priority:
gplan edit task 1 -P 2
-
List all projects:
gplan list projects
-
List tasks by project:
gplan list tasks -p "Project Name"
-
Remove a project:
gplan remove project 1
-
Toggle task completion:
gplan toggle 1
For detailed help, use the help command:
gplan help
Roadmap
- 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).
Contributing
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
License
Distributed under the GPLv3 License. See LICENSE
for more information.