{"id":13483857,"url":"https://github.com/axvm/cake","last_synced_at":"2025-12-24T15:56:29.095Z","repository":{"id":51103635,"uuid":"91185824","full_name":"axvm/cake","owner":"axvm","description":"Cake is a powerful and flexible Make-like utility tool. Make Tasks Great Again!","archived":false,"fork":false,"pushed_at":"2022-07-09T18:04:17.000Z","size":29,"stargazers_count":71,"open_issues_count":2,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-30T17:48:21.283Z","etag":null,"topics":["cake","crystal","rake","ruby","tasks"],"latest_commit_sha":null,"homepage":null,"language":"Crystal","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/axvm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-13T16:01:06.000Z","updated_at":"2024-05-31T11:54:35.000Z","dependencies_parsed_at":"2022-09-22T11:41:58.761Z","dependency_job_id":null,"html_url":"https://github.com/axvm/cake","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axvm%2Fcake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axvm%2Fcake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axvm%2Fcake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axvm%2Fcake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axvm","download_url":"https://codeload.github.com/axvm/cake/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245871683,"owners_count":20686246,"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":["cake","crystal","rake","ruby","tasks"],"created_at":"2024-07-31T17:01:16.099Z","updated_at":"2025-12-24T15:56:29.046Z","avatar_url":"https://github.com/axvm.png","language":"Crystal","readme":"# Cake [![Build Status](https://travis-ci.org/axvm/cake.svg?branch=master)](https://travis-ci.org/axvm/cake)\n\nCake is a powerful and flexible Make-like utility tool.\nImplement tasks on plain crystal-lang and Make Tasks Great Again!\n\n## Installation\n\nExecute command to install `Cake`\n```shell\n$ curl https://raw.githubusercontent.com/axvm/cake/master/install.sh | bash\n```\n\n## Usage\n\nDevelop tasks in plain Crystal code in `Cakefile` and run them via `$ cake :task_name`\n\n### bin/cake\n```\n  Usage:\n    cake task_name\n    cake -T\n\n  Options:\n    -T, --tasks                      Show all tasks\n    -h, --help                       This info\n    -v, --version                    Show version\n```\n\n### Cakefile sample\n```Crystal\n# Define task\ntask :task_name do\n  # task logic\nend\n\n# Define task with description\ndesc \"task useful description\"\ntask :some_task do\n  # 2 + 1\nend\n\n# Run one task from another\ndesc \"invoke example\"\ntask :first do\n  # -Infinity / 0\n  invoke! :second\nend\n\ntask :second do\n  # yay we are here!\nend\n\n# Execute shell commands\ntask :build do\n  execute \"shards build\"\n\n  # or with sweet logs\n  execute(\n    cmd: \"shards build\",\n    announce: \"Building binary...\",\n    success: \"Binary built!\",\n    error: \"Build failed.\"\n  )\nend\n\n# Log things\ntask :deploy do\n  # your deploy code\n  log \"Deploy successful!\"\n  log \"Or errored.\", 1\nend\n```\n\n## Development\n\n1. Implement feature and tests\n2. Create pull request\n3. ...\n4. Profit!\n\n## Contributing\n\n1. Fork it ( https://github.com/axvm/cake/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Contributors\n\n- [[axvm]](https://github.com/axvm) Alexander Marchenko - creator, maintainer\n- [[alexandregv]](https://github.com/alexandregv) Alexandre Guiot--Valentin - contributor\n","funding_links":[],"categories":["Task management"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxvm%2Fcake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxvm%2Fcake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxvm%2Fcake/lists"}