{"id":28823538,"url":"https://github.com/emmanuelallan/cli_task_manager","last_synced_at":"2026-06-20T18:31:43.374Z","repository":{"id":298693260,"uuid":"1000472396","full_name":"emmanuelallan/cli_task_manager","owner":"emmanuelallan","description":"A powerful, feature-rich command-line task management application built with Ruby.","archived":false,"fork":false,"pushed_at":"2025-06-12T17:29:48.000Z","size":1179,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-09T07:06:16.623Z","etag":null,"topics":["cli","ruby","task-manager"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emmanuelallan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-06-11T20:54:08.000Z","updated_at":"2025-06-12T17:29:52.000Z","dependencies_parsed_at":"2025-06-12T11:45:53.952Z","dependency_job_id":"f4858be4-8a61-47ad-81e0-f783c63b2233","html_url":"https://github.com/emmanuelallan/cli_task_manager","commit_stats":null,"previous_names":["emmanuelallan/cli_task_manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emmanuelallan/cli_task_manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelallan%2Fcli_task_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelallan%2Fcli_task_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelallan%2Fcli_task_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelallan%2Fcli_task_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emmanuelallan","download_url":"https://codeload.github.com/emmanuelallan/cli_task_manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelallan%2Fcli_task_manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34581934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"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":["cli","ruby","task-manager"],"created_at":"2025-06-19T00:09:57.670Z","updated_at":"2026-06-20T18:31:43.346Z","avatar_url":"https://github.com/emmanuelallan.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 CLI Task Manager\n\nA powerful, feature-rich command-line task management application built with Ruby. Manage your tasks efficiently with a beautiful CLI interface, robust data persistence, and advanced task organization features.\n\n![CLI Task Manager Interface](example.png)\n\n## ✨ Features\n\n- 🔐 **Secure User Management**\n\n  - User registration and authentication\n  - Secure password hashing with bcrypt\n  - Session management with auto-login\n\n- 📝 **Advanced Task Management**\n\n  - Create, read, update, and delete tasks\n  - Set due dates, priorities, and tags\n  - Support for recurring tasks\n  - Parent-child task relationships\n  - Task status tracking (pending/completed)\n\n- 🎯 **Smart Task Organization**\n\n  - Filter tasks by status, tags, and due dates\n  - Sort tasks by various criteria\n  - Overdue task highlighting\n  - Priority-based task management\n\n- 📊 **Data Management**\n\n  - SQLite database with ActiveRecord ORM\n  - Import/Export tasks in CSV format\n  - Robust error handling and logging\n\n- 🎨 **Beautiful CLI Interface**\n  - Color-coded output for better readability\n  - Interactive prompts for user input\n  - Progress indicators and status messages\n  - Comprehensive help system\n\n## 🛠️ Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/emmanuelallan/cli_task_manager.git\ncd cli_task_manager\n```\n\n2. Install dependencies:\n\n```bash\nbundle install\n```\n\n3. Make the CLI executable:\n\n```bash\nchmod +x bin/task_manager\n```\n\n## 🚀 Usage\n\n### Basic Commands\n\n```bash\n# Register a new user\ntask_manager register\n\n# Login to your account\ntask_manager login\n\n# Add a new task\ntask_manager add \"Buy groceries\" --due-date 2024-03-20 --priority high --tags shopping,food\n\n# List all tasks\ntask_manager list\n\n# Show task details\ntask_manager show TASK_ID\n\n# Complete a task\ntask_manager complete TASK_ID\n\n# Edit a task\ntask_manager edit TASK_ID --title \"New title\" --priority medium\n\n# Delete a task\ntask_manager delete TASK_ID\n```\n\n### Advanced Features\n\n```bash\n# Filter tasks\ntask_manager list --completed\ntask_manager list --pending\ntask_manager list --overdue\ntask_manager list --tag shopping\n\n# Sort tasks\ntask_manager list --sort-by due_date\ntask_manager list --sort-by priority\ntask_manager list --sort-by created_at\n\n# Export tasks\ntask_manager export csv my_tasks.csv\n\n# Import tasks\ntask_manager import csv my_tasks.csv\n```\n\n## 🏗️ Architecture\n\nThe application follows a clean, modular architecture:\n\n- **CLI Layer**: Handles user interaction and command parsing\n- **Service Layer**: Implements business logic\n- **Model Layer**: Manages data and persistence\n- **Persistence Layer**: Handles database operations\n\n## 🔧 Development\n\n### Prerequisites\n\n- Ruby 3.0 or higher\n- Bundler\n- SQLite3\n\n### Running Tests\n\n```bash\nbundle exec rspec\n```\n\n### Code Style\n\nThe project follows Ruby best practices and uses RuboCop for code style enforcement:\n\n```bash\nbundle exec rubocop\n```\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your 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## 🙏 Acknowledgments\n\n- [Thor](https://github.com/rails/thor) for CLI framework\n- [TTY-Prompt](https://github.com/piotrmurach/tty-prompt) for interactive prompts\n- [ActiveRecord](https://github.com/rails/rails/tree/main/activerecord) for database operations\n- [Colorize](https://github.com/fazibear/colorize) for terminal colors\n\n---\n\nMade with ❤️ by Emmanuel Allan\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuelallan%2Fcli_task_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femmanuelallan%2Fcli_task_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuelallan%2Fcli_task_manager/lists"}