https://github.com/introfog/gitwave
Multi-Repository Bash Command Runner
https://github.com/introfog/gitwave
bash bash-scripting git java javafx-desktop-apps
Last synced: 5 months ago
JSON representation
Multi-Repository Bash Command Runner
- Host: GitHub
- URL: https://github.com/introfog/gitwave
- Owner: introfog
- License: apache-2.0
- Created: 2022-12-10T10:32:51.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-04T19:31:15.000Z (about 1 year ago)
- Last Synced: 2024-11-04T20:32:27.672Z (about 1 year ago)
- Topics: bash, bash-scripting, git, java, javafx-desktop-apps
- Language: Java
- Homepage:
- Size: 5.12 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# GitWave - Multi-Repository Bash Command Runner
[](https://github.com/introfog/GitWave/blob/master/LICENSE.md)
[](https://github.com/introfog/GitWave/actions/workflows/maven.yml)
##
Overview
Welcome to GitWave – the ultimate tool for developers who work with multiple repositories. GitWave is
designed to streamline your workflow by allowing you to run any bash commands across several repositories simultaneously.
It’s a powerful companion for any developer looking to save time and effort when managing their Git projects.
## :sparkles: Features
### 1. Multi-Repository Command Execution
Execute bash commands in multiple repositories with a single command, making it easier to manage complex workflows.
### 2. Command Management
Save your most used or tricky commands with notes, so you never have to remember the syntax again.
Specify `{parameters}` for the command, to quickly run different scenarios.
### 3. Multi-OS Compatibility: Windows, macOS & Linux
Application is fully compatible with Windows x86, macOS arm64 and Linux x86, ensuring a smooth experience across all major operating systems.
Corresponding OS-specific artifacts are available for download in the Releases section.
### 4. Standalone Application
GitWave is a standalone application that doesn't leave any footprint on your PC. It respects your
system's cleanliness by ensuring that no unnecessary files or configurations are left behind,
providing a hassle-free and straightforward experience for users.
### 5. Open Source
GitWave is an open-source project, that encourages collaboration and community involvement.
Explore, contribute, and customize the application according to your preferences.
## :checkered_flag: Getting Started
To enjoy GitWave you don't need any JDK, because it already includes JDK.
1. Download `GitWave_yourOS.zip` from the [latest release](https://github.com/introfog/GitWave/releases).
2. Unpack archive to your local machine and launch `GitWave.exe` (for Windows) or `GitWave.sh` (on macOS and Linux).
- Before running `GitWave.sh` on MacOs and Linux, make the script executable by running `chmod +x ./GitWave.sh`.
- MacOs complains that Apple couldn't verify that `java` is free of malware, go to `Privacy & Security` and allow running `java`.
4. Begin executing bash commands across multiple repositories effortlessly.
5. You can check my personal [GitWave config](https://gist.github.com/introfog/10a0a3f6c0b069c4132f8ac18b73dff5) with bash commands which i use on regular basis.

## :hammer: Build Locally
### Software Requirements
- JDK 17 or higher.
- Maven.
### Build Options
- To run the application execute `mvn javafx:run`.
- To create ready to use app, archived into .zip, run `mvn package`. GitWave will be in `target/GitWave.zip` archive.
- `GitWave.exe`, which is used on Windows and runs java image, is located in the `tools` folder and generated by a separate C++ project `tools/GitWaveExecutor`.
- `GitWave.sh`, which is used on macOS and Linux and runs java image, is located in the `tools` folder.
## :gear: Under the hood
- GitWave is built on openjdk 17 + openjfx 17 and wrapped into Java Runtime Image.
- All commands and settings are stored in `config/config.json` in JSON format. So it is possible to edit them manually in any text editor.
- On opening the app makes a lenient request to GitHub API to check for the new available release, see `com.github.introfog.gitwave.model.UpdateChecker#isNewReleaseAvailable`.
## :bulb: Ideas For Further Releases
- Allow working with the app by using only the keyboard (with correct Tabs, Esc and so on work).
- Exclude sub-directories from the command running.
- Allow export and import config.
- Other issues with `enhancement` label.
## :page_with_curl: License
GitWave is licensed under the [Apache license](LICENSE.md), providing you with the freedom to use, modify, and distribute the software.
## :handshake: Contributions
I welcome contributions to my project. If you're interested in helping, please read
[CONTRIBUTING.md](CONTRIBUTING.md) file for more information on how to get started.
Enjoy the efficiency and cleanliness of GitWave!