mirror of
https://github.com/lukaszraczylo/homebrew-taps.git
synced 2026-10-12 00:45:10 +00:00
315 lines
14 KiB
HTML
315 lines
14 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="color-scheme" content="light dark" />
|
|
<title>Homebrew tap - lukaszraczylo</title>
|
|
<meta
|
|
name="description"
|
|
content="Homebrew tap with command-line tools by Lukasz Raczylo: kportal, lolcathost, semver-generator and harness-sync."
|
|
/>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<style>
|
|
:root {
|
|
--bg: #ffffff;
|
|
--fg: #111418;
|
|
--muted: #5b6470;
|
|
--line: #e3e6ea;
|
|
--code-bg: #f5f6f8;
|
|
--accent: #b45309;
|
|
--accent-fg: #ffffff;
|
|
--sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
}
|
|
@media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--bg: #0e1013;
|
|
--fg: #e8eaed;
|
|
--muted: #98a1ad;
|
|
--line: #262b32;
|
|
--code-bg: #171a1f;
|
|
--accent: #f59e0b;
|
|
--accent-fg: #0e1013;
|
|
}
|
|
}
|
|
* { box-sizing: border-box; }
|
|
html { -webkit-text-size-adjust: 100%; }
|
|
body {
|
|
margin: 0;
|
|
background: var(--bg);
|
|
color: var(--fg);
|
|
font: 16px/1.6 var(--sans);
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
a { color: inherit; text-decoration-color: var(--line); text-underline-offset: 3px; }
|
|
a:hover { text-decoration-color: var(--accent); }
|
|
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
code, pre { font-family: var(--mono); font-size: 0.875rem; }
|
|
.wrap { max-width: 56rem; margin: 0 auto; padding: 0 1.25rem; }
|
|
|
|
header.top { border-bottom: 1px solid var(--line); }
|
|
header.top .wrap {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
height: 3.5rem;
|
|
}
|
|
.brand { font-family: var(--mono); font-weight: 500; text-decoration: none; }
|
|
.brand span { color: var(--accent); }
|
|
nav.links { display: flex; gap: 1.5rem; font-size: 0.9375rem; color: var(--muted); }
|
|
nav.links a { text-decoration: none; }
|
|
nav.links a:hover { color: var(--fg); }
|
|
|
|
.intro { padding: 4rem 0 3rem; }
|
|
h1 {
|
|
margin: 0 0 1rem;
|
|
font-size: clamp(1.875rem, 5vw, 2.75rem);
|
|
line-height: 1.15;
|
|
font-weight: 600;
|
|
letter-spacing: -0.02em;
|
|
}
|
|
.intro p { margin: 0 0 1.5rem; max-width: 38rem; color: var(--muted); font-size: 1.125rem; }
|
|
|
|
section { padding: 2.5rem 0; border-top: 1px solid var(--line); }
|
|
h2 { margin: 0 0 1.5rem; font-size: 1.125rem; font-weight: 600; }
|
|
h2 small { margin-left: 0.5rem; color: var(--muted); font-weight: 400; font-size: 0.875rem; }
|
|
|
|
.cmd {
|
|
position: relative;
|
|
background: var(--code-bg);
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
}
|
|
.cmd pre { margin: 0; padding: 0.75rem 4.5rem 0.75rem 1rem; overflow-x: auto; }
|
|
.copy-btn {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0.5rem;
|
|
transform: translateY(-50%);
|
|
padding: 0.25rem 0.625rem;
|
|
background: var(--bg);
|
|
color: var(--muted);
|
|
border: 1px solid var(--line);
|
|
border-radius: 4px;
|
|
font: 500 0.75rem var(--sans);
|
|
cursor: pointer;
|
|
}
|
|
.copy-btn:hover { color: var(--fg); border-color: var(--muted); }
|
|
.copy-btn.copied { color: var(--accent); border-color: var(--accent); }
|
|
|
|
.projects { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
|
|
.project { padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
|
|
.project-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.75rem; }
|
|
.project h3 { margin: 0; font-family: var(--mono); font-size: 1.0625rem; font-weight: 500; }
|
|
.meta { color: var(--muted); font-size: 0.8125rem; font-family: var(--mono); }
|
|
.project-links { margin-left: auto; display: flex; gap: 1rem; font-size: 0.875rem; color: var(--muted); }
|
|
.project-links a:hover { color: var(--fg); }
|
|
.project p { margin: 0.375rem 0 1rem; color: var(--muted); }
|
|
|
|
.note { margin: 0 0 1rem; color: var(--muted); }
|
|
.note + .cmd { margin-bottom: 1.5rem; }
|
|
|
|
footer { border-top: 1px solid var(--line); padding: 1.5rem 0 3rem; color: var(--muted); font-size: 0.875rem; }
|
|
footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; }
|
|
footer a { text-decoration: none; }
|
|
footer a:hover { color: var(--fg); }
|
|
|
|
@media (max-width: 36rem) {
|
|
.intro { padding: 2.5rem 0 2rem; }
|
|
.project-links { margin-left: 0; width: 100%; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header class="top">
|
|
<div class="wrap">
|
|
<a class="brand" href="#">brew<span>/</span>taps</a>
|
|
<nav class="links" aria-label="Primary">
|
|
<a href="#projects">Projects</a>
|
|
<a href="#install">Install</a>
|
|
<a href="https://github.com/lukaszraczylo/homebrew-taps">GitHub</a>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="wrap">
|
|
<div class="intro">
|
|
<h1>Homebrew tap for the command-line tools at raczylo.com</h1>
|
|
<p>
|
|
Prebuilt binaries for macOS and Linux, on arm64 and amd64. Tap once, then install any project
|
|
below as a cask.
|
|
</p>
|
|
<div class="cmd">
|
|
<pre><code>brew tap lukaszraczylo/taps</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</div>
|
|
|
|
<section id="projects">
|
|
<h2>Projects <small>installed with <code>brew install --cask</code></small></h2>
|
|
<ul class="projects">
|
|
<!-- CASKS_START -->
|
|
|
|
<!-- harness-sync -->
|
|
<li class="project">
|
|
<div class="project-head">
|
|
<h3>harness-sync</h3>
|
|
<span class="meta">v0.31.13 · LLM</span>
|
|
<span class="project-links">
|
|
<a href="https://github.com/lukaszraczylo/harness-sync">GitHub</a>
|
|
</span>
|
|
</div>
|
|
<p>Sync skills, agents, MCP, and LLM endpoints across multiple LLM harnesses</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/harness-sync</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- kportal -->
|
|
<li class="project">
|
|
<div class="project-head">
|
|
<h3>kportal</h3>
|
|
<span class="meta">v0.13.7 · Kubernetes</span>
|
|
<span class="project-links">
|
|
<a href="https://kportal.raczylo.com">Docs</a>
|
|
<a href="https://github.com/lukaszraczylo/kportal">GitHub</a>
|
|
</span>
|
|
</div>
|
|
<p>Modern Kubernetes port-forward manager with interactive TUI</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/kportal</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- lolcathost -->
|
|
<li class="project">
|
|
<div class="project-head">
|
|
<h3>lolcathost</h3>
|
|
<span class="meta">v0.2.24 · Hosts</span>
|
|
<span class="project-links">
|
|
<a href="https://lolcathost.raczylo.com">Docs</a>
|
|
<a href="https://github.com/lukaszraczylo/lolcathost">GitHub</a>
|
|
</span>
|
|
</div>
|
|
<p>Dynamic host management tool with TUI</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/lolcathost</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- mcp-filepuff -->
|
|
<li class="project">
|
|
<div class="project-head">
|
|
<h3>mcp-filepuff</h3>
|
|
<span class="meta">v2.1.8 · MCP</span>
|
|
<span class="project-links">
|
|
<a href="https://github.com/lukaszraczylo/filepuff-mcp">GitHub</a>
|
|
</span>
|
|
</div>
|
|
<p>AST-aware file operations and LSP integration MCP server for Claude Code</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/mcp-filepuff</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- readitall -->
|
|
<li class="project">
|
|
<div class="project-head">
|
|
<h3>readitall</h3>
|
|
<span class="meta">v0.1.22 · MCP</span>
|
|
<span class="project-links">
|
|
<a href="https://github.com/lukaszraczylo/mcp-readitall">GitHub</a>
|
|
</span>
|
|
</div>
|
|
<p>MCP server that reads web pages through a headless Chromium-family browser</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/readitall</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- semver-generator -->
|
|
<li class="project">
|
|
<div class="project-head">
|
|
<h3>semver-generator</h3>
|
|
<span class="meta">v1.18.19 · Git</span>
|
|
<span class="project-links">
|
|
<a href="https://github.com/lukaszraczylo/semver-generator">GitHub</a>
|
|
</span>
|
|
</div>
|
|
<p>Automatic semantic version generator based on git commit messages</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/semver-generator</code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</li>
|
|
|
|
<!-- CASKS_END -->
|
|
</ul>
|
|
</section>
|
|
|
|
<section id="install">
|
|
<h2>Install</h2>
|
|
<p class="note">Install a project by name. Homebrew taps the repository on first use.</p>
|
|
<div class="cmd">
|
|
<pre><code>brew install --cask lukaszraczylo/taps/<name></code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
<p class="note">Or declare the tap in a Brewfile:</p>
|
|
<div class="cmd">
|
|
<pre><code>tap "lukaszraczylo/taps"
|
|
<!-- BREWFILE_START -->
|
|
cask "harness-sync"
|
|
cask "kportal"
|
|
cask "lolcathost"
|
|
cask "mcp-filepuff"
|
|
cask "readitall"
|
|
cask "semver-generator"
|
|
<!-- BREWFILE_END --></code></pre>
|
|
<button class="copy-btn" type="button" onclick="copyCode(this)">Copy</button>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<footer>
|
|
<div class="wrap">
|
|
<span>MIT License</span>
|
|
<span>
|
|
<a href="https://github.com/lukaszraczylo/homebrew-taps">Source</a>
|
|
<a href="https://github.com/lukaszraczylo/homebrew-taps/issues">Issues</a>
|
|
<a href="https://docs.brew.sh">Homebrew docs</a>
|
|
</span>
|
|
</div>
|
|
</footer>
|
|
|
|
<script>
|
|
function copyCode(button) {
|
|
var text = button.parentElement.querySelector("code").textContent;
|
|
navigator.clipboard.writeText(text).then(
|
|
function () {
|
|
button.classList.add("copied");
|
|
button.textContent = "Copied";
|
|
setTimeout(function () {
|
|
button.classList.remove("copied");
|
|
button.textContent = "Copy";
|
|
}, 2000);
|
|
},
|
|
function (err) {
|
|
console.error("Copy failed:", err);
|
|
}
|
|
);
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|