https://github.com/murapadev/simple-stupid-todo
A simple, command-line todo application written in Bash. It stores todo items in a JSON file and provides basic task management functionality. Despite being "stupid simple", it's quite powerful for everyday task tracking.
https://github.com/murapadev/simple-stupid-todo
app bash json todo
Last synced: 23 days ago
JSON representation
A simple, command-line todo application written in Bash. It stores todo items in a JSON file and provides basic task management functionality. Despite being "stupid simple", it's quite powerful for everyday task tracking.
- Host: GitHub
- URL: https://github.com/murapadev/simple-stupid-todo
- Owner: murapadev
- License: apache-2.0
- Created: 2023-11-03T12:23:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-12T01:13:32.000Z (about 2 months ago)
- Last Synced: 2025-03-28T06:33:41.572Z (about 1 month ago)
- Topics: app, bash, json, todo
- Language: Shell
- Homepage:
- Size: 12.7 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stupid Simple Todo
## Description
A simple, command-line todo application written in Bash. It stores todo items in a JSON file and provides basic task management functionality. Despite being "stupid simple", it's quite powerful for everyday task tracking.
## Features
- Add tasks with deadlines, priorities, and categories
- List all tasks with color-coding based on priority and status
- Remove tasks by ID or clear all tasks
- Auto-clean expired tasks
- Search tasks by keyword
- Color-coded output for better visibility## Requirements
- Bash shell
- [jq](https://stedolan.github.io/jq/) - A lightweight command-line JSON processor## Usage
```bash
$ ./todo.sh [command] [options]
```### Available Commands:
#### List Tasks
```bash
$ ./todo.sh list
# or simply
$ ./todo.sh
```
Lists all the todo items with color-coding based on priority and status.#### Add Task
```bash
$ ./todo.sh add
```
Starts an interactive wizard to add a new todo item with:
- Message (required)
- Category (optional)
- Priority (low, medium, high)
- Deadline (in number of days)#### Remove Task
```bash
$ ./todo.sh remove
```
Removes a specific todo item by its ID.```bash
$ ./todo.sh remove -a
```
Removes all todo items (with confirmation).#### Clear Expired Tasks
```bash
$ ./todo.sh clear
```
Removes all todo items that are past their deadline.#### Search Tasks
```bash
$ ./todo.sh search
```
Searches todo items by keyword in message or category.#### Help
```bash
$ ./todo.sh help
```
Displays help information.## Installation
```bash
$ git clone https://github.com/yourusername/stupid-todo.git
$ cd stupid-todo
$ chmod +x todo.sh
$ ./todo.sh
```For easier access, you may want to:
1. Create a symbolic link in a directory in your PATH:
```bash
$ ln -s "$(pwd)/todo.sh" ~/bin/todo
```
(Make sure ~/bin is in your PATH)2. Or add an alias in your .bashrc or .zshrc:
```bash
alias todo='path/to/stupid-todo/todo.sh'
```## License
Apache License 2.0
Copyright 2023 Pablo Ramos Muras
Licensed under the Apache License, Version 2.0. See the LICENSE file for details.