{"id":20533403,"url":"https://github.com/manuelbento19/task-list-cli","last_synced_at":"2026-04-20T04:02:19.587Z","repository":{"id":140533339,"uuid":"478973411","full_name":"manuelbento19/task-list-cli","owner":"manuelbento19","description":"Command-line todo list. It allows you to write your tasks, set priorities, view existing tasks and view the next tasks due.","archived":false,"fork":false,"pushed_at":"2022-05-10T07:58:13.000Z","size":53,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T13:19:04.781Z","etag":null,"topics":["child-process","cli","commander","javascript","nodejs","process","terminal"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/manuelbento19.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}},"created_at":"2022-04-07T12:23:47.000Z","updated_at":"2024-06-08T17:44:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"7928b688-c1a6-4c4b-9480-5986475a7f06","html_url":"https://github.com/manuelbento19/task-list-cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"stevescruz/Challenge-Task-List","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelbento19%2Ftask-list-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelbento19%2Ftask-list-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelbento19%2Ftask-list-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelbento19%2Ftask-list-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manuelbento19","download_url":"https://codeload.github.com/manuelbento19/task-list-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242138885,"owners_count":20078006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["child-process","cli","commander","javascript","nodejs","process","terminal"],"created_at":"2024-11-16T00:21:09.678Z","updated_at":"2026-04-20T04:02:14.566Z","avatar_url":"https://github.com/manuelbento19.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://res.cloudinary.com/dmct8cfu9/image/upload/v1620183656/carbon_todolist-cli.png\" alt=\"Logo\" width=\"250\"\u003e\n\n  \u003ch3 align=\"center\"\u003eTodo List CLI by \u003ca href=\"https://github.com/stevescruz\"\u003eSteve\u003c/a\u003e\u003c/h3\u003e\n \u003cbr /\u003e\n  \u003cp align=\"center\"\u003e\n     Command-line based task list\n       \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://www.devchallenge.com.br/challenges/607785ac40398e001f6046c6/details\"\u003eChallenge\u003c/a\u003e\n    ·\n    \u003ca href=\"https://www.devchallenge.com.br/\"\u003eDevChallenge\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n* [DevChallenge](#devchallenge) \n* [Challenge](#challenge)\n* [Hall of Fame](#hall-of-fame)\n* [Requirements](#requirements)\n* [Techs](#techs)\n* [How to start](#how-to-start)\n* [Share](#share)\n* [Community](#devchallenge-community)\n\n## Translations\n\n* :us: [EN-US](README.md)\n* :brazil: [PT-BR](translations/README_PT-BR.md)\n\n# DevChallenge\n\u003ca href=\"https://devchallenge.now.sh/\"\u003e DevChallenge\u003c/a\u003e allows you to evolve your skills as a programmer! Join our \u003ca href=\"https://discord.gg/yvYXhGj\"\u003ecommunity\u003c/a\u003e o/\n\n# Challenge\nYour challenge is to create a command-line interface that allows you to maintain a task list with pending and done activities!\n\n# Hall of Fame\nThe most interesting projects created by users will be displayed at this section to serve as inspiration for other people doing this challenge. Therefore, do not only fulfill the requirements, take your project to the next level.\n\n- [Task Master CLI](https://github.com/stevescruz/task-master) (JavaScript and Node.js) by [Steve](https://github.com/stevescruz).\n\n# Requirements:\nThe following requirements should be implemented in a command-line interface. This CLI should be controlled by using commands (including subcommands and arguments), a menu with options or other creative methods.\n1. **[optional]** If you decide to use commands keep in mind that they have to be an explicit action, while arguments use a dash (`-a` or `--argument`) and are responsible for modifying a command's behavior. Example:\n\n```bash\ntask \u003csubcommand\u003e # Accepts add, complete, delete, list and next as subcommands\n\ntask add \u003cdescription\u003e [-p \u003cpriority\u003e] # Adds a pending task. Can set the task's priority to low, normal or high with the -p (or --priority) option\n\ntask complete \u003cid\u003e # Marks a task as done\ntask delete \u003cid\u003e # Deletes a task\ntask list [-a] # Shows pending tasks. The -a (or --all) option shows all tasks\ntask next # Shows the next task of each priority\n```\n2. **[add task]** : It should be possible to register a new task.\n\n    A task must have a unique id, a description, a creation date, a status (shows if a task is pending or done) and a priority (high, normal or low). Example:\n    \n    ```javascript\n    { id: 1, description: 'Buy 6 eggs', created: 2021-04-01T20:54:19.410Z, status: 'pending', priority: 'high' };\n    ```\n3. **[mark task as done]** : Should be able to update a task's status to done.\n4. **[delete task]** : Should be able to delete a task by providing its corresponding id.\n5. **[list tasks]** : Should be able to list the tasks with status that isn't done.\n    \n    Instead of showing the creation date of each task, that property should be substituted by a new property that displays how long ago the task was created (1 month). Example:\n    ```javascript\n    [{ id: 1, description: 'Buy 6 eggs', age: 22 hours, status: 'pending', priority: 'high' }]\n    ```\n6. **[list all tasks]** : Should be able to list all tasks, including those with status done.\n    \n    Instead of showing the creation date of each task, that property should be substituted by a new property that displays how long ago the task was created (1 month).\n7. **[list next tasks]** : Should be able to list a task from each priority. In other words, a high priority task, a normal priority task and a low priority task, if they exist. The listed task of each priority with be the oldest from its group.\n\n    Instead of showing the creation date of each task, that property should be substituted by a new property that displays how long ago the task was created (1 month).\n8. **[local file or database]** : Should be able to persist data so it isn't lost after the CLI finishes execution.\n\n# Techs: \n- Any technology that you prefer! But, we have some suggestions. :)\n\n## JavaScript\n\n[Commander.js](https://github.com/tj/commander.js/) : tool for creating command-line interfaces that allow the usage of commands, arguments and flags.\n\n[Inquirer.js](https://github.com/SBoudrias/Inquirer.js/) : allows us to create more interactive command-line interfaces. So it can ask questions, display checklists and hide password input.\n\n[Chalk](https://github.com/chalk/chalk) : allows us to style command-line interfaces.\n\n[TTY Table](https://github.com/tecfu/tty-table) : makes it easier to create and display tables in command-line interfaces.\n\nOther options: Vorpal.js, Caporal.js, Yargs.js, Glue Gun, Seeli.js, Figlet.js, Oclif, Meow, Color.js, CLI Table 3, Progressbar, Clui.js, Enquirer.\n\n## Java\n\nSuggest Java tools at our Discussions section.\n\n## PHP\n\nSuggest PHP tools at our Discussions section.\n\n## Python\n\nSuggest Python tools at our Discussions section.\n\n# How to start:\n1 - Use this template (click at *Use this template*) or fork this repository with the instruction\u003cbr\u003e\n2 - Read the instructions at README.md\u003cbr\u003e\n3 - Start to code! Feel free to use the workflow that is the most confortable for you.\u003cbr\u003e\n4 - Share your results with the community! Use the following hashtag: #devchallenge\n\n# Share!\nStart you project using this template in your GitHub as a public repository\u003cbr\u003e\nCapture a screenshot, GIF or video share the results with #devchallenge or tagging our account @devchallenge!\u003cbr\u003e\n\nChallenge created by \u003ca href=\"https://www.linkedin.com/in/stevescruz/\"\u003eSteve\u003c/a\u003e :)\n\n# DevChallenge Community\nWebsite: https://www.devchallenge.com.br/ \u003cbr\u003e\nDiscord: https://discord.gg/yvYXhGj \u003cbr\u003e\nLinkedIn: https://www.linkedin.com/company/devchallenge/\u003cbr\u003e\nTwitter: https://twitter.com/dev_challenge\u003cbr\u003e\nInstagram: https://www.instagram.com/devchallenge/\u003cbr\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanuelbento19%2Ftask-list-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanuelbento19%2Ftask-list-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanuelbento19%2Ftask-list-cli/lists"}