From 5e032dc7ac47b5a80474cad17f27fa5df55e7bd1 Mon Sep 17 00:00:00 2001 From: Ink-dark Date: Sat, 27 Jun 2026 21:47:33 +0800 Subject: [PATCH 1/2] @ feat(ci): dual-edition release builds (full + lite) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 每个平台拆分为 full/lite 两个 job: - full: --all-features → 安装包 (.deb/.tar.gz/.zip) - lite: --no-default-features -F tag → 裸二进制 - 产物命名统一为 agit-full-* / agit-lite-* - README/README-zh_CN 下载链接同步更新 Co-Authored-By: Claude @ --- .github/workflows/ci.yml | 212 +++++++++++++++++++++++++-------------- README-zh_CN.md | 35 ++++--- README.md | 37 ++++--- 3 files changed, 180 insertions(+), 104 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d761116..c03ad2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,9 +113,9 @@ jobs: # ── Release 构建 ── - # Linux GNU (glibc) - build-linux: - name: Build Release (Linux GNU) + # Linux Full (glibc + TLS + AI) + build-linux-full: + name: Build Release Linux (Full) runs-on: ubuntu-latest needs: [check, clippy, test-linux, smoke-linux] if: startsWith(github.ref, 'refs/tags/v') @@ -124,57 +124,45 @@ jobs: - uses: dtolnay/rust-toolchain@stable - run: cargo build --release -p agit-cli --all-features --verbose - run: | - mkdir -p release - cp target/release/agit release/agit - cp LICENSE release/LICENSE - tar -czf agit-linux-x86_64.tar.gz -C release . - cp target/release/agit agit-linux-x86_64 + mkdir -p release-full + cp target/release/agit release-full/agit + cp LICENSE release-full/LICENSE + tar -czf agit-full-linux-x86_64.tar.gz -C release-full . + cp target/release/agit agit-full-linux-x86_64 - name: Build .deb package run: | cargo install cargo-deb --locked cargo deb --no-build -p agit-cli - cp target/debian/*.deb agit-linux-x86_64.deb 2>/dev/null || true + cp target/debian/*.deb agit-full-linux-x86_64.deb 2>/dev/null || true - uses: actions/upload-artifact@v4 with: - name: agit-linux-x86_64 + name: agit-full-linux-x86_64 path: | - agit-linux-x86_64.tar.gz - agit-linux-x86_64 - agit-linux-x86_64.deb + agit-full-linux-x86_64.tar.gz + agit-full-linux-x86_64 + agit-full-linux-x86_64.deb retention-days: 30 - # Linux musl (静态链接) — 暂时禁用,需 Linux 测试环境 - # TODO: musl 交叉编译需要 ring crate 的 C 编译器配置,当前缺少 musl-gcc 工具链 - # build-linux-musl: - # name: Build Release (Linux musl) - # runs-on: ubuntu-latest - # needs: [check, clippy, test-linux, smoke-linux] - # if: startsWith(github.ref, 'refs/tags/v') - # steps: - # - uses: actions/checkout@v4 - # - uses: dtolnay/rust-toolchain@stable - # with: - # targets: x86_64-unknown-linux-musl - # - name: Install musl-tools - # run: sudo apt-get update && sudo apt-get install -y musl-tools - # - run: cargo build --release -p agit-cli --all-features --verbose --target x86_64-unknown-linux-musl - # - run: | - # mkdir -p release-musl - # cp target/x86_64-unknown-linux-musl/release/agit release-musl/agit - # cp LICENSE release-musl/LICENSE - # tar -czf agit-linux-musl-x86_64.tar.gz -C release-musl . - # cp target/x86_64-unknown-linux-musl/release/agit agit-linux-musl-x86_64 - # - uses: actions/upload-artifact@v4 - # with: - # name: agit-linux-musl-x86_64 - # path: | - # agit-linux-musl-x86_64.tar.gz - # agit-linux-musl-x86_64 - # retention-days: 30 + # Linux Lite (纯本地,无 TLS/AI) + build-linux-lite: + name: Build Release Linux (Lite) + runs-on: ubuntu-latest + needs: [check, clippy, test-linux, smoke-linux] + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: cargo build --release -p agit-cli --no-default-features -F tag --verbose + - run: cp target/release/agit agit-lite-linux-x86_64 + - uses: actions/upload-artifact@v4 + with: + name: agit-lite-linux-x86_64 + path: agit-lite-linux-x86_64 + retention-days: 30 - # Windows - build-windows: - name: Build Release (Windows) + # Windows Full + build-windows-full: + name: Build Release Windows (Full) runs-on: windows-latest needs: [check, clippy, test-windows, smoke-windows] if: startsWith(github.ref, 'refs/tags/v') @@ -184,22 +172,40 @@ jobs: - run: cargo build --release -p agit-cli --all-features --verbose - shell: pwsh run: | - New-Item -ItemType Directory -Force -Path release | Out-Null - Copy-Item target/release/agit.exe release/agit.exe - Copy-Item LICENSE release/LICENSE - Compress-Archive -Path release/* -DestinationPath agit-windows-x86_64.zip -Force - Copy-Item target/release/agit.exe agit-windows-x86_64.exe + New-Item -ItemType Directory -Force -Path release-full | Out-Null + Copy-Item target/release/agit.exe release-full/agit.exe + Copy-Item LICENSE release-full/LICENSE + Compress-Archive -Path release-full/* -DestinationPath agit-full-windows-x86_64.zip -Force + Copy-Item target/release/agit.exe agit-full-windows-x86_64.exe - uses: actions/upload-artifact@v4 with: - name: agit-windows-x86_64 + name: agit-full-windows-x86_64 path: | - agit-windows-x86_64.zip - agit-windows-x86_64.exe + agit-full-windows-x86_64.zip + agit-full-windows-x86_64.exe retention-days: 30 - # macOS - build-macos: - name: Build Release (macOS) + # Windows Lite + build-windows-lite: + name: Build Release Windows (Lite) + runs-on: windows-latest + needs: [check, clippy, test-windows, smoke-windows] + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: cargo build --release -p agit-cli --no-default-features -F tag --verbose + - shell: pwsh + run: Copy-Item target/release/agit.exe agit-lite-windows-x86_64.exe + - uses: actions/upload-artifact@v4 + with: + name: agit-lite-windows-x86_64 + path: agit-lite-windows-x86_64.exe + retention-days: 30 + + # macOS Full + build-macos-full: + name: Build Release macOS (Full) runs-on: macos-latest needs: [check, clippy, test-macos] if: startsWith(github.ref, 'refs/tags/v') @@ -208,42 +214,100 @@ jobs: - uses: dtolnay/rust-toolchain@stable - run: cargo build --release -p agit-cli --all-features --verbose - run: | - mkdir -p release-macos - cp target/release/agit release-macos/agit - cp LICENSE release-macos/LICENSE - tar -czf agit-macos-x86_64.tar.gz -C release-macos . - cp target/release/agit agit-macos-x86_64 + mkdir -p release-full + cp target/release/agit release-full/agit + cp LICENSE release-full/LICENSE + tar -czf agit-full-macos-x86_64.tar.gz -C release-full . + cp target/release/agit agit-full-macos-x86_64 - uses: actions/upload-artifact@v4 with: - name: agit-macos-x86_64 + name: agit-full-macos-x86_64 path: | - agit-macos-x86_64.tar.gz - agit-macos-x86_64 + agit-full-macos-x86_64.tar.gz + agit-full-macos-x86_64 + retention-days: 30 + + # macOS Lite + build-macos-lite: + name: Build Release macOS (Lite) + runs-on: macos-latest + needs: [check, clippy, test-macos] + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: cargo build --release -p agit-cli --no-default-features -F tag --verbose + - run: cp target/release/agit agit-lite-macos-x86_64 + - uses: actions/upload-artifact@v4 + with: + name: agit-lite-macos-x86_64 + path: agit-lite-macos-x86_64 retention-days: 30 + # Linux musl (静态链接) — 暂时禁用 + # build-linux-musl: + # name: Build Release Linux (musl static) + # runs-on: ubuntu-latest + # needs: [check, clippy, test-linux, smoke-linux] + # if: startsWith(github.ref, 'refs/tags/v') + # steps: + # - uses: actions/checkout@v4 + # - uses: dtolnay/rust-toolchain@stable + # with: + # targets: x86_64-unknown-linux-musl + # - name: Install musl-tools + # run: sudo apt-get update && sudo apt-get install -y musl-tools + # - run: cargo build --release -p agit-cli --all-features --verbose --target x86_64-unknown-linux-musl + # - run: | + # mkdir -p release-musl + # cp target/x86_64-unknown-linux-musl/release/agit release-musl/agit + # cp LICENSE release-musl/LICENSE + # tar -czf agit-linux-musl-x86_64.tar.gz -C release-musl . + # cp target/x86_64-unknown-linux-musl/release/agit agit-linux-musl-x86_64 + # - uses: actions/upload-artifact@v4 + # with: + # name: agit-linux-musl-x86_64 + # path: | + # agit-linux-musl-x86_64.tar.gz + # agit-linux-musl-x86_64 + # retention-days: 30 + release: name: GitHub Release runs-on: ubuntu-latest - needs: [build-linux, build-windows, build-macos] + needs: + [build-linux-full, build-linux-lite, build-windows-full, build-windows-lite, build-macos-full, build-macos-lite] if: startsWith(github.ref, 'refs/tags/v') steps: - uses: actions/download-artifact@v4 with: - name: agit-linux-x86_64 + name: agit-full-linux-x86_64 + - uses: actions/download-artifact@v4 + with: + name: agit-lite-linux-x86_64 + - uses: actions/download-artifact@v4 + with: + name: agit-full-windows-x86_64 + - uses: actions/download-artifact@v4 + with: + name: agit-lite-windows-x86_64 - uses: actions/download-artifact@v4 with: - name: agit-windows-x86_64 + name: agit-full-macos-x86_64 - uses: actions/download-artifact@v4 with: - name: agit-macos-x86_64 + name: agit-lite-macos-x86_64 - uses: softprops/action-gh-release@v2 with: files: | - agit-linux-x86_64.tar.gz - agit-linux-x86_64 - agit-linux-x86_64.deb - agit-windows-x86_64.zip - agit-windows-x86_64.exe - agit-macos-x86_64.tar.gz - agit-macos-x86_64 + agit-full-linux-x86_64.tar.gz + agit-full-linux-x86_64 + agit-full-linux-x86_64.deb + agit-lite-linux-x86_64 + agit-full-windows-x86_64.zip + agit-full-windows-x86_64.exe + agit-lite-windows-x86_64.exe + agit-full-macos-x86_64.tar.gz + agit-full-macos-x86_64 + agit-lite-macos-x86_64 generate_release_notes: true diff --git a/README-zh_CN.md b/README-zh_CN.md index 2e6c02b..d8663e5 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -59,10 +59,14 @@ agit 提供两个版本,均从底层原生实现 Git 核心逻辑,无任何 #### 🪶 Lite 版本(单文件便携) ```bash # Linux / macOS -curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-x86_64-unknown-linux-musl -o agit +curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-linux-x86_64 -o agit chmod +x agit ./agit --help +# Windows (PowerShell) +Invoke-WebRequest -Uri https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-windows-x86_64.exe -OutFile agit.exe +.\agit.exe --help + # 直接运行,无需安装 ./agit init ``` @@ -70,14 +74,16 @@ chmod +x agit #### 📦 Full 版本(安装包) ```bash # Linux (.deb) -curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit_0.1.0_amd64.deb -sudo dpkg -i agit_0.1.0_amd64.deb +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-linux-x86_64.deb +sudo dpkg -i agit-full-linux-x86_64.deb -# macOS (.dmg) -# 下载 .dmg 文件,双击安装即可 +# macOS (.tar.gz) +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-macos-x86_64.tar.gz +tar -xzf agit-full-macos-x86_64.tar.gz && sudo cp agit /usr/local/bin/ -# Windows (.msi) -# 下载 .msi 安装包,双击运行安装向导 +# Windows (.zip) +Invoke-WebRequest -Uri https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-windows-x86_64.zip -OutFile agit-full.zip +Expand-Archive agit-full.zip ``` ### 从源码构建 @@ -153,7 +159,7 @@ alias gai='agit --ai' cargo install agit --features lite # 或直接下载单文件 -curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite -o agit +curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-linux-x86_64 -o agit chmod +x agit sudo mv agit /usr/local/bin/ # 可选,移到 PATH ``` @@ -164,17 +170,16 @@ sudo mv agit /usr/local/bin/ # 可选,移到 PATH cargo install agit # Linux (deb) -sudo dpkg -i agit_0.1.0_amd64.deb - -# Linux (rpm) -sudo rpm -i agit-0.1.0-1.x86_64.rpm +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-linux-x86_64.deb +sudo dpkg -i agit-full-linux-x86_64.deb # macOS -# 下载 .dmg 双击安装,或使用 Homebrew: -brew install bit-torch/tap/agit +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-macos-x86_64.tar.gz +tar -xzf agit-full-macos-x86_64.tar.gz && sudo cp agit /usr/local/bin/ # Windows -# 下载 .msi 安装包,双击运行安装向导 +Invoke-WebRequest -Uri https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-windows-x86_64.zip -OutFile agit-full.zip +Expand-Archive agit-full.zip # 或使用 winget: winget install bit-torch.agit ``` diff --git a/README.md b/README.md index 66f93d3..448dbe5 100644 --- a/README.md +++ b/README.md @@ -58,10 +58,14 @@ Both editions share the same native Rust Git core (SHA-1, zlib, Blob/Tree/Commit ```bash # Linux / macOS -curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-x86_64-unknown-linux-musl -o agit +curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-linux-x86_64 -o agit chmod +x agit ./agit --help +# Windows (PowerShell) +Invoke-WebRequest -Uri https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-windows-x86_64.exe -OutFile agit.exe +.\agit.exe --help + # Run directly — no installation required ./agit init ``` @@ -70,12 +74,15 @@ chmod +x agit ```bash # Linux (.deb) -curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit_0.1.0_amd64.deb -sudo dpkg -i agit_0.1.0_amd64.deb +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-linux-x86_64.deb +sudo dpkg -i agit-full-linux-x86_64.deb -# macOS (.dmg) — download and double-click to install +# macOS — download .tar.gz and extract +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-macos-x86_64.tar.gz +tar -xzf agit-full-macos-x86_64.tar.gz +sudo cp agit /usr/local/bin/ -# Windows (.msi) — download and run the installer wizard +# Windows (.zip) — download and extract to PATH ``` ### Build from Source @@ -86,7 +93,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Clone and enter the repo git clone https://github.com/bit-torch/AdapterGit.git -cd agit +cd AdapterGit # Full edition (TLS + AI) cargo build --release --all-features @@ -157,7 +164,7 @@ alias gai='agit --ai' cargo install agit --features lite # Or download the single binary directly -curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite -o agit +curl -L https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-lite-linux-x86_64 -o agit chmod +x agit sudo mv agit /usr/local/bin/ # optional, add to PATH ``` @@ -169,16 +176,16 @@ sudo mv agit /usr/local/bin/ # optional, add to PATH cargo install agit # Linux (deb) -sudo dpkg -i agit_0.1.0_amd64.deb - -# Linux (rpm) -sudo rpm -i agit-0.1.0-1.x86_64.rpm +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-linux-x86_64.deb +sudo dpkg -i agit-full-linux-x86_64.deb -# macOS — download .dmg and double-click, or use Homebrew: -brew install bit-torch/tap/agit +# macOS +curl -LO https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-macos-x86_64.tar.gz +tar -xzf agit-full-macos-x86_64.tar.gz && sudo cp agit /usr/local/bin/ -# Windows — download .msi installer, or use winget: -winget install bit-torch.agit +# Windows +Invoke-WebRequest -Uri https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-windows-x86_64.zip -OutFile agit-full.zip +Expand-Archive agit-full.zip ``` ### Manual Installation (both editions) From 03f8c4b5efde519391533f3eeb673137e5f1db8c Mon Sep 17 00:00:00 2001 From: Ink-dark Date: Sun, 28 Jun 2026 09:11:13 +0800 Subject: [PATCH 2/2] @ feat(packaging): add Chocolatey and winget manifests - Chocolatey: agit-full + agit-lite .nuspec + install scripts - CI: build chocolatey .nupkg in release pipeline - Winget: full + lite installer YAML templates - README: add package manager install instructions Co-Authored-By: Claude @ --- .github/workflows/ci.yml | 67 ++++++++++++++++++- README.md | 6 ++ packaging/chocolatey/agit-full.nuspec | 37 ++++++++++ packaging/chocolatey/agit-lite.nuspec | 33 +++++++++ .../tools/chocolateyInstall-full.ps1 | 24 +++++++ .../tools/chocolateyInstall-lite.ps1 | 26 +++++++ .../winget/bit-torch.agit.full.installer.yaml | 34 ++++++++++ .../winget/bit-torch.agit.lite.installer.yaml | 29 ++++++++ 8 files changed, 255 insertions(+), 1 deletion(-) create mode 100644 packaging/chocolatey/agit-full.nuspec create mode 100644 packaging/chocolatey/agit-lite.nuspec create mode 100644 packaging/chocolatey/tools/chocolateyInstall-full.ps1 create mode 100644 packaging/chocolatey/tools/chocolateyInstall-lite.ps1 create mode 100644 packaging/winget/bit-torch.agit.full.installer.yaml create mode 100644 packaging/winget/bit-torch.agit.lite.installer.yaml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c03ad2e..d337bce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -244,6 +244,62 @@ jobs: path: agit-lite-macos-x86_64 retention-days: 30 + # ── Chocolatey 打包 ── + + build-chocolatey-full: + name: Package Chocolatey (Full) + runs-on: windows-latest + needs: [build-windows-full] + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 + with: + name: agit-full-windows-x86_64 + - name: Compute SHA256 + shell: pwsh + run: | + $hash = (Get-FileHash -Path agit-full-windows-x86_64.zip -Algorithm SHA256).Hash.ToLower() + (Get-Content packaging/chocolatey/tools/chocolateyInstall-full.ps1) ` + -replace 'REPLACE_WITH_SHA256', $hash | Set-Content packaging/chocolatey/tools/chocolateyInstall-full.ps1 + - name: Build Chocolatey package + shell: pwsh + run: | + choco pack packaging/chocolatey/agit-full.nuspec --outputdirectory . + Get-ChildItem *.nupkg | ForEach-Object { Rename-Item $_ agitchoco-full-windows-x86_64.nupkg } + - uses: actions/upload-artifact@v4 + with: + name: agitchoco-full-windows-x86_64 + path: agitchoco-full-windows-x86_64.nupkg + retention-days: 30 + + build-chocolatey-lite: + name: Package Chocolatey (Lite) + runs-on: windows-latest + needs: [build-windows-lite] + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 + with: + name: agit-lite-windows-x86_64 + - name: Compute SHA256 + shell: pwsh + run: | + $hash = (Get-FileHash -Path agit-lite-windows-x86_64.exe -Algorithm SHA256).Hash.ToLower() + (Get-Content packaging/chocolatey/tools/chocolateyInstall-lite.ps1) ` + -replace 'REPLACE_WITH_SHA256', $hash | Set-Content packaging/chocolatey/tools/chocolateyInstall-lite.ps1 + - name: Build Chocolatey package + shell: pwsh + run: | + choco pack packaging/chocolatey/agit-lite.nuspec --outputdirectory . + Get-ChildItem *.nupkg | ForEach-Object { Rename-Item $_ agitchoco-lite-windows-x86_64.nupkg } + - uses: actions/upload-artifact@v4 + with: + name: agitchoco-lite-windows-x86_64 + path: agitchoco-lite-windows-x86_64.nupkg + retention-days: 30 + # Linux musl (静态链接) — 暂时禁用 # build-linux-musl: # name: Build Release Linux (musl static) @@ -276,7 +332,8 @@ jobs: name: GitHub Release runs-on: ubuntu-latest needs: - [build-linux-full, build-linux-lite, build-windows-full, build-windows-lite, build-macos-full, build-macos-lite] + [build-linux-full, build-linux-lite, build-windows-full, build-windows-lite, build-macos-full, build-macos-lite, + build-chocolatey-full, build-chocolatey-lite] if: startsWith(github.ref, 'refs/tags/v') steps: - uses: actions/download-artifact@v4 @@ -297,6 +354,12 @@ jobs: - uses: actions/download-artifact@v4 with: name: agit-lite-macos-x86_64 + - uses: actions/download-artifact@v4 + with: + name: agitchoco-full-windows-x86_64 + - uses: actions/download-artifact@v4 + with: + name: agitchoco-lite-windows-x86_64 - uses: softprops/action-gh-release@v2 with: files: | @@ -310,4 +373,6 @@ jobs: agit-full-macos-x86_64.tar.gz agit-full-macos-x86_64 agit-lite-macos-x86_64 + agitchoco-full-windows-x86_64.nupkg + agitchoco-lite-windows-x86_64.nupkg generate_release_notes: true diff --git a/README.md b/README.md index 448dbe5..bf3302b 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,12 @@ tar -xzf agit-full-macos-x86_64.tar.gz && sudo cp agit /usr/local/bin/ # Windows Invoke-WebRequest -Uri https://github.com/bit-torch/AdapterGit/releases/latest/download/agit-full-windows-x86_64.zip -OutFile agit-full.zip Expand-Archive agit-full.zip + +# Windows — winget (coming soon) +# winget install bit-torch.agit-full + +# Windows — Chocolatey (coming soon) +# choco install agit-full ``` ### Manual Installation (both editions) diff --git a/packaging/chocolatey/agit-full.nuspec b/packaging/chocolatey/agit-full.nuspec new file mode 100644 index 0000000..477f144 --- /dev/null +++ b/packaging/chocolatey/agit-full.nuspec @@ -0,0 +1,37 @@ + + + + agit-full + 0.14.0 + AdapterGit (Full Edition) + bit-torch + https://github.com/bit-torch/AdapterGit + Apache-2.0 + https://github.com/bit-torch/AdapterGit + https://github.com/bit-torch/AdapterGit + https://github.com/bit-torch/AdapterGit/issues + git vcs cli rust + AI-native Git tool — Full Edition (TLS + AI) + + https://github.com/bit-torch/AdapterGit/releases/tag/v0.14.0 + + + + + diff --git a/packaging/chocolatey/agit-lite.nuspec b/packaging/chocolatey/agit-lite.nuspec new file mode 100644 index 0000000..23b24d3 --- /dev/null +++ b/packaging/chocolatey/agit-lite.nuspec @@ -0,0 +1,33 @@ + + + + agit-lite + 0.14.0 + AdapterGit (Lite Edition) + bit-torch + https://github.com/bit-torch/AdapterGit + Apache-2.0 + https://github.com/bit-torch/AdapterGit + https://github.com/bit-torch/AdapterGit + https://github.com/bit-torch/AdapterGit/issues + git vcs cli rust portable + AI-native Git tool — Lite Edition (portable, no TLS/AI) + + https://github.com/bit-torch/AdapterGit/releases/tag/v0.14.0 + + + + + diff --git a/packaging/chocolatey/tools/chocolateyInstall-full.ps1 b/packaging/chocolatey/tools/chocolateyInstall-full.ps1 new file mode 100644 index 0000000..d2bc472 --- /dev/null +++ b/packaging/chocolatey/tools/chocolateyInstall-full.ps1 @@ -0,0 +1,24 @@ +$ErrorActionPreference = 'Stop' + +$packageName = 'agit-full' +$version = '0.14.0' +$url = "https://github.com/bit-torch/AdapterGit/releases/download/v$version/agit-full-windows-x86_64.zip" +$checksum = 'REPLACE_WITH_SHA256' + +$toolsDir = "$(Split-Path -Parent $MyInvocation.MyCommand.Definition)" +$installDir = "$env:ChocolateyInstall\lib\$packageName\tools" + +Install-ChocolateyZipPackage ` + -PackageName $packageName ` + -Url $url ` + -UnzipLocation $installDir ` + -Checksum $checksum ` + -ChecksumType 'sha256' + +# Add to PATH (machine-wide) +Install-ChocolateyPath ` + -PathToInstall $installDir ` + -PathType 'Machine' + +Write-Host "agit (Full Edition) v$version installed to $installDir" +Write-Host "Run 'agit --help' to get started." diff --git a/packaging/chocolatey/tools/chocolateyInstall-lite.ps1 b/packaging/chocolatey/tools/chocolateyInstall-lite.ps1 new file mode 100644 index 0000000..d93aa28 --- /dev/null +++ b/packaging/chocolatey/tools/chocolateyInstall-lite.ps1 @@ -0,0 +1,26 @@ +$ErrorActionPreference = 'Stop' + +$packageName = 'agit-lite' +$version = '0.14.0' +$url = "https://github.com/bit-torch/AdapterGit/releases/download/v$version/agit-lite-windows-x86_64.exe" +$checksum = 'REPLACE_WITH_SHA256' + +$toolsDir = "$(Split-Path -Parent $MyInvocation.MyCommand.Definition)" +$installDir = "$env:ChocolateyInstall\lib\$packageName\tools" + +# Lite edition is a single binary — just download it +$exePath = Join-Path $installDir 'agit.exe' +Get-ChocolateyWebFile ` + -PackageName $packageName ` + -FileFullPath $exePath ` + -Url $url ` + -Checksum $checksum ` + -ChecksumType 'sha256' + +# Add to PATH (machine-wide) +Install-ChocolateyPath ` + -PathToInstall $installDir ` + -PathType 'Machine' + +Write-Host "agit (Lite Edition) v$version installed to $installDir" +Write-Host "Run 'agit --help' to get started." diff --git a/packaging/winget/bit-torch.agit.full.installer.yaml b/packaging/winget/bit-torch.agit.full.installer.yaml new file mode 100644 index 0000000..e9f0e74 --- /dev/null +++ b/packaging/winget/bit-torch.agit.full.installer.yaml @@ -0,0 +1,34 @@ +# Winget manifest for AdapterGit Full Edition +# Submit via PR to: https://github.com/microsoft/winget-pkgs +# Docs: https://github.com/microsoft/winget-pkgs/tree/master/doc + +PackageIdentifier: bit-torch.agit-full +PackageVersion: 0.14.0 +PackageLocale: en-US +Publisher: bit-torch +PackageName: AdapterGit (Full Edition) +License: Apache-2.0 +ShortDescription: AI-native pure-Rust Git tool — Full Edition with TLS + AI +Description: | + AdapterGit (agit) is a pure-Rust Git implementation with zero external + Git dependencies. The Full Edition includes TLS/HTTPS support and + AI-powered commit message generation. Never blocks on interactive + prompts — designed for AI agents, CI/CD, and portable use. +Tags: + - git + - vcs + - cli + - rust +ReleaseNotesUrl: https://github.com/bit-torch/AdapterGit/releases/tag/v0.14.0 +ManifestType: installer +InstallerType: zip +Installers: + - Architecture: x64 + InstallerUrl: https://github.com/bit-torch/AdapterGit/releases/download/v0.14.0/agit-full-windows-x86_64.zip + InstallerSha256: REPLACE_WITH_SHA256 + NestedInstallerType: portable + NestedInstallerFiles: + - RelativeFilePath: agit.exe + InstallerSwitches: + Silent: /s + SilentWithProgress: /s diff --git a/packaging/winget/bit-torch.agit.lite.installer.yaml b/packaging/winget/bit-torch.agit.lite.installer.yaml new file mode 100644 index 0000000..6575088 --- /dev/null +++ b/packaging/winget/bit-torch.agit.lite.installer.yaml @@ -0,0 +1,29 @@ +# Winget manifest for AdapterGit Lite Edition +# Submit via PR to: https://github.com/microsoft/winget-pkgs + +PackageIdentifier: bit-torch.agit-lite +PackageVersion: 0.14.0 +PackageLocale: en-US +Publisher: bit-torch +PackageName: AdapterGit (Lite Edition) +License: Apache-2.0 +ShortDescription: AI-native pure-Rust Git tool — Lite Edition (portable, no TLS/AI) +Description: | + AdapterGit (agit) Lite Edition is a single-file portable binary. + No TLS, no AI — pure local Git operations. Ideal for CI/CD, + Docker containers, USB drives, and temporary environments. +Tags: + - git + - vcs + - cli + - rust + - portable +ReleaseNotesUrl: https://github.com/bit-torch/AdapterGit/releases/tag/v0.14.0 +ManifestType: installer +InstallerType: portable +Installers: + - Architecture: x64 + InstallerUrl: https://github.com/bit-torch/AdapterGit/releases/download/v0.14.0/agit-lite-windows-x86_64.exe + InstallerSha256: REPLACE_WITH_SHA256 + Commands: + - agit