diff --git a/README.md b/README.md index 00a8ec4..40437c3 100644 --- a/README.md +++ b/README.md @@ -1 +1,49 @@ # jj-cz: Conventional Commits for Jujutsu + +An interactive CLI tool that guides Jujutsu users through creating +[conventional commit](https://www.conventionalcommits.org/) messages. + +## Features + +- Interactive prompts for type, scope, and description +- All 11 commit types with descriptions (feat, fix, docs, style, + refactor, perf, test, build, ci, chore, revert) +- Optional scope with validation +- 72-character first-line limit enforcement +- Preview before applying +- Clean cancellation with Ctrl+C + +## Usage + +No fancy tricks, just run `jj-cz`. + +```sh +jj-cz +``` + +The tool detects whether you're in a Jujutsu repository, guides you +through the commit message, and applies it to your current change. + +## Requirements + +- A Jujutsu repository +- An interactive terminal + +You don’t need `jj` itself to be installed at all, though I’m not sure +what `jj-cz` alone would be good for without `jj`. + +## Exit Codes + +| Code | Meaning | +|------|------------------------------------------------------| +| 0 | Success or clean cancellation | +| 1 | Error (invalid input, repository issues, jj failure) | +| 130 | Interrupted | + +## Installation + +You can install jj-cz with Cargo by building it from source. + +```sh +cargo install --path . +``` diff --git a/flake.nix b/flake.nix index af9a33b..b205bef 100644 --- a/flake.nix +++ b/flake.nix @@ -19,8 +19,8 @@ }; nixConfig = { - extra-trusted-public-keys = [ "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" ]; - extra-substituters = [ "https://devenv.cachix.org" ]; + extra-trusted-public-keys = ["devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="]; + extra-substituters = ["https://devenv.cachix.org"]; }; outputs = { diff --git a/nix/package.nix b/nix/package.nix index f058040..1e7db6a 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -11,7 +11,7 @@ inherit version; src = pkgs.lib.cleanSource ../.; cargoLock.lockFile = ../Cargo.lock; - nativeBuildInputs = [ pkgs.upx ]; + nativeBuildInputs = [pkgs.upx]; useNextest = true; meta = { description = "Conventional commits for Jujutsu";