A Go CLI tool that documents, bundles, and reconstructs entire project file structures with multi-strategy compression and SHA-256 verification.
This grew out of a practical need: I wanted a way to capture a complete snapshot of a project — every file, its contents, directory structure, metadata — into a single portable bundle that could be faithfully reconstructed elsewhere.
Folder Bundler reads a project tree and produces .fb (folder bundle) files. It respects .gitignore, skips common noise directories like node_modules and .git, and handles binary files via base64 encoding. Every file gets a SHA-256 hash, so when you reconstruct the project you can verify nothing was corrupted.
The compression engine is where it gets interesting. I implemented four strategies using a hexagonal architecture: dictionary compression, template compression, delta compression, and a combined mode. The combined approach achieves up to 89% size reduction on typical codebases. Dictionary compression alone got a 10-100x speed improvement in v3.0 through careful optimisation.
For large projects, the tool automatically splits output into multiple files. There are extensive CLI flags for controlling file size limits, directory exclusions, timestamp preservation, and compression mode. Version 3.3 added symlink skipping for Windows compatibility.