{"id":15042468,"url":"https://github.com/forge-srl/gushio","last_synced_at":"2025-09-11T13:06:55.420Z","repository":{"id":39607039,"uuid":"432199006","full_name":"Forge-Srl/gushio","owner":"Forge-Srl","description":"Like bash scripts, but in JavaScript","archived":false,"fork":false,"pushed_at":"2024-01-09T19:17:08.000Z","size":4536,"stargazers_count":20,"open_issues_count":10,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-28T09:04:04.892Z","etag":null,"topics":["bash-script","cli","command-line","javascript","multiplatform","scripting","shell","shell-script","terminal"],"latest_commit_sha":null,"homepage":"https://forge-srl.github.io/gushio","language":"JavaScript","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/Forge-Srl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-11-26T14:04:31.000Z","updated_at":"2024-05-29T14:13:17.000Z","dependencies_parsed_at":"2023-02-18T15:02:09.719Z","dependency_job_id":"906902f8-07e5-4ab6-b907-11dbffd80bb0","html_url":"https://github.com/Forge-Srl/gushio","commit_stats":{"total_commits":164,"total_committers":3,"mean_commits":"54.666666666666664","dds":"0.16463414634146345","last_synced_commit":"df3a3b39c8ec1a2972bec0fc2b93eb852f51123a"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Forge-Srl%2Fgushio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Forge-Srl%2Fgushio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Forge-Srl%2Fgushio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Forge-Srl%2Fgushio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Forge-Srl","download_url":"https://codeload.github.com/Forge-Srl/gushio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248960744,"owners_count":21189988,"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":["bash-script","cli","command-line","javascript","multiplatform","scripting","shell","shell-script","terminal"],"created_at":"2024-09-24T20:47:21.299Z","updated_at":"2025-04-14T20:47:01.029Z","avatar_url":"https://github.com/Forge-Srl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gushio\n\n*Like bash scripts, but in JavaScript*\n\n[![npm](https://img.shields.io/npm/v/gushio)](https://www.npmjs.com/package/gushio)\n[![GitHub](https://img.shields.io/github/license/Forge-Srl/gushio)](LICENSE.md)\n[![Build Gushio](https://github.com/Forge-Srl/gushio/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/Forge-Srl/gushio/actions/workflows/build.yml)\n[![codecov](https://codecov.io/gh/Forge-Srl/gushio/branch/main/graph/badge.svg?token=891XITVRXG)](https://codecov.io/gh/Forge-Srl/gushio)\n\nGushio* is built on top of battle-tested libraries like [commander](https://www.npmjs.com/package/commander) and \n[shelljs](https://www.npmjs.com/package/shelljs) and allows you to write a multiplatform shell script in a single \nJavaScript file without having to worry about `package.json` and dependencies installation.\n\n\u003csub\u003e_* Gushio is pronounced like the italian word \"guscio\" (IPA: /'guʃʃo/) which means \"shell\"._\u003c/sub\u003e\n\n\u003e You can find some examples of Gushio scripts [here](/examples). You can even try to run them directly with:\n\u003e ```shell\n\u003e gushio https://github.com/Forge-Srl/gushio/raw/main/examples/\u003cSCRIPT_FILENAME\u003e\n\u003e ```\n\n## Installation\n\nInstall with npm:\n\n```shell\nnpm install -g gushio\n```\n\n## Documentation\n\nThe documentation of Gushio is available [here](https://forge-srl.github.io/gushio/docs/intro).\n\n## FAQ\n\n### Why should I use Gushio?\n\nWe don't claim that Gushio is the perfect solution for everyone. However, we believe that in some circumstances you \nshould give it a try:\n- if you need your script to run on different platforms (Windows, Linux, macOS);\n- if you want to write automation scripts for a JavaScript/TypeScript project;\n- if you want your script to be more easily maintainable than a Bash/PowerShell script;\n- if you would like to use functionalities from NPM libraries in your script;\n\n### How is `gushio` different from `zx`?\n\nThere are two main differences between [`zx`](https://github.com/google/zx) and `gushio`:\n1. Both `zx` and `gushio` use ESM, but `gushio` allows the scripts to be written in both ESM and CJS. \n2. `zx` doesn't provide a way to use NPM libraries in the scripts.\n\nApart from that, there are some other minor differences in the functionalities provided out of the box. For example,\n`zx` uses [`chalk`](https://www.npmjs.com/package/chalk) and [`globby`](https://www.npmjs.com/package/globby) while\n`gushio` uses [`ansi-colors`](https://www.npmjs.com/package/ansi-colors) and [`glob`](https://www.npmjs.com/package/glob).\n\nWe think they are both fantastic tools, and we encourage folks to use `zx` instead of `gushio` if it makes sense for \ntheir use-case.\n\n## License\n\nSee the [LICENSE](LICENSE.md) file for license rights and limitations (MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforge-srl%2Fgushio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforge-srl%2Fgushio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforge-srl%2Fgushio/lists"}