Arx is a Haskell CLI tool and library that archives execution contexts (source code, command, environment) into a self-extracting POSIX shell script. The generated script sets up a temporary directory, unpacks archives, sets environment variables, and executes the command with trap-based cleanup. The system is designed for reliable, reproducible remote execution via SSH/sudo piped to sh. The Haskell library provides a clean type-class based interface (ARX, SHDAT, TMPX) for building such scripts, with sub-modules for shell variable validation, tar format detection, and a novel scheme for encoding arbitrary binary data into shell HEREDOCs with minimal overhead (handling NUL bytes and escape characters). The CLI uses a custom combinator parser built with Parsec. This is a well-architected, focused tool demonstrating deep knowledge of both Haskell and shell scripting.
SingleFileZ is a browser extension (Chrome/Firefox/Edge) and CLI tool that saves complete web pages as self-extracting HTML/ZIP polyglot files. The core output format embeds a ZIP archive containing all page resources (HTML, CSS, images, fonts, frames) inside an HTML wrapper with a JavaScript bootstrap that extracts and displays the page without external dependencies. The extension offers extensive configuration including multiple profiles, URL-based auto-save rules, cloud uploads (Google Drive, Dropbox, GitHub, WebDAV), an annotation editor for notes/highlights/cut operations, batch saving, and file name templating. Architecturally, the project is a multi-browser extension with background scripts orchestrating page capture, content scripts handling in-page UI and resource collection, and a task queue for managing parallel saves. It relies heavily on message passing between contexts and includes custom infrastructure: a binary serialization format (YABSON) for efficient data transfer, a full ZIP read/write library with support for encryption and streaming, and a fork of Mozilla's Readability.js for article extraction. The CLI component uses Docker to run headlessly, delegating to the `single-filez-cli` npm package. The codebase is large and feature-rich but shows signs of maintainability strain: core modules are distributed as minified build artifacts in `lib/`, the README states SingleFileZ has been merged into its parent project SingleFile (suggesting this repo is superseded), and it relies on Manifest v2 which is being phased out by browsers. The custom polyfills and browser-specific workarounds add complexity. Despite this, several components (YABSON serialization, the ZIP library, cloud upload abstractions) are well-isolated and could be reused independently with minimal modification.