{"id":31765743,"url":"https://github.com/ashrithvm/task-tracker-cli","last_synced_at":"2026-07-22T17:35:36.923Z","repository":{"id":316954033,"uuid":"1065445488","full_name":"ashrithvm/task-tracker-cli","owner":"ashrithvm","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-27T19:16:46.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-10T00:27:57.991Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashrithvm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T18:38:16.000Z","updated_at":"2025-09-27T19:16:49.000Z","dependencies_parsed_at":"2025-09-27T21:10:29.543Z","dependency_job_id":"c2949e76-c22e-49ae-9c00-718a3e6afda8","html_url":"https://github.com/ashrithvm/task-tracker-cli","commit_stats":null,"previous_names":["ashrithvm/task-tracker-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ashrithvm/task-tracker-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Ftask-tracker-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Ftask-tracker-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Ftask-tracker-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Ftask-tracker-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashrithvm","download_url":"https://codeload.github.com/ashrithvm/task-tracker-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Ftask-tracker-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35771486,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-10T00:26:09.982Z","updated_at":"2026-07-22T17:35:36.864Z","avatar_url":"https://github.com/ashrithvm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Tracker CLI\n\nA simple command-line interface (CLI) application for tracking and managing your daily tasks. This project was built as part of the [roadmap.sh task tracker project](https://roadmap.sh/projects/task-tracker) to practice CLI development and file handling in Python.\n\n## Features\n\n- ✅ Add new tasks with unique IDs\n- ✏️ Update existing task descriptions\n- 🗑️ Delete tasks by ID\n- 📋 List all tasks or filter by status\n- 🔄 Mark tasks as in-progress or completed\n- 💾 Persistent storage using JSON file\n- ⏰ Automatic timestamps for creation and updates\n\n## Requirements\n\n- Python 3.6 or higher\n- No external dependencies (uses only Python standard library)\n\n## Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/ashrithvm/task-tracker-cli.git\n   cd task-tracker-cli\n   ```\n\n\n2. Make the script executable (optional):\n    ```bash\n    chmod +x task_cli.py\n    ```\n\n3. (Optional but Recommended) Create a Symbolic Link:\n    To make the command available system-wide, create a symbolic link to it in a directory that is in your system's PATH. A common location is `/usr/local/bin`.\n\n    ```bash\n    sudo ln -s \"$(pwd)/task_cli.py\" /usr/local/bin/task-cli\n    ```\n\n    You can now run your application from any directory in the terminal like this:\n\n    ```bash\n    task-cli add \"Finish my project\"\n    ```\n\n## Usage\n\n### Adding a new task\n```bash\ntask-cli add \"Buy groceries\"\n```\n\n### Updating a task\n```bash\ntask-cli update 1 \"Buy groceries and cook dinner\"\n```\n\n### Deleting a task\n```bash\ntask-cli delete 1\n```\n\n### Marking a task as in progress\n```bash\ntask-cli mark-in-progress 1\n```\n\n### Marking a task as done\n```bash\ntask-cli mark-done 1\n```\n\n### Listing tasks\n\nList all tasks:\n```bash\ntask-cli list\n```\n\nList tasks by status:\n```bash\n# List only todo tasks\ntask-cli list todo\n\n# List only in-progress tasks\ntask-cli list in-progress\n\n# List only completed tasks\ntask-cli list done\n```\n\n### Getting help\n```bash\ntask-cli --help\n```\n\n## Task Properties\n\nEach task contains the following properties:\n\n- `id`: A unique identifier for the task\n- `description`: A short description of the task\n- `status`: The status of the task (`todo`, `in-progress`, `done`)\n- `createdAt`: The date and time when the task was created\n- `updatedAt`: The date and time when the task was last updated\n\n## Data Storage\n\nTasks are stored in a `tasks.json` file in the same directory as the script. The file is created automatically when you add your first task.\n\n### Example JSON structure:\n```json\n[\n    {\n        \"id\": 1,\n        \"description\": \"Buy groceries\",\n        \"status\": \"todo\",\n        \"createdAt\": \"2025-09-27T10:30:00.123456\",\n        \"updatedAt\": \"2025-09-27T10:30:00.123456\"\n    },\n    {\n        \"id\": 2,\n        \"description\": \"Walk the dog\",\n        \"status\": \"in-progress\",\n        \"createdAt\": \"2025-09-27T11:00:00.654321\",\n        \"updatedAt\": \"2025-09-27T11:15:00.789012\"\n    }\n]\n```\n\n## Project Structure\n\n```\ntask-tracker-cli/\n├── task_cli.py      # Main CLI script\n├── tasks.json       # Task data storage (created automatically)\n└── README.md        # Project documentation\n```\n\n## Implementation Details\n\nThe project implements the following core functionalities as specified in the roadmap.sh project requirements:\n\n1. **Task Management**: Add, update, and delete tasks\n2. **Status Tracking**: Three status levels (todo, in-progress, done)\n3. **Persistent Storage**: JSON file-based storage\n4. **CLI Interface**: Command-line argument parsing using `argparse`\n5. **Data Validation**: Input validation and error handling\n6. **Timestamps**: Automatic tracking of creation and update times\n\n## Error Handling\n\nThe application includes robust error handling for common scenarios:\n\n- Invalid task IDs\n- Invalid status values\n- Missing or corrupted JSON files\n- Invalid command-line arguments\n\n## Contributing\n\nThis is a learning project, but contributions are welcome! Here's how you can contribute:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## Future Enhancements\n\nSome ideas for extending this project:\n\n- [ ] Task priorities (high, medium, low)\n- [ ] Due dates and reminders\n- [ ] Task categories/tags\n- [ ] Export to different formats (CSV, PDF)\n- [ ] Task search functionality\n- [ ] Undo/redo operations\n- [ ] Task dependencies\n- [ ] Time tracking for tasks\n\n## License\n\nThis project is open source and available under the [MIT License](LICENSE).\n\n## Acknowledgments\n\n- [roadmap.sh](https://roadmap.sh/) for providing the project specifications\n- Python community for excellent documentation and resources\n\n---\n\n**Happy task tracking!** 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashrithvm%2Ftask-tracker-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashrithvm%2Ftask-tracker-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashrithvm%2Ftask-tracker-cli/lists"}