Skip to content

docs(zinit): fix bpick pattern, add wait/lucid ices, zcompile#3492

Open
HaleTom wants to merge 4 commits into
atuinsh:mainfrom
HaleTom:docs/zinit-bpick-server-fix
Open

docs(zinit): fix bpick pattern, add wait/lucid ices, zcompile#3492
HaleTom wants to merge 4 commits into
atuinsh:mainfrom
HaleTom:docs/zinit-bpick-server-fix

Conversation

@HaleTom

@HaleTom HaleTom commented May 18, 2026

Copy link
Copy Markdown

The zinit installation docs at https://docs.atuin.sh/cli/guide/installation/ have two issues:

1. bpick pattern matches server binary

The current pattern bpick"atuin-*.tar.gz" matches both the client binary (atuin-x86_64-unknown-linux-gnu.tar.gz) and the server binary (atuin-server-x86_64-unknown-linux-gnu.tar.gz). Since GitHub releases returns the server asset first alphabetically, users get the wrong binary:

[ziextract] Unpacking the files from: `atuin-server-x86_64-unknown-linux-gnu.tar.gz'...
Warning: mv ice didn't match any file. [atuin*/atuin -> atuin]
Available files: atuin-server-x86_64-unknown-linux-gnu
(eval):1: no such file or directory: ./atuin

Fix: Use zsh glob exclusion to skip server artifacts:

-bpick"atuin-*.tar.gz"
+bpick"atuin-*.tar.gz~*server*"

2. Missing wait and lucid ices

The current zinit example loads synchronously during .zshrc processing. For a binary plugin that doesn't need to be available until after the prompt, wait (turbo mode) and lucid (suppress "Loaded" message) are recommended:

-zinit ice as"command" from"gh-r" bpick"atuin-*.tar.gz" mv"atuin*/atuin -> atuin" \
+zinit ice wait lucid as"command" from"gh-r" bpick"atuin-*.tar.gz~*server*" mv"atuin*/atuin -> atuin" \

3. Add zcompile for faster startup

Compiling init.zsh to .zwc with zcompile gives faster startup times since zsh auto-loads the compiled bytecode:

-    atclone"./atuin init zsh > init.zsh; ./atuin gen-completions --shell zsh > _atuin" \
+    atclone"./atuin init zsh > init.zsh && zcompile init.zsh && ./atuin gen-completions --shell zsh > _atuin" \

Proposed corrected example

zinit ice wait lucid as"command" from"gh-r" bpick"atuin-*.tar.gz~*server*" mv"atuin*/atuin -> atuin" \
    atclone"./atuin init zsh > init.zsh && zcompile init.zsh && ./atuin gen-completions --shell zsh > _atuin" \
    atpull"%atclone" src"init.zsh"
zinit light atuinsh/atuin

- Fix bpick to exclude server binary: atuin-*.tar.gz~*server*
- Add wait ice for turbo-mode async loading after prompt
- Add lucid ice to suppress Loaded message
Copilot AI review requested due to automatic review settings May 18, 2026 16:34
@github-actions

github-actions Bot commented May 18, 2026

Copy link
Copy Markdown
Contributor

Fossier: Manual Review Requested

@haletom is a new contributor. A maintainer should review this PR before merging.

Score Breakdown

Total Score: 52.3/100 | Confidence: 100% | Outcome: REVIEW

Signal Value Score Weight
account_age 3926 1.00 0.09
public_repos 64 1.00 0.05
contribution_history 80 0.40 0.05
follower_ratio 15.0 1.00 0.05
bot_signals False 0.50 0.04
open_prs_elsewhere 16 0.00 0.09
closed_prs_elsewhere 23 0.00 0.10
merged_prs_elsewhere 27 1.00 0.08
prior_interaction 1 0.33 0.08
activity_velocity 2 0.67 0.08
pr_content ... 0.30 0.08
commit_email no_email 0.50 0.04
pr_description ... 0.70 0.05
repo_stars 29770 0.30 0.04
org_membership 0 0.20 0.03
commit_verification ... 0.30 0.04
contributor_stars 83 1.00 0.04

@HaleTom

HaleTom commented May 18, 2026

Copy link
Copy Markdown
Author

Closes #3491

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Documentation fix for the zinit installation snippet to ensure users install the client (not server) binary and to use turbo-mode loading.

Changes:

  • Update bpick glob to exclude server tarball.
  • Add wait and lucid ices for asynchronous loading.
  • Update the explanatory comment accordingly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@greptile-apps

greptile-apps Bot commented May 18, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the zinit installation example for Atuin's GitHub release assets. The main changes are:

  • Excludes atuin-server tarballs from the bpick release asset pattern.
  • Adds wait and lucid to load the zinit plugin asynchronously and quietly.
  • Updates the nearby comment to describe the server exclusion.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed documentation.
  • The updated bpick pattern is supported by zinit glob matching.
  • The added wait lucid options match the intended async zinit loading behavior.

Reviews (1): Last reviewed commit: "docs(zinit): fix bpick pattern and add w..." | Re-trigger Greptile

@HaleTom HaleTom requested a review from Copilot May 18, 2026 20:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@HaleTom HaleTom changed the title docs(zinit): fix bpick pattern and add wait/lucid ices docs(zinit): fix bpick pattern, add wait/lucid ices, zcompile May 18, 2026
@HaleTom

HaleTom commented May 21, 2026

Copy link
Copy Markdown
Author

Hi @ellie @BinaryMuse! 👋

This docs PR is ready for review — all CI checks are green and there are no unresolved comments.

Summary: Fixes the zinit installation snippet to:

  1. Use bpick"atuin-*.tar.gz~*server*" to exclude the server binary (currently installs the wrong artifact)
  2. Add wait lucid` ices for turbo-mode loading
  3. Add zcompile for faster startup

Would appreciate a review when you get a chance. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants