commit aaf336eac5e3be90a79bb4cc70921107490e3386
parent 1ba5e7e28248b0722bac048ccd2268e9579e78a2
Author: Erik Loualiche <[email protected]>
Date: Fri, 13 Mar 2026 20:20:49 -0500
release: add CI, license, install docs, smaller demo GIFs
- MIT license
- GitHub Actions release workflow (triggers on tags, builds ARM + x86 Mac)
- Pre-built binary install instructions in README
- Smaller demo GIFs (font 14, 1100x550)
- Cargo.toml metadata (description, license, repository, keywords)
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Diffstat:
9 files changed, 138 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
@@ -0,0 +1,79 @@
+name: Release
+
+on:
+ push:
+ tags: ["v*"]
+
+permissions:
+ contents: write
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ include:
+ - target: aarch64-apple-darwin
+ os: macos-latest
+ suffix: aarch64-apple-darwin
+ - target: x86_64-apple-darwin
+ os: macos-13
+ suffix: x86_64-apple-darwin
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: dtolnay/rust-toolchain@stable
+ with:
+ targets: ${{ matrix.target }}
+
+ - name: Build release
+ run: cargo build --release --target ${{ matrix.target }}
+
+ - name: Package binaries
+ run: |
+ mkdir -p dist
+ cp target/${{ matrix.target }}/release/xlcat dist/xlcat-${{ matrix.suffix }}
+ cp target/${{ matrix.target }}/release/xlset dist/xlset-${{ matrix.suffix }}
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: binaries-${{ matrix.suffix }}
+ path: dist/
+
+ release:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4
+ with:
+ path: artifacts/
+
+ - name: Prepare release assets
+ run: |
+ mkdir -p release
+
+ # ARM Mac
+ cp artifacts/binaries-aarch64-apple-darwin/xlcat-aarch64-apple-darwin release/
+ cp artifacts/binaries-aarch64-apple-darwin/xlset-aarch64-apple-darwin release/
+
+ # x86 Mac
+ cp artifacts/binaries-x86_64-apple-darwin/xlcat-x86_64-apple-darwin release/
+ cp artifacts/binaries-x86_64-apple-darwin/xlset-x86_64-apple-darwin release/
+
+ # Demo GIFs
+ cp demo/xlcat.gif release/
+ cp demo/xlset.gif release/
+
+ # Make binaries executable
+ chmod +x release/xlcat-* release/xlset-*
+
+ - name: Create GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ gh release create ${{ github.ref_name }} \
+ --title "${{ github.ref_name }}" \
+ --generate-notes \
+ release/*
diff --git a/Cargo.lock b/Cargo.lock
@@ -2968,7 +2968,7 @@ dependencies = [
[[package]]
name = "xlcat"
-version = "0.2.0"
+version = "0.2.1"
dependencies = [
"anyhow",
"assert_cmd",
diff --git a/Cargo.toml b/Cargo.toml
@@ -1,7 +1,13 @@
[package]
name = "xlcat"
-version = "0.2.0"
+version = "0.2.1"
edition = "2024"
+description = "CLI tools for viewing and editing Excel files — designed for LLMs and Claude Code"
+license = "MIT"
+repository = "https://github.com/eloualiche/llm-excel"
+keywords = ["excel", "xlsx", "cli", "llm"]
+categories = ["command-line-utilities"]
+exclude = ["demo/*.gif", "docs/superpowers/"]
[lib]
name = "xlcat"
diff --git a/LICENSE b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2026 Erik Loualiche
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
@@ -1,5 +1,7 @@
# llm-excel
+[](LICENSE)
+
Command-line tools for viewing and editing Excel files, designed for use with LLMs and Claude Code.
Two binaries, no runtime dependencies:
@@ -17,9 +19,26 @@ Two binaries, no runtime dependencies:
## Install
+### Pre-built binaries (macOS)
+
+Download from [Releases](https://github.com/eloualiche/llm-excel/releases):
+
+```bash
+# Apple Silicon
+curl -L https://github.com/eloualiche/llm-excel/releases/latest/download/xlcat-aarch64-apple-darwin -o ~/.local/bin/xlcat
+curl -L https://github.com/eloualiche/llm-excel/releases/latest/download/xlset-aarch64-apple-darwin -o ~/.local/bin/xlset
+chmod +x ~/.local/bin/xlcat ~/.local/bin/xlset
+
+# Intel Mac
+curl -L https://github.com/eloualiche/llm-excel/releases/latest/download/xlcat-x86_64-apple-darwin -o ~/.local/bin/xlcat
+curl -L https://github.com/eloualiche/llm-excel/releases/latest/download/xlset-x86_64-apple-darwin -o ~/.local/bin/xlset
+chmod +x ~/.local/bin/xlcat ~/.local/bin/xlset
+```
+
+### From source
+
```bash
-cargo build --release
-cp target/release/xlcat target/release/xlset ~/.local/bin/
+cargo install --path .
```
Requires Rust 1.85+.
@@ -72,10 +91,9 @@ xlcat report.xlsx --csv --head 100 > subset.csv
| units | Int |
| date | region | amount | units |
-|---|---|---|---|
+|------------|--------|---------|-------|
| 2024-01-01 | East | 1234.56 | 100 |
| 2024-01-02 | West | 987.00 | 75 |
-...
... (1190 rows omitted) ...
| 2024-12-30 | East | 1100.00 | 92 |
| 2024-12-31 | West | 1250.75 | 110 |
diff --git a/demo/xlcat.gif b/demo/xlcat.gif
Binary files differ.
diff --git a/demo/xlcat.tape b/demo/xlcat.tape
@@ -7,10 +7,10 @@
Output demo/xlcat.gif
-Set FontSize 18
-Set Width 1400
-Set Height 700
-Set Padding 20
+Set FontSize 14
+Set Width 1100
+Set Height 550
+Set Padding 15
Set Theme "GruvboxDarkHard"
Set TypingSpeed 80ms
diff --git a/demo/xlset.gif b/demo/xlset.gif
Binary files differ.
diff --git a/demo/xlset.tape b/demo/xlset.tape
@@ -7,10 +7,10 @@
Output demo/xlset.gif
-Set FontSize 18
-Set Width 1400
-Set Height 700
-Set Padding 20
+Set FontSize 14
+Set Width 1100
+Set Height 550
+Set Padding 15
Set Theme "GruvboxDarkHard"
Set TypingSpeed 80ms