{"id":13432498,"url":"https://github.com/alajmo/sake","last_synced_at":"2026-02-05T22:30:28.861Z","repository":{"id":37042643,"uuid":"415270079","full_name":"alajmo/sake","owner":"alajmo","description":":robot: task runner for local and remote hosts","archived":false,"fork":false,"pushed_at":"2025-04-18T21:34:25.000Z","size":2194,"stargazers_count":739,"open_issues_count":15,"forks_count":23,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-01-14T18:27:48.084Z","etag":null,"topics":["cli","config","golang","server","ssh"],"latest_commit_sha":null,"homepage":"https://sakecli.com","language":"Go","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/alajmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://paypal.me/samiralajmovic","https://www.buymeacoffee.com/alajmo"]}},"created_at":"2021-10-09T10:00:47.000Z","updated_at":"2025-12-25T21:03:14.000Z","dependencies_parsed_at":"2024-01-05T21:46:06.082Z","dependency_job_id":"9a0a169b-9e5b-4aeb-a19f-9b0072eb25c7","html_url":"https://github.com/alajmo/sake","commit_stats":null,"previous_names":["alajmo/yac"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/alajmo/sake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alajmo%2Fsake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alajmo%2Fsake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alajmo%2Fsake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alajmo%2Fsake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alajmo","download_url":"https://codeload.github.com/alajmo/sake/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alajmo%2Fsake/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29136748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T21:59:57.939Z","status":"ssl_error","status_checked_at":"2026-02-05T21:59:57.628Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","config","golang","server","ssh"],"created_at":"2024-07-31T02:01:12.418Z","updated_at":"2026-02-05T22:30:28.849Z","avatar_url":"https://github.com/alajmo.png","language":"Go","readme":"\u003ch1 align=\"center\"\u003e\u003ccode\u003esake\u003c/code\u003e\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/alajmo/sake/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/release-pre/alajmo/sake.svg\" alt=\"version\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/alajmo/sake/actions\"\u003e\n    \u003cimg src=\"https://github.com/alajmo/sake/workflows/build/badge.svg\" alt=\"build status\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://img.shields.io/badge/license-MIT-green\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"license\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://goreportcard.com/report/github.com/alajmo/sake\"\u003e\n    \u003cimg src=\"https://goreportcard.com/badge/github.com/alajmo/sake\" alt=\"Go Report Card\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://pkg.go.dev/github.com/alajmo/sake\"\u003e\n    \u003cimg src=\"https://pkg.go.dev/badge/github.com/alajmo/sake.svg\" alt=\"reference\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n`sake` is a command runner for local and remote hosts. You define servers and tasks in `sake.yaml` file and then run the tasks on the servers.\n\n![demo](res/output.gif)\n\nInterested in managing your git repositories in a similar way? Check out [mani](https://github.com/alajmo/mani)!\n\n## Features\n\n- Auto-completion of tasks, servers and tags\n- SSH into servers or docker containers `sake ssh \u003cserver\u003e`\n- List servers/tasks via `sake list servers|tasks`\n- Present task output in a compact table format `sake run \u003ctask\u003e --output table`\n- Open task/server in your preferred editor `sake edit task \u003ctask\u003e`\n- Import other `sake.yaml` configs\n- [Many more!](docs/recipes.md)\n\n## Sponsors\n\nSake is an MIT-licensed open source project with ongoing development. If you'd like to support their efforts, check out [Tabify](https://chromewebstore.google.com/detail/tabify/bokfkclamoepkmhjncgkdldmhfpgfdmo) - a Chrome extension that enhances your browsing experience with powerful window and tab management, focus-improving site blocking, and numerous features to optimize your browser workflow.\n\n## Table of Contents\n\n- [Installation](#installation)\n  - [Building From Source](#building-from-source)\n- [Usage](#usage)\n  - [Create a New Sake Config](#create-a-new-sake-config)\n  - [Run Some Commands](#run-some-commands)\n- [Documentation](#documentation)\n- [License](#license)\n\n## Installation\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/sake.svg)](https://repology.org/project/sake/versions)\n\n`sake` is available on Linux and Mac.\n\n* Binaries are available on the [release](https://github.com/alajmo/sake/releases) page\n\n* via cURL\n  ```sh\n  curl -sfL https://raw.githubusercontent.com/alajmo/sake/main/install.sh | sh\n  ```\n\n* via Homebrew\n  ```sh\n  brew tap alajmo/sake\n  brew install sake\n  ```\n\n* via MacPorts\n  ```sh\n  sudo port install sake\n  ```\n\n* via Arch\n  ```sh\n  pacman -S sake\n  ```\n\n* via pkg\n  ```sh\n  pkg install sake\n  ```\n\n* Via Go\n    ```sh\n    go install github.com/alajmo/sake@latest\n    ```\n\nAuto-completion is available via `sake completion bash|zsh|fish` and man page via `sake gen`.\n\n### Building From Source\n\nRequires [go 1.19 or above](https://golang.org/doc/install).\n\n1. Clone the repo\n2. Build and run the executable\n    ```sh\n    make build \u0026\u0026 ./dist/sake\n\n    # To build for all target platforms run (requires goreleaser CLI)\n    make build-all\n    ```\n\n## Usage\n\n### Create a New Sake Config\n\nRun the following command:\n\n```bash\n$ sake init\n\nInitialized sake in /tmp/sake\n- Created sake.yaml\n\nFollowing servers were added to sake.yaml\n\n Server    | Host\n-----------+---------\n localhost | 0.0.0.0\n```\n\n### Run Some Commands\n\n```bash\n# List all servers\n$ sake list servers\n\n Server    | Host\n-----------+---------\n localhost | 0.0.0.0\n\n# List all tasks\n$ sake list tasks\n\n Task | Description\n------+-------------\n ping | Pong\n\n# Run Task\n$ sake run ping --all\n\nTASK ping: Pong ************\n\n0.0.0.0 | pong\n\n# Count number of files in each server in parallel\n$ sake exec --all --output table --strategy=free 'find . -type f | wc -l'\n\n Server    | Output\n-----------+--------\n localhost | 1\n```\n\n### What's Next\n\nCheck out the [examples page](/docs/examples.md) for more advanced examples and the [recipes page](/docs/recipes.md) for a list of useful recipes.\n\n## Documentation\n\n- [Examples](docs/examples.md)\n- [Recipes](docs/recipes.md)\n- [Config Reference](docs/config-reference.md)\n- [Command Reference](docs/command-reference.md)\n- Documentation\n  - [Inventory](docs/inventory.md)\n  - [Task Execution](docs/task-execution.md)\n  - [Error Handling](docs/error-handling.md)\n  - [Variables](docs/variables.md)\n  - [Working Directory](docs/work-dir.md)\n  - [Output](docs/output.md)\n- Project\n  - [Background](docs/background.md)\n  - [Roadmap](docs/roadmap.md)\n  - [Ansible](docs/ansible.md)\n  - [Performance](docs/performance.md)\n- Development\n  - [Development](docs/development.md)\n  - [Contributing](docs/contributing.md)\n- [Changelog](docs/changelog.md)\n\n## [License](LICENSE)\n\nThe MIT License (MIT)\n\nCopyright (c) 2022 Samir Alajmovic\n","funding_links":["https://paypal.me/samiralajmovic","https://www.buymeacoffee.com/alajmo"],"categories":["Go","软件包","Software Packages","\u003ca name=\"launcher\"\u003e\u003c/a\u003eCommand launchers","Go Tools"],"sub_categories":["其他软件","Other Software"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falajmo%2Fsake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falajmo%2Fsake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falajmo%2Fsake/lists"}