docs(website): add Brewfile Mode blog post and update features
Some checks are pending
Quality / golangci-lint (push) Waiting to run
Quality / Build (push) Waiting to run
Quality / Build-1 (push) Waiting to run
Security / Go Vulnerability Check (push) Waiting to run
Security / Security Scanner (push) Waiting to run

- Add new blog post about Brewfile Mode and remote URL support
- Add Brewfile Mode and Remote Brewfiles feature cards to homepage
- Add Brewfile Mode FAQ entry
- Update manifest.json to include Linux support
- Add Brewfile tag to blog sidebar
- Update Bold Brew 2.0 post: tap management is now implemented
This commit is contained in:
Vito Castellano 2025-12-29 17:08:38 +01:00
commit c9d107d028
No known key found for this signature in database
GPG key ID: E13085DB38BC5819
10 changed files with 712 additions and 16 deletions

View file

@ -306,12 +306,14 @@ brew upgrade bbrew
<h2>🎯 What&#39;s Next</h2>
<p>We&#39;re not stopping here! Future plans include:</p>
<ul>
<li><strong>Tap management</strong> - Add and manage custom Homebrew taps</li>
<li><strong>Formulae pinning</strong> - Pin specific package versions</li>
<li><strong>Backup/restore</strong> - Export and import your package lists</li>
<li><strong>Themes</strong> - Customizable color schemes</li>
<li><strong>Plugin system</strong> - Extend Bold Brew with custom functionality</li>
</ul>
<blockquote>
<p><strong>Update:</strong> Tap management and Brewfile Mode with remote URL support are now available! <a href="/blog/brewfile-mode-remote-support.html">Read more</a></p>
</blockquote>
<h2>🙏 Acknowledgments</h2>
<p>A huge thank you to:</p>
<ul>

View file

@ -0,0 +1,412 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Brewfile Mode: Curated Package Collections &amp; Remote URL Support</title>
<meta name="description" content="Bold Brew now supports Brewfile mode for curated package collections, plus the ability to load Brewfiles directly from HTTPS URLs. Perfect for team configurations and themed installers.">
<meta name="keywords" content="Brewfile mode, remote Brewfile, HTTPS URL, curated packages, team configuration, Homebrew TUI, package collections, IDE installer, dev tools, Bold Brew">
<meta name="author" content="Valkyrie00">
<meta name="robots" content="index, follow, max-image-preview:large">
<meta name="theme-color" content="#1a1a1a">
<!-- DNS Prefetch & Preconnect for Performance -->
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
<link rel="dns-prefetch" href="https://www.googletagmanager.com">
<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
<!-- OpenGraph Tags -->
<meta property="og:title" content="Brewfile Mode: Curated Package Collections &amp; Remote URL Support">
<meta property="og:description" content="Bold Brew now supports Brewfile mode for curated package collections, plus the ability to load Brewfiles directly from HTTPS URLs. Perfect for team configurations and themed installers.">
<meta property="og:image" content="https://bold-brew.com/assets/logo/bbrew-logo-rounded.png">
<meta property="og:image:width" content="200">
<meta property="og:image:height" content="200">
<meta property="og:image:alt" content="Bold Brew Logo">
<meta property="og:url" content="https://bold-brew.com/blog/brewfile-mode-remote-support.html">
<meta property="og:type" content="article">
<meta property="og:site_name" content="Bold Brew">
<!-- Twitter Card Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Brewfile Mode: Curated Package Collections &amp; Remote URL Support">
<meta name="twitter:description" content="Bold Brew now supports Brewfile mode for curated package collections, plus the ability to load Brewfiles directly from HTTPS URLs. Perfect for team configurations and themed installers.">
<meta name="twitter:image" content="https://bold-brew.com/assets/logo/bbrew-logo-rounded.png">
<meta name="twitter:image:alt" content="Bold Brew Logo">
<meta name="twitter:creator" content="@Valkyrie00">
<meta name="twitter:site" content="@Valkyrie00">
<!-- Additional SEO Meta Tags -->
<meta name="application-name" content="Bold Brew">
<meta name="apple-mobile-web-app-title" content="Bold Brew">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<meta name="mobile-web-app-capable" content="yes">
<meta name="msapplication-TileColor" content="#1a1a1a">
<meta name="msapplication-config" content="none">
<link rel="canonical" href="https://bold-brew.com/blog/brewfile-mode-remote-support.html">
<link rel="alternate" hreflang="en" href="https://bold-brew.com/blog/brewfile-mode-remote-support.html">
<link rel="alternate" hreflang="x-default" href="https://bold-brew.com/blog/brewfile-mode-remote-support.html">
<!-- Stylesheets -->
<link rel="preload" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" as="stylesheet">
<link rel="preload" href="/assets/css/styles.css" as="stylesheet">
<link rel="preload" href="/assets/bbrew-logo-nobg.png" as="image">
<!-- Stylesheets -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/css/styles.css" rel="stylesheet">
<!-- Favicons -->
<link rel="icon" href="/assets/ico/bbrew-16.ico" sizes="16x16" type="image/x-icon">
<link rel="icon" href="/assets/ico/bbrew-24.ico" sizes="24x24" type="image/x-icon">
<link rel="icon" href="/assets/ico/bbrew-32.ico" sizes="32x32" type="image/x-icon">
<link rel="icon" href="/assets/ico/bbrew-48.ico" sizes="48x48" type="image/x-icon">
<link rel="manifest" href="/manifest.json">
<!-- Scripts -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" defer></script>
<!-- Schema.org Markup -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Bold Brew (bbrew)",
"operatingSystem": ["macOS", "Linux"],
"applicationCategory": "DeveloperApplication",
"description": "Bold Brew: A modern TUI interface for managing Homebrew packages and casks on macOS and Linux. Effortlessly install, search, update, and remove packages with an elegant and intuitive interface.",
"url": "https://bold-brew.com",
"author": {
"@type": "Person",
"name": "Valkyrie00"
},
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
}
}
</script>
<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MM4FCW9XZM"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-MM4FCW9XZM');
</script>
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container">
<a class="navbar-brand" href="/">
<img src="/assets/bbrew-logo-nobg.png" alt="Bold Brew Logo" width="32" height="32">
<span>Bold Brew</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="/#features">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/#install">Install</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/#about">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/Valkyrie00/bold-brew" target="_blank" rel="noopener noreferrer">GitHub</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="container my-5">
<div class="container my-4">
<nav aria-label="breadcrumb">
<div class="breadcrumb">
<div class="breadcrumb-item ">
<a href="/">Home</a>
</div>
<div class="breadcrumb-item ">
<a href="/blog/">Blog</a>
</div>
<div class="breadcrumb-item active">
Brewfile Mode: Curated Package Collections &amp; Remote URL Support
</div>
</div>
</nav>
</div>
<article>
<header class="mb-5">
<h1>Brewfile Mode: Curated Package Collections &amp; Remote URL Support</h1>
<div class="meta">
<span class="date">2025-12-29</span>
<span class="author">By Valkyrie00</span>
</div>
</header>
<div class="content">
<h1>Brewfile Mode: Curated Package Collections &amp; Remote URL Support</h1>
<p>We&#39;re excited to announce a major new capability in Bold Brew: <strong>Brewfile Mode</strong> with full support for <strong>remote Brewfiles via HTTPS URLs</strong>. This feature transforms how teams and individuals manage their Homebrew package collections.</p>
<h2>🎯 What is Brewfile Mode?</h2>
<p>Brewfile Mode allows you to launch Bold Brew with a curated list of packages instead of the full Homebrew catalog. This is perfect for:</p>
<ul>
<li><strong>Themed installers</strong> (IDE tools, AI/ML packages, DevOps tools)</li>
<li><strong>Team onboarding</strong> (share your team&#39;s essential tools)</li>
<li><strong>Project-specific setups</strong> (install only what a project needs)</li>
<li><strong>Personal collections</strong> (your favorite tools in one place)</li>
</ul>
<h3>How It Works</h3>
<pre><code class="language-bash"># Local Brewfile
bbrew -f ~/Brewfile
# Remote Brewfile (NEW!)
bbrew -f https://raw.githubusercontent.com/your-org/configs/main/dev-tools.Brewfile
</code></pre>
<p>When you launch in Brewfile mode, Bold Brew shows <strong>only</strong> the packages defined in that Brewfile. You get the full Bold Brew experience—search, filters, install/remove—but focused on your curated selection.</p>
<h2>🌐 Remote Brewfiles via HTTPS</h2>
<p>The latest update adds support for loading Brewfiles directly from URLs. This opens up exciting possibilities:</p>
<h3>Share Team Configurations</h3>
<pre><code class="language-bash"># Everyone on the team uses the same dev tools
bbrew -f https://github.com/acme-corp/dotfiles/raw/main/Brewfile
</code></pre>
<h3>Create Themed Installers</h3>
<pre><code class="language-bash"># AI/ML development environment
bbrew -f https://example.com/brewfiles/ai-ml-toolkit.Brewfile
# Kubernetes tools collection
bbrew -f https://example.com/brewfiles/k8s-essentials.Brewfile
# Frontend development stack
bbrew -f https://example.com/brewfiles/frontend-dev.Brewfile
</code></pre>
<h3>Quick Setup for New Machines</h3>
<p>Share a single URL with colleagues or include it in your README:</p>
<pre><code class="language-markdown">## Development Setup
Install our recommended tools:
\`\`\`bash
brew install Valkyrie00/homebrew-bbrew/bbrew
bbrew -f https://our-company.com/dev-setup.Brewfile
\`\`\`
</code></pre>
<h2>📦 Third-Party Tap Support</h2>
<p>Brewfile Mode also includes full support for <strong>third-party taps</strong>. Your Brewfile can include packages from any Homebrew tap:</p>
<pre><code class="language-ruby"># Brewfile example
tap &quot;homebrew/cask-fonts&quot;
tap &quot;ublue-os/homebrew-tap&quot;
# Core tools
brew &quot;git&quot;
brew &quot;gh&quot;
brew &quot;jq&quot;
# Fonts
cask &quot;font-fira-code&quot;
cask &quot;font-jetbrains-mono&quot;
# From third-party tap
cask &quot;some-custom-package&quot;
</code></pre>
<p>Bold Brew automatically:</p>
<ol>
<li><strong>Installs missing taps</strong> at startup</li>
<li><strong>Caches tap package info</strong> for faster subsequent loads</li>
<li><strong>Shows real-time progress</strong> during tap installation</li>
</ol>
<h2>🔒 Security First</h2>
<p>Remote Brewfiles are loaded securely:</p>
<ul>
<li><strong>HTTPS only</strong> — HTTP URLs are rejected for security</li>
<li><strong>Temporary storage</strong> — Downloaded files are automatically cleaned up</li>
<li><strong>No persistence</strong> — Remote content isn&#39;t cached between sessions</li>
</ul>
<h2>🎨 Use Cases</h2>
<h3>1. IDE Chooser for Teams</h3>
<p>Create a Brewfile with all supported IDEs and let developers pick:</p>
<pre><code class="language-ruby"># ide-chooser.Brewfile
cask &quot;visual-studio-code&quot;
cask &quot;sublime-text&quot;
cask &quot;jetbrains-toolbox&quot;
cask &quot;zed&quot;
cask &quot;cursor&quot;
</code></pre>
<pre><code class="language-bash">bbrew -f https://team.example.com/ide-chooser.Brewfile
</code></pre>
<h3>2. Project Onboarding</h3>
<p>Include a Brewfile in your project repo:</p>
<pre><code class="language-ruby"># project/.Brewfile
brew &quot;node&quot;
brew &quot;pnpm&quot;
brew &quot;docker&quot;
cask &quot;docker&quot;
</code></pre>
<p>New contributors run one command to get all dependencies.</p>
<h3>3. Personal Dotfiles</h3>
<p>Keep your Brewfile in your dotfiles repo and access it from anywhere:</p>
<pre><code class="language-bash">bbrew -f https://github.com/username/dotfiles/raw/main/Brewfile
</code></pre>
<h2>📋 Example Brewfiles</h2>
<p>Bold Brew includes example Brewfiles in the <code>examples/</code> directory:</p>
<ul>
<li><strong><code>all.brewfile</code></strong> — Comprehensive package collection</li>
<li><strong><code>ide.Brewfile</code></strong> — Popular IDEs and editors</li>
</ul>
<p>Check them out for inspiration!</p>
<h2>🚀 Getting Started</h2>
<ol>
<li><p><strong>Update Bold Brew</strong> to the latest version:</p>
<pre><code class="language-bash">brew upgrade bbrew
</code></pre>
</li>
<li><p><strong>Try a local Brewfile</strong>:</p>
<pre><code class="language-bash">bbrew -f ~/path/to/Brewfile
</code></pre>
</li>
<li><p><strong>Try a remote Brewfile</strong>:</p>
<pre><code class="language-bash">bbrew -f https://raw.githubusercontent.com/Valkyrie00/bold-brew/main/examples/all.brewfile
</code></pre>
</li>
</ol>
<h2>🎹 Brewfile Mode Shortcuts</h2>
<p>When running in Brewfile mode, you get additional keyboard shortcuts:</p>
<table>
<thead>
<tr>
<th>Key</th>
<th>Action</th>
</tr>
</thead>
<tbody><tr>
<td><code>Ctrl+A</code></td>
<td>Install all packages from Brewfile</td>
</tr>
<tr>
<td><code>Ctrl+R</code></td>
<td>Remove all packages from Brewfile</td>
</tr>
</tbody></table>
<p>All standard shortcuts (search, filters, individual install/remove) work exactly as expected.</p>
<h2>💡 Tips &amp; Best Practices</h2>
<ol>
<li><strong>Version your Brewfiles</strong> — Keep them in git for change tracking</li>
<li><strong>Use comments</strong> — Document why each package is included</li>
<li><strong>Organize by category</strong> — Group related packages together</li>
<li><strong>Test before sharing</strong> — Verify packages exist and install correctly</li>
</ol>
<h2>🔗 Resources</h2>
<ul>
<li><a href="https://github.com/Homebrew/homebrew-bundle">Homebrew Brewfile documentation</a></li>
<li><a href="https://github.com/Valkyrie00/bold-brew">Bold Brew on GitHub</a></li>
<li><a href="https://github.com/Valkyrie00/bold-brew/tree/main/examples">Example Brewfiles</a></li>
</ul>
<hr>
<p><strong>Happy brewing with curated collections! 🍺</strong></p>
<p><em>The Bold Brew Team</em></p>
</div>
<footer class="mt-5">
<div class="tags">
<span class="tag">Homebrew</span>
<span class="tag">macOS</span>
<span class="tag">Command Line</span>
<span class="tag">Development Tools</span>
</div>
</footer>
</article>
</main>
<footer>
<div class="container">
<p>&copy; 2025 Bold Brew | <a href="https://github.com/Valkyrie00/bold-brew" target="_blank" rel="noopener noreferrer">GitHub</a></p>
</div>
</footer>
<!-- Back to top button -->
<button class="back-to-top" aria-label="Torna in alto">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18" />
</svg>
</button>
<!-- Scripts -->
<script>
function copyToClipboard(button) {
const preEl = button.parentElement.querySelector('pre');
const codeText = preEl.textContent;
const cleanText = codeText.replace(/^>\s/, '');
navigator.clipboard.writeText(cleanText).then(() => {
const copyText = button.querySelector('.copy-text');
copyText.textContent = 'Copied!';
setTimeout(() => {
copyText.textContent = 'Copy';
}, 2000);
});
}
// Chiudi il menu mobile quando si clicca su un link
document.addEventListener('DOMContentLoaded', function() {
const navLinks = document.querySelectorAll('.navbar-nav .nav-link');
const menuToggle = document.getElementById('navbarNav');
const bsCollapse = new bootstrap.Collapse(menuToggle, {toggle: false});
navLinks.forEach(link => {
link.addEventListener('click', () => {
if (window.innerWidth < 992) { // Solo su mobile
bsCollapse.hide();
}
});
});
// Gestione del pulsante back-to-top
const backToTop = document.querySelector('.back-to-top');
window.addEventListener('scroll', () => {
if (window.scrollY > 300) {
backToTop.classList.add('visible');
} else {
backToTop.classList.remove('visible');
}
});
backToTop.addEventListener('click', () => {
window.scrollTo({
top: 0,
behavior: 'smooth'
});
});
});
</script>
</body>
</html>

View file

@ -166,6 +166,21 @@
<div class="col-lg-8">
<div class="blog-posts">
<article class="blog-post mb-5">
<div class="post-meta">
<span class="date">2025-12-29</span>
<span class="author">By Valkyrie00</span>
</div>
<h2><a href="/blog/brewfile-mode-remote-support.html">Brewfile Mode: Curated Package Collections &amp; Remote URL Support</a></h2>
<p class="excerpt">Bold Brew now supports Brewfile mode for curated package collections, plus the ability to load Brewfiles directly from HTTPS URLs. Perfect for team configurations and themed installers.</p>
<div class="tags">
<span class="tag">Homebrew</span>
<span class="tag">TUI</span>
<span class="tag">Command Line</span>
</div>
<a href="/blog/brewfile-mode-remote-support.html" class="read-more">Read more →</a>
</article>
<article class="blog-post mb-5">
<div class="post-meta">
<span class="date">2025-10-13</span>
@ -273,6 +288,7 @@
<a href="#" class="tag">Homebrew</a>
<a href="#" class="tag">TUI</a>
<a href="#" class="tag">Casks</a>
<a href="#" class="tag">Brewfile</a>
<a href="#" class="tag">Package Management</a>
<a href="#" class="tag">Project Bluefin</a>
</div>

View file

@ -311,6 +311,20 @@
<p>Intuitive keybindings for all operations. Navigate and manage packages without touching the mouse.</p>
</div>
</div>
<div class="col-md-4">
<div class="feature-card">
<i class="fas fa-file-alt"></i>
<h3>Brewfile Mode</h3>
<p>Load curated package collections from local or remote Brewfiles. Perfect for team configs and themed installers.</p>
</div>
</div>
<div class="col-md-4">
<div class="feature-card">
<i class="fas fa-link"></i>
<h3>Remote Brewfiles</h3>
<p>Load Brewfiles directly from HTTPS URLs. Share configurations via GitHub, team repos, or any web server.</p>
</div>
</div>
</div>
</div>
</section>
@ -320,6 +334,17 @@
<h2 class="text-center mb-5">Latest Articles</h2>
<div class="row">
<div class="col-md-4">
<div class="blog-card">
<div class="post-meta">
<span class="date">2025-12-29</span>
</div>
<h3><a href="/blog/brewfile-mode-remote-support.html">Brewfile Mode: Curated Package Collections &amp; Remote URL Support</a></h3>
<p>Bold Brew now supports Brewfile mode for curated package collections, plus the ability to load Brewfiles directly from HTTPS URLs. Perfect for team configurations and themed installers.</p>
<a href="/blog/brewfile-mode-remote-support.html" class="read-more">Read more →</a>
</div>
</div>
<div class="col-md-4">
<div class="blog-card">
<div class="post-meta">
@ -342,17 +367,6 @@
</div>
</div>
<div class="col-md-4">
<div class="blog-card">
<div class="post-meta">
<span class="date">2025-04-12</span>
</div>
<h3><a href="/blog/top-homebrew-packages-for-developers.html">Top 20 Homebrew Packages for Developers in 2024</a></h3>
<p>Discover essential Homebrew packages for macOS developers. A curated list of the best development tools every programmer should install.</p>
<a href="/blog/top-homebrew-packages-for-developers.html" class="read-more">Read more →</a>
</div>
</div>
</div>
<div class="text-center mt-4">
<a href="blog/" class="btn btn-primary">View All Articles</a>
@ -373,6 +387,7 @@
<h3>Key Benefits for Developers</h3>
<ul>
<li><strong>Complete package management</strong> for both CLI tools and GUI applications</li>
<li><strong>Brewfile Mode</strong> for curated package collections from local or remote URLs</li>
<li><strong>Smart filtering</strong> by installed, outdated, leaves, or casks</li>
<li><strong>Faster package discovery</strong> with fuzzy search and analytics</li>
<li><strong>XDG Base Directory compliance</strong> for clean cache management</li>
@ -504,6 +519,19 @@
</div>
</div>
<div class="faq-item">
<div class="faq-question" data-bs-toggle="collapse" data-bs-target="#faq8">
<h3>What is Brewfile Mode?</h3>
<div class="faq-icon">
<span class="plus">+</span>
<span class="minus"></span>
</div>
</div>
<div id="faq8" class="faq-answer collapse" data-bs-parent="#faqAccordion">
<p>Brewfile Mode lets you launch Bold Brew with a curated list of packages instead of the full catalog. Use <code>bbrew -f /path/to/Brewfile</code> for local files or <code>bbrew -f https://...</code> for remote URLs. Perfect for team configurations, themed installers, and project-specific setups. <a href="blog/brewfile-mode-remote-support.html">Learn more</a>.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-question" data-bs-toggle="collapse" data-bs-target="#faq6">
<h3>Where can I report issues or request features?</h3>

View file

@ -1,7 +1,7 @@
{
"name": "Bold Brew",
"short_name": "bbrew",
"description": "Modern Homebrew TUI Manager for macOS",
"description": "Modern Homebrew TUI Manager for macOS and Linux",
"start_url": "/",
"display": "standalone",
"background_color": "#1a1a1a",

View file

@ -2,16 +2,22 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://bold-brew.com/</loc>
<lastmod>2025-10-13</lastmod>
<lastmod>2025-12-29</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://bold-brew.com/blog/</loc>
<lastmod>2025-10-13</lastmod>
<lastmod>2025-12-29</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://bold-brew.com/blog/brewfile-mode-remote-support.html</loc>
<lastmod>2025-12-29</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://bold-brew.com/blog/bold-brew-2-0-cask-support.html</loc>
<lastmod>2025-10-13</lastmod>

View file

@ -143,12 +143,13 @@ Bold Brew 2.0 provides excellent support across platforms:
## 🎯 What's Next
We're not stopping here! Future plans include:
- **Tap management** - Add and manage custom Homebrew taps
- **Formulae pinning** - Pin specific package versions
- **Backup/restore** - Export and import your package lists
- **Themes** - Customizable color schemes
- **Plugin system** - Extend Bold Brew with custom functionality
> **Update:** Tap management and Brewfile Mode with remote URL support are now available! [Read more](/blog/brewfile-mode-remote-support.html)
## 🙏 Acknowledgments
A huge thank you to:

View file

@ -0,0 +1,202 @@
---
title: "Brewfile Mode: Curated Package Collections & Remote URL Support"
date: "2025-12-29"
description: "Bold Brew now supports Brewfile mode for curated package collections, plus the ability to load Brewfiles directly from HTTPS URLs. Perfect for team configurations and themed installers."
keywords: "Brewfile mode, remote Brewfile, HTTPS URL, curated packages, team configuration, Homebrew TUI, package collections, IDE installer, dev tools, Bold Brew"
---
# Brewfile Mode: Curated Package Collections & Remote URL Support
We're excited to announce a major new capability in Bold Brew: **Brewfile Mode** with full support for **remote Brewfiles via HTTPS URLs**. This feature transforms how teams and individuals manage their Homebrew package collections.
## 🎯 What is Brewfile Mode?
Brewfile Mode allows you to launch Bold Brew with a curated list of packages instead of the full Homebrew catalog. This is perfect for:
- **Themed installers** (IDE tools, AI/ML packages, DevOps tools)
- **Team onboarding** (share your team's essential tools)
- **Project-specific setups** (install only what a project needs)
- **Personal collections** (your favorite tools in one place)
### How It Works
```bash
# Local Brewfile
bbrew -f ~/Brewfile
# Remote Brewfile (NEW!)
bbrew -f https://raw.githubusercontent.com/your-org/configs/main/dev-tools.Brewfile
```
When you launch in Brewfile mode, Bold Brew shows **only** the packages defined in that Brewfile. You get the full Bold Brew experience—search, filters, install/remove—but focused on your curated selection.
## 🌐 Remote Brewfiles via HTTPS
The latest update adds support for loading Brewfiles directly from URLs. This opens up exciting possibilities:
### Share Team Configurations
```bash
# Everyone on the team uses the same dev tools
bbrew -f https://github.com/acme-corp/dotfiles/raw/main/Brewfile
```
### Create Themed Installers
```bash
# AI/ML development environment
bbrew -f https://example.com/brewfiles/ai-ml-toolkit.Brewfile
# Kubernetes tools collection
bbrew -f https://example.com/brewfiles/k8s-essentials.Brewfile
# Frontend development stack
bbrew -f https://example.com/brewfiles/frontend-dev.Brewfile
```
### Quick Setup for New Machines
Share a single URL with colleagues or include it in your README:
```markdown
## Development Setup
Install our recommended tools:
\`\`\`bash
brew install Valkyrie00/homebrew-bbrew/bbrew
bbrew -f https://our-company.com/dev-setup.Brewfile
\`\`\`
```
## 📦 Third-Party Tap Support
Brewfile Mode also includes full support for **third-party taps**. Your Brewfile can include packages from any Homebrew tap:
```ruby
# Brewfile example
tap "homebrew/cask-fonts"
tap "ublue-os/homebrew-tap"
# Core tools
brew "git"
brew "gh"
brew "jq"
# Fonts
cask "font-fira-code"
cask "font-jetbrains-mono"
# From third-party tap
cask "some-custom-package"
```
Bold Brew automatically:
1. **Installs missing taps** at startup
2. **Caches tap package info** for faster subsequent loads
3. **Shows real-time progress** during tap installation
## 🔒 Security First
Remote Brewfiles are loaded securely:
- **HTTPS only** — HTTP URLs are rejected for security
- **Temporary storage** — Downloaded files are automatically cleaned up
- **No persistence** — Remote content isn't cached between sessions
## 🎨 Use Cases
### 1. IDE Chooser for Teams
Create a Brewfile with all supported IDEs and let developers pick:
```ruby
# ide-chooser.Brewfile
cask "visual-studio-code"
cask "sublime-text"
cask "jetbrains-toolbox"
cask "zed"
cask "cursor"
```
```bash
bbrew -f https://team.example.com/ide-chooser.Brewfile
```
### 2. Project Onboarding
Include a Brewfile in your project repo:
```ruby
# project/.Brewfile
brew "node"
brew "pnpm"
brew "docker"
cask "docker"
```
New contributors run one command to get all dependencies.
### 3. Personal Dotfiles
Keep your Brewfile in your dotfiles repo and access it from anywhere:
```bash
bbrew -f https://github.com/username/dotfiles/raw/main/Brewfile
```
## 📋 Example Brewfiles
Bold Brew includes example Brewfiles in the `examples/` directory:
- **`all.brewfile`** — Comprehensive package collection
- **`ide.Brewfile`** — Popular IDEs and editors
Check them out for inspiration!
## 🚀 Getting Started
1. **Update Bold Brew** to the latest version:
```bash
brew upgrade bbrew
```
2. **Try a local Brewfile**:
```bash
bbrew -f ~/path/to/Brewfile
```
3. **Try a remote Brewfile**:
```bash
bbrew -f https://raw.githubusercontent.com/Valkyrie00/bold-brew/main/examples/all.brewfile
```
## 🎹 Brewfile Mode Shortcuts
When running in Brewfile mode, you get additional keyboard shortcuts:
| Key | Action |
|-----|--------|
| `Ctrl+A` | Install all packages from Brewfile |
| `Ctrl+R` | Remove all packages from Brewfile |
All standard shortcuts (search, filters, individual install/remove) work exactly as expected.
## 💡 Tips & Best Practices
1. **Version your Brewfiles** — Keep them in git for change tracking
2. **Use comments** — Document why each package is included
3. **Organize by category** — Group related packages together
4. **Test before sharing** — Verify packages exist and install correctly
## 🔗 Resources
- [Homebrew Brewfile documentation](https://github.com/Homebrew/homebrew-bundle)
- [Bold Brew on GitHub](https://github.com/Valkyrie00/bold-brew)
- [Example Brewfiles](https://github.com/Valkyrie00/bold-brew/tree/main/examples)
---
**Happy brewing with curated collections! 🍺**
*The Bold Brew Team*

View file

@ -44,6 +44,7 @@
<a href="#" class="tag">Homebrew</a>
<a href="#" class="tag">TUI</a>
<a href="#" class="tag">Casks</a>
<a href="#" class="tag">Brewfile</a>
<a href="#" class="tag">Package Management</a>
<a href="#" class="tag">Project Bluefin</a>
</div>

View file

@ -175,6 +175,20 @@
<p>Intuitive keybindings for all operations. Navigate and manage packages without touching the mouse.</p>
</div>
</div>
<div class="col-md-4">
<div class="feature-card">
<i class="fas fa-file-alt"></i>
<h3>Brewfile Mode</h3>
<p>Load curated package collections from local or remote Brewfiles. Perfect for team configs and themed installers.</p>
</div>
</div>
<div class="col-md-4">
<div class="feature-card">
<i class="fas fa-link"></i>
<h3>Remote Brewfiles</h3>
<p>Load Brewfiles directly from HTTPS URLs. Share configurations via GitHub, team repos, or any web server.</p>
</div>
</div>
</div>
</div>
</section>
@ -215,6 +229,7 @@
<h3>Key Benefits for Developers</h3>
<ul>
<li><strong>Complete package management</strong> for both CLI tools and GUI applications</li>
<li><strong>Brewfile Mode</strong> for curated package collections from local or remote URLs</li>
<li><strong>Smart filtering</strong> by installed, outdated, leaves, or casks</li>
<li><strong>Faster package discovery</strong> with fuzzy search and analytics</li>
<li><strong>XDG Base Directory compliance</strong> for clean cache management</li>
@ -346,6 +361,19 @@
</div>
</div>
<div class="faq-item">
<div class="faq-question" data-bs-toggle="collapse" data-bs-target="#faq8">
<h3>What is Brewfile Mode?</h3>
<div class="faq-icon">
<span class="plus">+</span>
<span class="minus"></span>
</div>
</div>
<div id="faq8" class="faq-answer collapse" data-bs-parent="#faqAccordion">
<p>Brewfile Mode lets you launch Bold Brew with a curated list of packages instead of the full catalog. Use <code>bbrew -f /path/to/Brewfile</code> for local files or <code>bbrew -f https://...</code> for remote URLs. Perfect for team configurations, themed installers, and project-specific setups. <a href="blog/brewfile-mode-remote-support.html">Learn more</a>.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-question" data-bs-toggle="collapse" data-bs-target="#faq6">
<h3>Where can I report issues or request features?</h3>