Bug fixes: - Fix inverted pager detection logic (returned error instead of path) - Fix repo.Clone ignoring destination directory parameter - Fix sheet loading using append on pre-sized slices - Clean up partial files on copy failure - Trim whitespace from editor config Security: - Add path traversal protection for cheatsheet names Performance: - Move regex compilation outside search loop - Replace string concatenation with strings.Join in search Build: - Remove go:generate; embed config and usage as string literals - Parallelize release builds - Add fuzz testing infrastructure Testing: - Improve test coverage from 38.9% to 50.2% - Add fuzz tests for search, filter, tags, and validation Documentation: - Fix inaccurate code examples in HACKING.md - Add missing --conf and --all options to man page - Add ADRs for path traversal, env parsing, and search parallelization - Update CONTRIBUTING.md to reflect project policy Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.9 KiB
Installing
cheat has no runtime dependencies. As such, installing it is generally
straightforward. There are a few methods available:
Install manually
Unix-like
On Unix-like systems, you may simply paste the following snippet into your terminal:
cd /tmp \
&& wget https://github.com/cheat/cheat/releases/download/4.5.0/cheat-linux-amd64.gz \
&& gunzip cheat-linux-amd64.gz \
&& chmod +x cheat-linux-amd64 \
&& sudo mv cheat-linux-amd64 /usr/local/bin/cheat
You may need to need to change the version number (4.5.0) and the archive
(cheat-linux-amd64.gz) depending on your platform.
See the releases page for a list of supported platforms.
Windows
On Windows, download the appropriate binary from the releases page,
unzip the archive, and place the cheat.exe executable on your PATH.
Install via go install
If you have go version >=1.17 available on your PATH, you can install
cheat via go install:
go install github.com/cheat/cheat/cmd/cheat@latest
Install via package manager
Several community-maintained packages are also available:
| Package manager | Package(s) |
|---|---|
| aur | cheat, cheat-bin |
| brew | cheat |
| docker | docker-cheat |
| nix | nixos.cheat |
| snap | cheat |
Configuring
Three things must be done before you can use cheat:
- A config file must be generated
cheatpathsmust be configured- Community cheatsheets must be downloaded
On first run, cheat will run an installer that will do all of the above
automatically. After the installer is complete, it is strongly advised that you
view the configuration file that was generated, as you may want to change some
of its default values (to enable colorization, change the paginator, etc).
conf.yml
cheat is configured by a YAML file that will be auto-generated on first run.
By default, the config file is assumed to exist on an XDG-compliant
configuration path like ~/.config/cheat/conf.yml. If you would like to store
it elsewhere, you may export a CHEAT_CONFIG_PATH environment variable that
specifies its path:
export CHEAT_CONFIG_PATH="~/.dotfiles/cheat/conf.yml"