{"id":16567144,"url":"https://github.com/zloeber/taskfiles","last_synced_at":"2025-03-05T10:28:24.967Z","repository":{"id":86167078,"uuid":"552482564","full_name":"zloeber/taskfiles","owner":"zloeber","description":"A library of Taskfiles","archived":false,"fork":false,"pushed_at":"2025-02-19T21:29:31.000Z","size":303,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T22:29:00.442Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zloeber.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}},"created_at":"2022-10-16T17:38:49.000Z","updated_at":"2025-02-19T21:29:35.000Z","dependencies_parsed_at":"2024-02-05T16:31:08.614Z","dependency_job_id":"ef815f2b-ebc3-4f2c-bd90-6c95f82410e5","html_url":"https://github.com/zloeber/taskfiles","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zloeber%2Ftaskfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zloeber%2Ftaskfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zloeber%2Ftaskfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zloeber%2Ftaskfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zloeber","download_url":"https://codeload.github.com/zloeber/taskfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242008843,"owners_count":20056973,"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-11T21:05:46.588Z","updated_at":"2025-03-05T10:28:24.958Z","avatar_url":"https://github.com/zloeber.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!---toc start--\u003e\n\n* [Taskfiles Collection](#taskfiles-collection)\n* [Configuration](#configuration)\n  * [Additional Software](#additional-software)\n  * [Variables](#variables)\n* [Notes](#notes)\n    * [Docker Image](#docker-image)\n  * [Usage](#usage)\n  * [Development](#development)\n\n\u003c!---toc end--\u003e\n\n# Taskfiles Collection\n\nThis is a library of [taskfile.dev](https://taskfile.dev) definitions for things you may do at a cli once in a while or maybe multiple times a day.\n\n# Configuration\n\nYou can install [mise](https://mise.jdx.dev) and other requirements via `./.configure.sh`.\n\n## Additional Software\n\nMise handles a good deal of software you might use in a taskfile. Check if whatever binary you are looking for with `mise install \u003cbinary\u003e`. If it is not installed then you can use cargo, go, or python packages as well. One example of this is in this project's `.mise.toml` file for [eget](https://github.com/zyedidia/eget) (which is a last ditch method to automatically install binary releases from github). You can use eget to install binaries into your user local bin path like so `eget canop/broot --to ~/.local/bin`\n\n## Variables\n\nYou can overwrite most variables by including a `Taskfile.vars.yml` file with the variables you wish to overwrite. Or you can include the variable name assignment prior to calling task in most cases.\n\n# Notes\n\n### Docker Image\n\nThis includes a rudimentary docker image you can use to run most tasks. Simply build it with the task\n\n```bash\ntask docker:build docker:shell\n```\n\nThen when you are in the running container start up zsh for a better shell experience. Then you can run task or any other binaries included in `.mise.toml`\n\n```bash\n/bin/zsh\n```\n\n## Usage\n\nTo use this in a project you need only copy the `tasks` folder and `Taskfile.yml`/`Taskfile.vars.yml` to your project root. Keep files in the `tasks` folder that you plan on using. Ensure `tasks` is in your `.gitignore` file.\n\n\u003e **TIP** Monorepo project? To use the tasks within subfolders simply soft link the Taskfile.yml and tasks folder into it. Then create a per-folder Taskfile.vars.yml file if needed.\n\nYou can use vendir to sync versions of this repo into your own if you like. Create a vendir.yml file with contents like the following:\n\n```yaml\napiVersion: vendir.k14s.io/v1alpha1\nkind: Config\ndirectories:\n  - path: ./.tasks\n    contents:\n      - path: ./\n        git:\n          url: https://github.com/zloeber/taskfiles.git\n          ref: main\n        includePaths:\n          - tasks/**/*\n          - Taskfile.yml\n          - Taskfile.vars.yml\n```\n\nThen at the root of your project run:\n\n```bash\nvendir sync\nln -s ./.tasks/tasks ./\nln -s ./.tasks/Taskfile.yml ./\ncp ./.tasks/Taskfile.vars.yml ./\n```\n\nFinish off by adding `.tasks` to your `./.gitignore`\n\n\u003e **NOTE** You can keep any custom tasks in `./Taskfile.custom.yml` but you cannot use dotenv sourcing within them. Use `.mise.toml` to do this instead!\n\n\u003e **NOTE** You can change variables in Taskfile.vars.yml as you see fit. If you softlink the base Taskfile.yml to subdirectories (for monorepos perhaps) adding another local var file to customize the targets may make sense.\n\n##\n\n## Development\n\nFork this repo, make updates, send a PR for approval. If you update this readme ensure to run `task toc` to update the table of contents.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzloeber%2Ftaskfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzloeber%2Ftaskfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzloeber%2Ftaskfiles/lists"}