A simple command-line interface (CLI) for managing todos using Node.js. This CLI allows you to add, delete, update, mark todos as done, and list all todos. Data is stored in a todos.json
file.
- Add a new todo: Add a new task to your todo list.
- Delete a todo: Remove a todo by its ID.
- Update a todo: Modify the task description of an existing todo.
- Mark a todo as done: Mark a todo as completed.
- List all todos: Display all todos in a table format.
- Prevent duplicate entries: Ensure no duplicate tasks are added.
-
Clone the repository:
git clone https://github.com/bearerOP/todo-cli.git
-
Navigate to the project directory:
cd todo-cli
-
Install the dependencies:
npm install
-
Link the CLI globally:
npm link
todo add "Your task description"
Example:
todo add "Buy groceries"
todo delete <id>
Example:
todo delete 1
todo done <id>
Example:
todo done 1
todo update <id> <newTask>
Example:
todo update 1 "Buy groceries and milk"
todo list
Todos are stored in a JSON file named todos.json
. Each todo entry includes:
id
: Unique identifier for the todotask
: Description of the taskdone
: Boolean indicating if the task is completed
To make changes to the CLI or add new features:
-
Make sure to update the
index.js
file with your changes. -
Test your changes locally.
-
Publish new versions using:
npm version <new-version> npm publish
This project is licensed under the ISC License - see the LICENSE file for details.
Feel free to submit issues and pull requests. Contributions are welcome!
For any questions or support, please reach out to ankity1892003@gmail.com.
### Key Points
- **Installation and Usage**: Instructions for setting up and using the CLI.
- **Features**: Overview of what the CLI can do.
- **File Storage**: Details on how todos are stored.
- **Development**: Guidance for contributing and publishing changes.