I spent too much time wondering how fast a very small part of the VTEX IO workflow could be.
Quix was the resulting Rust experiment: a tiny CLI that implemented enough of the VTEX IO workflow for me to compare it with the official tool.
The goal was not to replace the VTEX IO CLI. I wanted to see how small and fast the path from a local change to a linked app could become.
IMPORTANT:
Quix is an archived experiment and was never officially supported by VTEX. It should not be treated as a production replacement for the official CLI.
The experiment implemented a deliberately small set of commands.
The main one was link, which linked a local app to the VTEX workspace associated with the active account.
Commands such as login and use were never implemented, so those still depended on the VTEX IO CLI.
Building it meant inspecting the VTEX IO API closely enough to reproduce the small slice of behavior I needed. Two measurements were especially useful:
Minifier benchmark: I compared sending raw files with minifying them through the minifier crate before quix link. The benchmark notes contain the results.
Release compression: The release script built the binary with Cargo and compressed it with UPX, reducing the download size substantially.
File size Ratio Format Name
---------------------- ------- ------------ -----------
1.990.232 -> 786.448 39,52% macho/arm64 quixThe binary went from roughly 1.9 MB to 768 KB after compression.
-rwxr-xr-x@ 1 .... staff 768K ... .. ..:.. ./quixI timed both CLIs with the time utility on an M1 MacBook Air, clearing the cache and unlinking every app between runs. This was a local comparison, not a comprehensive benchmark:

The official VTEX CLI is on the left and Quix is on the right.
Quix is available under the Apache 2.0 license.
latest commit : 41 additions 16 deletions