0.2.0 — 2026-08-28
Release Notes
A product's repositories are now grouped on disk, and the CLI grew from one command to eight.
Added
- Grouping.
qeet clone idproducesqeet-id/qeet-id-serverrather than dropping twelve
repositories into the current directory. The directory is manifest data, and is optional —
qeet clone groupstays flat, becauseqeet-docsandqeet-apisbelong at the top of a
workspace. qeet products— every product, its repository count and its group directory.qeet repos <product>— a product's repositories and their resolved clone URLs.qeet status <product>— per repository: branch, clean/dirty, ahead/behind, or not
cloned. Read-only.qeet update <product>— fast-forwards only what is unambiguous, and skips and names
everything else.--dry-runreports without fetching. See below.qeet doctor— checks git, the manifest in effect, workspace writability, which git
identity you authenticate as, and whether that identity can actually reach a configured
repository. That last check exists because a wrong SSH identity is indistinguishable from
"repository not found".qeet self-update— works out how qeet was installed and hands over to that installer.
It does not overwrite itself, which would leave Homebrew inconsistent.qeet clone all— every product, each with its own bounded concurrency.- Colour, through one shared palette. Every coloured state also has a symbol and a word,
so output survives being piped or screen-read.NO_COLORis honoured. - An aggregate progress bar with a live elapsed clock, under the per-repository spinners.
Fixed
- The aggregate progress bar never rendered. Its template began with
\n, and
MultiProgressaccounts for line count per bar, so a two-line bar silently drew nothing.
Found by capturing real output through a pty: 0 bar glyphs before, 411 after. A test now
asserts noMultiProgresstemplate contains a newline. - A detached HEAD was considered fast-forwardable.
fast_forwardable()checked for an
upstream and a behind-count but not for a branch, so a detached repository that was behind
would have been merged into. Caught by its own test before it shipped. - Integration tests were reading the developer's own config. The fixture removed
QEET_MANIFESTbut not the variables that locate the user config directory, so a config
file in$HOMEbecame a silent test input. The fixture now redirectsHOME,
XDG_CONFIG_HOMEandAPPDATA. - The documented macOS config path was wrong. It is
~/Library/Preferences/qeet/, not
~/Library/Application Support/qeet/—etcetera's Apple strategy putsconfig_dirin
Preferences.qeet doctornow prints the resolved path so nobody has to trust the docs.
Install qeet-cli 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/qeetgroup/qeet-cli/releases/download/v0.2.0/qeet-cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/qeetgroup/qeet-cli/releases/download/v0.2.0/qeet-cli-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install qeetgroup/tap/qeetDownload qeet-cli 0.2.0
| File | Platform | Checksum |
|---|---|---|
| qeet-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| qeet-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| qeet-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| qeet-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| qeet-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |