Files
grok-bot-bin/README.md
T
ash 49a15ebb2d docs: Document stay-current bump path
Tell Justin how cron runs update.sh, commits, tags, and pushes, and how
to force the same bump by hand. Align the release install example with
PKGBUILD 0.36.0 (tag v0.36.0) and keep the makepkg path until CI
publishes the asset.
2026-09-03 05:13:25 +00:00

4.5 KiB

grok-bot-bin

Unofficial Arch / CachyOS package of the official Grok Bot .deb. Temporary until upstream packages for Arch.

Not affiliated with Cursor / SpaceXAI. The app binary is unchanged; this only repacks it for pacman.

Install (build locally)

This tree packages 0.36.0 (pkgver / pkgrel=1 in PKGBUILD). makepkg -si from git tip builds that version even before a release tag exists.

git clone https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin.git
cd grok-bot-bin
makepkg -si

With an AUR helper against this git URL:

paru -S grok-bot-bin --aururl https://git.s1d3sw1ped.com
# or:
yay -S grok-bot-bin  # after cloning locally / using a custom AUR mirror

Simplest reliable path on CachyOS today:

makepkg -si

Install from a release package

pacman -U installs whatever .pkg.tar.zst is attached on Releases, which lags git tip until someone tags the bump (see Updating). After v0.36.0 is pushed, CI (build.yml) attaches grok-bot-bin-0.36.0-1-x86_64.pkg.tar.zst. Until that asset exists, use makepkg -si for 0.36.0; the newest published asset may still be v0.35.0-2.

curl -LO 'https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin/releases/download/v0.36.0/grok-bot-bin-0.36.0-1-x86_64.pkg.tar.zst'
sudo pacman -U grok-bot-bin-0.36.0-1-x86_64.pkg.tar.zst

Download first, then pacman -U the local file (LocalFileSigLevel = Optional). Do not pass the remote URL straight to pacman if signatures are required.

Custom pacman repo (optional)

After CI publishes a repo database under Releases (or Packages), add to /etc/pacman.conf:

[grok-bot]
SigLevel = Optional TrustAll
Server = https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin/releases/latest/download

Exact Server= URL may change once the first repo DB lands; makepkg -si works regardless.

Updating

Stay-current path when Cursor's linux-x64 Grok Bot feed moves. PKGBUILD is currently 0.36.0 (pkgrel 1). One updater: ./scripts/update.sh.

Scheduled bump (Gitea Actions)

.gitea/workflows/update.yml runs daily (cron: '17 6 * * *') and on workflow_dispatch. It:

  1. Runs ./scripts/update.sh against the live Cursor linux-x64 feed.
  2. If pkgver changed, commits PKGBUILD and .SRCINFO.
  3. Tags v$pkgver (an upstream bump resets pkgrel to 1, so 0.36.0 → tag v0.36.0).
  4. Pushes the branch and tag.

The tag triggers .gitea/workflows/build.yml, which builds the Arch package and attaches grok-bot-bin-$pkgver-$pkgrel-x86_64.pkg.tar.zst to the Gitea release.

Actions can push and tag on this forge. Run 1190 (schedule on master) bumped 0.30.0 → 0.35.0 and pushed master plus tag v0.35.0.

If the script cannot parse the feed, or curl / jq / python3 is missing, the job fails. A no-op is only “already at this pkgver”.

Manual force path

When you do not want to wait for cron, or you are landing a bump on develop:

# requires curl, jq, python3
./scripts/update.sh

If the feed is newer, that rewrites PKGBUILD and .SRCINFO. Then commit, tag, and push (or open a PR into develop):

git add PKGBUILD .SRCINFO
git commit -m "pkgbuild: Bump grok-bot-bin to <pkgver>"
git push origin HEAD:develop   # or open a PR into develop
# After it should cut a release:
git tag "v<pkgver>"            # e.g. v0.36.0
git push origin "v<pkgver>"
makepkg -si                    # install from this tree without waiting for the release asset

Install the new version with makepkg -si, or (once CI publishes the asset) pacman -U from Releases as in the example above.

Notes

  • /usr/bin/grok-bot (and sand) is a launch shim: unless GROK_BOT_NO_UPDATE=1, it checks the latest Gitea release and may pacman -U a newer .pkg.tar.zst before exec'ing /opt/Grok Bot/…. Network/API failures still launch the installed binary.
  • If the app menu still launches an old binary without updating, run /usr/bin/grok-bot once from a terminal, or sudo pacman -U the newer .pkg.tar.zst from Releases — the menu must call the PATH shim, not /opt/Grok Bot/….
  • Upstream Linux builds still have no in-app updater for the Electron app itself; scripts/update.sh (cron or manual) is the packaging bump from Cursor's feed.
  • chrome-sandbox is left non-setuid because the install path contains a space; user namespaces cover sandboxing on CachyOS.