A custom Homebrew tap for managing version-controlled development tools and dependencies.
This repository serves as my personal, version-controlled package manager for critical development tools. By maintaining my own Homebrew tap, I ensure:
- Version Control: Lock specific versions of critical tools (OpenSSL, PostgreSQL, AWS CLI, Redis, etc.)
- Consistent Development Environments: Eliminate "works on my machine" issues caused by version drift
- Security & Compliance: Audit and validate all packages before adoption
- Build Reproducibility: Ensure CI/CD environments match local development setups exactly
- Disaster Recovery: Maintain internal copies of critical dependencies, surviving upstream changes or deprecations
# 1. Tap the repository
brew tap dsaenztagarro/tap
# 2. Install packages from the tap
brew install dsaenztagarro/tap/ca-certificates
brew install dsaenztagarro/tap/openssl-ruby
# 3. Verify installation
brew list --versions | grep dsaenztagarroFor Ruby development, use the openssl-ruby formula which provides a stable, controlled OpenSSL version:
# 1. Install openssl-ruby
brew install dsaenztagarro/tap/openssl-ruby
# 2. Configure Ruby to use it
cat >> ~/.zshrc << 'EOF'
# Force Ruby to use stable OpenSSL version
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix dsaenztagarro/tap/openssl-ruby)"
EOF
# 3. Reload shell
source ~/.zshrc
# 4. Install Ruby
rbenv install 3.4.3
# 5. Verify
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_LIBRARY_VERSION'See docs/OPENSSL_RUBY_INCIDENT.md for detailed explanation of why this approach is recommended.
# Update tap formulas
brew update
# Upgrade a specific package (example)
brew upgrade dsaenztagarro/tap/ca-certificates
# Check for available updates
brew outdatedNote on openssl-ruby: This formula is designed to NOT auto-upgrade. You control when to upgrade by updating the formula yourself after testing.
-
Dependency Version Control
- Lock specific versions of critical tools
- Prevent version drift across environments
- Enable deterministic development environments
-
Security & Compliance
- Audit and validate packages before adoption
- Quickly patch or rollback problematic versions
- Track exactly which versions have been vetted
-
Build Reproducibility
- Ensure CI/CD environments match local setups
- Reduce build failures due to upstream package changes
- Pin formula commits to specific, tested versions
-
Disaster Recovery
- Survive upstream formula deletions or breaking changes
- Maintain internal copies of critical dependencies
- Quick recovery when Homebrew core formulas are deprecated
-
Engineering Excellence
- Maintain professional-grade tooling practices
- Reduce setup time and troubleshooting
- Standardized tooling across all projects
Several major technology companies maintain custom Homebrew taps for their engineering teams:
- GitHub: Maintains internal Homebrew taps for engineering tooling
- Shopify: Uses custom taps for development tools (Shopify/homebrew-shopify)
- Stripe: Maintains internal formula repositories for payment infrastructure tools
- HashiCorp: Publishes official taps (hashicorp/homebrew-tap)
- Microsoft: Distributes enterprise tools via custom taps (microsoft/homebrew-mssql-release)
- AWS: Uses custom taps for AWS CLI and SDK tools (aws/homebrew-tap)
This practice follows the same professional standards used by industry leaders.
| Formula | Description | Current Version |
|---|---|---|
ca-certificates |
Mozilla CA certificate store | 2025-11-04 |
openssl-ruby |
Stable OpenSSL for Ruby installations | 3.5.7 |
engineer |
Terminal client for the Engineer study-tracking app | 0.2.0 |
Note: openssl-ruby is specifically designed for Ruby development. It requires explicit configuration and doesn't auto-upgrade, providing a stable SSL/TLS foundation for Ruby applications. See docs/OPENSSL_RUBY_INCIDENT.md for the full story.
More formulas will be added as the tap matures. See the Formula/ directory for all available packages.
This tap is maintained as part of my personal engineering excellence practice:
- Version Control: All formulas are versioned and tracked
- Security: Regular monitoring for CVE updates
- Testing: Formulas are tested before addition
- Documentation: Clear documentation for all decisions
- VERSIONING_STRATEGY.md - Formula naming and versioning conventions
- OPENSSL_RUBY_INCIDENT.md - Deep dive into OpenSSL 3.6.0 incident, dynamic linking, and rbenv OpenSSL selection
- ADDING_FORMULAS.md - Guide for adding new formulas to this tap
Maintained by: David Saenz Tagarro
Last Updated: 2025-11-14
Purpose: Personal engineering excellence practice