Skip to content

Multi-Repository Bash Command Runner

License

Notifications You must be signed in to change notification settings

introfog/GitWave

Repository files navigation

GitWave - Multi-Repository Bash Command Runner

Apache License Build and Package

GitWave Logo 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.

✨ 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.

🏁 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.
  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.
  3. Begin executing bash commands across multiple repositories effortlessly.
  4. You can check my personal GitWave config with bash commands which i use on regular basis.

🔨 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.

⚙️ 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.

💡 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.

📃 License

GitWave is licensed under the Apache license, providing you with the freedom to use, modify, and distribute the software.

🤝 Contributions

I welcome contributions to my project. If you're interested in helping, please read CONTRIBUTING.md file for more information on how to get started.

Enjoy the efficiency and cleanliness of GitWave!