Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
run: python3 -m unittest discover -s scripts/tests -p 'test_*.py'
- name: Test website analytics boundaries
run: node --test scripts/tests/test_site_analytics.mjs
- name: Check translated site pages are current
run: python3 scripts/site-i18n.py --check

test:
runs-on: macos-15
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ Everything is local and takes effect immediately unless noted:
| **History retention** | How long metric history is kept (1 day → 1 year); older rows are pruned hourly. |
| **Vacuum after large prunes** | Reclaim DB file space after a big prune (off by default). |
| **Sampling rate** | How often Burrow runs `mo status --json` (5 s → 5 min). |
| **App language** | Follow the system, or force English / 简体中文 / 繁體中文 / Русский *(relaunch)*. |
| **App language** | Follow the system, or force English / 简体中文 / 繁體中文 / Русский / 日本語 / Deutsch / Français / Español / 한국어 / Português (Brasil) *(relaunch)*. See [docs/localization.md](docs/localization.md). |
| **Menu-bar icon** | Show the menu-bar item, or run as a regular Dock app instead. |
| **MCP / agent access** | Copyable stdio config + the tool list for Claude Code, Cursor, Codex, Cline, and any MCP client. |
| **Local HTTP query server** | Optional loopback REST endpoints + port for dashboards/curl. On Windows, disabling this keeps the local `/mcp` bridge available for stdio MCP. |
Expand Down
24 changes: 24 additions & 0 deletions docs/assets/chrome.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,30 @@
.brand:hover { transform: scale(1.03); }
.brand .mk, .brand-logo { width: 28px; height: 28px; border-radius: 8px; flex: none; }

/* Language picker, filled in by scripts/site-i18n.py. A bare <details> so it
opens with no JavaScript — the translated pages are the one place a visitor
may not read enough English to debug a menu that needs a script. */
.langpick { position: relative; }
.langpick > summary { list-style: none; cursor: pointer; user-select: none;
display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px;
border-radius: 999px; font-size: 13px; color: rgba(243,236,221,0.66);
border: 1px solid rgba(243,236,221,0.14); }
.langpick > summary::-webkit-details-marker { display: none; }
.langpick > summary::after { content: ""; width: 5px; height: 5px; margin-left: 1px;
border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
transform: translateY(-2px) rotate(45deg); }
.langpick > summary:hover { color: #f3ecdd; border-color: rgba(243,236,221,0.3); }
.langpick[open] > summary { color: #f3ecdd; }
.langpick > nav { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60;
display: grid; min-width: 176px; padding: 6px; border-radius: 12px;
background: #1b1b21; border: 1px solid rgba(243,236,221,0.14);
box-shadow: 0 18px 40px rgba(0,0,0,0.45); }
.langpick > nav a { padding: 7px 10px; border-radius: 8px; font-size: 13px;
color: rgba(243,236,221,0.78); text-decoration: none; white-space: nowrap; }
.langpick > nav a:hover { background: rgba(243,236,221,0.08); color: #f3ecdd; }
.langpick > nav a[aria-current="page"] { color: #f3ecdd; font-weight: 600; }
@media (max-width: 720px) { .langpick > summary span { display: none; } }

.topbar .nav { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 22px; }
.topbar .nav a { font-family: "Geist", -apple-system, system-ui, sans-serif; font-size: 0.9rem;
color: rgba(243,236,221,0.66); text-decoration: none; transition: color .18s; }
Expand Down
12 changes: 12 additions & 0 deletions docs/blog/choosing-a-mac-cleanup-tool.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@
<meta name="theme-color" content="#121217">
<link rel="icon" type="image/png" href="../burrow-icon.png">
<link rel="canonical" href="https://burrow.computer/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="x-default" href="https://burrow.computer/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="en" href="https://burrow.computer/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="zh-Hans" href="https://burrow.computer/zh-Hans/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="zh-Hant" href="https://burrow.computer/zh-Hant/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="ru" href="https://burrow.computer/ru/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="ja" href="https://burrow.computer/ja/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="de" href="https://burrow.computer/de/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="fr" href="https://burrow.computer/fr/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="es" href="https://burrow.computer/es/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="ko" href="https://burrow.computer/ko/blog/choosing-a-mac-cleanup-tool">
<link rel="alternate" hreflang="pt-BR" href="https://burrow.computer/pt-BR/blog/choosing-a-mac-cleanup-tool">
<link rel="stylesheet" href="../assets/chrome.css">
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://burrow.computer/#org","name":"Burrow","url":"https://burrow.computer","logo":"https://burrow.computer/burrow-icon-512.png","sameAs":["https://github.com/caezium/Burrow"]},{"@type":"WebSite","@id":"https://burrow.computer/#site","url":"https://burrow.computer","name":"Burrow","publisher":{"@id":"https://burrow.computer/#org"}}]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Choosing a Mac Cleanup Tool Beyond CleanMyMac","description":"What to actually evaluate in a cleaner: what it can reach, whether it shows you the files first, and what happens to your data.","datePublished":"2026-07-08","dateModified":"2026-07-08","author":{"@type":"Organization","name":"Burrow"},"publisher":{"@type":"Organization","name":"Burrow"},"mainEntityOfPage":"https://burrow.computer/blog/choosing-a-mac-cleanup-tool"}</script>
Expand Down Expand Up @@ -117,6 +128,7 @@
<a class="brand" href=".././" aria-label="Burrow"><img class="mk" src="../burrow-icon.png" alt="" width="28" height="28" decoding="async"><span>Burrow</span></a>
<nav class="nav"><a href=".././#tools">Tools</a><a href="../docs">Docs</a><a href="../compare">Compare</a><a href="../blog/" class="on">Blog</a><a href="../install">Install</a><a href="../releases">Changelog</a><a href="../roadmap">Roadmap</a></nav>
<div class="nav-right">
<!-- LANGPICK:BEGIN --><details class="langpick"><summary aria-label="Language"><span>English</span></summary><nav><a href="/" hreflang="en" aria-current="page">English</a><a href="/zh-Hans/" hreflang="zh-Hans">简体中文</a><a href="/zh-Hant/" hreflang="zh-Hant">繁體中文</a><a href="/ru/" hreflang="ru">Русский</a><a href="/ja/" hreflang="ja">日本語</a><a href="/de/" hreflang="de">Deutsch</a><a href="/fr/" hreflang="fr">Français</a><a href="/es/" hreflang="es">Español</a><a href="/ko/" hreflang="ko">한국어</a><a href="/pt-BR/" hreflang="pt-BR">Português (Brasil)</a></nav></details><!-- LANGPICK:END -->
<a class="nav-github" href="https://github.com/caezium/Burrow" target="_blank" rel="noopener" aria-label="View Burrow on GitHub"><svg class="icon icon--github" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 .5a12 12 0 00-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.3-1.8-1.3-1.8-1.1-.7 0-.7 0-.7 1.2 0 1.9 1.2 1.9 1.2 1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.7-.3-5.5-1.3-5.5-5.9 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.5.1-3.2 0 0 1-.3 3.3 1.2a11.5 11.5 0 016 0C17.3 5 18.3 5.3 18.3 5.3c.6 1.7.2 2.9.1 3.2.8.8 1.2 1.9 1.2 3.2 0 4.6-2.8 5.6-5.5 5.9.4.4.8 1.1.8 2.2v3.3c0 .3.2.7.8.6A12 12 0 0012 .5z"/></svg><span class="nav-stars">1.2k</span></a>
<a class="btn" href="../install" data-burrow-analytics="download.blog"><span class="btn-inner"><svg class="icon icon--apple" viewBox="0 0 814 1000" aria-hidden="true"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.2 0 129.8 2.6 196.3 99.2zm-234-181.1c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.2 32.4-54.4 84.4-54.4 136.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.8-71.3z"/></svg><span class="nav-label--full">Download for Mac</span><span class="nav-label--short">Download</span></span></a>
</div>
Expand Down
12 changes: 12 additions & 0 deletions docs/blog/find-duplicate-files-on-a-mac.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@
<meta name="theme-color" content="#121217">
<link rel="icon" type="image/png" href="../burrow-icon.png">
<link rel="canonical" href="https://burrow.computer/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="x-default" href="https://burrow.computer/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="en" href="https://burrow.computer/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="zh-Hans" href="https://burrow.computer/zh-Hans/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="zh-Hant" href="https://burrow.computer/zh-Hant/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="ru" href="https://burrow.computer/ru/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="ja" href="https://burrow.computer/ja/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="de" href="https://burrow.computer/de/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="fr" href="https://burrow.computer/fr/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="es" href="https://burrow.computer/es/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="ko" href="https://burrow.computer/ko/blog/find-duplicate-files-on-a-mac">
<link rel="alternate" hreflang="pt-BR" href="https://burrow.computer/pt-BR/blog/find-duplicate-files-on-a-mac">
<link rel="stylesheet" href="../assets/chrome.css">
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://burrow.computer/#org","name":"Burrow","url":"https://burrow.computer","logo":"https://burrow.computer/burrow-icon-512.png","sameAs":["https://github.com/caezium/Burrow"]},{"@type":"WebSite","@id":"https://burrow.computer/#site","url":"https://burrow.computer","name":"Burrow","publisher":{"@id":"https://burrow.computer/#org"}}]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"How to Find Duplicate Files on a Mac","description":"Name matching finds almost nothing. Content hashing finds the real duplicates, and hardlink awareness stops you deleting the same bytes twice.","datePublished":"2026-07-24","dateModified":"2026-07-24","author":{"@type":"Organization","name":"Burrow"},"publisher":{"@type":"Organization","name":"Burrow"},"mainEntityOfPage":"https://burrow.computer/blog/find-duplicate-files-on-a-mac"}</script>
Expand Down Expand Up @@ -117,6 +128,7 @@
<a class="brand" href=".././" aria-label="Burrow"><img class="mk" src="../burrow-icon.png" alt="" width="28" height="28" decoding="async"><span>Burrow</span></a>
<nav class="nav"><a href=".././#tools">Tools</a><a href="../docs">Docs</a><a href="../compare">Compare</a><a href="../blog/" class="on">Blog</a><a href="../install">Install</a><a href="../releases">Changelog</a><a href="../roadmap">Roadmap</a></nav>
<div class="nav-right">
<!-- LANGPICK:BEGIN --><details class="langpick"><summary aria-label="Language"><span>English</span></summary><nav><a href="/" hreflang="en" aria-current="page">English</a><a href="/zh-Hans/" hreflang="zh-Hans">简体中文</a><a href="/zh-Hant/" hreflang="zh-Hant">繁體中文</a><a href="/ru/" hreflang="ru">Русский</a><a href="/ja/" hreflang="ja">日本語</a><a href="/de/" hreflang="de">Deutsch</a><a href="/fr/" hreflang="fr">Français</a><a href="/es/" hreflang="es">Español</a><a href="/ko/" hreflang="ko">한국어</a><a href="/pt-BR/" hreflang="pt-BR">Português (Brasil)</a></nav></details><!-- LANGPICK:END -->
<a class="nav-github" href="https://github.com/caezium/Burrow" target="_blank" rel="noopener" aria-label="View Burrow on GitHub"><svg class="icon icon--github" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 .5a12 12 0 00-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.3-1.8-1.3-1.8-1.1-.7 0-.7 0-.7 1.2 0 1.9 1.2 1.9 1.2 1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.7-.3-5.5-1.3-5.5-5.9 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.5.1-3.2 0 0 1-.3 3.3 1.2a11.5 11.5 0 016 0C17.3 5 18.3 5.3 18.3 5.3c.6 1.7.2 2.9.1 3.2.8.8 1.2 1.9 1.2 3.2 0 4.6-2.8 5.6-5.5 5.9.4.4.8 1.1.8 2.2v3.3c0 .3.2.7.8.6A12 12 0 0012 .5z"/></svg><span class="nav-stars">1.2k</span></a>
<a class="btn" href="../install" data-burrow-analytics="download.blog"><span class="btn-inner"><svg class="icon icon--apple" viewBox="0 0 814 1000" aria-hidden="true"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.2 0 129.8 2.6 196.3 99.2zm-234-181.1c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.2 32.4-54.4 84.4-54.4 136.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.8-71.3z"/></svg><span class="nav-label--full">Download for Mac</span><span class="nav-label--short">Download</span></span></a>
</div>
Expand Down
12 changes: 12 additions & 0 deletions docs/blog/give-claude-code-access-to-your-macs-system-state.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@
<meta name="theme-color" content="#121217">
<link rel="icon" type="image/png" href="../burrow-icon.png">
<link rel="canonical" href="https://burrow.computer/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="x-default" href="https://burrow.computer/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="en" href="https://burrow.computer/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="zh-Hans" href="https://burrow.computer/zh-Hans/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="zh-Hant" href="https://burrow.computer/zh-Hant/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="ru" href="https://burrow.computer/ru/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="ja" href="https://burrow.computer/ja/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="de" href="https://burrow.computer/de/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="fr" href="https://burrow.computer/fr/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="es" href="https://burrow.computer/es/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="ko" href="https://burrow.computer/ko/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="alternate" hreflang="pt-BR" href="https://burrow.computer/pt-BR/blog/give-claude-code-access-to-your-macs-system-state">
<link rel="stylesheet" href="../assets/chrome.css">
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://burrow.computer/#org","name":"Burrow","url":"https://burrow.computer","logo":"https://burrow.computer/burrow-icon-512.png","sameAs":["https://github.com/caezium/Burrow"]},{"@type":"WebSite","@id":"https://burrow.computer/#site","url":"https://burrow.computer","name":"Burrow","publisher":{"@id":"https://burrow.computer/#org"}}]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Giving Claude Code Access to Your Mac's System State","description":"Coding agents cannot see the machine they run on. An MCP server that exposes disk, process, and history data closes that gap.","datePublished":"2026-08-06","dateModified":"2026-08-06","author":{"@type":"Organization","name":"Burrow"},"publisher":{"@type":"Organization","name":"Burrow"},"mainEntityOfPage":"https://burrow.computer/blog/give-claude-code-access-to-your-macs-system-state"}</script>
Expand Down Expand Up @@ -117,6 +128,7 @@
<a class="brand" href=".././" aria-label="Burrow"><img class="mk" src="../burrow-icon.png" alt="" width="28" height="28" decoding="async"><span>Burrow</span></a>
<nav class="nav"><a href=".././#tools">Tools</a><a href="../docs">Docs</a><a href="../compare">Compare</a><a href="../blog/" class="on">Blog</a><a href="../install">Install</a><a href="../releases">Changelog</a><a href="../roadmap">Roadmap</a></nav>
<div class="nav-right">
<!-- LANGPICK:BEGIN --><details class="langpick"><summary aria-label="Language"><span>English</span></summary><nav><a href="/" hreflang="en" aria-current="page">English</a><a href="/zh-Hans/" hreflang="zh-Hans">简体中文</a><a href="/zh-Hant/" hreflang="zh-Hant">繁體中文</a><a href="/ru/" hreflang="ru">Русский</a><a href="/ja/" hreflang="ja">日本語</a><a href="/de/" hreflang="de">Deutsch</a><a href="/fr/" hreflang="fr">Français</a><a href="/es/" hreflang="es">Español</a><a href="/ko/" hreflang="ko">한국어</a><a href="/pt-BR/" hreflang="pt-BR">Português (Brasil)</a></nav></details><!-- LANGPICK:END -->
<a class="nav-github" href="https://github.com/caezium/Burrow" target="_blank" rel="noopener" aria-label="View Burrow on GitHub"><svg class="icon icon--github" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 .5a12 12 0 00-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.3-1.8-1.3-1.8-1.1-.7 0-.7 0-.7 1.2 0 1.9 1.2 1.9 1.2 1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.7-.3-5.5-1.3-5.5-5.9 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.5.1-3.2 0 0 1-.3 3.3 1.2a11.5 11.5 0 016 0C17.3 5 18.3 5.3 18.3 5.3c.6 1.7.2 2.9.1 3.2.8.8 1.2 1.9 1.2 3.2 0 4.6-2.8 5.6-5.5 5.9.4.4.8 1.1.8 2.2v3.3c0 .3.2.7.8.6A12 12 0 0012 .5z"/></svg><span class="nav-stars">1.2k</span></a>
<a class="btn" href="../install" data-burrow-analytics="download.blog"><span class="btn-inner"><svg class="icon icon--apple" viewBox="0 0 814 1000" aria-hidden="true"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.2 0 129.8 2.6 196.3 99.2zm-234-181.1c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.2 32.4-54.4 84.4-54.4 136.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.8-71.3z"/></svg><span class="nav-label--full">Download for Mac</span><span class="nav-label--short">Download</span></span></a>
</div>
Expand Down
Loading
Loading