{"id":16447220,"url":"https://github.com/junekelly/manuel","last_synced_at":"2025-03-21T05:30:36.216Z","repository":{"id":18400861,"uuid":"21582349","full_name":"JuneKelly/manuel","owner":"JuneKelly","description":"A grunt-inspired task runner for bash","archived":false,"fork":false,"pushed_at":"2019-05-02T10:57:19.000Z","size":494,"stargazers_count":34,"open_issues_count":1,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-17T21:43:36.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/JuneKelly.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}},"created_at":"2014-07-07T18:42:53.000Z","updated_at":"2021-05-26T13:57:35.000Z","dependencies_parsed_at":"2022-09-09T23:41:25.685Z","dependency_job_id":null,"html_url":"https://github.com/JuneKelly/manuel","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuneKelly%2Fmanuel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuneKelly%2Fmanuel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuneKelly%2Fmanuel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuneKelly%2Fmanuel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuneKelly","download_url":"https://codeload.github.com/JuneKelly/manuel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244745639,"owners_count":20503042,"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":[],"created_at":"2024-10-11T09:50:05.475Z","updated_at":"2025-03-21T05:30:35.897Z","avatar_url":"https://github.com/JuneKelly.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# manuel\n\n![manuel logo](http://i.imgur.com/WYZI5K6.png)\n\nA grunt-inspired task runner for bash.\n\n\n# Prerequisites\n\nManuel depends on `bash` version 4.\n\n\n# Installation\n\nSimply clone this repository and put the `manuel` script on your path.\nFor example, clone into `~/opt` and then link the script into `~/bin` :\n```bash\n$ cd ~/opt\n$ git clone git://github.com/ShaneKilkelly/manuel\n$ ln -s $HOME/opt/manuel/manuel $HOME/bin/manuel\n```\n\n\n# Usage\n\n- Create a `manuelfile` in your project. `manuel` provides a handy `init` task\n  for this purpose\n  ```bash\n  $ manuel init\n  \u003e\u003e Creating new manuelfile in /your/project/directory\n  ```\n\n- Fill the `manuelfile` with 'tasks' (aka bash functions):\n\n  ```bash\n  #! /usr/bin/env bash\n\n  function build {\n    echo \"\u003e\u003e I am building in $1 mode\"\n  }\n\n  function run_tests {\n    build 'test'\n    echo \"\u003e\u003e Testing, all passed!\"\n  }\n  ```\n\n- Run your tasks like so:\n\n  ```bash\n  $ manuel run_tests\n  \u003e\u003e I am building in test mode\n  \u003e\u003e Testing, all passed!\n  ```\n\n\n# Plugins\n\nManuel supports loading of third-party plugins (again, really just bash functions).\nSee [Plugins](doc/Plugins.md) for more details.\n\nSome really nice plugins are:\n- [manuel-contrib-watch](https://github.com/ShaneKilkelly/manuel-contrib-watch)\n- [manuel-contrib-concurrent](https://github.com/ShaneKilkelly/manuel-contrib-concurrent)\n\n\n# Autocomplete\n\nTo enable autocompletion for manuel tasks, simply source the autocompletion file\ncorresponding to you shell. For instance, for bash, add to your `~/.bashrc`:\n\n```bash\nsource manuel.autocomplete.bash\n```\n\nOr for zsh:\n\n```bash\nsource manuel.autocomplete.zsh\n```\n\nNote: Autocompletion requires manuel to be in your path.\n\n\n# Documentation\n\n- [Built-in tasks](doc/Builtins.md)\n- [Plugins](doc/Plugins.md)\n\n\n# License\n\nReleased under the [MIT](http://opensource.org/licenses/MIT) license\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunekelly%2Fmanuel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunekelly%2Fmanuel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunekelly%2Fmanuel/lists"}