Skip to content

Requirements

No. 007
System Builds Oldest version
Linux x86_64 and arm64 any distribution: the programs are static, with no system library to match
macOS Apple silicon (arm64) and Intel (x86_64) macOS 11 on Apple silicon, macOS 10.12 on Intel
Windows x86_64 Windows 10

On macOS and Windows, cube check runs its own checks and skips the kit’s checks, and cube setup, cube doctor and the git hooks refuse. Linux has everything. See the known limits.

Program Needed for Version
git cube adopt, cube check (it compares with your last commit), cube setup and the hooks 2.24 or later (the hooks include pre-merge-commit, which git 2.24 added)
Python 3 with PyYAML the kit’s own checks (the starter kit’s validator and its other Python tools), on Linux Python 3.10 or later, PyYAML 6
gh (the GitHub CLI) nothing in the alpha: cube setup records where it is, and the hooks never run it optional

cube itself is one program with its two tools (cube-index, cube-graph) beside it. The explorer, the index and the graph need nothing else, and cube makes no network request in the alpha.

cube setup and the hooks use git and python3 only from absolute folders of your PATH, and only when your account or root owns them (see hooks and the ratchet).

Linux and macOS (install.sh, uninstall.sh) Windows (install.ps1, uninstall.ps1)
Shell a POSIX sh Windows PowerShell 5.1 or PowerShell 7
Download curl or wget built in
Check sha256sum or shasum; minisign if you want the signature checked (optional); jq is used when present (optional) built in; minisign on PATH if you want the signature checked (optional)
Unpack tar and the usual tools (uname, sed, awk, grep …) built in
Uninstall git to unhook your knowledge bases, find for --find git to unhook your knowledge bases

The programs are not code-signed, and there is no plan to sign them yet. What that means on each system:

  • Linux: nothing; Linux has no such check.
  • macOS: the installer downloads with curl, which does not quarantine the files, so Gatekeeper does not check them. The Apple silicon programs carry the ad-hoc signature that macOS requires there. A copy downloaded with a web browser is quarantined and does not open; use the install command, or remove the quarantine yourself (xattr -d com.apple.quarantine <file>).
  • Windows: the install command does not mark the files as downloaded from the internet, so SmartScreen does not stop them; a zip downloaded with a web browser can bring a SmartScreen prompt. With Smart App Control on (a Windows 11 protection, usually on only after a fresh install), Windows runs no unsigned program, so The Cube does not run. Whether to turn Smart App Control off is your choice; The Cube cannot work around it.

Only the installers go online. They fetch the channel manifest from this site, the archive from github.com, and GitHub’s record of the release from api.github.com. GitHub allows 60 anonymous API calls an hour from one address; see install and verify for what to do behind a proxy or offline. What goes where, and what the beta’s update check will send: privacy.

The plan for the next stages, as it stands. Nothing in this table is built yet, and it can still change.

After the alpha Beta Stable
Python the kit’s checks run in a pinned Python environment that cube setup builds once with uv; the hooks then need neither uv nor the network the Python tools are ported to programs inside The Cube; Python is left only for the few tools marked to wait no Python: the Python tools are retired
Where cube lives a root-owned install (/usr/local/bin/cube, set up once with administrator rights) replaces the per-account opt-in the hooks also run on macOS and Windows, once their ownership checks exist the same
Updates cube self update checks the release’s signature itself, so minisign is no longer needed for updates; a daily update check: one request a day for the signed manifest, no usage data, off with update.check = false or CUBE_NO_UPDATE_NOTIFIER=1 (privacy) self update and rollback proven on Windows and Linux
git signed commits for the acts only a human may make (git’s SSH signing) mergiraf as an optional merge driver for YAML and Markdown the same
gh only for private kits the same

The systems and the git version stay as above.