gitrm is a minimalist build tool and repository manager for power users. Stop wasting time remembering compiler flags. One tool, one command, any language.
- Multi-language support: Native handling for C#, Rust, Go, Java, and C/C++ (CMake/Meson/Makefile).
- Git integration: The
gitrm fetch <url>command automatically clones a repository and builds it if a config file is detected. - YAML Configuration: A clean, modern
gitrm.yamlformat for project management. - Simplified Dependencies: A straightforward list of required packages in the
depssection. - Custom scripts: Use your custom setup scripts instead of basic building process - Python and Bash supported.
The project is still in development and many features are yet to come.
Instead of entering dozens of compiler flags manually, you use a single command: gitrm build.
The program reads gitrm.yaml, checks main_file and automatically selects the appropriate compiler. If the compiler is installed on your system, gitrm begins the build process.
build:
project_name: "example"
main_file: 'gitrm.csproj'
flags: '-c Release -r linux-x64 --self-contained true -p:PublishSingleFile=true'
output_path: './dist'
deps:
- yamldotnet
- tomlyn
custom_script:
language: ''
script: ''
override: falsebuild:
main_file: 'CMakeLists.txt'
flags: '-D CMAKE_BUILD_TYPE=Release'
output_path: 'build'
deps:
- nlohmann-json
- fmt
custom_script:
language: ''
script: ''
override: falsebuild:
main_file: ''
flags: ''
output_path: ''
deps: []
custom_script:
language: 'python'
script: 'setup_gui.py'
override: trueIf override is false, the script will run after the compilation if you specified the data. If true, this will replace the compile process with the given script.
- C# (Dotnet)
- Rust (Cargo)
- C++ (Makefile, CMake, Meson)
- Go
- Java (Maven)
To install gitrm into your local binary folder, run the provided setup.sh script. It will copy the main file to ~/.local/bin/gitrm and its modules to ~/.local/share/gitrm. Ensure this directory is in your system's $PATH.
gitrm config- Generate a template for your project.gitrm clone- Clone a repository and automatically build the project (if gitrm.yaml exists)gitrm build- Detect and compile the current project.gitrm version- Show current version.