MySQLTuner-perl is a single-file Perl script for MySQL/MariaDB/Percona Server performance tuning and advisory. It connects to live database instances, collects metrics via SHOW commands, information_schema, and performance_schema, then provides actionable recommendations for performance, security, and resilience. The tool outputs in multiple formats (console, JSON, YAML, HTML, CSV) and includes advanced features like weighted health scoring (0-100), predictive capacity analysis, CVE vulnerability checking, replication analysis, and AI agent integration via --agent-json or MCP server. The repository enforces strict governance: zero CPAN dependencies in the main script, test-driven development, conventional commits, and automated release processes. Auxiliary scripts handle CVE updates, EOL synchronization, compliance checking, and release generation, all while maintaining high code quality and version consistency.
ExifTool is a mature, comprehensive Perl library and command-line application for reading, writing, and manipulating metadata across hundreds of file formats (images, audio, video, documents, archives, etc.). It supports all major metadata standards (EXIF, IPTC, XMP, GPS, ICC profiles, maker notes) and many proprietary formats. The architecture is modular: each file format has a dedicated Perl module under `lib/Image/ExifTool/` that implements a consistent interface for reading and writing metadata. The core `Image::ExifTool.pm` provides the API and CLI entry point. The codebase is exceptionally well-documented, with auto-generated HTML tag reference pages and extensive test coverage (over 100 test scripts with golden output files). It is actively maintained by a single author (Phil Harvey) with frequent releases. While the library is tightly coupled to the ExifTool framework, individual format modules follow clean patterns and could serve as reference implementations for metadata parsing. The repository also includes reusable utilities like `File/RandomAccess.pm` for buffered random file access and `Image/ExifTool/Geolocation.pm` for reverse geocoding.
pgFormatter is a mature, widely-used SQL formatter specifically designed for PostgreSQL. It operates as a command-line tool, a CGI web service, and a library, providing consistent formatting of SQL statements according to configurable rules (keyword case, indentation, comma placement, line width, etc.). The core formatting logic resides in the self-contained Perl module `lib/pgFormatter/Beautify.pm`, which parses SQL tokens and reformats them based on a comprehensive set of rules. The project includes a vast regression test suite derived from PostgreSQL's own regression tests, ensuring high syntax coverage and correctness across DDL, DML, procedural code, and edge cases. It also offers pre-commit hook integration and Docker deployment for CI/CD pipelines. The codebase is well-structured, actively maintained, and demonstrates strong engineering practices with isolated modules and extensive test coverage.
This repository is a comprehensive collection of over 1200 standalone Bash scripts for DevOps automation, cloud infrastructure management, CI/CD pipeline orchestration, and system administration. It is not a single application but a modular toolbox designed to be used interactively or integrated into CI workflows. The architecture is decentralized: each script is self-contained, sourcing shared libraries from the `lib/` directory for common functions like error handling, API authentication, and OS detection. Key entry points include the top-level `Makefile` for bootstrapping, `lib/utils.sh` as the core utility library, and numerous API wrapper scripts (e.g., `github_api.sh`, `aws_foreach_profile.sh`) that provide consistent patterns for interacting with external services. The primary data flows involve querying cloud provider APIs (AWS, GCP, Cloudflare), managing CI/CD platforms (Jenkins, BuildKite, GitHub Actions), manipulating Git repositories, and performing system tasks like disk benchmarking or SSL certificate verification. External dependencies are extensive but well-managed: the scripts assume the presence of `curl`, `jq`, and platform-specific CLIs (`aws`, `gcloud`, `kubectl`, `gh`), with many install scripts provided to bootstrap these tools. The codebase demonstrates high craftsmanship with consistent error handling (`set -euo pipefail`), input validation, and cross-platform compatibility guards. While some scripts are tailored to the author's personal environment, the core patterns and libraries are designed for reuse across projects.
Theos is a cross-platform build system designed primarily for developing iOS jailbreak tweaks, tools, and applications, but also supports macOS, Linux, and Windows targets. It is built entirely on GNU Make, with a modular architecture that separates master (top-level) and instance (sub-make) rules for parallel building. The system includes a Logos preprocessor for Objective-C hooking, a NIC (New Instance Creator) for project scaffolding, and packaging support for .deb, .rpm, .pkg, and .ipa formats. Key entry points are `makefiles/common.mk` (main include), `makefiles/rules.mk` (compilation rules), and `makefiles/target.mk` (target parsing). External dependencies include Xcode (macOS), LLVM toolchains (Linux/Windows), Perl, and dpkg-deb. The codebase demonstrates high craftsmanship in its Makefile patterns, schema-based variable overrides, and modular design, though it relies on several submodules and has some legacy components (e.g., Cygwin support).
Kaitai Struct is an umbrella project that provides a declarative language for describing binary data structures and a compiler to generate parser code in multiple target languages. The repository coordinates submodules for the compiler, runtimes for various languages (Java, Python, Ruby, etc.), format definitions, visualizer, tests, benchmarks, and documentation. Users describe a format in a .ksy file, compile it with the kaitai-struct-compiler to generate language-specific parser code, and use the corresponding runtime to parse binary data. The project includes CI workflows for building the compiler and publishing artifacts, and maintains a collection of ready-to-use format descriptions.
ClusterSSH is a Perl-based cluster administration tool that provides a graphical console (using Tk) to manage multiple SSH (or other protocol) sessions simultaneously. It allows users to define clusters via configuration files, expand hostnames using shell-style ranges, and replicate keystrokes from a master console to all connected terminal windows. The architecture is monolithic, centered around the App::ClusterSSH module, with distinct sub-modules handling configuration, cluster resolution, host parsing, and window management via X11::Protocol. It relies heavily on the X11 protocol for event injection into child xterm processes, making it tightly coupled to X11 environments but highly effective for its specific use case of synchronized cluster management.
Email::Outlook::Message is a Perl library for reading Microsoft Outlook .msg files and converting them to standard email MIME objects. It parses the OLE compound document format, extracts MAPI properties (headers, body in plain text/HTML/RTF, attachments, recipients), and reconstructs an Email::MIME object suitable for further processing or sending. The architecture uses a base class for generic OLE property stream parsing with encoding detection, with specialized subclasses for addresses and attachments. A command-line tool, msgconvert, is included for batch conversion to .eml or mbox format. The library does not require Outlook and works cross-platform. The codebase is well-structured, with good separation of concerns and a test suite covering various message types, though GPG-signed message support is incomplete.
Gitolite is a Perl-based Git repository management system that provides fine-grained access control, mirroring, and extensibility through a plugin architecture. It operates as a layer on top of plain Git, intercepting SSH and HTTP connections to enforce repository-level and branch-level permissions. Key entry points include `src/gitolite` (CLI) and `src/gitolite-shell` (SSH/HTTP handler). The system compiles a central configuration file into a cached Perl data structure, then uses triggers and VREFs (virtual refs) to enforce rules during push and access operations. Internally, the architecture is modular: core libraries (`Rc.pm`, `Conf/Load.pm`, `Conf/Store.pm`) handle configuration loading and access checks; triggers (e.g., `Mirroring`, `Writable`, `Shell`) extend behavior at lifecycle points; and commands provide admin and user-facing operations. The trigger system and VREF pattern allow third-party extensions without modifying core code. The project includes a substantial test suite with a custom testing DSL (`Tsh.pm`) that simulates SSH and Git operations. External dependencies are minimal: Git, Perl 5.10+, and standard libraries. Optional integrations include Redis for caching, LDAP/FreeIPA for user groups, and HTTP servers for smart-HTTP. The codebase is mature and battle-tested, with over a decade of production use, though some contrib scripts and advanced features (e.g., `EMAIL-CHECK`, `refex-expr`) remain experimental or poorly documented.
ChordPro is a reference implementation for the ChordPro file format, a plain-text notation for lyrics with chords. This Perl application parses `.cho`/`.chordpro` files and produces professional-quality sheet music in PDF, HTML, LaTeX, Markdown, and plain-text outputs. It includes a command-line interface (CLI) and a cross-platform graphical application built with WxPerl. The architecture features a modular output backend system, a pluggable delegate framework for embedded music notation (ABC, LilyPond, SVG), a comprehensive configuration system using Relaxed JSON, and a custom SVG-to-PDF engine. It also provides chord parsing, transposition, diagram generation, and support for multiple note naming systems (common, Nashville, Roman, solfรจge). The repository bundles extensive test suites, documentation, and packaging scripts for Windows, macOS, and Linux. While the codebase demonstrates strong engineering with several reusable components, it carries some legacy dependencies and hardcoded paths from its wxGlade-generated GUI.
Pipe Viewer is a Perl-based YouTube client providing both a CLI (`pipe-viewer`) and a GTK3 GUI (`gtk-pipe-viewer`). It allows users to search, stream, download, and manage YouTube content including videos, playlists, channels, comments, and captions. The core library `WWW::PipeViewer` abstracts YouTube data extraction via direct web scraping (ytInitialData, protobuf) and the Invidious API, with yt-dlp as a fallback for streaming URLs and comments. The architecture separates network resilience, caching, and format handling into reusable Perl modules (`DiskCache`, `Proto`, `ParseJSON`, etc.), though the CLI and GUI scripts are monolithic and tightly coupled to the library. External dependencies include `mpv`/`vlc` for playback, `yt-dlp` for advanced extraction, and `ffmpeg` for conversion. The project is actively maintained but operates on fragile, unofficial YouTube interfaces, making it susceptible to upstream changes.
SmokePing is a mature network latency monitoring and visualization application written in Perl. It measures round-trip time and packet loss to targets using a wide variety of pluggable probes (ICMP, TCP, HTTP, DNS, SSH, SNMP, etc.), stores the time-series data in RRD files, and presents interactive web-based graphs via a CGI/FastCGI interface. The architecture includes a daemon that runs probes on a schedule, a master/slave mode for distributed monitoring, and an alerting system that can trigger notifications based on configurable patterns or matcher plugins. While primarily an application, it also includes data analysis components such as matchers and sorters that compute statistics (median, loss, standard deviation) from stored data. The codebase is monolithic in parts (Smokeping.pm >3000 lines) and uses outdated JavaScript libraries, but offers well-designed extensibility through probe base classes and a self-contained SNMP stack (BER.pm, SNMP_Session.pm) that could be reused independently.
Prokka is a Perl command-line tool for rapid annotation of prokaryotic genomes (bacteria, archaea, and viruses). It takes a FASTA genome assembly as input and produces GFF3, GenBank, and other standard annotation formats by running a pipeline of external tools: Prodigal for CDS prediction, Aragorn/Barrnap/RNAmmer for tRNA/rRNA, Infernal/Rfam for ncRNA, BLAST+ and HMMER3 for functional annotation against curated databases (Swiss-Prot, HAMAP, ISfinder, NCBI AMR). The architecture is a monolithic Perl script with helper scripts for database building and maintenance. While widely used and highly cited, the repository is explicitly unmaintained by the original author (who recommends migration to Bakta), dependencies are dated, and many internal scripts lack automated testing. Bundled components like the SwissKnife Perl modules for UniProt parsing are self-contained and potentially reusable in other bioinformatics pipelines.