A lightweight Command Line Interface (CLI) application built with Node.js to track and manage your daily tasks directly from the terminal. All tasks are stored persistently in a local JSON file.
- Task Management: Add, update, list, and delete tasks easily using CLI commands.
- Flexible Updates: Independently update task descriptions (
--desc) or status (--status)—or update both at the same time. - Status Options: Tracks task progress using standard statuses:
todo,in-progress, anddone. - Local Persistence: Saves all data automatically to a
task-tracker.jsonfile. - Error Handling: Validates inputs, arguments, and task IDs to ensure clean operations.
- Node.js: Version 18.x or higher installed on your machine.
- Clone the repository:
git clone https://github.com/emmanuel3186/task-tracker-cli.git
cd task-tracker-cli- Run the app directly with Node:
No heavy external dependencies are required.
- Add a Task
node task-tracker.js add "Buy groceries"- List Tasks
- List All tasks:
node task-tracker.js list- Filter by Status (todo, in-progress, done):
node task-tracker.js list todo
node task-tracker.js list in-progress
node task-tracker.js list done- Update a Task
You can update either the description, status, or both in a single command:
- Update Description Only:
node task-tracker.js update 1 --desc "Buy rice and milk"- Update Status Only:
node task-tracker.js update 1 --status in-progress- Update Both Simultaneously:
node task-tracker.js update 1 --status done --desc "Completed buying groceries"- Delete a Task
node task-tracker.js delete 1[
{
"id": 1,
"description": "Buy rice and milk",
"status": "in-progress",
"date": "2026-09-01"
}
]- Runtime: Node.js
- Modules: fs (File System), process (CLI Arguments)
- Storage: JSON File Persistence
ISC