Command-line guide · version 0.5.2

Compress files. Pack folders.

One command family for single files and folder archives: compress, pack, inspect, test and restore, in established formats. A successful round trip gives you the same bytes back.

Install

Version 0.5.2 is available for macOS on Apple silicon, Linux x86-64 and Windows x86-64. The install section on the home page has the download and checksum commands for each system, and RELEASE.md has the full details. A checksum detects accidental corruption when compared with the sidecar file; it is not a signature.

With Rust 1.93 or newer and a C compiler toolchain, install the tagged source:

Terminal
cargo install --locked --git https://github.com/megasoft1978/bytepleat --tag v0.5.2

Packages are unsigned and macOS builds are not notarised. Windows packages need the x64 Microsoft Visual C++ v14 runtime, which is not bundled.

Compress one file

Terminal
bytepleat compress ./notes.txt --format gzip
bytepleat decompress ./notes.txt.gz -o ./notes-restored.txt

Zstandard is the default; gzip and LZ4 are also supported. Decompression detects the stream format and writes a new output file, leaving the input intact. Data that is already compressed or encrypted may not shrink.

Pack a folder

Terminal
bytepleat pack ./project --format zstd -o project.tar.zst
bytepleat info project.tar.zst
bytepleat test project.tar.zst
bytepleat unpack project.tar.zst --output ./restored-project

ZIP and 7z can also package folders, within their supported subsets. Folder archives store file contents and relative paths; ownership, permissions and other filesystem metadata are not all preserved. Always extract to a new destination folder.

Formats at a glance

For the full read and write boundaries, see the format notes.

Choose a codec setting

For Zstandard, --preset fast, balanced (default) and compact select levels 1, 3 and 9. For gzip they select levels 1, 6 and 9. They are codec settings, not speed or size guarantees; results depend on the input. --level overrides the preset where supported. LZ4 has one level. Pco needs an explicit numeric --type.

Limits and careful use

test reads the supported payload fully and checks format integrity and available checksums without extracting files. info reports bounded metadata and does not decode the full payload. Neither proves where a file came from or that its contents are safe.

Path checks and configured limits address specific extraction risks, but they are not a general security guarantee or a cap on total process memory. Extraction needs a new destination, and publishing many files is not atomic. Folder archives restore file contents and relative paths, not permissions, ownership, links, extended attributes or portable timestamps. See security and limits.

Help improve Bytepleat

Share a reproducible command and a safe sample input. Read CONTRIBUTING.md or open an issue.