Basic task manager command-line application using Cobra to learn more about CLI development in Go lang
- add: Add a new task.
- complete: Mark a task as completed.
- list: List all tasks.
- remove: Remove a task.
- add command should take a task description as an argument.
- complete and remove commands should take the task index as an argument.
- You can use flags to provide additional options, such as a due date or priority level.
- Store tasks in-memory or use a simple JSON file
- possibility to handle configuration and set the storage location.
- Use different colors for different types of output (success, error, etc.).
- Provide clear and user-friendly output for each command.
- Implement proper error handling for cases like invalid input, out-of-bounds task index
- Write unit tests for the core functionality of your task manager