diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b82fcb5..478b934 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ env: jobs: create-tag: name: Create Release Tag - if: github.event.pull_request.merged == true + if: github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest outputs: tag: ${{ steps.version.outputs.tag }} @@ -33,7 +33,7 @@ jobs: - name: Get version from Cargo.toml id: version run: | - VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/' | tr -d '\r') + VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/' | tr -d '\r' | xargs) TAG="v${VERSION}" echo "version=${VERSION}" >> $GITHUB_OUTPUT echo "tag=${TAG}" >> $GITHUB_OUTPUT @@ -108,7 +108,7 @@ jobs: if: matrix.archive == 'tar.gz' run: | cd target/${{ matrix.target }}/release - tar czf ../../../gitkit-${{ needs.create-tag.outputs.tag }}-${{ matrix.target }}.tar.gz gitkit + tar czf "../../../gitkit-${{ needs.create-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" gitkit cd ../../.. - name: Package (windows) @@ -116,7 +116,7 @@ jobs: shell: pwsh run: | cd target/${{ matrix.target }}/release - Compress-Archive -Path gitkit.exe -DestinationPath ../../../gitkit-${{ needs.create-tag.outputs.tag }}-${{ matrix.target }}.zip + Compress-Archive -Path gitkit.exe -DestinationPath "../../../gitkit-${{ needs.create-tag.outputs.tag }}-${{ matrix.target }}.zip" cd ../../.. - name: Upload artifact @@ -199,7 +199,7 @@ jobs: - name: Check if stable release id: version_check run: | - VERSION=$(grep '^version = ' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') + VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/.*"\(.*\)".*/\1/' | xargs) if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then echo "is_stable=true" >> $GITHUB_OUTPUT echo "Version $VERSION is stable — will publish" diff --git a/Cargo.toml b/Cargo.toml index a955767..bb96392 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gitkit" -version = "0.3.0" +version = "0.3.1" edition = "2021" description = "Standalone CLI for configuring git repos — hooks, .gitignore, and .gitattributes" license = "MIT" diff --git a/README.md b/README.md index 6970793..8d32d47 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,24 @@ [![Crates.io](https://img.shields.io/crates/v/gitkit)](https://crates.io/crates/gitkit) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) -Configure a git repo in seconds — hooks, `.gitignore`, `.gitattributes`, and git config. Interactive wizard or direct commands. No Node.js, no Python, no runtime dependencies. One binary. +Set up a git repo the way you actually work — one guided flow for hooks, `.gitignore`, `.gitattributes`, and git config. One binary, no Node.js, no Python, no runtime dependencies. + +--- + +### Demo + +![Demo](assets/demo.gif) + +--- + +## Features + +- **🪄 Guided repo setup** — Configure hooks, `.gitignore`, `.gitattributes`, and git config in one interactive flow. +- **🔁 Clone and bootstrap** — Clone a repo and drop straight into the setup wizard. +- **🧰 Hook management** — Install, list, show, or remove built-in hooks, or wire up your own command. +- **🧩 Ignore and attribute presets** — Browse built-in and gitignore.io templates, then apply line-ending or binary presets. +- **⚙️ Curated git config** — Apply practical presets like auto-upstream, autocorrect, histogram diffs, zdiff3, rerere, and delta pager setup. +- **📦 Single binary** — No Node.js, no Python, no extra runtime. --- @@ -205,3 +222,14 @@ Built-ins are embedded in the binary — no network required. ## License MIT + +--- +## Support + +- 📖 [GitHub Issues](https://github.com/UniverLab/gitkit/issues) — Report bugs or request features +- 💬 [Discussions](https://github.com/UniverLab/gitkit/discussions) — Ask questions +- 🐦 Twitter: [@JheisonMB](https://twitter.com/JheisonMB) + +--- + +Made with ❤️ by [JheisonMB](https://github.com/JheisonMB) and [UniverLab](https://github.com/UniverLab) diff --git a/assets/demo.gif b/assets/demo.gif new file mode 100644 index 0000000..7a82971 Binary files /dev/null and b/assets/demo.gif differ