2 unstable releases
0.2.0 | Dec 28, 2023 |
---|---|
0.1.0 | Dec 1, 2023 |
#1591 in Development tools
48 downloads per month
100KB
2K
SLoC
git-z
A Git extension to go beyond.
Features
Currently available:
- A wizard to format commit messages according to Conventional
Commits. It is configurable
with:
- a list of valid commit types and their descriptions,
- whether to ask for a scope,
- if applicable, a list of valid scopes,
- whether to ask for a ticket / issue reference,
- automated ticket / issue reference information from the name of the branch,
- a custom commit template.
On the roadmap:
- A validator to ensure commit messages follow Conventional Commits, optionally including a valid ticket reference.
- A wizard to create a branch—and optionally a worktree—from a GitHub / GitLab issue or Jira ticket.
Setup
Installation with Nix
You can add git-z
to your user profile by running:
nix profile install github:ejpcmac/git-z
Alternatively, you can add git-z
to your development environment by setting
up a flake.nix
like this:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-parts.url = "github:hercules-ci/flake-parts";
git-z.url = "github:ejpcmac/git-z";
};
outputs = { flake-parts, ... }@inputs:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" ];
perSystem = { system, ... }:
let
pkgs = inputs.nixpkgs.legacyPackages.${system};
git-z = inputs.git-z.packages.${system}.git-z;
in
{
devShells.default = pkgs.mkShell {
buildInputs = [
# Tools.
git-z
# Other dependencies.
];
};
};
};
}
Installation with Cargo
cargo install git-z
Usage
Run:
git add <your modifications>
git z commit
You can customise the behaviour of git-z
:
- define the list of valid types with their description,
- choose whether to ask for a scope,
- define a list pre-defined valid scopes,
- ask or require a ticket / issue number.
To do this, initialise a configuration by running:
git z init
Then, edit the git-z.toml
at the root of your repository.
Building an installer
Linux (Debian)
With Docker installed on your machine, you can run:
$ ./build-deb.sh
You should then find a Debian package in target/debian/
.
Windows
With a Rust toolchain instalded on your machine, you can:
-
Install WiX v3.
-
Run:
> cargo install cargo-wix > cargo wix --nocapture
You should find an installer in target/wix/
.
Contributing
Before contributing to this project, please read the CONTRIBUTING.md.
License
Copyright © 2023 Jean-Philippe Cugnet
This project is licensed under the GNU General Public License 3.0.
Dependencies
~17–32MB
~471K SLoC