Repository navigation
Releases: smprather/engineering-loadout
Release list
2026.10.6
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @shared-all # bundled tools
./loadout install @envs-all # per-user shell configsRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
80e929d5f0ef3f7377b041f881a511fcdbed77b078ac40b13fd9fa73acafa2fc |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
69b963cd888b5baa486f73ecab306d08b4fa6056e6b0b0f1e9e206b4e0891a4c |
payload/packages.json |
e93bf77517484c05c386f136dfa874c1d0be77688d5bb4f5aee93b73824b6677 |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
sbom.cdx.json |
399b79262d760de24057a4bee6ffd95a90e6e80b4c2b4e6ef053e10d73b375b1 |
SBOM
sbom.cdx.json (CycloneDX) inventories the shipped closure: every Python wheel
(syft) and every registry package. Its SHA-256 is
in the checksums table above, so the signed tag binds it like any other asset.
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v 2026.10.6 # verify the SSH-signed tag2026.10.5
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @shared-all # bundled tools
./loadout install @envs-all # per-user shell configsRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
e9283b3b088998f30b13b125c1801ec313ed9364bfbc2ed66799a2834d23ed7e |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
5a9c0f072bf28e32e8e8d0faef6358c42375f8a73ba3283bb60c71f2e9488cc1 |
payload/packages.json |
a0e8b24c82b2756bcf4a470450b56f80bbe4242c00aaa60dabe8153bdcc13e56 |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
sbom.cdx.json |
b55746952f49ed97aab73bd3b94f13bfa471d130d024e2c05faa74074c1f9a19 |
SBOM
sbom.cdx.json (CycloneDX) inventories the shipped closure: every Python wheel
(syft) and every registry package. Its SHA-256 is
in the checksums table above, so the signed tag binds it like any other asset.
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v 2026.10.5 # verify the SSH-signed tag2026.10.4
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @shared-all # bundled tools
./loadout install @envs-all # per-user shell configsRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
a5601d5d32a7e25b8a1b0719d9fe134e09b6afc10a4908bd788792aba65b4bcc |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
21de4a7b5facc36ad50bb55669e96eb1c78fc5d7abecdb76b652f4b21a5b7522 |
payload/packages.json |
25cceb18bb4322e5f0450337a65268ce0bdcc711038d9964358be5e20f6ad134 |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
sbom.cdx.json |
e0d4ef7882f5d54cd24d5e2894a61d8524a676935feb8207e3456ef8e74ba152 |
SBOM
sbom.cdx.json (CycloneDX) inventories the shipped closure: every Python wheel
(syft) and every registry package. Its SHA-256 is
in the checksums table above, so the signed tag binds it like any other asset.
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v 2026.10.4 # verify the SSH-signed tag2026.10.3
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @shared-all # bundled tools
./loadout install @envs-all # per-user shell configsRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
fe8e55aeef66a381c15fc8abef605492170831bdce1edd91822b8f94d06f2cee |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
1b4a3c527f8f6a179ce20b8faec4b055014b9581ca10ca1feb61c265f63763b3 |
payload/packages.json |
828a7aab124b686ddfc8a5569dcc7de7994415bdd9b5266e126cc10f608bbf98 |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
sbom.cdx.json |
e44011f718e781410326c89f8c7e85d520f0c3e4bcc99a61a3cd2d4c1c6b68d1 |
SBOM
sbom.cdx.json (CycloneDX) inventories the shipped closure: every Python wheel
(syft), the offline Rust crate store, and every registry package. Its SHA-256 is
in the checksums table above, so the signed tag binds it like any other asset.
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v 2026.10.3 # verify the SSH-signed tag2026.10.2
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @shared-all # bundled tools
./loadout install @envs-all # per-user shell configsRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
c07b752a1f2f6bf9cd73f3cfc7546be6bbf3fefabc91f0a08dacf0853859ede6 |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
1b4a3c527f8f6a179ce20b8faec4b055014b9581ca10ca1feb61c265f63763b3 |
payload/packages.json |
828a7aab124b686ddfc8a5569dcc7de7994415bdd9b5266e126cc10f608bbf98 |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
sbom.cdx.json |
cbdc7a6e131acb466e63b9fe44556b1e6de8f9c8fe23c01e7a392bc61b822d5e |
SBOM
sbom.cdx.json (CycloneDX) inventories the shipped closure: every Python wheel
(syft), the offline Rust crate store, and every registry package. Its SHA-256 is
in the checksums table above, so the signed tag binds it like any other asset.
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v 2026.10.2 # verify the SSH-signed tag2026.10.1
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @shared-all # bundled tools
./loadout install @envs-all # per-user shell configsRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
327316b51eb309a989648684d7b1f2a28ad5a6651dfb674f769a707f7f835582 |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
1b4a3c527f8f6a179ce20b8faec4b055014b9581ca10ca1feb61c265f63763b3 |
payload/packages.json |
96dd54e17c846f6fbe5696e55ca09a5659233adeb56f5623c12599e41380968a |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
sbom.cdx.json |
300bb12015f75ee649c2f8250e86c12fb32ba44790000e2b8e71ada1d07f2ee4 |
SBOM
sbom.cdx.json (CycloneDX) inventories the shipped closure: every Python wheel
(syft), the offline Rust crate store, and every registry package. Its SHA-256 is
in the checksums table above, so the signed tag binds it like any other asset.
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v 2026.10.1 # verify the SSH-signed tagPre-built binary versions
| Tool | Binary | Version |
|---|---|---|
| surfer | surfer |
0.7.0 |
v2026.09.23
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @engineering-loadoutRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
b62d2acc249bc6f187d63a4f4f6eb22c31a246e841770f5349b84724072cb0b8 |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
d0cf3258d25ecb22e3a04d556aded71ee40845752a9e86aa4f2eea46e427b97a |
payload/packages.json |
94318d18adb5f6e907bbde9b2e8cf98eb188494afbb563518e0053652923ba8e |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v v2026.09.23 # verify the SSH-signed tagPre-built binary versions
| Tool | Binary | Version |
|---|---|---|
| agent-deck | agent-deck |
1.11.0 |
| amux | amux |
0.0.20 |
| bash | bash |
5.3.15 |
| bat | bat |
0.26.1 |
| broot | broot |
1.58.0 |
| yazi | yazi |
26.5.6 |
| numr | numr |
0.8.0 |
| bottom | btm |
0.14.7 |
| btop | btop |
1.4.7 |
| choose | choose |
1.3.7 |
| cloc | cloc |
2.10 |
| scc | scc |
3.7.0 |
| tokei | tokei |
14.0.0 |
| delta | delta |
0.19.2 |
| duf | duf |
0.9.1 |
| dasel | dasel |
3.11.2 |
| dust | dust |
1.2.4 |
| expect | expect |
5.45.4 |
| eza | eza |
0.23.5 |
| fd | fd |
10.4.2 |
| fio | fio |
3.42 |
| fzf | fzf |
0.74.2 |
| gping | gping |
1.20.4 |
| glow | glow |
2.1.2 |
| keyb | keyb |
0.8.0 |
| models | models |
0.14.0 |
| htop | htop |
3.5.2 |
| helix | hx |
25.07.1 (079a789e) |
| hyperfine | hyperfine |
1.20.0 |
| jq | jq |
1.8.2 |
| just | just |
1.58.0 |
| lazygit | lazygit |
0.64.0 |
| less | less |
704 |
| gopls | gopls |
0.23.0 |
| micro | micro |
2.0.15 |
| lua-language-server | lua-language-server |
3.19.0 |
| typescript-language-server | typescript-language-server |
6.0.0 |
| yosys | yosys |
0.69 |
| openroad | openroad |
26Q3 |
| openvaf | openvaf |
23.5.0 |
| markdown-oxide | markdown-oxide |
0.25.12 |
| miller | mlr |
6.21.0 |
| neovim | nvim |
0.12.5 |
| patchelf | patchelf |
0.12 |
| parity-plot | parity-plot |
0.7.0 |
| spice-netlist-ls | spicefmt |
0.3.0 |
| ripgrep | rg |
15.2.0 |
| rsync | rsync |
3.4.4 |
| ruff | ruff |
0.16.2 |
| procs | procs |
0.14.12 |
| pv | pv |
1.6.6 |
| sd | sd |
1.0.0 |
| shfmt | shfmt |
3.13.1 |
| shellcheck | shellcheck |
0.11.0 |
| sqlite | sqlite3 |
3.53.4 |
| starship | starship |
1.26.0 |
| stylua | stylua |
2.5.2 |
| taplo | taplo |
0.10.0 |
| tclint | tclint |
0.9.0 |
| tkdiff | tkdiff |
6.0 |
| tealdeer | tldr |
1.8.1 |
| tmux | tmux |
3.7b |
| tree-sitter | tree-sitter |
0.26.12 |
| ty | ty |
0.0.72 |
| valgrind | valgrind |
3.27.1 |
| vim | vim.bin |
9.2.0901 |
| gvim | gvim.bin |
9.2.0901 |
| surfer | surfer |
0.7.0 |
| xterm | xterm |
410 |
| resize | resize |
410 |
| gnuplot | gnuplot |
6.0.5 |
| xsel | xsel |
1.2.1 |
| yank | yank |
1.4.0 |
| yq | yq |
4.53.3 |
| zoxide | zoxide |
0.10.0 |
| zsh | zsh |
5.9 |
| fish | fish |
4.8.1 |
| tclsh | tclsh |
9.0.3 |
| tmux-path-store | tmux-path-store |
1.1.0 |
| ncdu | ncdu |
2.9.2 |
| verilator | verilator |
5.050 |
| klayout | klayout |
0.30.10 |
| jupyterlab | jupyter-lab |
4.6.1 |
| ipython | ipython |
9.16.1 |
| uv | uv |
0.12.3 |
| Python | python3.14 |
3.14.7 |
| liberty-filter | liberty-filter |
1.0.1 |
| liberty-tools | liberty-format |
1.0.1.dev0 |
| liberty-tools | liberty-view |
1.0.1.dev0 |
| pdftotext (poppler) | pdftotext |
26.04.0 |
| p7zip | 7za |
16.02 |
| bzip2 | bzip2 |
1.0.8 |
| pigz | pigz |
2.8 |
| ngspice | ngspice |
46 |
| gnu-coreutils | ls |
9.7 |
| biome | biome |
2.5.7 |
| fresh | fresh |
0.3.8 |
| ninja | ninja |
1.13.2 |
| nodejs | node |
26.7.0 |
| yara | yara |
4.5.8 |
| zellij | zellij |
0.44.3 |
v2026.09.18
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @engineering-loadoutRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
14c458f6d743414317e942de5696f0a3456e541cc5cdc93d71cd4149c91ad909 |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
0bfd0dfa3c05e33c09ff028c69dfe308441af5c4a3988fd732a71dfbafb49ddb |
payload/packages.json |
ece1312ae1427c3e863654f7515a63f60c102b0e14cc206ecfd4fe4372f9c726 |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v v2026.09.18 # verify the SSH-signed tagPre-built binary versions
| Tool | Binary | Version |
|---|---|---|
| agent-deck | agent-deck |
1.11.0 |
| amux | amux |
0.0.20 |
| bash | bash |
5.3.15 |
| bat | bat |
0.26.1 |
| broot | broot |
1.58.0 |
| yazi | yazi |
26.5.6 |
| numr | numr |
0.8.0 |
| bottom | btm |
0.14.7 |
| btop | btop |
1.4.7 |
| choose | choose |
1.3.7 |
| cloc | cloc |
2.10 |
| scc | scc |
3.7.0 |
| tokei | tokei |
14.0.0 |
| delta | delta |
0.19.2 |
| duf | duf |
0.9.1 |
| dasel | dasel |
3.11.2 |
| dust | dust |
1.2.4 |
| expect | expect |
5.45.4 |
| eza | eza |
0.23.5 |
| fd | fd |
10.4.2 |
| fio | fio |
3.42 |
| fzf | fzf |
0.74.2 |
| gping | gping |
1.20.4 |
| glow | glow |
2.1.2 |
| keyb | keyb |
0.8.0 |
| models | models |
0.14.0 |
| htop | htop |
3.5.2 |
| helix | hx |
25.07.1 (079a789e) |
| hyperfine | hyperfine |
1.20.0 |
| jq | jq |
1.8.2 |
| just | just |
1.58.0 |
| lazygit | lazygit |
0.64.0 |
| less | less |
704 |
| gopls | gopls |
0.23.0 |
| micro | micro |
2.0.15 |
| lua-language-server | lua-language-server |
3.19.0 |
| typescript-language-server | typescript-language-server |
6.0.0 |
| yosys | yosys |
0.68 |
| openroad | openroad |
26Q3 |
| openvaf | openvaf |
23.5.0 |
| markdown-oxide | markdown-oxide |
0.25.12 |
| miller | mlr |
6.21.0 |
| neovim | nvim |
0.12.5 |
| patchelf | patchelf |
0.12 |
| parity-plot | parity-plot |
0.7.0 |
| spice-netlist-ls | spicefmt |
0.3.0 |
| ripgrep | rg |
15.2.0 |
| rsync | rsync |
3.4.4 |
| ruff | ruff |
0.16.2 |
| procs | procs |
0.14.12 |
| pv | pv |
1.6.6 |
| sd | sd |
1.0.0 |
| shfmt | shfmt |
3.13.1 |
| shellcheck | shellcheck |
0.11.0 |
| sqlite | sqlite3 |
3.53.4 |
| starship | starship |
1.26.0 |
| stylua | stylua |
2.5.2 |
| taplo | taplo |
0.10.0 |
| tclint | tclint |
0.9.0 |
| tkdiff | tkdiff |
6.0 |
| tealdeer | tldr |
1.8.1 |
| tmux | tmux |
3.7b |
| tree-sitter | tree-sitter |
0.26.12 |
| ty | ty |
0.0.72 |
| valgrind | valgrind |
3.27.1 |
| vim | vim.bin |
9.2.0901 |
| gvim | gvim.bin |
9.2.0901 |
| surfer | surfer |
0.7.0 |
| xterm | xterm |
410 |
| resize | resize |
410 |
| gnuplot | gnuplot |
6.0.5 |
| xsel | xsel |
1.2.1 |
| yank | yank |
1.4.0 |
| yq | yq |
4.53.3 |
| zoxide | zoxide |
0.10.0 |
| zsh | zsh |
5.9 |
| fish | fish |
4.8.1 |
| tclsh | tclsh |
9.0.3 |
| tmux-path-store | tmux-path-store |
1.1.0 |
| ncdu | ncdu |
2.9.2 |
| verilator | verilator |
5.050 |
| klayout | klayout |
0.30.10 |
| jupyterlab | jupyter-lab |
4.6.1 |
| ipython | ipython |
9.16.1 |
| uv | uv |
0.12.3 |
| Python | python3.14 |
3.14.7 |
| liberty-filter | liberty-filter |
1.0.1 |
| liberty-tools | liberty-format |
1.0.1.dev0 |
| liberty-tools | liberty-view |
1.0.1.dev0 |
| pdftotext (poppler) | pdftotext |
26.04.0 |
| p7zip | 7za |
16.02 |
| bzip2 | bzip2 |
1.0.8 |
| pigz | pigz |
2.8 |
| ngspice | ngspice |
46 |
| gnu-coreutils | ls |
9.7 |
| biome | biome |
2.5.7 |
| fresh | fresh |
0.3.8 |
| ninja | ninja |
1.13.2 |
| nodejs | node |
26.7.0 |
| yara | yara |
4.5.8 |
| zellij | zellij |
0.44.3 |
v2026.09.14
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @engineering-loadoutRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
9733a52001448b0aa68d3a794cc3f37e281610884b368f008fedf91cc2fc4e8a |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
0bfd0dfa3c05e33c09ff028c69dfe308441af5c4a3988fd732a71dfbafb49ddb |
payload/packages.json |
27c8f98d687f0cdc95177130813bf32d2194cf21a47befdd86176e991469ac7b |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v v2026.09.14 # verify the SSH-signed tagPre-built binary versions
| Tool | Binary | Version |
|---|---|---|
| agent-deck | agent-deck |
1.11.0 |
| amux | amux |
0.0.20 |
| bash | bash |
5.3.15 |
| bat | bat |
0.26.1 |
| broot | broot |
1.58.0 |
| yazi | yazi |
26.5.6 |
| numr | numr |
0.8.0 |
| bottom | btm |
0.14.7 |
| btop | btop |
1.4.7 |
| choose | choose |
1.3.7 |
| cloc | cloc |
2.10 |
| scc | scc |
3.7.0 |
| tokei | tokei |
14.0.0 |
| delta | delta |
0.19.2 |
| duf | duf |
0.9.1 |
| dasel | dasel |
3.11.2 |
| dust | dust |
1.2.4 |
| expect | expect |
5.45.4 |
| eza | eza |
0.23.5 |
| fd | fd |
10.4.2 |
| fio | fio |
3.42 |
| fzf | fzf |
0.74.2 |
| gping | gping |
1.20.4 |
| glow | glow |
2.1.2 |
| keyb | keyb |
0.8.0 |
| models | models |
0.14.0 |
| htop | htop |
3.5.2 |
| helix | hx |
25.07.1 (079a789e) |
| hyperfine | hyperfine |
1.20.0 |
| jq | jq |
1.8.2 |
| just | just |
1.58.0 |
| lazygit | lazygit |
0.64.0 |
| less | less |
704 |
| gopls | gopls |
0.23.0 |
| micro | micro |
2.0.15 |
| lua-language-server | lua-language-server |
3.19.0 |
| typescript-language-server | typescript-language-server |
6.0.0 |
| iverilog | iverilog |
13.0 |
| yosys | yosys |
0.68 |
| openroad | openroad |
26Q3 |
| openvaf | openvaf |
23.5.0 |
| markdown-oxide | markdown-oxide |
0.25.12 |
| miller | mlr |
6.21.0 |
| neovim | nvim |
0.12.5 |
| patchelf | patchelf |
0.12 |
| parity-plot | parity-plot |
0.7.0 |
| spice-netlist-ls | spicefmt |
0.3.0 |
| ripgrep | rg |
15.2.0 |
| rsync | rsync |
3.4.4 |
| ruff | ruff |
0.16.2 |
| procs | procs |
0.14.12 |
| pv | pv |
1.6.6 |
| sd | sd |
1.0.0 |
| shfmt | shfmt |
3.13.1 |
| shellcheck | shellcheck |
0.11.0 |
| sqlite | sqlite3 |
3.53.4 |
| starship | starship |
1.26.0 |
| stylua | stylua |
2.5.2 |
| taplo | taplo |
0.10.0 |
| tclint | tclint |
0.9.0 |
| tkdiff | tkdiff |
6.0 |
| tealdeer | tldr |
1.8.1 |
| tmux | tmux |
3.7b |
| tree-sitter | tree-sitter |
0.26.12 |
| ty | ty |
0.0.72 |
| valgrind | valgrind |
3.27.1 |
| vim | vim.bin |
9.2.0901 |
| gvim | gvim.bin |
9.2.0901 |
| surfer | surfer |
0.7.0 |
| xterm | xterm |
410 |
| resize | resize |
410 |
| gnuplot | gnuplot |
6.0.5 |
| xsel | xsel |
1.2.1 |
| yank | yank |
1.4.0 |
| yq | yq |
4.53.3 |
| zoxide | zoxide |
0.10.0 |
| zsh | zsh |
5.9 |
| fish | fish |
4.8.1 |
| tclsh | tclsh |
9.0.3 |
| tmux-path-store | tmux-path-store |
1.1.0 |
| ncdu | ncdu |
2.9.2 |
| verilator | verilator |
5.050 |
| klayout | klayout |
0.30.10 |
| jupyterlab | jupyter-lab |
4.6.1 |
| ipython | ipython |
9.16.1 |
| uv | uv |
0.12.3 |
| Python | python3.14 |
3.14.7 |
| liberty-filter | liberty-filter |
1.0.1 |
| liberty-tools | liberty-format |
1.0.1.dev0 |
| liberty-tools | liberty-view |
1.0.1.dev0 |
| pdftotext (poppler) | pdftotext |
26.04.0 |
| p7zip | 7za |
16.02 |
| bzip2 | bzip2 |
1.0.8 |
| pigz | pigz |
2.8 |
| ngspice | ngspice |
46 |
| gnu-coreutils | ls |
9.7 |
| biome | biome |
2.5.7 |
| fresh | fresh |
0.3.8 |
| ninja | ninja |
1.13.2 |
| nodejs | node |
26.7.0 |
| yara | yara |
4.5.8 |
| zellij | zellij |
0.44.3 |
v2026.09.09.1
All pre-built binaries passed smoke test.
Installing (and the nvim-plugin-stash.tar.bz2 asset)
The Neovim plugin stash ships as a separate release asset, not inside the
source tarball -- it is ~328 MB of bz2'd git packfiles, so committing it would
grow every clone permanently. Download it alongside the tarball and pair them:
tar xzf engineering-loadout-*.tar.gz
cd engineering-loadout-*/
# online: fetches + verifies the stash from this release
./tools/fetch-stash
# air-gapped: stash + sha256sums.txt downloaded elsewhere and copied over
./tools/fetch-stash --from-file /path/to/nvim-plugin-stash.tar.bz2 \
--sums /path/to/sha256sums.txt
./loadout install @engineering-loadoutRun fetch-stash from inside the extracted directory; it places the stash at
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 and records it in .content-manifest.fetched.
--sums is required with --from-file: without the sha256sums.txt from this
same release there is nothing to verify against, and a stash that fails its hash is
deleted rather than left on disk. Do not copy the asset into place by hand --
.content-manifest is a strict allowlist and the installer refuses any payload file
with no manifest entry, so a hand-placed stash is rejected, not silently trusted.
Without the stash, Neovim still installs and starts; the plugin step is skipped with
a warning naming fetch-stash.
Asset checksums (SHA-256)
Integrity-critical files pinned by this release. .content-manifest in turn pins every payload file, so verifying it (or running ./loadout doctor --verify) covers the whole tree.
| File | SHA-256 |
|---|---|
.content-manifest |
d35f50f60f29a529b0355430621bc4845aa3228cd9cbe82eca2edb541c6a5bc6 |
loadout |
c72bdcc7863d7e73da499d4bcdb61c4f4fa6f8e4edbaab6472e48c6fde9c15f4 |
loadout_main.py |
e639ec037599d8515831ea910111173dff6f49a5be588a1ffecc430606b50786 |
payload/packages.json |
37a41dcdd40066c48eb996ed40057a32c62f164ac1a302d1bca5348bcc1c3d3e |
envs/nvim/vendor/plugins/nvim-plugin-stash.tar.bz2 |
28a5ad38ccd430d09e15e47ff2de09945f6f1b68111f93f706e8b9e4e4bc0e30 |
Verifying this release
# from a checkout of the tag (or an extracted source archive):
sha256sum -c sha256sums.txt # pins the integrity-critical files above
./loadout doctor --verify # re-hashes every payload file vs .content-manifest
git tag -v v2026.09.09.1 # verify the SSH-signed tagPre-built binary versions
| Tool | Binary | Version |
|---|---|---|
| agent-deck | agent-deck |
1.11.0 |
| amux | amux |
0.0.20 |
| bash | bash |
5.3.15 |
| bat | bat |
0.26.1 |
| broot | broot |
1.58.0 |
| yazi | yazi |
26.5.6 |
| numr | numr |
0.8.0 |
| bottom | btm |
0.14.7 |
| btop | btop |
1.4.7 |
| choose | choose |
1.3.7 |
| cloc | cloc |
2.10 |
| scc | scc |
3.7.0 |
| tokei | tokei |
14.0.0 |
| delta | delta |
0.19.2 |
| duf | duf |
0.9.1 |
| dasel | dasel |
3.11.2 |
| dust | dust |
1.2.4 |
| expect | expect |
5.45.4 |
| eza | eza |
0.23.5 |
| fd | fd |
10.4.2 |
| fio | fio |
3.42 |
| fzf | fzf |
0.74.2 |
| gping | gping |
1.20.4 |
| glow | glow |
2.1.2 |
| keyb | keyb |
0.8.0 |
| models | models |
0.14.0 |
| htop | htop |
3.5.2 |
| helix | hx |
25.07.1 (079a789e) |
| hyperfine | hyperfine |
1.20.0 |
| jq | jq |
1.8.2 |
| just | just |
1.58.0 |
| lazygit | lazygit |
0.64.0 |
| less | less |
704 |
| gopls | gopls |
0.23.0 |
| micro | micro |
2.0.15 |
| lua-language-server | lua-language-server |
3.19.0 |
| typescript-language-server | typescript-language-server |
6.0.0 |
| iverilog | iverilog |
13.0 |
| yosys | yosys |
0.68 |
| openroad | openroad |
26Q3 |
| openvaf | openvaf |
23.5.0 |
| markdown-oxide | markdown-oxide |
0.25.12 |
| miller | mlr |
6.21.0 |
| neovim | nvim |
0.12.5 |
| patchelf | patchelf |
0.12 |
| parity-plot | parity-plot |
0.7.0 |
| spice-netlist-ls | spicefmt |
0.3.0 |
| ripgrep | rg |
15.2.0 |
| rsync | rsync |
3.4.4 |
| ruff | ruff |
0.16.2 |
| procs | procs |
0.14.12 |
| pv | pv |
1.6.6 |
| sd | sd |
1.0.0 |
| shfmt | shfmt |
3.13.1 |
| shellcheck | shellcheck |
0.11.0 |
| sqlite | sqlite3 |
3.53.4 |
| starship | starship |
1.26.0 |
| stylua | stylua |
2.5.2 |
| taplo | taplo |
0.10.0 |
| tclint | tclint |
0.9.0 |
| tkdiff | tkdiff |
6.0 |
| tealdeer | tldr |
1.8.1 |
| tmux | tmux |
3.7b |
| tree-sitter | tree-sitter |
0.26.12 |
| ty | ty |
0.0.72 |
| valgrind | valgrind |
3.27.1 |
| vim | vim.bin |
9.2.0901 |
| gvim | gvim.bin |
9.2.0901 |
| surfer | surfer |
0.7.0 |
| xterm | xterm |
410 |
| resize | resize |
410 |
| gnuplot | gnuplot |
6.0.5 |
| xsel | xsel |
1.2.1 |
| yank | yank |
1.4.0 |
| yq | yq |
4.53.3 |
| zoxide | zoxide |
0.10.0 |
| zsh | zsh |
5.9 |
| fish | fish |
4.8.1 |
| tclsh | tclsh |
9.0.3 |
| tmux-path-store | tmux-path-store |
1.1.0 |
| ncdu | ncdu |
2.9.2 |
| verilator | verilator |
5.050 |
| klayout | klayout |
0.30.10 |
| jupyterlab | jupyter-lab |
4.6.1 |
| ipython | ipython |
9.16.1 |
| uv | uv |
0.12.3 |
| Python | python3.14 |
3.14.7 |
| liberty-filter | liberty-filter |
1.0.1 |
| liberty-tools | liberty-format |
1.0.1.dev0 |
| liberty-tools | liberty-view |
1.0.1.dev0 |
| pdftotext (poppler) | pdftotext |
26.04.0 |
| p7zip | 7za |
16.02 |
| bzip2 | bzip2 |
1.0.8 |
| pigz | pigz |
2.8 |
| ngspice | ngspice |
46 |
| gnu-coreutils | ls |
9.7 |
| biome | biome |
2.5.7 |
| fresh | fresh |
0.3.8 |
| ninja | ninja |
1.13.2 |
| nodejs | node |
26.7.0 |
| yara | yara |
4.5.8 |
| zellij | zellij |
0.44.3 |