diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66ab2c2a..88a0b110 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 diff --git a/README.md b/README.md index b9e589d9..40b3f0ab 100644 --- a/README.md +++ b/README.md @@ -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. | diff --git a/docs/assets/chrome.css b/docs/assets/chrome.css index bd352731..7003dc31 100644 --- a/docs/assets/chrome.css +++ b/docs/assets/chrome.css @@ -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
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; } diff --git a/docs/blog/choosing-a-mac-cleanup-tool.html b/docs/blog/choosing-a-mac-cleanup-tool.html index 501098ac..93c06e7f 100644 --- a/docs/blog/choosing-a-mac-cleanup-tool.html +++ b/docs/blog/choosing-a-mac-cleanup-tool.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/find-duplicate-files-on-a-mac.html b/docs/blog/find-duplicate-files-on-a-mac.html index ba936cf0..19da5b17 100644 --- a/docs/blog/find-duplicate-files-on-a-mac.html +++ b/docs/blog/find-duplicate-files-on-a-mac.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/give-claude-code-access-to-your-macs-system-state.html b/docs/blog/give-claude-code-access-to-your-macs-system-state.html index 23e60f18..b7c2e31e 100644 --- a/docs/blog/give-claude-code-access-to-your-macs-system-state.html +++ b/docs/blog/give-claude-code-access-to-your-macs-system-state.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/index.html b/docs/blog/index.html index f3b4392a..ec22b8d2 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/leftover-files-after-uninstalling-mac-apps.html b/docs/blog/leftover-files-after-uninstalling-mac-apps.html index 9a3daa7e..c502d9c6 100644 --- a/docs/blog/leftover-files-after-uninstalling-mac-apps.html +++ b/docs/blog/leftover-files-after-uninstalling-mac-apps.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/mac-says-disk-is-full-but-it-isnt.html b/docs/blog/mac-says-disk-is-full-but-it-isnt.html index 1aec6c7d..c59de871 100644 --- a/docs/blog/mac-says-disk-is-full-but-it-isnt.html +++ b/docs/blog/mac-says-disk-is-full-but-it-isnt.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/node-modules-eating-your-disk.html b/docs/blog/node-modules-eating-your-disk.html index a4cf9973..cba1e75f 100644 --- a/docs/blog/node-modules-eating-your-disk.html +++ b/docs/blog/node-modules-eating-your-disk.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/safely-clear-xcode-deriveddata-and-caches.html b/docs/blog/safely-clear-xcode-deriveddata-and-caches.html index cfd6b1d8..66485d2f 100644 --- a/docs/blog/safely-clear-xcode-deriveddata-and-caches.html +++ b/docs/blog/safely-clear-xcode-deriveddata-and-caches.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/what-is-using-port-3000-on-your-mac.html b/docs/blog/what-is-using-port-3000-on-your-mac.html index 10b3e433..fa353851 100644 --- a/docs/blog/what-is-using-port-3000-on-your-mac.html +++ b/docs/blog/what-is-using-port-3000-on-your-mac.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/what-macos-system-data-actually-contains.html b/docs/blog/what-macos-system-data-actually-contains.html index 0bb43d1c..79bde2fb 100644 --- a/docs/blog/what-macos-system-data-actually-contains.html +++ b/docs/blog/what-macos-system-data-actually-contains.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/blog/which-process-is-using-your-network-on-macos.html b/docs/blog/which-process-is-using-your-network-on-macos.html index 8f04860a..0d5a99fe 100644 --- a/docs/blog/which-process-is-using-your-network-on-macos.html +++ b/docs/blog/which-process-is-using-your-network-on-macos.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -117,6 +128,7 @@ Burrow diff --git a/docs/compare.html b/docs/compare.html index e0fbd4d4..a9617459 100644 --- a/docs/compare.html +++ b/docs/compare.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -104,6 +115,7 @@ Burrow diff --git a/docs/de/compare.html b/docs/de/compare.html new file mode 100644 index 00000000..f9ed7bc5 --- /dev/null +++ b/docs/de/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
PriceKostenlos$40/yrKostenlos$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/de/docs.html b/docs/de/docs.html new file mode 100644 index 00000000..10cbdc09 --- /dev/null +++ b/docs/de/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the Installationsseite. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

Bereinigen

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

Tiefenreinigung

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__ und coverage rebuilds locally with no network. Dependency directories such as node_modules, Pods und venv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

Installationsdateien

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

Duplikate

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

Ähnliche Fotos

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

Apps

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

Reste

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

Optimieren

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

Feinschliff

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

Analysieren

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

Status

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

Verlauf

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

Ports

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

Netzwerk

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

Wieder online

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecast und burrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimize und burrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • Erst zeigen, dann löschen. Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/de/index.html b/docs/de/index.html new file mode 100644 index 00000000..5b59493e --- /dev/null +++ b/docs/de/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · Kostenloses Open-Source-Werkzeug für Aufräumen, Software und Status auf macOS & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ +

Alles, wofür du sonst sechs Apps öffnest.

+

Ein kostenloses, quelloffenes Mac-Werkzeug, das Ballast wegräumt, Duplikate und Reste findet, zeigt was die Festplatte auffrisst, und den Systemzustand live beobachtet. Ein natives Fenster, und eine Windows-Version als Beta.

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ Kostenlos·v0.14.0· + macOS 14+·Windows 10/11 (Beta) +

+ +

Bereits geladen von 13,091 Personen

+ +
+ Burrows Analyse-Treemap, die zeigt, was Speicherplatz belegt +
+
+
+ + +
+
+
+ was drinsteckt +

Sechzehn Werkzeuge, ein Fenster.

+

Jedes Werkzeug färbt das ganze Fenster in seiner eigenen Farbe, denn die Farbe sagt dir, woran es gleich rührt. Jedes erledigt seine Arbeit vollständig, ohne dich ins Terminal zu schicken.

+
+ +
+
+
+
+ + Bereinigen +
+ 10+ Kategorien +
+

Caches, Protokolle und temporäre Dateien in über zehn Kategorien, sortiert danach, was am sichersten weg kann. Du siehst jede Datei und jedes Byte, bevor sich etwas bewegt.

+
+
+
+
+ + Tiefenreinigung +
+ Reste der Entwicklung +
+

Der Aushub, den Entwicklungsarbeit hinterlässt: node_modules, DerivedData, Build-Ausgaben, alte Paket-Caches — jeweils mit den Kosten fürs Neuerzeugen.

+
+
+
+
+ + Installationsdateien +
+ Downloads durchgehen +
+

Die Kisten, die du längst ausgepackt hast. Findet .dmg- und .pkg-Dateien, die noch lange nach der Installation im Download-Ordner liegen.

+
+
+
+
+ + Apps +
+ mehrere auf einmal +
+

Alle installierten Apps, sortierbar nach Größe oder letzter Nutzung, mit Mehrfachauswahl beim Deinstallieren — samt Einstellungen, zugehörigen Dateien und Launch Agents.

+
+
+
+
+ + Optimieren +
+ eine Abfrage +
+

Quick Look neu aufbauen, Caches und Metadaten reparieren, DNS leeren, Anmeldeobjekte prüfen. Die Routinearbeiten hinter einer einzigen Abfrage.

+
+
+
+
+ + Feinschliff +
+ ein Durchgang +
+

Rundum-Pflege in einem Durchgang. Wählt die Wartung, die auf deinen Mac gerade wirklich zutrifft, und führt sie vollständig aus.

+
+
+
+
+ + Analysieren +
+ Treemap +
+

Eine Treemap der ganzen Festplatte. Steig in jeden Zweig hinab und zeig ihn im Finder oder leg ihn direkt aus dem Kontextmenü in den Papierkorb.

+
+
+
+
+ + Duplikate +
+ über den Inhalt +
+

Findet Duplikate über den Hash des Inhalts und erkennt Hardlinks, damit Dateien, die sich zwei Werkzeuge teilen, nicht doppelt zählen.

+
+
+
+
+ + Reste +
+ verwaiste Dateien +
+

Zugehörige Dateien, Einstellungen und Launch Agents von längst entfernten Apps — zurückverfolgt zu der App, die sie hinterlassen hat.

+
+
+
+
+ + Ähnliche Fotos +
+ visueller Abgleich +
+

Visueller Abgleich über deine ganze Mediathek, der beinahe identische Aufnahmen und Serienbilder zutage fördert, die sich ausdünnen lassen.

+
+
+
+
+ + Status +
+ live + HUD +
+

CPU, Arbeitsspeicher, GPU, Festplatte, Netzwerk und Batterie auf einer Seite, jeweils mit Verlaufskurve, dazu eine anheftbare Prozessliste und ein HUD in der Menüleiste.

+
+
+
+
+ + Ports +
+ wer lauscht +
+

Jeder offene Port samt dem Prozess dahinter — so findest du ohne lsof heraus, was Port 3000 belegt.

+
+
+
+
+ + Netzwerk +
+ pro Prozess +
+

Live-Durchsatz pro Schnittstelle und pro Prozess, damit du siehst, was die Verbindung tatsächlich benutzt.

+
+
+
+
+ + Wieder online +
+ Diagnose +
+

Ein geführter Weg zurück an die Oberfläche, wenn die Verbindung abreißt: DNS, Gateway, Anmeldeseite und Schnittstellen, der Reihe nach geprüft.

+
+
+
+
+ + Verlauf +
+ 90 Tage +
+

Jede Statusmessung landet in einer lokalen SQLite-Datei. Spul von fünf Minuten bis neunzig Tage zurück, mit Spitzenwerten je Prozess.

+
+
+
+
+ + Agent · MCP +
+ 26 Werkzeuge +
+

Sechsundzwanzig MCP-Werkzeuge öffnen die ganze App für Claude Code, dazu eine HTTP-API auf dem Loopback. Standardmäßig nur lesend; alles, was löscht, muss einzeln freigegeben werden.

+
+
+
+
+ + +
+
+
+ ansehen +

Gebaut, um angeschaut zu werden, nicht bloß ausgeführt.

+
+ +
+
+

Sieh, was die Festplatte wirklich auffrisst.

+

Eine Treemap jedes Ordners, skaliert nach dem, was er dich wirklich kostet. Steig hinab, bis der Übeltäter offensichtlich ist, und handle direkt auf der Karte.

+

Analysieren

+
+
+ Burrow Analysieren: eine Treemap der Speicherbelegung, hinab bis in einen Ordner +
+
+ +
+
+

Jeder Pulsschlag des Macs, in Echtzeit.

+

CPU, Arbeitsspeicher, GPU, Festplatte, Netzwerk und Batterie teilen sich eine Seite, jeweils mit Verlaufskurve. Die Prozessliste lässt sich sortieren und anheften, damit das, was deine Lüfter hochdreht, im Blick bleibt.

+

Status

+
+
+ Burrow Status: CPU, Arbeitsspeicher, GPU, Festplatte und Netzwerk live, mit Prozessliste +
+
+ +
+
+

Erst zeigen, dann löschen.

+

Bereinigen sortiert alles Gefundene danach, wie sicher es zu löschen ist, und zeigt Dateiliste und Bytes, bevor sich etwas bewegt. Hak ab, was du behalten willst — ein Fehlklick löscht hier nichts.

+

Bereinigen

+
+
+ Burrow Bereinigen: Ballast nach Kategorien, mit Anzahl und Größe, bereit zur Durchsicht +
+
+ +
+
+

Ein langes Gedächtnis des Baus.

+

Statusmessungen landen in einem lokalen SQLite-Verlauf, den du von fünf Minuten bis neunzig Tage zurückspulen kannst — mit Spitzenwerten je Prozess für die Momente, in denen die Lüfter wirklich hochgingen.

+

Verlauf

+
+
+ Burrow Verlauf: Langzeitkurven von CPU, Arbeitsspeicher und Festplatte über neunzig Tage +
+
+ +
+
+

Der ganze Bau, aus der Menüleiste.

+

Ein HUD, das dir das ganze Bild herunterklappt, ohne die App zu öffnen: Live-Messwerte, Top-Prozesse und ein Sprung in das Werkzeug, das du gerade brauchst.

+
+
+ Burrows HUD in der Menüleiste: Live-Messwerte und Top-Prozesse im Aufklappmenü +
+
+ +
+
+

Frag deinen Mac — aus Claude heraus.

+

Der eingebaute MCP-Server stellt burrow_snapshot, burrow_history und burrow_top_processes jedem Agenten bereit, dazu eine HTTP-API auf dem Loopback unter 127.0.0.1:9277. Beides bleibt lokal.

+

Agent · MCP

+
+
+ Claude Code fragt Burrows MCP-Server nach dem Zustand des Macs +
+
+
+
+ + +
+
+ +
+
+ Neu · August 2026 +

Neu in 0.14.0

+
+ Alle Versionen +
+ +
+
+
Burrow bietet den privilegierten Helfer aktiv an
+

Der Helfer, mit dem Administratoraufgaben per Touch ID bestätigt werden, saß hinter einer einzelnen Taste in den Einstellungen, auf die nichts hinwies. Jetzt wird er so angeboten wie der vollständige Festplattenzugriff — ein Banner über dem Fenster, das informiert statt zu blockieren. Wer es schließt, sieht es nie wieder, denn der Helfer ist Bequemlichkeit und nichts, was Burrow zum Arbeiten braucht.

+
+
+
Die geprüfte Bereinigung meldet, was sie entfernt hat
+

Sie löschte genau das Angehakte und sah danach aus, als hätte sie nichts getan: dieser Weg löscht mit find, das stumm erfolgreich ist, sodass die Ergebnisseite nichts anzuzeigen hatte. Jetzt meldet sie die Pfade, die sie entfernen durfte, nach Kategorie gruppiert und mit summierten Größen.

+
+
+ +
// außerdem nachgezogen in 0.14.0
+
+ Was die geprüfte Bereinigung löscht, hat sich nicht geändert — nur, was sie dir sagt + Der Helfer bleibt streng freiwillig; lehnst du ihn ab, funktioniert alles wie zuvor +
+ +
+
+ + +
+
+
+ warum du ihm trauen kannst +

Ein Werkzeug, das deine Dateien anfasst, sollte sich das verdienen.

+
+
+
+

Quelloffen

+

Jede Zeile ist öffentlich und MIT-lizenziert — lies sie, prüf sie oder fork sie. Zum Repository.

+
+
+

Erst zeigen, dann löschen

+

Jede Aktion listet zuerst die Dateien und die Bytes auf. Du bestätigst, Burrow handelt. Kein Root-Helfer im Hintergrund: Es fragt der Dialog von macOS selbst.

+
+
+

Deine Daten bleiben, wo sie sind

+

Scans, Messwerte und Verlauf verlassen den Mac nie. Die anonymen, abschaltbaren Diagnosedaten stehen Feld für Feld in TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ installieren +

Kostenlos, für immer. Kein Konto, kein Abo.

+

Alle Werkzeuge, das HUD in der Menüleiste, der Verlauf und der MCP-Server — auf so vielen Macs, wie du magst.

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple Silicon & Intel

+
+ Laden +
+
+
+ +

Windows

+

.zip · 64 Bit

+ beta · 0.10.0 +
+ Laden +
+
+
+ +

Homebrew

+

cask · App + Engine

+
+ +
+
+
+ +
+ +

Windows hinkt der Mac-Version hinterher und ist noch eine Vorschau. Weitere Installationswege, Prüfsummen und ältere Versionen findest du auf der Installationsseite.

+
+
+ + +
+
+
+

Häufige Fragen

+
+
+
+ +
+

Ja. MIT-lizenziert, ohne Konto, ohne Testbeschränkung, ohne Bezahlstufe und ohne Beipack. Der komplette Quelltext liegt auf GitHub, falls du ihn lesen willst, bevor du ihn ausführst.

+
+
+
+ +
+

Jede Aktion zeigt vor dem Ausführen die Dateiliste und die Bytes, und Bereinigen sortiert die Kategorien danach, wie sicher sie zu entfernen sind. Es gibt keinen Root-Helfer im Hintergrund: Braucht eine Aufgabe Administratorrechte, fragt der Dialog von macOS selbst, Burrow führt genau diesen einen Befehl aus und beendet sich.

+
+
+
+ +
+

Caches und temporäre Dateien, die Apps von selbst wieder anlegen: Browser-Caches, Build-Artefakte aus der Entwicklung, App-Support-Caches, Protokolle, übrig gebliebene Installationsdateien. Paket-Caches und Build-Ausgaben, deren Neuerzeugen wirklich etwas kostet, bleiben abgewählt, bis du sie selbst bestätigst.

+
+
+
+ +
+

Keine Dateien, Pfade, URLs oder Messwerte. Scans und Verlauf bleiben auf dem Mac, und der MCP-Server hört nur auf dem Loopback. Burrow sendet allerdings anonyme, abschaltbare Nutzungs- und Absturzdiagnosen, Feld für Feld offengelegt in TELEMETRY.md. Ein Schalter in den Einstellungen stellt das ab, und Builds aus dem Quelltext senden von vornherein nichts.

+
+
+
+ +
+

Nein. Burrow führt auch ohne ihn einen sicheren Scan aus. Mit ihm kommt Burrow an tiefer liegende App-Support- und Container-Caches heran, und du kannst ihn jederzeit erteilen oder wieder entziehen.

+
+
+
+ +
+

Ja, ab 0.11.0, und ein Tag kann nur veröffentlichen, wenn Signatur, Notarisierung, Stapling und Gatekeeper-Prüfung alle bestehen. Archivierte Builds bis 0.10.5 stammen aus der Zeit davor: Rechtsklick und Öffnen wählen, falls Gatekeeper blockiert. Die vollständige Zusage steht in SECURITY.md.

+
+
+
+ +
+

Sechsundzwanzig MCP-Werkzeuge decken Momentaufnahmen, Verlauf, Top-Prozesse, Festplattenanalyse, Duplikate, Ports, Netzwerk und mehr ab. Vierzehn davon lesen nur und stehen sofort bereit; die, die deinen Mac verändern, brauchen jeweils eine eigene ausdrückliche Freigabe. Die vollständige Liste steht in agent-tools.md.

+
+
+
+ +
+

Eine native Portierung auf WinUI 3 und .NET 8 ist als Beta in Arbeit und zieht Werkzeug für Werkzeug gleich. macOS ist die ausgereifte Hauptversion; die Windows-Vorschau kommt derzeit als ZIP, ein Installationsprogramm folgt. Auf GitHub verfolgen.

+
+
+
+

Aus dem Quelltext bauen, den MCP-Server einrichten oder irgendetwas anderes? Steht alles in der README.

+
+
+ + + + + + + diff --git a/docs/de/releases.html b/docs/de/releases.html new file mode 100644 index 00000000..bcf2d0cd --- /dev/null +++ b/docs/de/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Änderungen

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limit und min_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purge und installer descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • Bereinigen now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • Analysieren: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • Optimieren: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • Ports: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • Wieder online: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • Feinschliff: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • Verlauf: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • Tiefenreinigung: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • Installationsdateien: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • Verlauf: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/de/roadmap.html b/docs/de/roadmap.html new file mode 100644 index 00000000..b7fda5f0 --- /dev/null +++ b/docs/de/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Roadmap

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo installieren + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ Ports & Wieder online + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/docs.html b/docs/docs.html index f1e04808..f1ea9224 100644 --- a/docs/docs.html +++ b/docs/docs.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -111,6 +122,7 @@ Burrow diff --git a/docs/es/compare.html b/docs/es/compare.html new file mode 100644 index 00000000..076ba691 --- /dev/null +++ b/docs/es/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
PriceGratis$40/yrGratis$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/es/docs.html b/docs/es/docs.html new file mode 100644 index 00000000..38c113b9 --- /dev/null +++ b/docs/es/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the página de instalación. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

Limpieza

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

Limpieza profunda

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__ y coverage rebuilds locally with no network. Dependency directories such as node_modules, Pods y venv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

Instaladores

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

Duplicados

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

Fotos parecidas

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

Apps

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

Restos

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

Optimización

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

Puesta a punto

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

Análisis

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

Estado

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

Historial

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

Puertos

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

Red

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

Recuperar la conexión

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecast y burrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimize y burrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • Enseñar antes de borrar. Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/es/index.html b/docs/es/index.html new file mode 100644 index 00000000..de2fb91f --- /dev/null +++ b/docs/es/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · Utilidad libre y de código abierto para limpieza, software y estado en macOS & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ +

Todo aquello para lo que abrías seis apps , en una sola.

+

Una utilidad para Mac, gratuita y de código abierto, que limpia lo que sobra, encuentra duplicados y restos, muestra qué se está comiendo tu disco y vigila el estado del sistema en directo. Una sola ventana nativa, y una versión para Windows en beta.

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ Gratis·v0.14.0· + macOS 14+·Windows 10/11 (beta) +

+ +

Ya lo han descargado 13,091 personas

+ +
+ El mapa de árbol de Burrow mostrando qué ocupa el espacio en disco +
+
+
+ + +
+
+
+ lo que hay dentro +

Dieciséis herramientas, una ventana.

+

Cada herramienta tiñe toda la ventana con su propio color, porque el color es la forma que tiene de anunciarte qué está a punto de tocar. Todas hacen su trabajo de principio a fin, sin dejarte tirado en un terminal.

+
+ +
+
+
+
+ + Limpieza +
+ más de 10 categorías +
+

Cachés, registros y archivos temporales repartidos en más de diez categorías, ordenados por lo seguro que es eliminarlos. Ves cada archivo y cada byte antes de que se mueva nada.

+
+
+
+
+ + Limpieza profunda +
+ restos de desarrollo +
+

Los escombros que deja el desarrollo: node_modules, DerivedData, salidas de compilación, cachés de paquetes caducados, cada uno con el coste de volver a generarlo.

+
+
+
+
+ + Instaladores +
+ repaso a Descargas +
+

Las cajas que ya desempaquetaste. Encuentra los .dmg y .pkg que siguen en Descargas mucho después de instalar la app.

+
+
+
+
+ + Apps +
+ desinstalación múltiple +
+

Todas las apps instaladas, ordenables por tamaño o por uso reciente, con desinstalación múltiple que se lleva preferencias, archivos de apoyo y agentes de inicio.

+
+
+
+
+ + Optimización +
+ una sola petición +
+

Reconstruir Vista Rápida, reparar cachés y metadatos, vaciar el DNS, revisar los ítems de inicio. Las tareas de siempre detrás de una sola petición.

+
+
+
+
+ + Puesta a punto +
+ una pasada +
+

Cuidado completo en una pasada. Elige el mantenimiento que de verdad le hace falta a tu Mac ahora mismo y lo ejecuta de principio a fin.

+
+
+
+
+ + Análisis +
+ mapa de árbol +
+

Un mapa de árbol de todo el disco. Baja por cualquier rama y muéstrala en el Finder o mándala a la papelera desde el menú contextual.

+
+
+
+
+ + Duplicados +
+ por el contenido +
+

Busca duplicados por el hash del contenido y reconoce los enlaces duros, así que los archivos que comparten dos herramientas no se cuentan dos veces.

+
+
+
+
+ + Restos +
+ archivos huérfanos +
+

Archivos de apoyo, preferencias y agentes de inicio de apps que borraste hace tiempo, emparejados con la app que los dejó.

+
+
+
+
+ + Fotos parecidas +
+ comparación visual +
+

Comparación visual de toda tu fototeca para sacar a la luz tomas casi idénticas y ráfagas que merece la pena aclarar.

+
+
+
+
+ + Estado +
+ en directo + HUD +
+

CPU, memoria, GPU, disco, red y batería en una sola página, cada uno con su minigráfico, más una tabla de procesos que se puede fijar y un HUD en la barra de menús.

+
+
+
+
+ + Puertos +
+ quién está escuchando +
+

Cada puerto a la escucha con el proceso que hay detrás, para encontrar qué ocupa el 3000 sin recurrir a lsof.

+
+
+
+
+ + Red +
+ por proceso +
+

Tráfico en directo por interfaz y por proceso, para ver qué está usando de verdad la conexión.

+
+
+
+
+ + Recuperar la conexión +
+ diagnóstico +
+

Un camino guiado de vuelta a la superficie cuando se cae la conexión: DNS, puerta de enlace, portal cautivo e interfaces, comprobados en orden.

+
+
+
+
+ + Historial +
+ 90 días +
+

Cada muestra de estado acaba en un archivo SQLite local. Recorre desde cinco minutos hasta noventa días, con tablas de picos por proceso.

+
+
+
+
+ + Agente · MCP +
+ 26 herramientas +
+

Veintiséis herramientas MCP abren toda la app a Claude Code, además de una API HTTP en bucle local. Solo lectura por omisión; lo que borra se activa por separado.

+
+
+
+
+ + +
+
+
+ verlo +

Hecho para mirarlo, no solo para ejecutarlo.

+
+ +
+
+

Mira qué se está comiendo el disco de verdad.

+

Un mapa de árbol de cada carpeta, dimensionado por lo que de verdad te cuesta. Baja hasta que el culpable sea evidente y actúa sin salir del mapa.

+

Análisis

+
+
+ Burrow Análisis: un mapa de árbol del uso del disco, bajando hasta una carpeta +
+
+ +
+
+

Cada latido del Mac, en directo.

+

CPU, memoria, GPU, disco, red y batería comparten una página, cada uno con su minigráfico. La tabla de procesos se ordena y se fija, para no perder de vista lo que está acelerando los ventiladores.

+

Estado

+
+
+ Burrow Estado: CPU, memoria, GPU, disco y red en directo, con la tabla de procesos +
+
+ +
+
+

Enseñar antes de borrar.

+

La limpieza ordena todo lo que encuentra según lo seguro que sea borrarlo, y muestra la lista de archivos y los bytes antes de que se mueva nada. Desmarca lo que quieras conservar: nada se va por un clic mal dado.

+

Limpieza

+
+
+ Burrow Limpieza: lo que sobra por categorías, con su número de archivos y tamaño, listo para revisar +
+
+ +
+
+

Una memoria larga de la madriguera.

+

Las muestras de estado acaban en un historial SQLite local que puedes recorrer desde cinco minutos hasta noventa días, con tablas de picos por proceso para los momentos en que los ventiladores se dispararon de verdad.

+

Historial

+
+
+ Burrow Historial: gráficas de largo alcance de CPU, memoria y disco a lo largo de noventa días +
+
+ +
+
+

Toda la madriguera, desde la barra de menús.

+

Un HUD que despliega el panorama completo sin abrir la app: métricas en directo, procesos principales y un salto a la herramienta que necesites.

+
+
+ El HUD de Burrow en la barra de menús: métricas en directo y procesos principales en un desplegable +
+
+ +
+
+

Pregúntale a tu Mac desde Claude.

+

El servidor MCP integrado expone burrow_snapshot, burrow_history y burrow_top_processes a cualquier agente, además de una API HTTP en bucle local en 127.0.0.1:9277. Ambos se quedan en local.

+

Agente · MCP

+
+
+ Claude Code consultando al servidor MCP de Burrow el estado de la máquina +
+
+
+
+ + +
+
+ +
+
+ Novedades · agosto de 2026 +

Nuevo en 0.14.0

+
+ Todas las versiones +
+ +
+
+
Burrow ofrece el asistente con privilegios
+

El asistente que permite autorizar las operaciones de administrador con Touch ID estaba detrás de un único botón de los ajustes al que nada apuntaba. Ahora se ofrece igual que el acceso total al disco: un aviso sobre la ventana que informa sin bloquear. Cerrarlo es definitivo, porque el asistente es una comodidad y no algo que Burrow necesite para funcionar.

+
+
+
La limpieza revisada informa de lo que ha borrado
+

Borraba exactamente lo marcado y luego parecía no haber hecho nada: esa vía borra con find, que termina bien en silencio, así que la pantalla de resultados no tenía nada que mostrar. Ahora informa de las rutas que se le autorizó eliminar, agrupadas por categoría y con los tamaños sumados.

+
+
+ +
// también afinado en 0.14.0
+
+ No ha cambiado lo que borra la limpieza revisada, solo lo que te cuenta + El asistente sigue siendo estrictamente opcional; recházalo y todo funciona como antes +
+ +
+
+ + +
+
+
+ por qué puedes fiarte +

Una herramienta que toca tus archivos debería ganarse tu confianza.

+
+
+
+

Código abierto

+

Cada línea es pública y tiene licencia MIT: puedes leerla, auditarla o bifurcarla. Ver el repositorio.

+
+
+

Enseñar antes de borrar

+

Cada acción enumera primero los archivos y los bytes. Tú confirmas y Burrow actúa. Sin asistente root en segundo plano: quien pregunta es el propio diálogo de macOS.

+
+
+

Tus datos se quedan donde están

+

Los análisis, las métricas y el historial nunca salen de la máquina. Los diagnósticos anónimos, que puedes desactivar, están detallados campo por campo en TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ instalación +

Gratis, para siempre. Sin cuenta y sin suscripción.

+

Todas las herramientas, el HUD de la barra de menús, el historial y el servidor MCP, en tantas máquinas como quieras.

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple Silicon & Intel

+ +
+
+ +

Windows

+

.zip · 64 bits

+ beta · 0.10.0 + +
+
+ +

Homebrew

+

cask · app + motor

+
+ +
+
+
+ +
+ +

La versión de Windows va por detrás de la del Mac y sigue siendo una vista previa. Encontrarás más formas de instalar, las sumas de verificación y las versiones antiguas en la página de instalación.

+
+
+ + +
+
+
+

Preguntas frecuentes

+
+
+
+ +
+

Sí. Con licencia MIT, sin cuentas, sin límites de prueba, sin plan de pago y sin nada añadido de propina. El código completo está en GitHub por si quieres leerlo antes de ejecutarlo.

+
+
+
+ +
+

Cada acción muestra la lista de archivos y los bytes antes de ejecutarse, y la limpieza ordena las categorías según lo seguro que sea eliminarlas. No hay ningún asistente root en segundo plano: cuando una tarea necesita permisos de administrador, te lo pregunta el propio diálogo de macOS, Burrow ejecuta ese único comando y termina.

+
+
+
+ +
+

Cachés y archivos temporales que las apps vuelven a crear por su cuenta: cachés de navegadores, artefactos de compilación, cachés de App Support, registros, instaladores olvidados. Las cachés de paquetes y las salidas de compilación cuya reconstrucción cuesta de verdad se quedan sin marcar hasta que las confirmes tú.

+
+
+
+ +
+

Ni archivos, ni rutas, ni URL, ni métricas. Los análisis y el historial se quedan en la máquina, y el servidor MCP solo escucha en bucle local. Burrow sí envía diagnósticos anónimos de uso y de fallos, que puedes desactivar y están detallados campo por campo en TELEMETRY.md. Un interruptor de los ajustes lo apaga, y las compilaciones desde el código fuente no envían nada.

+
+
+
+ +
+

No. Burrow hace un análisis seguro sin él. Concederlo permite a Burrow llegar a cachés más profundas de App Support y de contenedores, y puedes darlo o retirarlo cuando quieras.

+
+
+
+ +
+

Sí, desde la 0.11.0, y una etiqueta no puede publicarse si no pasan la firma, la notarización, el grapado y la comprobación de Gatekeeper. Las versiones archivadas 0.10.5 y anteriores son previas a eso: haz clic derecho y elige Abrir si Gatekeeper bloquea alguna. El compromiso completo está en SECURITY.md.

+
+
+
+ +
+

Veintiséis herramientas MCP cubren instantáneas, historial, procesos principales, análisis de disco, duplicados, puertos, red y más. Catorce son de solo lectura y están disponibles al momento; las que modifican tu máquina requieren su propia autorización explícita. La lista completa está en agent-tools.md.

+
+
+
+ +
+

Hay un port nativo a WinUI 3 y .NET 8 en beta activa, que va igualando funciones una a una. macOS es la versión madura; la vista previa de Windows se distribuye hoy como zip, y el instalador está en camino. Seguirlo en GitHub.

+
+
+
+

¿Compilar desde el código, conectar el servidor MCP o cualquier otra cosa? Está todo en el README.

+
+
+ + + + + + + diff --git a/docs/es/releases.html b/docs/es/releases.html new file mode 100644 index 00000000..c260f4ac --- /dev/null +++ b/docs/es/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Novedades

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limit y min_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purge y installer descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • Limpieza now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • Análisis: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • Optimización: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • Puertos: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • Recuperar la conexión: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • Puesta a punto: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • Historial: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • Limpieza profunda: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • Instaladores: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • Historial: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/es/roadmap.html b/docs/es/roadmap.html new file mode 100644 index 00000000..28fa849e --- /dev/null +++ b/docs/es/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Hoja de ruta

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo instalación + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ Puertos & Recuperar la conexión + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/fr/compare.html b/docs/fr/compare.html new file mode 100644 index 00000000..4629fe7e --- /dev/null +++ b/docs/fr/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
PriceGratuit$40/yrGratuit$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/fr/docs.html b/docs/fr/docs.html new file mode 100644 index 00000000..6608263e --- /dev/null +++ b/docs/fr/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the page d'installation. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

Nettoyage

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

Nettoyage en profondeur

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__ et coverage rebuilds locally with no network. Dependency directories such as node_modules, Pods et venv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

Programmes d'installation

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

Doublons

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

Photos similaires

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

Apps

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

Restes

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

Optimisation

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

Mise au point

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

Analyse

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

État

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

Historique

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

Ports

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

Réseau

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

Retrouver le réseau

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecast et burrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimize et burrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • Montrer avant de supprimer. Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/fr/index.html b/docs/fr/index.html new file mode 100644 index 00000000..b737b516 --- /dev/null +++ b/docs/fr/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · Utilitaire libre et open source pour le nettoyage, les logiciels et l'état sur macOS & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ +

Tout ce pour quoi tu ouvrais six apps , réuni.

+

Un utilitaire Mac gratuit et open source qui fait le ménage, trouve les doublons et les restes, montre ce qui dévore ton disque et suit l'état du système en direct. Une seule fenêtre native, et une version Windows en bêta.

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ Gratuit·v0.14.0· + macOS 14+·Windows 10/11 (bêta) +

+ +

Déjà téléchargé par 13,091 personnes

+ +
+ La carte proportionnelle de Burrow montrant ce qui occupe l'espace disque +
+
+
+ + +
+
+
+ ce qu'il y a dedans +

Seize outils, une fenêtre.

+

Chaque outil recolore toute la fenêtre à sa manière, parce que la couleur est ce qui t'annonce ce qu'il s'apprête à toucher. Chacun va au bout de son travail, sans jamais te renvoyer dans un terminal.

+
+ +
+
+
+
+ + Nettoyage +
+ plus de 10 catégories +
+

Caches, journaux et fichiers temporaires répartis en plus de dix catégories, classés du plus sûr à supprimer au moins sûr. Tu vois chaque fichier et chaque octet avant que quoi que ce soit ne bouge.

+
+
+
+
+ + Nettoyage en profondeur +
+ restes de développement +
+

Les déblais que laisse le développement : node_modules, DerivedData, sorties de compilation, caches de paquets périmés, avec à chaque fois le coût de reconstruction.

+
+
+
+
+ + Programmes d'installation +
+ coup de balai +
+

Les caisses que tu as déjà déballées. Trouve les .dmg et .pkg qui traînent dans Téléchargements longtemps après l'installation.

+
+
+
+
+ + Apps +
+ désinstallation groupée +
+

Toutes les apps installées, triables par taille ou par date d'usage, avec une désinstallation multiple qui emporte préférences, fichiers annexes et agents de lancement.

+
+
+
+
+ + Optimisation +
+ une seule demande +
+

Reconstruire Coup d'œil, réparer caches et métadonnées, vider le DNS, vérifier les ouvertures de session. Les corvées de routine derrière une seule demande.

+
+
+
+
+ + Mise au point +
+ un seul passage +
+

L'entretien complet en un passage. Choisit la maintenance qui s'applique vraiment à ton Mac en ce moment et la mène jusqu'au bout.

+
+
+
+
+ + Analyse +
+ carte proportionnelle +
+

Une carte proportionnelle du disque entier. Descends dans n'importe quelle branche, puis affiche-la dans le Finder ou mets-la à la corbeille depuis le menu contextuel.

+
+
+
+
+ + Doublons +
+ empreinte du contenu +
+

Détecteur de doublons fondé sur l'empreinte du contenu, qui reconnaît les liens physiques : les fichiers partagés entre deux outils ne sont pas comptés deux fois.

+
+
+
+
+ + Restes +
+ fichiers orphelins +
+

Fichiers annexes, préférences et agents de lancement d'apps supprimées depuis longtemps, rattachés à l'app qui les a laissés.

+
+
+
+
+ + Photos similaires +
+ comparaison visuelle +
+

Comparaison visuelle sur toute ta photothèque pour faire remonter les clichés quasi identiques et les rafales qu'il vaut la peine d'éclaircir.

+
+
+
+
+ + État +
+ direct + HUD +
+

Processeur, mémoire, GPU, disque, réseau et batterie sur une seule page avec leurs courbes, plus un tableau de processus épinglable et un HUD dans la barre des menus.

+
+
+
+
+ + Ports +
+ qui écoute +
+

Chaque port en écoute avec le processus derrière, pour trouver ce qui occupe le 3000 sans passer par lsof.

+
+
+
+
+ + Réseau +
+ par processus +
+

Le débit en direct par interface et par processus, pour voir ce qui utilise réellement la connexion.

+
+
+
+
+ + Retrouver le réseau +
+ diagnostic +
+

Un chemin balisé vers la surface quand la connexion tombe : DNS, passerelle, portail captif et interfaces, vérifiés dans l'ordre.

+
+
+
+
+ + Historique +
+ 90 jours +
+

Chaque relevé d'état atterrit dans un fichier SQLite local. Remonte de cinq minutes à quatre-vingt-dix jours, avec les pics par processus.

+
+
+
+
+ + Agent · MCP +
+ 26 outils +
+

Vingt-six outils MCP ouvrent toute l'app à Claude Code, avec en plus une API HTTP en boucle locale. En lecture seule par défaut ; tout ce qui supprime s'active séparément.

+
+
+
+
+ + +
+
+
+ à voir +

Conçu pour être regardé, pas seulement lancé.

+
+ +
+
+

Vois ce qui dévore vraiment ton disque.

+

Une carte proportionnelle de chaque dossier, dimensionnée selon ce qu'il te coûte vraiment. Descends jusqu'à ce que le coupable saute aux yeux, puis agis sans quitter la carte.

+

Analyse

+
+
+ Burrow Analyse : une carte proportionnelle de l'espace disque, descendue jusqu'à un dossier +
+
+ +
+
+

Chaque battement de la machine, en direct.

+

Processeur, mémoire, GPU, disque, réseau et batterie partagent une page, chacun avec sa courbe. Le tableau des processus se trie et s'épingle pour garder à l'œil ce qui fait tourner tes ventilateurs.

+

État

+
+
+ Burrow État : processeur, mémoire, GPU, disque et réseau en direct, avec le tableau des processus +
+
+ +
+
+

Montrer avant de supprimer.

+

Le nettoyage classe tout ce qu'il trouve selon la sûreté de la suppression, et affiche la liste des fichiers et le nombre d'octets avant que rien ne bouge. Décoche ce que tu veux garder : rien ne part sur un clic malheureux.

+

Nettoyage

+
+
+ Burrow Nettoyage : les fichiers inutiles par catégorie, avec leur nombre et leur taille, prêts à être vérifiés +
+
+ +
+
+

Une longue mémoire du terrier.

+

Les relevés d'état atterrissent dans un historique SQLite local que tu peux remonter de cinq minutes à quatre-vingt-dix jours, avec les pics par processus pour les moments où les ventilateurs se sont vraiment emballés.

+

Historique

+
+
+ Burrow Historique : courbes au long cours du processeur, de la mémoire et du disque sur quatre-vingt-dix jours +
+
+ +
+
+

Tout le terrier, depuis la barre des menus.

+

Un HUD qui déroule le tableau complet sans ouvrir l'app : mesures en direct, principaux processus, et un raccourci vers l'outil dont tu as besoin.

+
+
+ Le HUD de Burrow dans la barre des menus : mesures en direct et principaux processus dans un menu déroulant +
+
+ +
+
+

Interroge ton Mac, depuis Claude.

+

Le serveur MCP intégré expose burrow_snapshot, burrow_history et burrow_top_processes à n'importe quel agent, avec en plus une API HTTP en boucle locale sur 127.0.0.1:9277. Les deux restent en local.

+

Agent · MCP

+
+
+ Claude Code interrogeant le serveur MCP de Burrow sur l'état de la machine +
+
+
+
+ + +
+
+ +
+
+ Nouveautés · août 2026 +

Nouveau en 0.14.0

+
+ Toutes les versions +
+ +
+
+
Burrow propose l'assistant privilégié
+

L'assistant qui permet de valider les opérations d'administration par Touch ID se trouvait derrière un unique bouton des réglages que rien n'indiquait. Il est désormais proposé comme l'accès complet au disque : une bannière au-dessus de la fenêtre, qui informe sans bloquer. La fermer est définitif, car cet assistant est un confort et non quelque chose dont Burrow a besoin pour fonctionner.

+
+
+
Le nettoyage vérifié indique ce qu'il a supprimé
+

Il supprimait exactement ce qui était coché puis donnait l'impression de n'avoir rien fait : ce chemin supprime avec find, qui réussit en silence, si bien que l'écran de résultat n'avait rien à afficher. Il indique maintenant les chemins qu'il était autorisé à supprimer, groupés par catégorie et avec leurs tailles cumulées.

+
+
+ +
// également resserré en 0.14.0
+
+ Ce que supprime le nettoyage vérifié n'a pas changé — seulement ce qu'il t'en dit + L'assistant reste strictement facultatif ; refuse-le et tout continue de fonctionner comme avant +
+ +
+
+ + +
+
+
+ pourquoi lui faire confiance +

Un outil qui touche à tes fichiers doit mériter ta confiance.

+
+
+
+

Open source

+

Chaque ligne est publique et sous licence MIT : tu peux la lire, l'auditer ou la forker. Voir le dépôt.

+
+
+

Montrer avant de supprimer

+

Chaque action liste d'abord les fichiers et les octets. Tu confirmes, Burrow agit. Aucun assistant root en arrière-plan : c'est la fenêtre de macOS elle-même qui te demande.

+
+
+

Tes données ne bougent pas

+

Les analyses, les mesures et l'historique ne quittent jamais la machine. Les diagnostics anonymes, désactivables, sont détaillés champ par champ dans TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ installation +

Gratuit, pour toujours. Sans compte, sans abonnement.

+

Tous les outils, le HUD de la barre des menus, l'historique et le serveur MCP, sur autant de machines que tu veux.

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple Silicon & Intel

+ +
+
+ +

Windows

+

.zip · 64 bits

+ beta · 0.10.0 + +
+
+ +

Homebrew

+

cask · app + moteur

+
+ +
+
+
+ +
+ +

La version Windows suit celle du Mac avec du retard et reste une préversion. D'autres façons d'installer, les sommes de contrôle et les anciennes versions se trouvent sur la page d'installation.

+
+
+ + +
+
+
+

Questions fréquentes

+
+
+
+ +
+

Oui. Sous licence MIT, sans compte, sans limite d'essai, sans version payante et sans rien d'embarqué au passage. Le code complet est sur GitHub si tu veux le lire avant de le lancer.

+
+
+
+ +
+

Chaque action affiche la liste des fichiers et le nombre d'octets avant de s'exécuter, et le nettoyage classe les catégories selon la sûreté de leur suppression. Aucun assistant root en arrière-plan : quand une tâche demande les droits d'administrateur, c'est la fenêtre de macOS qui te sollicite, Burrow exécute cette seule commande, puis s'arrête.

+
+
+
+ +
+

Des caches et des fichiers temporaires que les apps recréent d'elles-mêmes : caches de navigateurs, artefacts de compilation, caches d'App Support, journaux, programmes d'installation oubliés. Les caches de paquets et les sorties de compilation dont la reconstruction coûte vraiment restent décochés tant que tu ne les confirmes pas toi-même.

+
+
+
+ +
+

Ni fichiers, ni chemins, ni URL, ni mesures. Les analyses et l'historique restent sur la machine, et le serveur MCP n'écoute qu'en boucle locale. Burrow envoie en revanche des diagnostics d'usage et de plantage anonymes et désactivables, détaillés champ par champ dans TELEMETRY.md. Un réglage suffit à tout couper, et les versions compilées depuis les sources n'envoient rien du tout.

+
+
+
+ +
+

Non. Burrow effectue une analyse sécurisée sans lui. L'accorder permet à Burrow d'atteindre les caches d'App Support et de conteneurs plus profonds, et tu peux l'accorder ou le retirer quand tu veux.

+
+
+
+ +
+

Oui, depuis la 0.11.0, et un tag ne peut pas être publié tant que la signature, la notarisation, l'agrafage et l'évaluation Gatekeeper ne sont pas tous validés. Les versions archivées 0.10.5 et antérieures sont plus anciennes : fais un clic droit et choisis Ouvrir si Gatekeeper en bloque une. L'engagement complet est dans SECURITY.md.

+
+
+
+ +
+

Vingt-six outils MCP couvrent les instantanés, l'historique, les principaux processus, l'analyse du disque, les doublons, les ports, le réseau et davantage. Quatorze sont en lecture seule et disponibles immédiatement ; ceux qui modifient ta machine demandent chacun une autorisation explicite. La liste complète est dans agent-tools.md.

+
+
+
+ +
+

Un portage natif en WinUI 3 et .NET 8 est en bêta active et rattrape l'original outil par outil. macOS reste la version mûre ; la préversion Windows se télécharge aujourd'hui en zip, un programme d'installation arrive. Suivre sur GitHub.

+
+
+
+

Compiler depuis les sources, brancher le serveur MCP, ou autre chose ? Tout est dans le README.

+
+
+ + + + + + + diff --git a/docs/fr/releases.html b/docs/fr/releases.html new file mode 100644 index 00000000..3a0262b7 --- /dev/null +++ b/docs/fr/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Nouveautés

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limit et min_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purge et installer descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • Nettoyage now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • Analyse: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • Optimisation: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • Ports: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • Retrouver le réseau: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • Mise au point: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • Historique: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • Nettoyage en profondeur: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • Programmes d'installation: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • Historique: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/fr/roadmap.html b/docs/fr/roadmap.html new file mode 100644 index 00000000..ca59ee3b --- /dev/null +++ b/docs/fr/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Feuille de route

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo installation + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ Ports & Retrouver le réseau + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/i18n/de.json b/docs/i18n/de.json new file mode 100644 index 00000000..c44ba60c --- /dev/null +++ b/docs/i18n/de.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · Kostenloses Open-Source-Werkzeug für Aufräumen, Software und Status auf macOS", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow ist eine kostenlose, quelloffene native Desktop-App für macOS (und Windows, als Beta): Ballast aufräumen, Apps verwalten, Wartung ausführen, die Festplatte kartieren und den Status live beobachten — in einem Fenster. Dazu ein langer Verlauf und ein MCP-Server für Claude Code.", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · Kostenloses Open-Source-Werkzeug für macOS und Windows", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "Ballast aufräumen, Apps verwalten, Wartung ausführen, die Festplatte kartieren und den Status live beobachten — in einer nativen Desktop-App. Nativ auf macOS, jetzt als Beta auf Windows. Kostenlos und MIT-lizenziert. Dazu Verlauf und ein MCP-Server.", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · Kostenloses Open-Source-Werkzeug für Aufräumen, Festplatte und Status auf dem Mac", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "Räumt Ballast weg, findet Duplikate und Reste, kartiert die Festplatte und beobachtet den Status live. Ein natives Fenster. Kostenlos und quelloffen.", + "Burrow": "", + "Tools": "Werkzeuge", + "Docs": "Doku", + "Compare": "Vergleich", + "Blog": "Blog", + "Install": "Installieren", + "Changelog": "Änderungen", + "Roadmap": "Roadmap", + "View Burrow on GitHub": "Burrow auf GitHub ansehen", + "1.2k": "", + "Download for Mac": "Für Mac laden", + "Download": "Laden", + "Everything you'd open": "Alles, wofür du sonst", + "six apps": "sechs Apps", + "for.": "öffnest.", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "Ein kostenloses, quelloffenes Mac-Werkzeug, das Ballast wegräumt, Duplikate und Reste findet, zeigt was die Festplatte auffrisst, und den Systemzustand live beobachtet. Ein natives Fenster, und eine Windows-Version als Beta.", + "or": "oder", + "copy command": "Befehl kopieren", + "Free": "Kostenlos", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11 (Beta)", + "Already downloaded by": "Bereits geladen von", + "people": "Personen", + "Burrow Analyze treemap showing what is using disk space": "Burrows Analyse-Treemap, die zeigt, was Speicherplatz belegt", + "what's inside": "was drinsteckt", + "Sixteen surfaces, one window.": "Sechzehn Werkzeuge, ein Fenster.", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "Jedes Werkzeug färbt das ganze Fenster in seiner eigenen Farbe, denn die Farbe sagt dir, woran es gleich rührt. Jedes erledigt seine Arbeit vollständig, ohne dich ins Terminal zu schicken.", + "Clean": "Bereinigen", + "10+ categories": "10+ Kategorien", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "Caches, Protokolle und temporäre Dateien in über zehn Kategorien, sortiert danach, was am sichersten weg kann. Du siehst jede Datei und jedes Byte, bevor sich etwas bewegt.", + "Purge": "Tiefenreinigung", + "dev leftovers": "Reste der Entwicklung", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "Der Aushub, den Entwicklungsarbeit hinterlässt: node_modules, DerivedData, Build-Ausgaben, alte Paket-Caches — jeweils mit den Kosten fürs Neuerzeugen.", + "Installers": "Installationsdateien", + "downloads sweep": "Downloads durchgehen", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "Die Kisten, die du längst ausgepackt hast. Findet .dmg- und .pkg-Dateien, die noch lange nach der Installation im Download-Ordner liegen.", + "Apps": "Apps", + "bulk uninstall": "mehrere auf einmal", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "Alle installierten Apps, sortierbar nach Größe oder letzter Nutzung, mit Mehrfachauswahl beim Deinstallieren — samt Einstellungen, zugehörigen Dateien und Launch Agents.", + "Optimize": "Optimieren", + "one prompt": "eine Abfrage", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "Quick Look neu aufbauen, Caches und Metadaten reparieren, DNS leeren, Anmeldeobjekte prüfen. Die Routinearbeiten hinter einer einzigen Abfrage.", + "Tune-Up": "Feinschliff", + "one pass": "ein Durchgang", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "Rundum-Pflege in einem Durchgang. Wählt die Wartung, die auf deinen Mac gerade wirklich zutrifft, und führt sie vollständig aus.", + "Analyze": "Analysieren", + "treemap": "Treemap", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "Eine Treemap der ganzen Festplatte. Steig in jeden Zweig hinab und zeig ihn im Finder oder leg ihn direkt aus dem Kontextmenü in den Papierkorb.", + "Duplicates": "Duplikate", + "content hashed": "über den Inhalt", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "Findet Duplikate über den Hash des Inhalts und erkennt Hardlinks, damit Dateien, die sich zwei Werkzeuge teilen, nicht doppelt zählen.", + "Leftovers": "Reste", + "orphan files": "verwaiste Dateien", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "Zugehörige Dateien, Einstellungen und Launch Agents von längst entfernten Apps — zurückverfolgt zu der App, die sie hinterlassen hat.", + "Similar Photos": "Ähnliche Fotos", + "perceptual match": "visueller Abgleich", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "Visueller Abgleich über deine ganze Mediathek, der beinahe identische Aufnahmen und Serienbilder zutage fördert, die sich ausdünnen lassen.", + "Status": "Status", + "live + HUD": "live + HUD", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU, Arbeitsspeicher, GPU, Festplatte, Netzwerk und Batterie auf einer Seite, jeweils mit Verlaufskurve, dazu eine anheftbare Prozessliste und ein HUD in der Menüleiste.", + "Ports": "Ports", + "who is listening": "wer lauscht", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "Jeder offene Port samt dem Prozess dahinter — so findest du ohne lsof heraus, was Port 3000 belegt.", + "Network": "Netzwerk", + "per process": "pro Prozess", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "Live-Durchsatz pro Schnittstelle und pro Prozess, damit du siehst, was die Verbindung tatsächlich benutzt.", + "Get Online": "Wieder online", + "diagnostics": "Diagnose", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "Ein geführter Weg zurück an die Oberfläche, wenn die Verbindung abreißt: DNS, Gateway, Anmeldeseite und Schnittstellen, der Reihe nach geprüft.", + "History": "Verlauf", + "90 days": "90 Tage", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "Jede Statusmessung landet in einer lokalen SQLite-Datei. Spul von fünf Minuten bis neunzig Tage zurück, mit Spitzenwerten je Prozess.", + "Agent · MCP": "Agent · MCP", + "26 tools": "26 Werkzeuge", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "Sechsundzwanzig MCP-Werkzeuge öffnen die ganze App für Claude Code, dazu eine HTTP-API auf dem Loopback. Standardmäßig nur lesend; alles, was löscht, muss einzeln freigegeben werden.", + "see it": "ansehen", + "Built to be looked at, not just run.": "Gebaut, um angeschaut zu werden, nicht bloß ausgeführt.", + "See what's actually eating the disk.": "Sieh, was die Festplatte wirklich auffrisst.", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "Eine Treemap jedes Ordners, skaliert nach dem, was er dich wirklich kostet. Steig hinab, bis der Übeltäter offensichtlich ist, und handle direkt auf der Karte.", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow Analysieren: eine Treemap der Speicherbelegung, hinab bis in einen Ordner", + "Every pulse of the machine, live.": "Jeder Pulsschlag des Macs, in Echtzeit.", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU, Arbeitsspeicher, GPU, Festplatte, Netzwerk und Batterie teilen sich eine Seite, jeweils mit Verlaufskurve. Die Prozessliste lässt sich sortieren und anheften, damit das, was deine Lüfter hochdreht, im Blick bleibt.", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow Status: CPU, Arbeitsspeicher, GPU, Festplatte und Netzwerk live, mit Prozessliste", + "Show before you remove.": "Erst zeigen, dann löschen.", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "Bereinigen sortiert alles Gefundene danach, wie sicher es zu löschen ist, und zeigt Dateiliste und Bytes, bevor sich etwas bewegt. Hak ab, was du behalten willst — ein Fehlklick löscht hier nichts.", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow Bereinigen: Ballast nach Kategorien, mit Anzahl und Größe, bereit zur Durchsicht", + "A long memory of the den.": "Ein langes Gedächtnis des Baus.", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "Statusmessungen landen in einem lokalen SQLite-Verlauf, den du von fünf Minuten bis neunzig Tage zurückspulen kannst — mit Spitzenwerten je Prozess für die Momente, in denen die Lüfter wirklich hochgingen.", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow Verlauf: Langzeitkurven von CPU, Arbeitsspeicher und Festplatte über neunzig Tage", + "The whole den, from the menu bar.": "Der ganze Bau, aus der Menüleiste.", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "Ein HUD, das dir das ganze Bild herunterklappt, ohne die App zu öffnen: Live-Messwerte, Top-Prozesse und ein Sprung in das Werkzeug, das du gerade brauchst.", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Burrows HUD in der Menüleiste: Live-Messwerte und Top-Prozesse im Aufklappmenü", + "Ask your Mac, from Claude.": "Frag deinen Mac — aus Claude heraus.", + "The built-in MCP server exposes": "Der eingebaute MCP-Server stellt", + ", and": " und ", + "to any agent, plus a loopback HTTP API on": "jedem Agenten bereit, dazu eine HTTP-API auf dem Loopback unter", + ". Both stay local.": ". Beides bleibt lokal.", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code fragt Burrows MCP-Server nach dem Zustand des Macs", + "What's new · August 2026": "Neu · August 2026", + "New in 0.14.0": "Neu in 0.14.0", + "All releases": "Alle Versionen", + "Burrow offers the privileged helper": "Burrow bietet den privilegierten Helfer aktiv an", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "Der Helfer, mit dem Administratoraufgaben per Touch ID bestätigt werden, saß hinter einer einzelnen Taste in den Einstellungen, auf die nichts hinwies. Jetzt wird er so angeboten wie der vollständige Festplattenzugriff — ein Banner über dem Fenster, das informiert statt zu blockieren. Wer es schließt, sieht es nie wieder, denn der Helfer ist Bequemlichkeit und nichts, was Burrow zum Arbeiten braucht.", + "The reviewed clean reports what it removed": "Die geprüfte Bereinigung meldet, was sie entfernt hat", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "Sie löschte genau das Angehakte und sah danach aus, als hätte sie nichts getan: dieser Weg löscht mit find, das stumm erfolgreich ist, sodass die Ergebnisseite nichts anzuzeigen hatte. Jetzt meldet sie die Pfade, die sie entfernen durfte, nach Kategorie gruppiert und mit summierten Größen.", + "// also tightened in 0.14.0": "// außerdem nachgezogen in 0.14.0", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "Was die geprüfte Bereinigung löscht, hat sich nicht geändert — nur, was sie dir sagt", + "The helper stays strictly optional; decline it and every operation works as before": "Der Helfer bleibt streng freiwillig; lehnst du ihn ab, funktioniert alles wie zuvor", + "why you can trust it": "warum du ihm trauen kannst", + "A tool that touches your files should earn it.": "Ein Werkzeug, das deine Dateien anfasst, sollte sich das verdienen.", + "Open source": "Quelloffen", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "Jede Zeile ist öffentlich und MIT-lizenziert — lies sie, prüf sie oder fork sie.", + "See the repo": "Zum Repository", + "Show before you remove": "Erst zeigen, dann löschen", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "Jede Aktion listet zuerst die Dateien und die Bytes auf. Du bestätigst, Burrow handelt. Kein Root-Helfer im Hintergrund: Es fragt der Dialog von macOS selbst.", + "Your data stays put": "Deine Daten bleiben, wo sie sind", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "Scans, Messwerte und Verlauf verlassen den Mac nie. Die anonymen, abschaltbaren Diagnosedaten stehen Feld für Feld in", + "TELEMETRY.md": "", + "install": "installieren", + "Free, forever. No account, no subscription.": "Kostenlos, für immer. Kein Konto, kein Abo.", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "Alle Werkzeuge, das HUD in der Menüleiste, der Verlauf und der MCP-Server — auf so vielen Macs, wie du magst.", + ".zip": "", + "Apple Silicon": "Apple Silicon", + "Intel": "", + "64-bit": "64 Bit", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "App + Engine", + "copy the Homebrew install command": "Homebrew-Installationsbefehl kopieren", + "brew install --cask caezium/tap/burrow": "", + "copy": "kopieren", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "Windows hinkt der Mac-Version hinterher und ist noch eine Vorschau. Weitere Installationswege, Prüfsummen und ältere Versionen findest du auf der", + "install page": "Installationsseite", + "Frequently Asked Questions": "Häufige Fragen", + "Is it really free?": "Ist es wirklich kostenlos?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "Ja. MIT-lizenziert, ohne Konto, ohne Testbeschränkung, ohne Bezahlstufe und ohne Beipack. Der komplette Quelltext liegt auf GitHub, falls du ihn lesen willst, bevor du ihn ausführst.", + "Is Burrow safe to use?": "Ist Burrow sicher?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "Jede Aktion zeigt vor dem Ausführen die Dateiliste und die Bytes, und Bereinigen sortiert die Kategorien danach, wie sicher sie zu entfernen sind. Es gibt keinen Root-Helfer im Hintergrund: Braucht eine Aufgabe Administratorrechte, fragt der Dialog von macOS selbst, Burrow führt genau diesen einen Befehl aus und beendet sich.", + "What does it actually delete?": "Was löscht es eigentlich?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "Caches und temporäre Dateien, die Apps von selbst wieder anlegen: Browser-Caches, Build-Artefakte aus der Entwicklung, App-Support-Caches, Protokolle, übrig gebliebene Installationsdateien. Paket-Caches und Build-Ausgaben, deren Neuerzeugen wirklich etwas kostet, bleiben abgewählt, bis du sie selbst bestätigst.", + "Does it upload anything?": "Lädt es irgendetwas hoch?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "Keine Dateien, Pfade, URLs oder Messwerte. Scans und Verlauf bleiben auf dem Mac, und der MCP-Server hört nur auf dem Loopback. Burrow sendet allerdings anonyme, abschaltbare Nutzungs- und Absturzdiagnosen, Feld für Feld offengelegt in", + ". One Settings switch turns it off, and source builds ship inert.": ". Ein Schalter in den Einstellungen stellt das ab, und Builds aus dem Quelltext senden von vornherein nichts.", + "Do I need Full Disk Access?": "Brauche ich vollständigen Festplattenzugriff?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "Nein. Burrow führt auch ohne ihn einen sicheren Scan aus. Mit ihm kommt Burrow an tiefer liegende App-Support- und Container-Caches heran, und du kannst ihn jederzeit erteilen oder wieder entziehen.", + "Is it signed and notarized?": "Ist es signiert und notarisiert?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "Ja, ab 0.11.0, und ein Tag kann nur veröffentlichen, wenn Signatur, Notarisierung, Stapling und Gatekeeper-Prüfung alle bestehen. Archivierte Builds bis 0.10.5 stammen aus der Zeit davor: Rechtsklick und", + "Open": "Öffnen", + "if Gatekeeper blocks one. The full contract is in": "wählen, falls Gatekeeper blockiert. Die vollständige Zusage steht in", + "SECURITY.md": "", + "What can an agent do with it?": "Was kann ein Agent damit tun?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "Sechsundzwanzig MCP-Werkzeuge decken Momentaufnahmen, Verlauf, Top-Prozesse, Festplattenanalyse, Duplikate, Ports, Netzwerk und mehr ab. Vierzehn davon lesen nur und stehen sofort bereit; die, die deinen Mac verändern, brauchen jeweils eine eigene ausdrückliche Freigabe. Die vollständige Liste steht in", + "agent-tools.md": "", + "Does it run on Windows?": "Läuft es unter Windows?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "Eine native Portierung auf WinUI 3 und .NET 8 ist als Beta in Arbeit und zieht Werkzeug für Werkzeug gleich. macOS ist die ausgereifte Hauptversion; die Windows-Vorschau kommt derzeit als ZIP, ein Installationsprogramm folgt.", + "Track it on GitHub": "Auf GitHub verfolgen", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "Aus dem Quelltext bauen, den MCP-Server einrichten oder irgendetwas anderes? Steht alles in der", + "README": "", + "GitHub": "", + "Security": "Sicherheit", + "Telemetry": "Telemetrie", + "License": "Lizenz", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/es.json b/docs/i18n/es.json new file mode 100644 index 00000000..644af2ac --- /dev/null +++ b/docs/i18n/es.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · Utilidad libre y de código abierto para limpieza, software y estado en macOS", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow es una app nativa, gratuita y de código abierto para macOS (y Windows, en beta): limpia lo que sobra, gestiona apps, ejecuta el mantenimiento, cartografía el disco y vigila el estado en directo, todo en una ventana. Además, historial de largo alcance y un servidor MCP para Claude Code.", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · Utilidad libre y de código abierto para macOS y Windows", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "Limpia lo que sobra, gestiona apps, ejecuta el mantenimiento, cartografía el disco y vigila el estado en directo, en una sola app nativa. Nativa en macOS y ahora en beta en Windows. Gratuita y con licencia MIT. Además, historial y un servidor MCP.", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · Utilidad libre y de código abierto para limpieza, disco y estado en el Mac", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "Limpia lo que sobra, encuentra duplicados y restos, cartografía el disco y vigila el estado en directo. Una sola ventana nativa. Gratis y de código abierto.", + "Burrow": "", + "Tools": "Herramientas", + "Docs": "Documentación", + "Compare": "Comparar", + "Blog": "Blog", + "Install": "Instalar", + "Changelog": "Novedades", + "Roadmap": "Hoja de ruta", + "View Burrow on GitHub": "Ver Burrow en GitHub", + "1.2k": "", + "Download for Mac": "Descargar para Mac", + "Download": "Descargar", + "Everything you'd open": "Todo aquello para lo que abrías", + "six apps": "seis apps", + "for.": ", en una sola.", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "Una utilidad para Mac, gratuita y de código abierto, que limpia lo que sobra, encuentra duplicados y restos, muestra qué se está comiendo tu disco y vigila el estado del sistema en directo. Una sola ventana nativa, y una versión para Windows en beta.", + "or": "o", + "copy command": "copiar el comando", + "Free": "Gratis", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11 (beta)", + "Already downloaded by": "Ya lo han descargado", + "people": "personas", + "Burrow Analyze treemap showing what is using disk space": "El mapa de árbol de Burrow mostrando qué ocupa el espacio en disco", + "what's inside": "lo que hay dentro", + "Sixteen surfaces, one window.": "Dieciséis herramientas, una ventana.", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "Cada herramienta tiñe toda la ventana con su propio color, porque el color es la forma que tiene de anunciarte qué está a punto de tocar. Todas hacen su trabajo de principio a fin, sin dejarte tirado en un terminal.", + "Clean": "Limpieza", + "10+ categories": "más de 10 categorías", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "Cachés, registros y archivos temporales repartidos en más de diez categorías, ordenados por lo seguro que es eliminarlos. Ves cada archivo y cada byte antes de que se mueva nada.", + "Purge": "Limpieza profunda", + "dev leftovers": "restos de desarrollo", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "Los escombros que deja el desarrollo: node_modules, DerivedData, salidas de compilación, cachés de paquetes caducados, cada uno con el coste de volver a generarlo.", + "Installers": "Instaladores", + "downloads sweep": "repaso a Descargas", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "Las cajas que ya desempaquetaste. Encuentra los .dmg y .pkg que siguen en Descargas mucho después de instalar la app.", + "Apps": "Apps", + "bulk uninstall": "desinstalación múltiple", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "Todas las apps instaladas, ordenables por tamaño o por uso reciente, con desinstalación múltiple que se lleva preferencias, archivos de apoyo y agentes de inicio.", + "Optimize": "Optimización", + "one prompt": "una sola petición", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "Reconstruir Vista Rápida, reparar cachés y metadatos, vaciar el DNS, revisar los ítems de inicio. Las tareas de siempre detrás de una sola petición.", + "Tune-Up": "Puesta a punto", + "one pass": "una pasada", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "Cuidado completo en una pasada. Elige el mantenimiento que de verdad le hace falta a tu Mac ahora mismo y lo ejecuta de principio a fin.", + "Analyze": "Análisis", + "treemap": "mapa de árbol", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "Un mapa de árbol de todo el disco. Baja por cualquier rama y muéstrala en el Finder o mándala a la papelera desde el menú contextual.", + "Duplicates": "Duplicados", + "content hashed": "por el contenido", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "Busca duplicados por el hash del contenido y reconoce los enlaces duros, así que los archivos que comparten dos herramientas no se cuentan dos veces.", + "Leftovers": "Restos", + "orphan files": "archivos huérfanos", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "Archivos de apoyo, preferencias y agentes de inicio de apps que borraste hace tiempo, emparejados con la app que los dejó.", + "Similar Photos": "Fotos parecidas", + "perceptual match": "comparación visual", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "Comparación visual de toda tu fototeca para sacar a la luz tomas casi idénticas y ráfagas que merece la pena aclarar.", + "Status": "Estado", + "live + HUD": "en directo + HUD", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU, memoria, GPU, disco, red y batería en una sola página, cada uno con su minigráfico, más una tabla de procesos que se puede fijar y un HUD en la barra de menús.", + "Ports": "Puertos", + "who is listening": "quién está escuchando", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "Cada puerto a la escucha con el proceso que hay detrás, para encontrar qué ocupa el 3000 sin recurrir a lsof.", + "Network": "Red", + "per process": "por proceso", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "Tráfico en directo por interfaz y por proceso, para ver qué está usando de verdad la conexión.", + "Get Online": "Recuperar la conexión", + "diagnostics": "diagnóstico", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "Un camino guiado de vuelta a la superficie cuando se cae la conexión: DNS, puerta de enlace, portal cautivo e interfaces, comprobados en orden.", + "History": "Historial", + "90 days": "90 días", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "Cada muestra de estado acaba en un archivo SQLite local. Recorre desde cinco minutos hasta noventa días, con tablas de picos por proceso.", + "Agent · MCP": "Agente · MCP", + "26 tools": "26 herramientas", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "Veintiséis herramientas MCP abren toda la app a Claude Code, además de una API HTTP en bucle local. Solo lectura por omisión; lo que borra se activa por separado.", + "see it": "verlo", + "Built to be looked at, not just run.": "Hecho para mirarlo, no solo para ejecutarlo.", + "See what's actually eating the disk.": "Mira qué se está comiendo el disco de verdad.", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "Un mapa de árbol de cada carpeta, dimensionado por lo que de verdad te cuesta. Baja hasta que el culpable sea evidente y actúa sin salir del mapa.", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow Análisis: un mapa de árbol del uso del disco, bajando hasta una carpeta", + "Every pulse of the machine, live.": "Cada latido del Mac, en directo.", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU, memoria, GPU, disco, red y batería comparten una página, cada uno con su minigráfico. La tabla de procesos se ordena y se fija, para no perder de vista lo que está acelerando los ventiladores.", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow Estado: CPU, memoria, GPU, disco y red en directo, con la tabla de procesos", + "Show before you remove.": "Enseñar antes de borrar.", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "La limpieza ordena todo lo que encuentra según lo seguro que sea borrarlo, y muestra la lista de archivos y los bytes antes de que se mueva nada. Desmarca lo que quieras conservar: nada se va por un clic mal dado.", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow Limpieza: lo que sobra por categorías, con su número de archivos y tamaño, listo para revisar", + "A long memory of the den.": "Una memoria larga de la madriguera.", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "Las muestras de estado acaban en un historial SQLite local que puedes recorrer desde cinco minutos hasta noventa días, con tablas de picos por proceso para los momentos en que los ventiladores se dispararon de verdad.", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow Historial: gráficas de largo alcance de CPU, memoria y disco a lo largo de noventa días", + "The whole den, from the menu bar.": "Toda la madriguera, desde la barra de menús.", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "Un HUD que despliega el panorama completo sin abrir la app: métricas en directo, procesos principales y un salto a la herramienta que necesites.", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "El HUD de Burrow en la barra de menús: métricas en directo y procesos principales en un desplegable", + "Ask your Mac, from Claude.": "Pregúntale a tu Mac desde Claude.", + "The built-in MCP server exposes": "El servidor MCP integrado expone", + ", and": " y ", + "to any agent, plus a loopback HTTP API on": "a cualquier agente, además de una API HTTP en bucle local en", + ". Both stay local.": ". Ambos se quedan en local.", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code consultando al servidor MCP de Burrow el estado de la máquina", + "What's new · August 2026": "Novedades · agosto de 2026", + "New in 0.14.0": "Nuevo en 0.14.0", + "All releases": "Todas las versiones", + "Burrow offers the privileged helper": "Burrow ofrece el asistente con privilegios", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "El asistente que permite autorizar las operaciones de administrador con Touch ID estaba detrás de un único botón de los ajustes al que nada apuntaba. Ahora se ofrece igual que el acceso total al disco: un aviso sobre la ventana que informa sin bloquear. Cerrarlo es definitivo, porque el asistente es una comodidad y no algo que Burrow necesite para funcionar.", + "The reviewed clean reports what it removed": "La limpieza revisada informa de lo que ha borrado", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "Borraba exactamente lo marcado y luego parecía no haber hecho nada: esa vía borra con find, que termina bien en silencio, así que la pantalla de resultados no tenía nada que mostrar. Ahora informa de las rutas que se le autorizó eliminar, agrupadas por categoría y con los tamaños sumados.", + "// also tightened in 0.14.0": "// también afinado en 0.14.0", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "No ha cambiado lo que borra la limpieza revisada, solo lo que te cuenta", + "The helper stays strictly optional; decline it and every operation works as before": "El asistente sigue siendo estrictamente opcional; recházalo y todo funciona como antes", + "why you can trust it": "por qué puedes fiarte", + "A tool that touches your files should earn it.": "Una herramienta que toca tus archivos debería ganarse tu confianza.", + "Open source": "Código abierto", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "Cada línea es pública y tiene licencia MIT: puedes leerla, auditarla o bifurcarla.", + "See the repo": "Ver el repositorio", + "Show before you remove": "Enseñar antes de borrar", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "Cada acción enumera primero los archivos y los bytes. Tú confirmas y Burrow actúa. Sin asistente root en segundo plano: quien pregunta es el propio diálogo de macOS.", + "Your data stays put": "Tus datos se quedan donde están", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "Los análisis, las métricas y el historial nunca salen de la máquina. Los diagnósticos anónimos, que puedes desactivar, están detallados campo por campo en", + "TELEMETRY.md": "", + "install": "instalación", + "Free, forever. No account, no subscription.": "Gratis, para siempre. Sin cuenta y sin suscripción.", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "Todas las herramientas, el HUD de la barra de menús, el historial y el servidor MCP, en tantas máquinas como quieras.", + ".zip": "", + "Apple Silicon": "Apple Silicon", + "Intel": "", + "64-bit": "64 bits", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "app + motor", + "copy the Homebrew install command": "copiar el comando de instalación de Homebrew", + "brew install --cask caezium/tap/burrow": "", + "copy": "copiar", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "La versión de Windows va por detrás de la del Mac y sigue siendo una vista previa. Encontrarás más formas de instalar, las sumas de verificación y las versiones antiguas en la", + "install page": "página de instalación", + "Frequently Asked Questions": "Preguntas frecuentes", + "Is it really free?": "¿De verdad es gratis?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "Sí. Con licencia MIT, sin cuentas, sin límites de prueba, sin plan de pago y sin nada añadido de propina. El código completo está en GitHub por si quieres leerlo antes de ejecutarlo.", + "Is Burrow safe to use?": "¿Es seguro usar Burrow?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "Cada acción muestra la lista de archivos y los bytes antes de ejecutarse, y la limpieza ordena las categorías según lo seguro que sea eliminarlas. No hay ningún asistente root en segundo plano: cuando una tarea necesita permisos de administrador, te lo pregunta el propio diálogo de macOS, Burrow ejecuta ese único comando y termina.", + "What does it actually delete?": "¿Qué borra exactamente?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "Cachés y archivos temporales que las apps vuelven a crear por su cuenta: cachés de navegadores, artefactos de compilación, cachés de App Support, registros, instaladores olvidados. Las cachés de paquetes y las salidas de compilación cuya reconstrucción cuesta de verdad se quedan sin marcar hasta que las confirmes tú.", + "Does it upload anything?": "¿Envía algo a algún sitio?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "Ni archivos, ni rutas, ni URL, ni métricas. Los análisis y el historial se quedan en la máquina, y el servidor MCP solo escucha en bucle local. Burrow sí envía diagnósticos anónimos de uso y de fallos, que puedes desactivar y están detallados campo por campo en", + ". One Settings switch turns it off, and source builds ship inert.": ". Un interruptor de los ajustes lo apaga, y las compilaciones desde el código fuente no envían nada.", + "Do I need Full Disk Access?": "¿Necesito acceso total al disco?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "No. Burrow hace un análisis seguro sin él. Concederlo permite a Burrow llegar a cachés más profundas de App Support y de contenedores, y puedes darlo o retirarlo cuando quieras.", + "Is it signed and notarized?": "¿Está firmado y notarizado?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "Sí, desde la 0.11.0, y una etiqueta no puede publicarse si no pasan la firma, la notarización, el grapado y la comprobación de Gatekeeper. Las versiones archivadas 0.10.5 y anteriores son previas a eso: haz clic derecho y elige", + "Open": "Abrir", + "if Gatekeeper blocks one. The full contract is in": "si Gatekeeper bloquea alguna. El compromiso completo está en", + "SECURITY.md": "", + "What can an agent do with it?": "¿Qué puede hacer un agente con esto?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "Veintiséis herramientas MCP cubren instantáneas, historial, procesos principales, análisis de disco, duplicados, puertos, red y más. Catorce son de solo lectura y están disponibles al momento; las que modifican tu máquina requieren su propia autorización explícita. La lista completa está en", + "agent-tools.md": "", + "Does it run on Windows?": "¿Funciona en Windows?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "Hay un port nativo a WinUI 3 y .NET 8 en beta activa, que va igualando funciones una a una. macOS es la versión madura; la vista previa de Windows se distribuye hoy como zip, y el instalador está en camino.", + "Track it on GitHub": "Seguirlo en GitHub", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "¿Compilar desde el código, conectar el servidor MCP o cualquier otra cosa? Está todo en el", + "README": "", + "GitHub": "", + "Security": "Seguridad", + "Telemetry": "Telemetría", + "License": "Licencia", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/fr.json b/docs/i18n/fr.json new file mode 100644 index 00000000..9ba53cbe --- /dev/null +++ b/docs/i18n/fr.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · Utilitaire libre et open source pour le nettoyage, les logiciels et l'état sur macOS", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow est une app native, gratuite et open source pour macOS (et Windows, en bêta) : nettoyer les fichiers inutiles, gérer les apps, lancer la maintenance, cartographier le disque et suivre l'état en direct, dans une seule fenêtre. Avec en plus un historique au long cours et un serveur MCP pour Claude Code.", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · Utilitaire libre et open source pour macOS et Windows", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "Nettoyer les fichiers inutiles, gérer les apps, lancer la maintenance, cartographier le disque et suivre l'état en direct, dans une seule app native. Native sur macOS, désormais en bêta sur Windows. Gratuite et sous licence MIT. Avec l'historique et un serveur MCP.", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · Utilitaire Mac libre et open source pour le nettoyage, le disque et l'état", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "Fait le ménage, trouve les doublons et les restes, cartographie le disque et suit l'état en direct. Une seule fenêtre native. Gratuit et open source.", + "Burrow": "", + "Tools": "Outils", + "Docs": "Docs", + "Compare": "Comparer", + "Blog": "Blog", + "Install": "Installer", + "Changelog": "Nouveautés", + "Roadmap": "Feuille de route", + "View Burrow on GitHub": "Voir Burrow sur GitHub", + "1.2k": "", + "Download for Mac": "Télécharger pour Mac", + "Download": "Télécharger", + "Everything you'd open": "Tout ce pour quoi tu ouvrais", + "six apps": "six apps", + "for.": ", réuni.", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "Un utilitaire Mac gratuit et open source qui fait le ménage, trouve les doublons et les restes, montre ce qui dévore ton disque et suit l'état du système en direct. Une seule fenêtre native, et une version Windows en bêta.", + "or": "ou", + "copy command": "copier la commande", + "Free": "Gratuit", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11 (bêta)", + "Already downloaded by": "Déjà téléchargé par", + "people": "personnes", + "Burrow Analyze treemap showing what is using disk space": "La carte proportionnelle de Burrow montrant ce qui occupe l'espace disque", + "what's inside": "ce qu'il y a dedans", + "Sixteen surfaces, one window.": "Seize outils, une fenêtre.", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "Chaque outil recolore toute la fenêtre à sa manière, parce que la couleur est ce qui t'annonce ce qu'il s'apprête à toucher. Chacun va au bout de son travail, sans jamais te renvoyer dans un terminal.", + "Clean": "Nettoyage", + "10+ categories": "plus de 10 catégories", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "Caches, journaux et fichiers temporaires répartis en plus de dix catégories, classés du plus sûr à supprimer au moins sûr. Tu vois chaque fichier et chaque octet avant que quoi que ce soit ne bouge.", + "Purge": "Nettoyage en profondeur", + "dev leftovers": "restes de développement", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "Les déblais que laisse le développement : node_modules, DerivedData, sorties de compilation, caches de paquets périmés, avec à chaque fois le coût de reconstruction.", + "Installers": "Programmes d'installation", + "downloads sweep": "coup de balai", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "Les caisses que tu as déjà déballées. Trouve les .dmg et .pkg qui traînent dans Téléchargements longtemps après l'installation.", + "Apps": "Apps", + "bulk uninstall": "désinstallation groupée", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "Toutes les apps installées, triables par taille ou par date d'usage, avec une désinstallation multiple qui emporte préférences, fichiers annexes et agents de lancement.", + "Optimize": "Optimisation", + "one prompt": "une seule demande", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "Reconstruire Coup d'œil, réparer caches et métadonnées, vider le DNS, vérifier les ouvertures de session. Les corvées de routine derrière une seule demande.", + "Tune-Up": "Mise au point", + "one pass": "un seul passage", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "L'entretien complet en un passage. Choisit la maintenance qui s'applique vraiment à ton Mac en ce moment et la mène jusqu'au bout.", + "Analyze": "Analyse", + "treemap": "carte proportionnelle", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "Une carte proportionnelle du disque entier. Descends dans n'importe quelle branche, puis affiche-la dans le Finder ou mets-la à la corbeille depuis le menu contextuel.", + "Duplicates": "Doublons", + "content hashed": "empreinte du contenu", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "Détecteur de doublons fondé sur l'empreinte du contenu, qui reconnaît les liens physiques : les fichiers partagés entre deux outils ne sont pas comptés deux fois.", + "Leftovers": "Restes", + "orphan files": "fichiers orphelins", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "Fichiers annexes, préférences et agents de lancement d'apps supprimées depuis longtemps, rattachés à l'app qui les a laissés.", + "Similar Photos": "Photos similaires", + "perceptual match": "comparaison visuelle", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "Comparaison visuelle sur toute ta photothèque pour faire remonter les clichés quasi identiques et les rafales qu'il vaut la peine d'éclaircir.", + "Status": "État", + "live + HUD": "direct + HUD", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "Processeur, mémoire, GPU, disque, réseau et batterie sur une seule page avec leurs courbes, plus un tableau de processus épinglable et un HUD dans la barre des menus.", + "Ports": "Ports", + "who is listening": "qui écoute", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "Chaque port en écoute avec le processus derrière, pour trouver ce qui occupe le 3000 sans passer par lsof.", + "Network": "Réseau", + "per process": "par processus", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "Le débit en direct par interface et par processus, pour voir ce qui utilise réellement la connexion.", + "Get Online": "Retrouver le réseau", + "diagnostics": "diagnostic", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "Un chemin balisé vers la surface quand la connexion tombe : DNS, passerelle, portail captif et interfaces, vérifiés dans l'ordre.", + "History": "Historique", + "90 days": "90 jours", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "Chaque relevé d'état atterrit dans un fichier SQLite local. Remonte de cinq minutes à quatre-vingt-dix jours, avec les pics par processus.", + "Agent · MCP": "Agent · MCP", + "26 tools": "26 outils", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "Vingt-six outils MCP ouvrent toute l'app à Claude Code, avec en plus une API HTTP en boucle locale. En lecture seule par défaut ; tout ce qui supprime s'active séparément.", + "see it": "à voir", + "Built to be looked at, not just run.": "Conçu pour être regardé, pas seulement lancé.", + "See what's actually eating the disk.": "Vois ce qui dévore vraiment ton disque.", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "Une carte proportionnelle de chaque dossier, dimensionnée selon ce qu'il te coûte vraiment. Descends jusqu'à ce que le coupable saute aux yeux, puis agis sans quitter la carte.", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow Analyse : une carte proportionnelle de l'espace disque, descendue jusqu'à un dossier", + "Every pulse of the machine, live.": "Chaque battement de la machine, en direct.", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "Processeur, mémoire, GPU, disque, réseau et batterie partagent une page, chacun avec sa courbe. Le tableau des processus se trie et s'épingle pour garder à l'œil ce qui fait tourner tes ventilateurs.", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow État : processeur, mémoire, GPU, disque et réseau en direct, avec le tableau des processus", + "Show before you remove.": "Montrer avant de supprimer.", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "Le nettoyage classe tout ce qu'il trouve selon la sûreté de la suppression, et affiche la liste des fichiers et le nombre d'octets avant que rien ne bouge. Décoche ce que tu veux garder : rien ne part sur un clic malheureux.", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow Nettoyage : les fichiers inutiles par catégorie, avec leur nombre et leur taille, prêts à être vérifiés", + "A long memory of the den.": "Une longue mémoire du terrier.", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "Les relevés d'état atterrissent dans un historique SQLite local que tu peux remonter de cinq minutes à quatre-vingt-dix jours, avec les pics par processus pour les moments où les ventilateurs se sont vraiment emballés.", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow Historique : courbes au long cours du processeur, de la mémoire et du disque sur quatre-vingt-dix jours", + "The whole den, from the menu bar.": "Tout le terrier, depuis la barre des menus.", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "Un HUD qui déroule le tableau complet sans ouvrir l'app : mesures en direct, principaux processus, et un raccourci vers l'outil dont tu as besoin.", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Le HUD de Burrow dans la barre des menus : mesures en direct et principaux processus dans un menu déroulant", + "Ask your Mac, from Claude.": "Interroge ton Mac, depuis Claude.", + "The built-in MCP server exposes": "Le serveur MCP intégré expose", + ", and": " et ", + "to any agent, plus a loopback HTTP API on": "à n'importe quel agent, avec en plus une API HTTP en boucle locale sur", + ". Both stay local.": ". Les deux restent en local.", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code interrogeant le serveur MCP de Burrow sur l'état de la machine", + "What's new · August 2026": "Nouveautés · août 2026", + "New in 0.14.0": "Nouveau en 0.14.0", + "All releases": "Toutes les versions", + "Burrow offers the privileged helper": "Burrow propose l'assistant privilégié", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "L'assistant qui permet de valider les opérations d'administration par Touch ID se trouvait derrière un unique bouton des réglages que rien n'indiquait. Il est désormais proposé comme l'accès complet au disque : une bannière au-dessus de la fenêtre, qui informe sans bloquer. La fermer est définitif, car cet assistant est un confort et non quelque chose dont Burrow a besoin pour fonctionner.", + "The reviewed clean reports what it removed": "Le nettoyage vérifié indique ce qu'il a supprimé", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "Il supprimait exactement ce qui était coché puis donnait l'impression de n'avoir rien fait : ce chemin supprime avec find, qui réussit en silence, si bien que l'écran de résultat n'avait rien à afficher. Il indique maintenant les chemins qu'il était autorisé à supprimer, groupés par catégorie et avec leurs tailles cumulées.", + "// also tightened in 0.14.0": "// également resserré en 0.14.0", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "Ce que supprime le nettoyage vérifié n'a pas changé — seulement ce qu'il t'en dit", + "The helper stays strictly optional; decline it and every operation works as before": "L'assistant reste strictement facultatif ; refuse-le et tout continue de fonctionner comme avant", + "why you can trust it": "pourquoi lui faire confiance", + "A tool that touches your files should earn it.": "Un outil qui touche à tes fichiers doit mériter ta confiance.", + "Open source": "Open source", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "Chaque ligne est publique et sous licence MIT : tu peux la lire, l'auditer ou la forker.", + "See the repo": "Voir le dépôt", + "Show before you remove": "Montrer avant de supprimer", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "Chaque action liste d'abord les fichiers et les octets. Tu confirmes, Burrow agit. Aucun assistant root en arrière-plan : c'est la fenêtre de macOS elle-même qui te demande.", + "Your data stays put": "Tes données ne bougent pas", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "Les analyses, les mesures et l'historique ne quittent jamais la machine. Les diagnostics anonymes, désactivables, sont détaillés champ par champ dans", + "TELEMETRY.md": "", + "install": "installation", + "Free, forever. No account, no subscription.": "Gratuit, pour toujours. Sans compte, sans abonnement.", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "Tous les outils, le HUD de la barre des menus, l'historique et le serveur MCP, sur autant de machines que tu veux.", + ".zip": "", + "Apple Silicon": "Apple Silicon", + "Intel": "", + "64-bit": "64 bits", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "app + moteur", + "copy the Homebrew install command": "copier la commande d'installation Homebrew", + "brew install --cask caezium/tap/burrow": "", + "copy": "copier", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "La version Windows suit celle du Mac avec du retard et reste une préversion. D'autres façons d'installer, les sommes de contrôle et les anciennes versions se trouvent sur la", + "install page": "page d'installation", + "Frequently Asked Questions": "Questions fréquentes", + "Is it really free?": "C'est vraiment gratuit ?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "Oui. Sous licence MIT, sans compte, sans limite d'essai, sans version payante et sans rien d'embarqué au passage. Le code complet est sur GitHub si tu veux le lire avant de le lancer.", + "Is Burrow safe to use?": "Burrow est-il sans risque ?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "Chaque action affiche la liste des fichiers et le nombre d'octets avant de s'exécuter, et le nettoyage classe les catégories selon la sûreté de leur suppression. Aucun assistant root en arrière-plan : quand une tâche demande les droits d'administrateur, c'est la fenêtre de macOS qui te sollicite, Burrow exécute cette seule commande, puis s'arrête.", + "What does it actually delete?": "Qu'est-ce qu'il supprime au juste ?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "Des caches et des fichiers temporaires que les apps recréent d'elles-mêmes : caches de navigateurs, artefacts de compilation, caches d'App Support, journaux, programmes d'installation oubliés. Les caches de paquets et les sorties de compilation dont la reconstruction coûte vraiment restent décochés tant que tu ne les confirmes pas toi-même.", + "Does it upload anything?": "Est-ce qu'il envoie quelque chose ?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "Ni fichiers, ni chemins, ni URL, ni mesures. Les analyses et l'historique restent sur la machine, et le serveur MCP n'écoute qu'en boucle locale. Burrow envoie en revanche des diagnostics d'usage et de plantage anonymes et désactivables, détaillés champ par champ dans", + ". One Settings switch turns it off, and source builds ship inert.": ". Un réglage suffit à tout couper, et les versions compilées depuis les sources n'envoient rien du tout.", + "Do I need Full Disk Access?": "L'accès complet au disque est-il nécessaire ?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "Non. Burrow effectue une analyse sécurisée sans lui. L'accorder permet à Burrow d'atteindre les caches d'App Support et de conteneurs plus profonds, et tu peux l'accorder ou le retirer quand tu veux.", + "Is it signed and notarized?": "Est-il signé et notarisé ?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "Oui, depuis la 0.11.0, et un tag ne peut pas être publié tant que la signature, la notarisation, l'agrafage et l'évaluation Gatekeeper ne sont pas tous validés. Les versions archivées 0.10.5 et antérieures sont plus anciennes : fais un clic droit et choisis", + "Open": "Ouvrir", + "if Gatekeeper blocks one. The full contract is in": "si Gatekeeper en bloque une. L'engagement complet est dans", + "SECURITY.md": "", + "What can an agent do with it?": "Que peut en faire un agent ?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "Vingt-six outils MCP couvrent les instantanés, l'historique, les principaux processus, l'analyse du disque, les doublons, les ports, le réseau et davantage. Quatorze sont en lecture seule et disponibles immédiatement ; ceux qui modifient ta machine demandent chacun une autorisation explicite. La liste complète est dans", + "agent-tools.md": "", + "Does it run on Windows?": "Fonctionne-t-il sous Windows ?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "Un portage natif en WinUI 3 et .NET 8 est en bêta active et rattrape l'original outil par outil. macOS reste la version mûre ; la préversion Windows se télécharge aujourd'hui en zip, un programme d'installation arrive.", + "Track it on GitHub": "Suivre sur GitHub", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "Compiler depuis les sources, brancher le serveur MCP, ou autre chose ? Tout est dans le", + "README": "", + "GitHub": "", + "Security": "Sécurité", + "Telemetry": "Télémétrie", + "License": "Licence", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/ja.json b/docs/i18n/ja.json new file mode 100644 index 00000000..43ff9265 --- /dev/null +++ b/docs/i18n/ja.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · macOS の掃除・ソフトウェア管理・状態監視をひとつにした無料のオープンソースアプリ", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow は macOS(および beta 版の Windows)向けの無料・オープンソースのネイティブアプリです。不要ファイルの掃除、App の管理、メンテナンスの実行、ディスクの可視化、状態のリアルタイム監視をひとつのウインドウで行えます。長期の履歴と、Claude Code 向けの MCP サーバも備えています。", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · macOS と Windows 向けの無料・オープンソースのデスクトップユーティリティ", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "不要ファイルの掃除、App の管理、メンテナンス、ディスクの可視化、状態のリアルタイム監視を、ひとつのネイティブアプリで。macOS ネイティブ、Windows は現在 beta 版です。無料で MIT ライセンス。履歴と MCP サーバも付いています。", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · 掃除・ディスク・状態監視のための無料オープンソース Mac ユーティリティ", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "不要ファイルを片づけ、重複や残存ファイルを見つけ、ディスクを可視化し、状態をリアルタイムに監視します。ネイティブなウインドウひとつで。無料でオープンソースです。", + "Burrow": "", + "Tools": "ツール", + "Docs": "ドキュメント", + "Compare": "比較", + "Blog": "ブログ", + "Install": "インストール", + "Changelog": "変更履歴", + "Roadmap": "ロードマップ", + "View Burrow on GitHub": "GitHub で Burrow を見る", + "1.2k": "", + "Download for Mac": "Mac 版をダウンロード", + "Download": "ダウンロード", + "Everything you'd open": "これまで", + "six apps": "6 つの App", + "for.": "でやっていたことを、ひとつに。", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "不要ファイルを片づけ、重複や残存ファイルを見つけ、ディスクを圧迫しているものを可視化し、システムの状態をリアルタイムに監視する、無料でオープンソースの Mac ユーティリティです。ネイティブなウインドウひとつで完結し、Windows 版も beta 版として提供しています。", + "or": "または", + "copy command": "コマンドをコピー", + "Free": "無料", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11(beta)", + "Already downloaded by": "すでにダウンロードした人数", + "people": "人", + "Burrow Analyze treemap showing what is using disk space": "ディスク容量の内訳を示す Burrow の分析ツリーマップ", + "what's inside": "中身", + "Sixteen surfaces, one window.": "16 の機能を、ひとつのウインドウに。", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "ツールを切り替えるとウインドウ全体の色が変わります。色は、そのツールが何に触れようとしているかを伝える手がかりだからです。どのツールも、ターミナルに頼らず最後まで仕事を終えられます。", + "Clean": "クリーン", + "10+ categories": "10 以上の分類", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "キャッシュ・ログ・一時ファイルを 10 以上の分類に分け、削除しても安全な順に並べます。何かが動く前に、すべてのファイルとバイト数を確認できます。", + "Purge": "ディープクリーン", + "dev leftovers": "開発の残りもの", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "開発作業が残した掘りくず。node_modules、DerivedData、ビルド成果物、古くなったパッケージキャッシュを、作り直しにかかるコストとあわせて表示します。", + "Installers": "インストーラ", + "downloads sweep": "ダウンロードの片づけ", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "すでに開けたあとの木箱。App をインストールしたあともダウンロードフォルダに残り続けている .dmg や .pkg を見つけます。", + "Apps": "App", + "bulk uninstall": "まとめて削除", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "インストール済みの App をサイズ順や使用日順に並べ替えられます。複数選択して削除すると、環境設定・関連ファイル・起動エージェントもまとめて片づきます。", + "Optimize": "最適化", + "one prompt": "確認ひとつで", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "Quick Look の再構築、キャッシュとメタデータの修復、DNS の消去、ログイン項目の点検。決まりきった作業を、ひとつの確認にまとめました。", + "Tune-Up": "チューンアップ", + "one pass": "ひと通りで", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "ひと通りでまとめて手入れします。いまのこの Mac に本当に必要なメンテナンスだけを選び、最後まで実行します。", + "Analyze": "分析", + "treemap": "ツリーマップ", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "ディスク全体を正方形に近いツリーマップで表示します。任意の枝を掘り下げ、その場のメニューから Finder で表示したり、ゴミ箱に入れたりできます。", + "Duplicates": "重複ファイル", + "content hashed": "内容のハッシュで判定", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "内容のハッシュで重複を探し、ハードリンクも認識します。ツール間で共有されているファイルを二重に数えることはありません。", + "Leftovers": "残存ファイル", + "orphan files": "取り残されたファイル", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "ずっと前に削除した App が残した関連ファイル・環境設定・起動エージェントを、それを残した App と結びつけて表示します。", + "Similar Photos": "似ている写真", + "perceptual match": "見た目で照合", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "ライブラリ全体を見た目で照合し、ほとんど同じ写真や、間引く価値のある連写のコマを見つけ出します。", + "Status": "ステータス", + "live + HUD": "リアルタイム + HUD", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU・メモリ・GPU・ディスク・ネットワーク・バッテリーを、スパークライン付きでひとつの画面に。固定できるプロセス一覧とメニューバー HUD も備えています。", + "Ports": "ポート", + "who is listening": "何が待ち受けているか", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "待ち受け中のポートと、その裏側にいるプロセスをすべて表示します。lsof を叩かなくても、3000 番を掴んでいるものがわかります。", + "Network": "ネットワーク", + "per process": "プロセスごと", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "インターフェイスごと・プロセスごとの通信量をリアルタイムに表示するので、実際に回線を使っているものがわかります。", + "Get Online": "接続を直す", + "diagnostics": "診断", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "接続が切れたときに地上へ戻るための道案内。DNS、ゲートウェイ、キャプティブポータル、インターフェイスを順番に確認します。", + "History": "履歴", + "90 days": "90 日分", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "取得した状態はすべてローカルの SQLite ファイルに記録されます。5 分前から 90 日前まで自由にさかのぼれ、プロセスごとのピーク一覧も見られます。", + "Agent · MCP": "エージェント · MCP", + "26 tools": "26 のツール", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "26 の MCP ツールが、アプリ全体を Claude Code に開きます。ループバックの HTTP API も利用できます。初期状態は読み取り専用で、変更を伴う操作は別途オンにする必要があります。", + "see it": "実際の画面", + "Built to be looked at, not just run.": "動かすためだけでなく、眺めるために作りました。", + "See what's actually eating the disk.": "ディスクを本当に食べているものを、ひと目で。", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "すべてのフォルダを、実際に占めている容量の大きさでツリーマップに描きます。原因がはっきりするまで掘り下げ、そのまま地図の上で対処できます。", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow の分析画面。ディスク使用量のツリーマップをフォルダ単位まで掘り下げたところ", + "Every pulse of the machine, live.": "この Mac の鼓動を、リアルタイムで。", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU・メモリ・GPU・ディスク・ネットワーク・バッテリーが、それぞれのスパークラインとともにひとつの画面に並びます。プロセス一覧は並べ替えと固定ができるので、ファンを回している犯人を見失いません。", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow のステータス画面。CPU・メモリ・GPU・ディスク・ネットワークのリアルタイム表示とプロセス一覧", + "Show before you remove.": "消す前に、見せる。", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "クリーンは見つけたものを削除の安全度順に並べ、何かが動く前にファイル一覧とバイト数を表示します。残したいものはチェックを外すだけ。押し間違いひとつで何かが消えることはありません。", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow のクリーン画面。分類ごとの不要ファイルを件数とサイズとともに確認できる状態", + "A long memory of the den.": "巣穴の、長い記憶。", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "取得した状態はローカルの SQLite 履歴に残り、5 分前から 90 日前まで自由にさかのぼれます。ファンが実際に回った瞬間については、プロセスごとのピーク一覧も確認できます。", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow の履歴画面。CPU・メモリ・ディスクの 90 日分の推移グラフ", + "The whole den, from the menu bar.": "巣穴のすべてを、メニューバーから。", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "App を開かなくても全体像が下りてくる HUD です。リアルタイムの指標、上位プロセス、そして必要なツールへのショートカットが並びます。", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Burrow のメニューバー HUD。リアルタイムの指標と上位プロセスをドロップダウンで表示", + "Ask your Mac, from Claude.": "Claude から、この Mac に聞く。", + "The built-in MCP server exposes": "内蔵の MCP サーバは", + ", and": "、", + "to any agent, plus a loopback HTTP API on": "を任意のエージェントに公開します。加えて、ループバックの HTTP API も", + ". Both stay local.": "で利用できます。どちらもこの Mac の中だけで完結します。", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code が Burrow の MCP サーバにマシンの状態を問い合わせているところ", + "What's new · August 2026": "新着 · 2026 年 8 月", + "New in 0.14.0": "0.14.0 の新機能", + "All releases": "すべてのリリース", + "Burrow offers the privileged helper": "特権ヘルパーの導入を案内するようになりました", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "管理者操作を Touch ID で承認できるようにするヘルパーは、これまで設定の中のボタンひとつの奥にあり、そこへ導くものが何もありませんでした。今はフルディスクアクセスと同じように案内します。ウインドウの上にバナーをひとつ、作業を妨げずに知らせるだけです。閉じたら二度と出ません。このヘルパーは便利さのためのもので、Burrow の動作に必要なものではないからです。", + "The reviewed clean reports what it removed": "確認して行うクリーンが、削除した内容を報告するようになりました", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "チェックしたものを正確に削除していたのに、何もしていないように見えていました。この経路は find で削除しており、成功しても何も出力しないため、結果画面に表示するものがなかったのです。今は削除を許可されたパスを、分類ごとにサイズを合計して報告します。", + "// also tightened in 0.14.0": "// 0.14.0 でのその他の改善", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "確認して行うクリーンが削除する内容は変わっていません。変わったのは、何を伝えるかだけです", + "The helper stays strictly optional; decline it and every operation works as before": "ヘルパーはあくまで任意です。断っても、すべての操作はこれまでどおり動きます", + "why you can trust it": "信頼できる理由", + "A tool that touches your files should earn it.": "ファイルに触れる道具は、信頼を勝ち取るべきです。", + "Open source": "オープンソース", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "すべての行が公開され、MIT ライセンスで提供されています。読むことも、監査することも、フォークすることもできます。", + "See the repo": "リポジトリを見る", + "Show before you remove": "消す前に、見せる", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "どの操作も、まずファイルとバイト数を並べます。あなたが確認して、はじめて Burrow が動きます。バックグラウンドで動く root ヘルパーはありません。確認するのは macOS 自身のダイアログです。", + "Your data stays put": "データはこの Mac から出ません", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "スキャン結果・指標・履歴がこの Mac を出ることはありません。匿名で、いつでも停止できる診断情報については、項目ごとの一覧を", + "TELEMETRY.md": "", + "install": "インストール", + "Free, forever. No account, no subscription.": "ずっと無料。アカウントもサブスクリプションもありません。", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "すべてのツール、メニューバー HUD、履歴、MCP サーバを、何台の Mac でも使えます。", + ".zip": "", + "Apple Silicon": "Apple シリコン", + "Intel": "", + "64-bit": "64 ビット", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "App + エンジン", + "copy the Homebrew install command": "Homebrew のインストールコマンドをコピー", + "brew install --cask caezium/tap/burrow": "", + "copy": "コピー", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "Windows 版は Mac 版より遅れており、まだプレビューです。ほかのインストール方法、チェックサム、旧バージョンについては", + "install page": "インストールページ", + "Frequently Asked Questions": "よくある質問", + "Is it really free?": "本当に無料ですか?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "はい。MIT ライセンスで、アカウントも試用期限も有料プランもなく、余計なものが同梱されることもありません。実行する前に読みたければ、ソース全体が GitHub にあります。", + "Is Burrow safe to use?": "Burrow は安全に使えますか?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "どの操作も、実行前にファイル一覧とバイト数を表示します。クリーンは分類を削除の安全度順に並べます。バックグラウンドで動く root ヘルパーはありません。管理者権限が必要なときは macOS 自身のダイアログが確認し、Burrow はそのコマンドだけを実行して終了します。", + "What does it actually delete?": "実際には何を削除するのですか?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "App が自分で作り直せるキャッシュや一時ファイルです。ブラウザのキャッシュ、開発のビルド成果物、App の関連キャッシュ、ログ、残ったインストーラなど。作り直しに実際のコストがかかるパッケージキャッシュやビルド成果物は、あなたが自分で確認するまでチェックが外れたままです。", + "Does it upload anything?": "何かをアップロードしますか?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "ファイル、パス、URL、指標は一切送信しません。スキャン結果と履歴はこの Mac に留まり、MCP サーバはループバックのみです。匿名で、いつでも停止できる使用状況とクラッシュの診断情報は送信しており、その項目は", + ". One Settings switch turns it off, and source builds ship inert.": "に項目ごとに記載しています。設定のスイッチひとつで停止でき、ソースからのビルドでは最初から無効です。", + "Do I need Full Disk Access?": "フルディスクアクセスは必要ですか?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "いいえ。許可がなくても Burrow は安全なスキャンを実行します。許可すると、App Support やコンテナのより深いキャッシュにも届くようになります。許可も取り消しも、いつでも行えます。", + "Is it signed and notarized?": "署名と公証はされていますか?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "はい。0.11.0 以降は署名・公証・スタンプ・Gatekeeper の検査がすべて通らない限り、タグから公開できません。0.10.5 以前のアーカイブ版はそれ以前のものです。Gatekeeper に止められた場合は、右クリックして", + "Open": "開く", + "if Gatekeeper blocks one. The full contract is in": "を選んでください。詳しい取り決めは", + "SECURITY.md": "", + "What can an agent do with it?": "エージェントには何ができますか?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "26 の MCP ツールが、スナップショット、履歴、上位プロセス、ディスク分析、重複ファイル、ポート、ネットワークなどを扱えます。うち 14 は読み取り専用ですぐに使えます。この Mac を変更するツールは、それぞれ明示的に有効にする必要があります。一覧は", + "agent-tools.md": "", + "Does it run on Windows?": "Windows でも動きますか?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "WinUI 3 と .NET 8 によるネイティブ移植版が beta として進行中で、ツールごとに機能を揃えているところです。macOS が成熟した主軸で、Windows 版は現在 zip で配布しており、インストーラも準備中です。", + "Track it on GitHub": "GitHub で進捗を追う", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "ソースからのビルド、MCP サーバの設定、そのほか何でも。すべては", + "README": "", + "GitHub": "", + "Security": "セキュリティ", + "Telemetry": "送信する情報", + "License": "ライセンス", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/ko.json b/docs/i18n/ko.json new file mode 100644 index 00000000..6c2b2745 --- /dev/null +++ b/docs/i18n/ko.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · macOS의 정리·소프트웨어·상태를 한곳에서 다루는 무료 오픈 소스 도구", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow는 macOS(및 베타 단계의 Windows)를 위한 무료 오픈 소스 네이티브 앱입니다. 불필요한 파일 정리, 앱 관리, 유지 관리 실행, 디스크 지도, 실시간 상태 확인을 하나의 창에서 처리합니다. 장기 기록과 Claude Code용 MCP 서버도 함께 제공합니다.", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · macOS와 Windows를 위한 무료 오픈 소스 데스크탑 도구", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "불필요한 파일 정리, 앱 관리, 유지 관리, 디스크 지도, 실시간 상태 확인을 네이티브 앱 하나로. macOS 네이티브이며 Windows는 현재 베타입니다. 무료이고 MIT 라이선스입니다. 기록과 MCP 서버도 포함합니다.", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · 정리·디스크·상태를 위한 무료 오픈 소스 Mac 도구", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "불필요한 파일을 치우고, 중복과 잔여 파일을 찾고, 디스크를 지도로 보여 주고, 상태를 실시간으로 지켜봅니다. 네이티브 창 하나로. 무료이고 오픈 소스입니다.", + "Burrow": "", + "Tools": "도구", + "Docs": "문서", + "Compare": "비교", + "Blog": "블로그", + "Install": "설치", + "Changelog": "변경 사항", + "Roadmap": "로드맵", + "View Burrow on GitHub": "GitHub에서 Burrow 보기", + "1.2k": "", + "Download for Mac": "Mac용 다운로드", + "Download": "다운로드", + "Everything you'd open": "지금까지", + "six apps": "앱 여섯 개", + "for.": "로 하던 일을 한곳에.", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "불필요한 파일을 치우고, 중복과 잔여 파일을 찾고, 디스크를 차지하는 것이 무엇인지 보여 주고, 시스템 상태를 실시간으로 지켜보는 무료 오픈 소스 Mac 도구입니다. 네이티브 창 하나로 끝나며, Windows 버전도 베타로 제공합니다.", + "or": "또는", + "copy command": "명령어 복사", + "Free": "무료", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11 (베타)", + "Already downloaded by": "지금까지 내려받은 사람", + "people": "명", + "Burrow Analyze treemap showing what is using disk space": "디스크 공간을 무엇이 쓰고 있는지 보여 주는 Burrow 분석 트리맵", + "what's inside": "안에 무엇이 있는지", + "Sixteen surfaces, one window.": "열여섯 가지 기능, 창 하나.", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "도구를 바꾸면 창 전체의 색이 함께 바뀝니다. 색은 그 도구가 무엇을 건드리려 하는지 알려 주는 신호이기 때문입니다. 모든 도구가 터미널로 내보내지 않고 끝까지 일을 마칩니다.", + "Clean": "정리", + "10+ categories": "10가지 이상 분류", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "캐시·로그·임시 파일을 열 가지가 넘는 분류로 나누고, 지워도 안전한 순서대로 보여 줍니다. 무엇이 움직이기 전에 모든 파일과 용량을 확인할 수 있습니다.", + "Purge": "심층 정리", + "dev leftovers": "개발 잔여물", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "개발 작업이 남긴 부스러기입니다. node_modules, DerivedData, 빌드 산출물, 오래된 패키지 캐시를 다시 만드는 데 드는 비용과 함께 보여 줍니다.", + "Installers": "설치 파일", + "downloads sweep": "다운로드 정리", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "이미 뜯어 놓은 상자들입니다. 앱을 설치한 지 한참 지나도 다운로드 폴더에 남아 있는 .dmg와 .pkg 파일을 찾아냅니다.", + "Apps": "앱", + "bulk uninstall": "한꺼번에 삭제", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "설치된 모든 앱을 크기순이나 최근 사용순으로 정렬할 수 있고, 여러 개를 선택해 삭제하면 환경설정·관련 파일·실행 에이전트까지 함께 치웁니다.", + "Optimize": "최적화", + "one prompt": "확인 한 번", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "훑어보기 재구성, 캐시와 메타데이터 복구, DNS 비우기, 로그인 항목 점검. 늘 해야 하는 잡일을 확인 한 번 뒤에 모았습니다.", + "Tune-Up": "정비", + "one pass": "한 번에", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "한 번에 전체를 손봅니다. 지금 이 Mac에 실제로 필요한 유지 관리만 골라 끝까지 실행합니다.", + "Analyze": "분석", + "treemap": "트리맵", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "디스크 전체를 정사각형에 가까운 트리맵으로 보여 줍니다. 어떤 가지든 파고들어 가서, 그 자리 메뉴로 Finder에서 열거나 휴지통으로 보낼 수 있습니다.", + "Duplicates": "중복 파일", + "content hashed": "내용 해시 기반", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "내용의 해시로 중복을 찾고 하드링크도 인식하므로, 여러 도구가 공유하는 파일이 두 번 계산되지 않습니다.", + "Leftovers": "잔여 파일", + "orphan files": "남겨진 파일", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "오래전에 지운 앱이 남긴 관련 파일·환경설정·실행 에이전트를, 그것을 남긴 앱과 짝지어 보여 줍니다.", + "Similar Photos": "비슷한 사진", + "perceptual match": "시각적 비교", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "보관함 전체를 시각적으로 비교해, 거의 똑같은 사진과 솎아낼 만한 연속 촬영 컷을 찾아냅니다.", + "Status": "상태", + "live + HUD": "실시간 + HUD", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU·메모리·GPU·디스크·네트워크·배터리를 각각의 소형 그래프와 함께 한 화면에. 고정할 수 있는 프로세스 표와 메뉴 막대 HUD도 함께 제공합니다.", + "Ports": "포트", + "who is listening": "무엇이 대기 중인지", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "대기 중인 모든 포트와 그 뒤의 프로세스를 함께 보여 주므로, lsof를 꺼내지 않고도 3000번을 잡고 있는 것을 찾을 수 있습니다.", + "Network": "네트워크", + "per process": "프로세스별", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "인터페이스별·프로세스별 실시간 처리량을 보여 주므로, 회선을 실제로 쓰고 있는 것이 무엇인지 알 수 있습니다.", + "Get Online": "연결 복구", + "diagnostics": "진단", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "연결이 끊겼을 때 지상으로 돌아가는 안내 경로입니다. DNS, 게이트웨이, 인증 페이지, 인터페이스를 순서대로 점검합니다.", + "History": "기록", + "90 days": "90일", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "모든 상태 표본이 로컬 SQLite 파일에 쌓입니다. 5분 전부터 90일 전까지 자유롭게 되짚어 볼 수 있고, 프로세스별 최고치 표도 함께 봅니다.", + "Agent · MCP": "에이전트 · MCP", + "26 tools": "26가지 도구", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "26가지 MCP 도구가 앱 전체를 Claude Code에 열어 주고, 루프백 HTTP API도 함께 제공합니다. 기본은 읽기 전용이며, 무언가를 지우는 동작은 따로 켜야 합니다.", + "see it": "직접 보기", + "Built to be looked at, not just run.": "실행하는 것만이 아니라 바라보기 위해 만들었습니다.", + "See what's actually eating the disk.": "디스크를 실제로 먹고 있는 것을 확인하세요.", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "모든 폴더를 실제로 차지하는 크기대로 그린 트리맵입니다. 원인이 분명해질 때까지 파고든 다음, 지도를 벗어나지 않고 바로 처리하세요.", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow 분석: 디스크 사용량 트리맵을 폴더 단위까지 파고든 화면", + "Every pulse of the machine, live.": "이 Mac의 모든 맥박을 실시간으로.", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU·메모리·GPU·디스크·네트워크·배터리가 각자의 소형 그래프와 함께 한 화면에 모입니다. 프로세스 표는 정렬과 고정이 되므로 팬을 돌리는 주범을 계속 볼 수 있습니다.", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow 상태: CPU·메모리·GPU·디스크·네트워크 실시간 표시와 프로세스 표", + "Show before you remove.": "지우기 전에 보여 줍니다.", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "정리는 찾아낸 것을 지워도 안전한 순서로 정렬하고, 무엇이 움직이기 전에 파일 목록과 용량을 보여 줍니다. 남기고 싶은 것은 체크만 해제하세요. 잘못 누른 한 번으로 사라지는 것은 없습니다.", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow 정리: 분류별 불필요한 파일과 개수·크기를 확인할 수 있는 화면", + "A long memory of the den.": "굴의 긴 기억.", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "상태 표본은 로컬 SQLite 기록에 쌓이며, 5분 전부터 90일 전까지 되짚어 볼 수 있습니다. 팬이 실제로 돌았던 순간에 대해서는 프로세스별 최고치 표도 확인할 수 있습니다.", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow 기록: 90일에 걸친 CPU·메모리·디스크 장기 그래프", + "The whole den, from the menu bar.": "굴 전체를 메뉴 막대에서.", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "앱을 열지 않아도 전체 그림을 펼쳐 보여 주는 HUD입니다. 실시간 지표, 상위 프로세스, 그리고 필요한 도구로 바로 가는 길이 들어 있습니다.", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Burrow 메뉴 막대 HUD: 실시간 지표와 상위 프로세스를 펼침 메뉴로 표시", + "Ask your Mac, from Claude.": "Claude에서 내 Mac에 물어보세요.", + "The built-in MCP server exposes": "내장 MCP 서버가", + ", and": ", ", + "to any agent, plus a loopback HTTP API on": "를 모든 에이전트에 제공하며, 루프백 HTTP API도", + ". Both stay local.": "에서 함께 제공합니다. 둘 다 이 Mac 안에서만 동작합니다.", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code가 Burrow의 MCP 서버에 머신 상태를 묻는 화면", + "What's new · August 2026": "새 소식 · 2026년 8월", + "New in 0.14.0": "0.14.0의 새로운 점", + "All releases": "전체 릴리스", + "Burrow offers the privileged helper": "Burrow가 권한 도우미를 먼저 안내합니다", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "관리자 작업을 Touch ID로 승인하게 해 주는 도우미는 설정 안의 버튼 하나 뒤에 있었고, 그곳으로 안내하는 것이 아무것도 없었습니다. 이제는 전체 디스크 접근 권한과 같은 방식으로 안내합니다. 창 위에 배너 하나가 떠서 막지 않고 알려 주기만 하며, 닫으면 다시 나타나지 않습니다. 이 도우미는 편의를 위한 것이지 Burrow가 동작하는 데 필요한 것이 아니기 때문입니다.", + "The reviewed clean reports what it removed": "확인 후 실행하는 정리가 삭제한 내용을 알려 줍니다", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "체크한 것을 정확히 지우고도 아무 일도 하지 않은 것처럼 보였습니다. 이 경로는 find로 삭제하는데, 성공해도 아무 것도 출력하지 않아 결과 화면에 보여 줄 내용이 없었기 때문입니다. 이제는 삭제가 허용된 경로를 분류별로 묶고 크기를 합산해 알려 줍니다.", + "// also tightened in 0.14.0": "// 0.14.0에서 함께 다듬은 것", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "확인 후 실행하는 정리가 지우는 대상은 그대로이고, 달라진 것은 알려 주는 내용뿐입니다", + "The helper stays strictly optional; decline it and every operation works as before": "도우미는 어디까지나 선택 사항입니다. 거절해도 모든 작업은 이전과 똑같이 동작합니다", + "why you can trust it": "믿어도 되는 이유", + "A tool that touches your files should earn it.": "내 파일을 건드리는 도구라면 신뢰를 얻어야 합니다.", + "Open source": "오픈 소스", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "모든 코드가 공개되어 있고 MIT 라이선스이므로 읽고, 검토하고, 갈라 나갈 수 있습니다.", + "See the repo": "저장소 보기", + "Show before you remove": "지우기 전에 보여 주기", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "모든 작업이 파일과 용량을 먼저 나열합니다. 사용자가 확인해야 Burrow가 움직입니다. 백그라운드에서 도는 root 도우미는 없으며, 묻는 것은 macOS 자체 대화상자입니다.", + "Your data stays put": "데이터는 그 자리에 남습니다", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "검사 결과, 지표, 기록은 이 기기를 절대 벗어나지 않습니다. 익명이며 끌 수 있는 진단 정보는 항목별로", + "TELEMETRY.md": "", + "install": "설치", + "Free, forever. No account, no subscription.": "언제까지나 무료입니다. 계정도 구독도 없습니다.", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "모든 도구, 메뉴 막대 HUD, 기록, MCP 서버를 원하는 만큼 여러 대에서 쓸 수 있습니다.", + ".zip": "", + "Apple Silicon": "Apple 실리콘", + "Intel": "", + "64-bit": "64비트", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "앱 + 엔진", + "copy the Homebrew install command": "Homebrew 설치 명령어 복사", + "brew install --cask caezium/tap/burrow": "", + "copy": "복사", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "Windows 버전은 Mac 버전보다 늦으며 아직 미리보기 단계입니다. 다른 설치 방법과 체크섬, 이전 버전은", + "install page": "설치 페이지", + "Frequently Asked Questions": "자주 묻는 질문", + "Is it really free?": "정말 무료인가요?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "네. MIT 라이선스이며 계정도, 사용 기한도, 유료 등급도, 끼워 넣은 것도 없습니다. 실행하기 전에 읽어 보고 싶다면 전체 소스가 GitHub에 있습니다.", + "Is Burrow safe to use?": "Burrow는 안전한가요?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "모든 작업이 실행 전에 파일 목록과 용량을 보여 주고, 정리는 분류를 지워도 안전한 순서로 정렬합니다. 백그라운드에서 도는 root 도우미는 없습니다. 관리자 권한이 필요하면 macOS 자체 대화상자가 묻고, Burrow는 그 명령 하나만 실행한 뒤 종료합니다.", + "What does it actually delete?": "실제로 무엇을 지우나요?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "앱이 알아서 다시 만드는 캐시와 임시 파일입니다. 브라우저 캐시, 개발 빌드 산출물, App Support 캐시, 로그, 남은 설치 파일 등입니다. 다시 만드는 데 실제로 비용이 드는 패키지 캐시와 빌드 산출물은 직접 확인하기 전까지 선택되지 않은 채로 둡니다.", + "Does it upload anything?": "어딘가로 무언가를 보내나요?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "파일, 경로, URL, 지표는 보내지 않습니다. 검사 결과와 기록은 기기에 남고, MCP 서버는 루프백에서만 동작합니다. 다만 익명이며 끌 수 있는 사용 및 충돌 진단 정보는 보내며, 그 항목은", + ". One Settings switch turns it off, and source builds ship inert.": "에 하나씩 적어 두었습니다. 설정의 스위치 하나로 끌 수 있고, 소스에서 빌드한 경우에는 처음부터 아무것도 보내지 않습니다.", + "Do I need Full Disk Access?": "전체 디스크 접근 권한이 필요한가요?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "아니요. 권한이 없어도 Burrow는 안전한 검사를 실행합니다. 허용하면 App Support와 컨테이너의 더 깊은 캐시까지 닿을 수 있으며, 언제든 허용하거나 취소할 수 있습니다.", + "Is it signed and notarized?": "서명과 공증이 되어 있나요?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "네, 0.11.0부터입니다. 서명·공증·스테이플링·Gatekeeper 검사를 모두 통과하지 않으면 태그에서 배포될 수 없습니다. 보관된 0.10.5 이하 빌드는 그 이전 것이라, Gatekeeper가 막으면 마우스 오른쪽 버튼을 눌러", + "Open": "열기", + "if Gatekeeper blocks one. The full contract is in": "를 선택하세요. 전체 약속은", + "SECURITY.md": "", + "What can an agent do with it?": "에이전트는 무엇을 할 수 있나요?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "26가지 MCP 도구가 스냅샷, 기록, 상위 프로세스, 디스크 분석, 중복 파일, 포트, 네트워크 등을 다룹니다. 그중 14가지는 읽기 전용이라 바로 쓸 수 있고, 기기를 바꾸는 도구는 각각 따로 명시적으로 켜야 합니다. 전체 목록은", + "agent-tools.md": "", + "Does it run on Windows?": "Windows에서도 실행되나요?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "WinUI 3와 .NET 8로 만든 네이티브 이식판이 베타로 진행 중이며, 도구 단위로 기능을 맞춰 가고 있습니다. macOS가 완성도 높은 주력이고, Windows 미리보기는 현재 zip으로 배포되며 설치 프로그램도 준비 중입니다.", + "Track it on GitHub": "GitHub에서 살펴보기", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "소스에서 빌드하거나 MCP 서버를 연결하는 방법, 그 밖의 모든 것은", + "README": "", + "GitHub": "", + "Security": "보안", + "Telemetry": "수집 정보", + "License": "라이선스", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/pt-BR.json b/docs/i18n/pt-BR.json new file mode 100644 index 00000000..dd0c002a --- /dev/null +++ b/docs/i18n/pt-BR.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · Utilitário livre e de código aberto para limpeza, software e status no macOS", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "O Burrow é um app nativo, gratuito e de código aberto para macOS (e Windows, em beta): limpa o que sobra, gerencia apps, roda a manutenção, mapeia o disco e acompanha o status ao vivo, tudo em uma janela. Além disso, histórico de longo prazo e um servidor MCP para o Claude Code.", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · Utilitário livre e de código aberto para macOS e Windows", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "Limpe o que sobra, gerencie apps, rode a manutenção, mapeie o disco e acompanhe o status ao vivo, em um único app nativo. Nativo no macOS e agora em beta no Windows. Gratuito e sob licença MIT. Com histórico e um servidor MCP.", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · Utilitário livre e de código aberto para limpeza, disco e status no Mac", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "Limpa o que sobra, encontra duplicatas e sobras, mapeia o disco e acompanha o status ao vivo. Uma janela nativa. Gratuito e de código aberto.", + "Burrow": "", + "Tools": "Ferramentas", + "Docs": "Documentação", + "Compare": "Comparar", + "Blog": "Blog", + "Install": "Instalar", + "Changelog": "Novidades", + "Roadmap": "Planejamento", + "View Burrow on GitHub": "Ver o Burrow no GitHub", + "1.2k": "", + "Download for Mac": "Baixar para Mac", + "Download": "Baixar", + "Everything you'd open": "Tudo para o que você abria", + "six apps": "seis apps", + "for.": ", em um só lugar.", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "Um utilitário para Mac, gratuito e de código aberto, que limpa o que sobra, encontra duplicatas e sobras, mostra o que está comendo seu disco e acompanha o status do sistema ao vivo. Uma janela nativa, e uma versão para Windows em beta.", + "or": "ou", + "copy command": "copiar o comando", + "Free": "Gratuito", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11 (beta)", + "Already downloaded by": "Já baixado por", + "people": "pessoas", + "Burrow Analyze treemap showing what is using disk space": "O mapa de árvore do Burrow mostrando o que está ocupando espaço em disco", + "what's inside": "o que tem dentro", + "Sixteen surfaces, one window.": "Dezesseis ferramentas, uma janela.", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "Cada ferramenta recolore a janela inteira do seu jeito, porque a cor é o modo de dizer no que ela está prestes a mexer. Todas fazem o trabalho do início ao fim, sem jogar você num terminal.", + "Clean": "Limpeza", + "10+ categories": "mais de 10 categorias", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "Caches, registros e arquivos temporários em mais de dez categorias, ordenados pelo que é mais seguro remover. Você vê cada arquivo e cada byte antes de qualquer coisa se mexer.", + "Purge": "Limpeza profunda", + "dev leftovers": "sobras de desenvolvimento", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "O entulho que o desenvolvimento deixa: node_modules, DerivedData, saídas de compilação, caches de pacotes vencidos, cada um com o custo de refazer.", + "Installers": "Instaladores", + "downloads sweep": "faxina nos downloads", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "As caixas que você já desempacotou. Encontra .dmg e .pkg parados em Downloads muito depois de o app ter sido instalado.", + "Apps": "Apps", + "bulk uninstall": "desinstalar em lote", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "Todos os apps instalados, ordenáveis por tamanho ou por uso recente, com desinstalação em lote que leva junto preferências, arquivos de apoio e agentes de inicialização.", + "Optimize": "Otimização", + "one prompt": "uma confirmação", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "Reconstruir a Visualização Rápida, reparar caches e metadados, limpar o DNS, revisar os itens de início. As tarefas de sempre atrás de uma única confirmação.", + "Tune-Up": "Ajuste fino", + "one pass": "uma passada", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "Cuidado completo em uma passada. Escolhe a manutenção que realmente se aplica ao seu Mac agora e leva até o fim.", + "Analyze": "Análise", + "treemap": "mapa de árvore", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "Um mapa de árvore do disco inteiro. Desça por qualquer ramo e mostre no Finder ou mande para o Lixo pelo menu de contexto.", + "Duplicates": "Duplicatas", + "content hashed": "pelo conteúdo", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "Localiza duplicatas pelo hash do conteúdo e reconhece links físicos, então arquivos compartilhados entre ferramentas não são contados duas vezes.", + "Leftovers": "Sobras", + "orphan files": "arquivos órfãos", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "Arquivos de apoio, preferências e agentes de inicialização de apps que você removeu há tempos, associados de volta ao app que os deixou.", + "Similar Photos": "Fotos parecidas", + "perceptual match": "comparação visual", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "Comparação visual em toda a sua fototeca para trazer à tona fotos quase idênticas e sequências que vale a pena afinar.", + "Status": "Status", + "live + HUD": "ao vivo + HUD", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU, memória, GPU, disco, rede e bateria em uma página só, cada um com seu minigráfico, mais uma tabela de processos que pode ser fixada e um HUD na barra de menus.", + "Ports": "Portas", + "who is listening": "quem está escutando", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "Cada porta em escuta com o processo por trás dela, para descobrir o que está segurando a 3000 sem recorrer ao lsof.", + "Network": "Rede", + "per process": "por processo", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "Tráfego ao vivo por interface e por processo, para ver o que está realmente usando a conexão.", + "Get Online": "Voltar à rede", + "diagnostics": "diagnóstico", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "Um caminho guiado de volta à superfície quando a conexão cai: DNS, gateway, portal de autenticação e interfaces, verificados em ordem.", + "History": "Histórico", + "90 days": "90 dias", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "Cada amostra de status vai para um arquivo SQLite local. Percorra de cinco minutos até noventa dias, com tabelas de pico por processo.", + "Agent · MCP": "Agente · MCP", + "26 tools": "26 ferramentas", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "Vinte e seis ferramentas MCP abrem o app inteiro para o Claude Code, além de uma API HTTP em loopback. Somente leitura por padrão; o que apaga precisa ser liberado à parte.", + "see it": "ver de perto", + "Built to be looked at, not just run.": "Feito para ser olhado, não só executado.", + "See what's actually eating the disk.": "Veja o que está realmente comendo o disco.", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "Um mapa de árvore de cada pasta, dimensionado pelo que ela de fato custa. Desça até o culpado ficar óbvio e resolva sem sair do mapa.", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow Análise: um mapa de árvore do uso do disco, aberto até uma pasta", + "Every pulse of the machine, live.": "Cada batida da máquina, ao vivo.", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU, memória, GPU, disco, rede e bateria dividem uma página, cada um com seu minigráfico. A tabela de processos ordena e fixa, para que o que está acelerando suas ventoinhas fique à vista.", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow Status: CPU, memória, GPU, disco e rede ao vivo, com a tabela de processos", + "Show before you remove.": "Mostrar antes de remover.", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "A limpeza ordena tudo o que encontra pelo quanto é seguro apagar e mostra a lista de arquivos e os bytes antes de qualquer coisa se mexer. Desmarque o que quiser manter: nada some por causa de um clique errado.", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow Limpeza: o que sobra separado por categoria, com contagem e tamanho, pronto para revisar", + "A long memory of the den.": "Uma longa memória da toca.", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "As amostras de status vão para um histórico SQLite local que você pode percorrer de cinco minutos até noventa dias, com tabelas de pico por processo para os momentos em que as ventoinhas realmente aceleraram.", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow Histórico: gráficos de longo prazo de CPU, memória e disco ao longo de noventa dias", + "The whole den, from the menu bar.": "A toca inteira, pela barra de menus.", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "Um HUD que abre o quadro completo sem abrir o app: métricas ao vivo, principais processos e um atalho para a ferramenta de que você precisa.", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "HUD do Burrow na barra de menus: métricas ao vivo e principais processos em um menu suspenso", + "Ask your Mac, from Claude.": "Pergunte ao seu Mac, direto do Claude.", + "The built-in MCP server exposes": "O servidor MCP integrado expõe", + ", and": " e ", + "to any agent, plus a loopback HTTP API on": "para qualquer agente, além de uma API HTTP em loopback em", + ". Both stay local.": ". Os dois ficam locais.", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code consultando o servidor MCP do Burrow sobre o estado da máquina", + "What's new · August 2026": "Novidades · agosto de 2026", + "New in 0.14.0": "Novo na 0.14.0", + "All releases": "Todas as versões", + "Burrow offers the privileged helper": "O Burrow oferece o auxiliar privilegiado", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "O auxiliar que permite autorizar operações de administrador com o Touch ID ficava atrás de um único botão nos ajustes, sem nada apontando para ele. Agora é oferecido do mesmo jeito que o Acesso Total ao Disco: um aviso sobre a janela, que informa sem bloquear. Fechá-lo é definitivo, porque o auxiliar é uma comodidade e não algo de que o Burrow precise para funcionar.", + "The reviewed clean reports what it removed": "A limpeza revisada informa o que removeu", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "Ela apagava exatamente o que estava marcado e depois parecia não ter feito nada: esse caminho apaga com o find, que termina em silêncio, então a tela de resultado não tinha o que mostrar. Agora informa os caminhos que teve autorização para remover, agrupados por categoria e com os tamanhos somados.", + "// also tightened in 0.14.0": "// também ajustado na 0.14.0", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "Nada mudou no que a limpeza revisada apaga — só no que ela conta a você", + "The helper stays strictly optional; decline it and every operation works as before": "O auxiliar continua totalmente opcional; recuse e tudo funciona como antes", + "why you can trust it": "por que dá para confiar", + "A tool that touches your files should earn it.": "Uma ferramenta que mexe nos seus arquivos precisa merecer isso.", + "Open source": "Código aberto", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "Cada linha é pública e sob licença MIT, então você pode ler, auditar ou bifurcar.", + "See the repo": "Ver o repositório", + "Show before you remove": "Mostrar antes de remover", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "Toda ação lista primeiro os arquivos e os bytes. Você confirma, o Burrow age. Sem auxiliar root em segundo plano: quem pergunta é a própria janela do macOS.", + "Your data stays put": "Seus dados ficam onde estão", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "Verificações, métricas e histórico nunca saem da máquina. Os diagnósticos anônimos, que você pode desligar, estão listados campo a campo em", + "TELEMETRY.md": "", + "install": "instalação", + "Free, forever. No account, no subscription.": "Gratuito, para sempre. Sem conta e sem assinatura.", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "Todas as ferramentas, o HUD da barra de menus, o histórico e o servidor MCP, em quantas máquinas você quiser.", + ".zip": "", + "Apple Silicon": "Apple Silicon", + "Intel": "", + "64-bit": "64 bits", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "app + motor", + "copy the Homebrew install command": "copiar o comando de instalação do Homebrew", + "brew install --cask caezium/tap/burrow": "", + "copy": "copiar", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "A versão Windows vem atrás da do Mac e ainda é uma prévia. Outras formas de instalar, as somas de verificação e as versões antigas estão na", + "install page": "página de instalação", + "Frequently Asked Questions": "Perguntas frequentes", + "Is it really free?": "É gratuito mesmo?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "Sim. Sob licença MIT, sem contas, sem limite de teste, sem plano pago e sem nada embutido junto. O código completo está no GitHub, caso você queira ler antes de executar.", + "Is Burrow safe to use?": "O Burrow é seguro?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "Toda ação mostra a lista de arquivos e os bytes antes de rodar, e a limpeza ordena as categorias pelo quanto é seguro removê-las. Não há auxiliar root em segundo plano: quando uma tarefa precisa de permissões de administrador, quem pergunta é a própria janela do macOS, o Burrow roda aquele único comando e encerra.", + "What does it actually delete?": "O que ele apaga, afinal?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "Caches e arquivos temporários que os apps recriam sozinhos: caches de navegadores, artefatos de compilação, caches do App Support, registros, instaladores esquecidos. Caches de pacotes e saídas de compilação cujo custo de refazer é real ficam desmarcados até você confirmar.", + "Does it upload anything?": "Ele envia alguma coisa?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "Nem arquivos, nem caminhos, nem URLs, nem métricas. As verificações e o histórico ficam na máquina, e o servidor MCP só escuta em loopback. O Burrow envia, sim, diagnósticos anônimos de uso e de falha, que você pode desligar e estão descritos campo a campo em", + ". One Settings switch turns it off, and source builds ship inert.": ". Um interruptor nos ajustes desliga tudo, e as compilações feitas a partir do código não enviam nada.", + "Do I need Full Disk Access?": "Preciso do Acesso Total ao Disco?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "Não. O Burrow faz uma verificação segura sem ele. Concedê-lo permite alcançar caches mais profundos do App Support e de contêineres, e você pode conceder ou revogar quando quiser.", + "Is it signed and notarized?": "Ele é assinado e notarizado?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "Sim, da 0.11.0 em diante, e uma tag só publica se assinatura, notarização, grampeamento e avaliação do Gatekeeper passarem. As versões arquivadas 0.10.5 e anteriores são de antes disso: clique com o botão direito e escolha", + "Open": "Abrir", + "if Gatekeeper blocks one. The full contract is in": "se o Gatekeeper bloquear alguma. O compromisso completo está em", + "SECURITY.md": "", + "What can an agent do with it?": "O que um agente consegue fazer com isso?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "Vinte e seis ferramentas MCP cobrem instantâneos, histórico, principais processos, análise de disco, duplicatas, portas, rede e mais. Catorze são somente leitura e ficam disponíveis de imediato; as que alteram sua máquina exigem uma liberação explícita cada uma. A lista completa está em", + "agent-tools.md": "", + "Does it run on Windows?": "Funciona no Windows?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "Há uma versão nativa em WinUI 3 e .NET 8 em beta ativo, alcançando a paridade ferramenta por ferramenta. O macOS é a versão madura; a prévia do Windows sai hoje como zip, e um instalador está a caminho.", + "Track it on GitHub": "Acompanhar no GitHub", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "Compilar a partir do código, ligar o servidor MCP ou qualquer outra coisa? Está tudo no", + "README": "", + "GitHub": "", + "Security": "Segurança", + "Telemetry": "Telemetria", + "License": "Licença", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/ru.json b/docs/i18n/ru.json new file mode 100644 index 00000000..8099de8d --- /dev/null +++ b/docs/i18n/ru.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · Бесплатная утилита с открытым кодом для очистки, программ и состояния в macOS", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow — бесплатное нативное приложение с открытым кодом для macOS (и Windows в бета-версии): очистка мусора, управление программами, обслуживание, карта диска и наблюдение за состоянием в реальном времени — всё в одном окне. А также история за месяцы и MCP-сервер для Claude Code.", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · Бесплатная утилита с открытым кодом для macOS и Windows", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "Очистка мусора, управление программами, обслуживание, карта диска и наблюдение за состоянием в реальном времени — в одном нативном приложении. Нативно на macOS, теперь и бета для Windows. Бесплатно, под лицензией MIT. Плюс история и MCP-сервер.", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · Бесплатная утилита с открытым кодом для очистки, диска и состояния Mac", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "Убирает мусор, находит дубликаты и остатки, строит карту диска и следит за состоянием в реальном времени. Одно нативное окно. Бесплатно и с открытым кодом.", + "Burrow": "", + "Tools": "Инструменты", + "Docs": "Документация", + "Compare": "Сравнение", + "Blog": "Блог", + "Install": "Установка", + "Changelog": "Изменения", + "Roadmap": "Планы", + "View Burrow on GitHub": "Открыть Burrow на GitHub", + "1.2k": "", + "Download for Mac": "Загрузить для Mac", + "Download": "Загрузить", + "Everything you'd open": "Всё, ради чего вы открывали", + "six apps": "шесть программ", + "for.": ", — в одном месте.", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "Бесплатная утилита для Mac с открытым кодом: убирает мусор, находит дубликаты и остатки, показывает, что съедает диск, и следит за состоянием системы в реальном времени. Одно нативное окно, а для Windows есть бета-сборка.", + "or": "или", + "copy command": "скопировать команду", + "Free": "Бесплатно", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11 (бета)", + "Already downloaded by": "Уже загрузили", + "people": "человек", + "Burrow Analyze treemap showing what is using disk space": "Древовидная карта Burrow, показывающая, что занимает место на диске", + "what's inside": "что внутри", + "Sixteen surfaces, one window.": "Шестнадцать инструментов, одно окно.", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "Каждый инструмент перекрашивает всё окно в свой цвет, потому что цвет — это способ сказать, к чему он собирается прикоснуться. Любой из них доводит работу до конца и не отправляет вас в терминал.", + "Clean": "Очистка", + "10+ categories": "больше 10 категорий", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "Кэши, журналы и временные файлы более чем в десяти категориях, отсортированные по тому, что безопаснее удалять. Вы видите каждый файл и каждый байт до того, как что-либо сдвинется с места.", + "Purge": "Глубокая очистка", + "dev leftovers": "остатки разработки", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "Порода, которую оставляет разработка: node_modules, DerivedData, результаты сборки, устаревшие кэши пакетов — и для каждого показано, во что обойдётся пересборка.", + "Installers": "Установщики", + "downloads sweep": "уборка загрузок", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "Ящики, которые вы давно распаковали. Находит файлы .dmg и .pkg, лежащие в «Загрузках» спустя долгое время после установки программы.", + "Apps": "Программы", + "bulk uninstall": "удаление пачкой", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "Все установленные программы с сортировкой по размеру или недавнему использованию; при удалении нескольких сразу подчищаются настройки, вспомогательные файлы и агенты запуска.", + "Optimize": "Оптимизация", + "one prompt": "один запрос", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "Пересобрать Quick Look, починить кэши и метаданные, сбросить DNS, проверить объекты входа. Рутина, собранная за одним запросом.", + "Tune-Up": "Настройка", + "one pass": "один проход", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "Полный уход за один проход. Выбирает обслуживание, которое действительно нужно этому Mac прямо сейчас, и доводит его до конца.", + "Analyze": "Анализ", + "treemap": "древовидная карта", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "Древовидная карта всего диска. Спускайтесь в любую ветку, а затем показывайте в Finder или отправляйте в Корзину прямо из контекстного меню.", + "Duplicates": "Дубликаты", + "content hashed": "по хешу содержимого", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "Поиск дубликатов по хешу содержимого с учётом жёстких ссылок, поэтому файлы, общие для нескольких инструментов, не считаются дважды.", + "Leftovers": "Остатки", + "orphan files": "осиротевшие файлы", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "Вспомогательные файлы, настройки и агенты запуска от давно удалённых программ, сопоставленные с той программой, которая их оставила.", + "Similar Photos": "Похожие фото", + "perceptual match": "визуальное сравнение", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "Визуальное сравнение по всей медиатеке, чтобы найти почти одинаковые кадры и серийную съёмку, которую стоит проредить.", + "Status": "Состояние", + "live + HUD": "в реальном времени + панель", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU, память, GPU, диск, сеть и батарея на одной странице, у каждого свой мини-график; плюс закрепляемая таблица процессов и панель в строке меню.", + "Ports": "Порты", + "who is listening": "кто слушает", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "Каждый прослушиваемый порт вместе с процессом за ним, чтобы найти, кто занял 3000, не вспоминая про lsof.", + "Network": "Сеть", + "per process": "по процессам", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "Скорость в реальном времени по интерфейсам и по процессам, чтобы видеть, что на самом деле занимает канал.", + "Get Online": "Вернуть сеть", + "diagnostics": "диагностика", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "Пошаговый путь наверх, когда связь пропала: по порядку проверяются DNS, шлюз, страница авторизации и интерфейсы.", + "History": "История", + "90 days": "90 дней", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "Каждый замер состояния попадает в локальный файл SQLite. Отматывайте от пяти минут до девяноста дней, с таблицами пиков по процессам.", + "Agent · MCP": "Агент · MCP", + "26 tools": "26 инструментов", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "Двадцать шесть инструментов MCP открывают всё приложение для Claude Code, плюс HTTP-интерфейс на локальной петле. По умолчанию только чтение; всё, что удаляет, включается отдельно.", + "see it": "посмотреть", + "Built to be looked at, not just run.": "Сделано, чтобы на него смотрели, а не только запускали.", + "See what's actually eating the disk.": "Увидьте, что на самом деле съедает диск.", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "Древовидная карта каждой папки, где размер — это то, во что она вам обходится. Спускайтесь, пока виновник не станет очевиден, и разбирайтесь с ним, не покидая карту.", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow, анализ: древовидная карта занятого места с раскрытой папкой", + "Every pulse of the machine, live.": "Каждый удар пульса машины — в реальном времени.", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU, память, GPU, диск, сеть и батарея делят одну страницу, у каждого свой мини-график. Таблицу процессов можно сортировать и закреплять, чтобы то, что раскручивает вентиляторы, оставалось на виду.", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow, состояние: CPU, память, GPU, диск и сеть в реальном времени и таблица процессов", + "Show before you remove.": "Сначала показать, потом удалять.", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "Очистка сортирует найденное по тому, насколько безопасно это удалять, и показывает список файлов и объём до того, как что-либо сдвинется. Снимите отметку с того, что хотите оставить: ничего не исчезнет из-за одного случайного нажатия.", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow, очистка: мусор по категориям с количеством файлов и размерами, готовый к проверке", + "A long memory of the den.": "Долгая память норы.", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "Замеры состояния попадают в локальную историю SQLite, которую можно отматывать от пяти минут до девяноста дней, с таблицами пиков по процессам для тех моментов, когда вентиляторы действительно раскручивались.", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow, история: графики CPU, памяти и диска за девяносто дней", + "The whole den, from the menu bar.": "Вся нора — из строки меню.", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "Панель, которая разворачивает всю картину, не открывая приложение: метрики в реальном времени, самые прожорливые процессы и переход в нужный инструмент.", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Панель Burrow в строке меню: метрики в реальном времени и главные процессы в выпадающем списке", + "Ask your Mac, from Claude.": "Спросите свой Mac прямо из Claude.", + "The built-in MCP server exposes": "Встроенный MCP-сервер открывает", + ", and": " и ", + "to any agent, plus a loopback HTTP API on": "любому агенту, а также HTTP-интерфейс на локальной петле по адресу", + ". Both stay local.": ". И то и другое не выходит за пределы Mac.", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code запрашивает состояние машины у MCP-сервера Burrow", + "What's new · August 2026": "Что нового · август 2026", + "New in 0.14.0": "Новое в 0.14.0", + "All releases": "Все выпуски", + "Burrow offers the privileged helper": "Burrow сам предлагает привилегированный помощник", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "Помощник, позволяющий подтверждать действия администратора через Touch ID, прятался за одной кнопкой в настройках, к которой ничто не вело. Теперь его предлагают так же, как полный доступ к диску: одна плашка над окном, которая сообщает, а не преграждает путь. Закрыв её, вы больше её не увидите: этот помощник — удобство, а не то, без чего Burrow не работает.", + "The reviewed clean reports what it removed": "Проверенная очистка сообщает, что именно удалила", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "Она удаляла ровно то, что было отмечено, и при этом выглядела так, будто не сделала ничего: этот путь удаляет через find, который завершается молча, поэтому экрану с результатом нечего было показать. Теперь она сообщает пути, которые ей разрешили удалить, сгруппированные по категориям с суммой размеров.", + "// also tightened in 0.14.0": "// также подтянуто в 0.14.0", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "Что удаляет проверенная очистка, не изменилось — изменилось лишь то, что она вам сообщает", + "The helper stays strictly optional; decline it and every operation works as before": "Помощник остаётся строго необязательным: откажитесь — и все операции работают как прежде", + "why you can trust it": "почему этому можно доверять", + "A tool that touches your files should earn it.": "Инструмент, который трогает ваши файлы, должен это заслужить.", + "Open source": "Открытый код", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "Каждая строка открыта и распространяется по лицензии MIT: её можно прочитать, проверить или форкнуть.", + "See the repo": "Открыть репозиторий", + "Show before you remove": "Сначала показать, потом удалять", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "Любое действие сначала перечисляет файлы и объём. Вы подтверждаете — Burrow действует. Никакого фонового помощника с правами root: спрашивает собственное окно macOS.", + "Your data stays put": "Ваши данные остаются на месте", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "Результаты сканирования, метрики и история никогда не покидают компьютер. Анонимная диагностика, которую можно отключить, расписана по полям в", + "TELEMETRY.md": "", + "install": "установка", + "Free, forever. No account, no subscription.": "Бесплатно и навсегда. Без учётной записи и без подписки.", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "Все инструменты, панель в строке меню, история и MCP-сервер — на любом количестве компьютеров.", + ".zip": "", + "Apple Silicon": "Apple Silicon", + "Intel": "", + "64-bit": "64 бита", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "приложение + движок", + "copy the Homebrew install command": "скопировать команду установки Homebrew", + "brew install --cask caezium/tap/burrow": "", + "copy": "скопировать", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "Версия для Windows отстаёт от Mac и пока остаётся предварительной. Другие способы установки, контрольные суммы и прежние версии — на", + "install page": "странице установки", + "Frequently Asked Questions": "Частые вопросы", + "Is it really free?": "Это правда бесплатно?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "Да. Лицензия MIT, без учётных записей, без ограничений пробного периода, без платного тарифа и без ничего в довесок. Если хотите прочитать код перед запуском, он целиком лежит на GitHub.", + "Is Burrow safe to use?": "Безопасно ли пользоваться Burrow?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "Каждое действие перед запуском показывает список файлов и объём, а очистка сортирует категории по тому, насколько безопасно их удалять. Фонового помощника с правами root нет: когда задаче нужны права администратора, спрашивает собственное окно macOS, Burrow выполняет ровно одну команду и завершается.", + "What does it actually delete?": "Что именно оно удаляет?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "Кэши и временные файлы, которые программы создают заново сами: кэши браузеров, результаты сборки, кэши в App Support, журналы, забытые установщики. Кэши пакетов и результаты сборки, пересобрать которые действительно долго, остаются неотмеченными, пока вы не подтвердите их сами.", + "Does it upload anything?": "Отправляет ли оно что-нибудь?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "Ни файлов, ни путей, ни адресов, ни метрик. Результаты сканирования и история остаются на компьютере, а MCP-сервер слушает только локальную петлю. Burrow действительно отправляет анонимную диагностику использования и сбоев, которую можно отключить и которая расписана по полям в", + ". One Settings switch turns it off, and source builds ship inert.": ". Один переключатель в настройках выключает её, а сборки из исходников не отправляют ничего изначально.", + "Do I need Full Disk Access?": "Нужен ли полный доступ к диску?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "Нет. Без него Burrow выполняет безопасное сканирование. С ним Burrow дотягивается до более глубоких кэшей App Support и контейнеров, а выдать или отозвать доступ можно в любой момент.", + "Is it signed and notarized?": "Подписано ли оно и заверено ли у Apple?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "Да, начиная с 0.11.0, и тег не может быть опубликован, пока не пройдут подпись, заверение, прикрепление и проверка Gatekeeper. Архивные сборки 0.10.5 и старше появились раньше: если Gatekeeper блокирует такую, нажмите правой кнопкой и выберите", + "Open": "Открыть", + "if Gatekeeper blocks one. The full contract is in": ". Полные обязательства описаны в", + "SECURITY.md": "", + "What can an agent do with it?": "Что с этим может делать агент?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "Двадцать шесть инструментов MCP охватывают снимки, историю, самые прожорливые процессы, анализ диска, дубликаты, порты, сеть и не только. Четырнадцать из них только читают и доступны сразу; те, что меняют компьютер, требуют отдельного явного разрешения. Полный список — в", + "agent-tools.md": "", + "Does it run on Windows?": "Работает ли оно в Windows?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "Нативный порт на WinUI 3 и .NET 8 активно тестируется и догоняет оригинал инструмент за инструментом. macOS остаётся зрелой основной версией; предварительная сборка для Windows пока распространяется в виде zip, установщик готовится.", + "Track it on GitHub": "Следить на GitHub", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "Сборка из исходников, подключение MCP-сервера или что-то ещё? Всё это есть в", + "README": "", + "GitHub": "", + "Security": "Безопасность", + "Telemetry": "Телеметрия", + "License": "Лицензия", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/zh-Hans.json b/docs/i18n/zh-Hans.json new file mode 100644 index 00000000..a2ce404c --- /dev/null +++ b/docs/i18n/zh-Hans.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · 免费开源的 macOS 清理、软件与状态工具", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow 是一款面向 macOS(Windows 版本处于测试阶段)的免费开源原生桌面应用:清理垃圾、管理应用、执行维护、绘制磁盘地图、实时查看状态,全都在一个窗口里完成。另外还有长期历史记录,以及给 Claude Code 用的 MCP 服务。", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · 面向 macOS 与 Windows 的免费开源桌面工具", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "清理垃圾、管理应用、执行维护、绘制磁盘地图、实时查看状态,全部在一个原生桌面应用里。macOS 原生,Windows 版本现处于测试阶段。免费,采用 MIT 许可。另有历史记录与 MCP 服务。", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · 免费开源的 Mac 清理、磁盘与状态工具", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "清理垃圾,找出重复文件与残留,绘制磁盘地图,实时查看状态。一个原生窗口。免费且开源。", + "Burrow": "", + "Tools": "工具", + "Docs": "文档", + "Compare": "对比", + "Blog": "博客", + "Install": "安装", + "Changelog": "更新日志", + "Roadmap": "路线图", + "View Burrow on GitHub": "在 GitHub 上查看 Burrow", + "1.2k": "", + "Download for Mac": "下载 Mac 版", + "Download": "下载", + "Everything you'd open": "过去要开", + "six apps": "六个应用", + "for.": "才能做的事。", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "一款免费开源的 Mac 工具:清理垃圾,找出重复文件与残留,看清是什么吃掉了磁盘,并实时查看系统状态。一个原生窗口就够,Windows 版本正在测试中。", + "or": "或", + "copy command": "复制命令", + "Free": "免费", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11(测试版)", + "Already downloaded by": "已下载人数", + "people": "人", + "Burrow Analyze treemap showing what is using disk space": "Burrow 分析树状图,展示磁盘空间被什么占用", + "what's inside": "里面有什么", + "Sixteen surfaces, one window.": "十六个工具,一个窗口。", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "每个工具都会用自己的颜色重新渲染整个窗口,因为颜色正是它告诉你即将动到什么的方式。每个工具都把活干完,不会把你丢回终端。", + "Clean": "清理", + "10+ categories": "10 多个类别", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "十多个类别的缓存、日志与临时文件,按删除的安全程度排序。在任何东西被移动之前,你都能看到每个文件和每一字节。", + "Purge": "深度清理", + "dev leftovers": "开发残留", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "开发工作留下的渣土:node_modules、DerivedData、构建产物、过期的包缓存,并附上各自的重建成本。", + "Installers": "安装包", + "downloads sweep": "清扫下载目录", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "你早已拆开的箱子。找出应用装好很久之后仍留在“下载”里的 .dmg 与 .pkg 文件。", + "Apps": "应用", + "bulk uninstall": "批量卸载", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "列出所有已安装应用,可按大小或最近使用排序;多选卸载会一并清走偏好设置、支持文件与启动代理。", + "Optimize": "优化", + "one prompt": "一次确认", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "重建快速查看、修复缓存与元数据、清空 DNS、检查登录项。把这些例行杂活收进一次确认里。", + "Tune-Up": "调优", + "one pass": "一遍搞定", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "一遍完成整套养护。挑出此刻真正适用于这台机器的维护项,并从头执行到尾。", + "Analyze": "分析", + "treemap": "树状图", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "整块磁盘的方块树状图。可深入任意分支,再从右键菜单在访达中显示或移到废纸篓。", + "Duplicates": "重复文件", + "content hashed": "按内容哈希", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "按内容哈希查找重复文件,并能识别硬链接,因此被多个工具共用的文件不会被重复计算。", + "Leftovers": "残留文件", + "orphan files": "孤立文件", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "早已删除的应用留下的支持文件、偏好设置与启动代理,并对应回是哪个应用留下的。", + "Similar Photos": "相似照片", + "perceptual match": "感知比对", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "在整个图库中做感知比对,找出几乎相同的照片和值得精简的连拍帧。", + "Status": "状态", + "live + HUD": "实时 + 悬浮面板", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU、内存、GPU、磁盘、网络与电池同页展示,各配迷你走势图;还有可置顶的进程表和菜单栏悬浮面板。", + "Ports": "端口", + "who is listening": "谁在监听", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "列出每个监听端口及其背后的进程,不必再敲 lsof 就能找到是谁占着 3000。", + "Network": "网络", + "per process": "按进程", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "按网卡和按进程实时显示吞吐量,让你看清究竟是什么在占用网络。", + "Get Online": "恢复联网", + "diagnostics": "诊断", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "断网时带你一步步回到地面:依次检查 DNS、网关、强制门户与网卡。", + "History": "历史", + "90 days": "90 天", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "每一次状态采样都写入本地 SQLite 文件。可从五分钟一直回溯到九十天,并附带各进程峰值表。", + "Agent · MCP": "智能体 · MCP", + "26 tools": "26 个工具", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "二十六个 MCP 工具把整个应用开放给 Claude Code,另有一个仅本机回环的 HTTP 接口。默认只读;会造成删除的操作需要另行开启。", + "see it": "看一看", + "Built to be looked at, not just run.": "它是拿来看的,不只是拿来跑的。", + "See what's actually eating the disk.": "看清到底是什么在吃掉磁盘。", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "把每个文件夹按实际占用画成方块树状图。一层层深入直到元凶一目了然,然后不必离开这张图就能处理。", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow 分析:磁盘占用树状图,已深入到某个文件夹", + "Every pulse of the machine, live.": "这台机器的每一次脉动,实时可见。", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU、内存、GPU、磁盘、网络与电池共处一页,各配迷你走势图。进程表可排序、可置顶,让把风扇吹起来的那个东西始终在视线里。", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow 状态:实时的 CPU、内存、GPU、磁盘与网络,并附进程表", + "Show before you remove.": "先给你看,再动手删。", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "清理会把找到的一切按删除安全程度排序,并在任何东西被移动前列出文件清单与字节数。想留下的取消勾选即可;不会因为手滑点一下就删掉什么。", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow 清理:按类别列出的垃圾文件及其数量与大小,可供逐项确认", + "A long memory of the den.": "巢穴的长久记忆。", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "状态采样写入本地 SQLite 历史,可从五分钟回溯到九十天;风扇真正转起来的那些时刻,还能查看各进程的峰值表。", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow 历史:九十天内 CPU、内存与磁盘的长期曲线", + "The whole den, from the menu bar.": "整个巢穴,尽在菜单栏。", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "不用打开应用就能拉下完整概览的悬浮面板:实时指标、占用最高的进程,以及直接跳进所需工具的入口。", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Burrow 菜单栏悬浮面板:下拉显示实时指标与占用最高的进程", + "Ask your Mac, from Claude.": "在 Claude 里问你的 Mac。", + "The built-in MCP server exposes": "内置的 MCP 服务向任意智能体开放", + ", and": "、", + "to any agent, plus a loopback HTTP API on": ",另外还在", + ". Both stay local.": "上提供回环 HTTP 接口。两者都只在本机。", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code 通过 Burrow 的 MCP 服务查询机器状态", + "What's new · August 2026": "新变化 · 2026 年 8 月", + "New in 0.14.0": "0.14.0 新增", + "All releases": "全部版本", + "Burrow offers the privileged helper": "Burrow 会主动提供特权助手", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "那个让管理员操作可以用触控 ID 验证的助手,此前藏在设置里的一个按钮后面,而没有任何地方指向它。现在它像完全磁盘访问权限那样被提供出来——窗口上方一条横幅,只做告知而不拦路;关掉之后就不再出现,因为这个助手只是方便,并非 Burrow 运行所必需。", + "The reviewed clean reports what it removed": "确认后的清理会报告删除了什么", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "它准确删掉了勾选的内容,看上去却像什么都没做:这条路径用 find 删除,成功时不输出任何内容,结果页因此无从展示。现在它会报告被授权删除的路径,按类别分组并合计大小。", + "// also tightened in 0.14.0": "// 0.14.0 中的其他改进", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "确认后的清理删除什么并未改变,改变的只是它告诉你什么", + "The helper stays strictly optional; decline it and every operation works as before": "该助手完全可选;拒绝它之后,所有操作照旧可用", + "why you can trust it": "为什么可以信任它", + "A tool that touches your files should earn it.": "会碰你文件的工具,理应先赢得信任。", + "Open source": "开源", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "每一行代码都公开,采用 MIT 许可,你可以阅读、审计,也可以派生。", + "See the repo": "查看仓库", + "Show before you remove": "先给你看,再动手删", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "每个操作都会先列出文件与字节数。你确认,Burrow 才动手。没有常驻后台的 root 助手:来询问你的是 macOS 自己的对话框。", + "Your data stays put": "你的数据留在原地", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "扫描结果、指标与历史绝不会离开这台机器。匿名、可随时关闭的诊断数据,逐项列在", + "TELEMETRY.md": "", + "install": "安装", + "Free, forever. No account, no subscription.": "永久免费。无需账号,也没有订阅。", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "所有工具、菜单栏悬浮面板、历史记录与 MCP 服务,想装几台机器都可以。", + ".zip": "", + "Apple Silicon": "Apple 芯片", + "Intel": "", + "64-bit": "64 位", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "应用 + 引擎", + "copy the Homebrew install command": "复制 Homebrew 安装命令", + "brew install --cask caezium/tap/burrow": "", + "copy": "复制", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "Windows 版本落后于 Mac 版本,目前仍是预览。更多安装方式、校验和与历史版本,请见", + "install page": "安装页面", + "Frequently Asked Questions": "常见问题", + "Is it really free?": "真的免费吗?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "是的。采用 MIT 许可,没有账号、没有试用期限、没有付费档位,也不会捆绑任何东西。如果你想先看代码再运行,完整源码都在 GitHub 上。", + "Is Burrow safe to use?": "Burrow 用起来安全吗?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "每个操作在执行前都会显示文件清单与字节数,清理还会按删除的安全程度给类别排序。没有常驻后台的 root 助手:当某项任务需要管理员权限时,由 macOS 自己的对话框来询问你,Burrow 只执行那一条命令,随后退出。", + "What does it actually delete?": "它到底删些什么?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "应用会自行重建的缓存与临时文件:浏览器缓存、开发构建产物、应用支持缓存、日志、遗留的安装包。至于重建确有代价的包缓存与构建产物,在你亲自确认之前都保持未勾选。", + "Does it upload anything?": "它会上传什么吗?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "不上传文件、路径、网址或指标。扫描结果与历史留在本机,MCP 服务只监听回环地址。Burrow 确实会发送匿名、可关闭的使用与崩溃诊断数据,各字段逐项披露于", + ". One Settings switch turns it off, and source builds ship inert.": "。设置里一个开关即可关闭,而从源码构建的版本本就不发送任何内容。", + "Do I need Full Disk Access?": "必须开启完全磁盘访问权限吗?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "不必。没有它,Burrow 也能执行安全扫描。授予之后,Burrow 才能触及更深处的应用支持与容器缓存;你随时可以授予或收回。", + "Is it signed and notarized?": "有签名和公证吗?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "有,从 0.11.0 起如此;签名、公证、装订与 Gatekeeper 评估全部通过,标签才可能发布。归档的 0.10.5 及更早版本早于此,如果被 Gatekeeper 拦下,请右键选择", + "Open": "打开", + "if Gatekeeper blocks one. The full contract is in": "。完整约定见", + "SECURITY.md": "", + "What can an agent do with it?": "智能体能用它做什么?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "二十六个 MCP 工具覆盖快照、历史、占用最高的进程、磁盘分析、重复文件、端口、网络等。其中十四个只读,开箱即用;会改动你机器的那些,需要各自明确开启。完整清单见", + "agent-tools.md": "", + "Does it run on Windows?": "能在 Windows 上运行吗?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "基于 WinUI 3 与 .NET 8 的原生移植版正在积极测试中,正逐个工具补齐功能。macOS 是成熟的主力版本;Windows 预览版目前以 zip 形式发布,安装程序正在路上。", + "Track it on GitHub": "在 GitHub 上关注进展", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "从源码构建、接好 MCP 服务,或者别的什么?这些都写在", + "README": "", + "GitHub": "", + "Security": "安全", + "Telemetry": "数据收集", + "License": "许可证", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/i18n/zh-Hant.json b/docs/i18n/zh-Hant.json new file mode 100644 index 00000000..7ea3bea8 --- /dev/null +++ b/docs/i18n/zh-Hant.json @@ -0,0 +1,826 @@ +{ + "Burrow · Free, open-source desktop utility for cleanup, software, and status on macOS": "Burrow · 免費開源的 macOS 清理、軟體與狀態工具", + "Windows": "", + "Burrow is a free, open-source native desktop app for macOS (and Windows, in beta): clean junk, manage apps, run maintenance, map your disk, and watch live status in one window. Plus long-range history and an MCP server for Claude Code.": "Burrow 是一款專為 macOS 打造的免費開源原生桌面應用程式(Windows 版本仍在測試階段):清理垃圾、管理應用程式、執行維護、繪製磁碟地圖、即時查看狀態,全都在同一個視窗裡完成。此外還有長期歷史紀錄,以及給 Claude Code 使用的 MCP 伺服器。", + "Burrow · Free, open-source desktop utility for macOS & Windows": "Burrow · 適用於 macOS 與 Windows 的免費開源桌面工具", + "Clean junk, manage apps, run maintenance, map your disk, and watch live status, in one native desktop app. Native on macOS, now in beta on Windows. Free and MIT-licensed. Plus history and an MCP server.": "清理垃圾、管理應用程式、執行維護、繪製磁碟地圖、即時查看狀態,全部在一個原生桌面應用程式裡。macOS 原生,Windows 版本現正測試中。免費,採用 MIT 授權。另有歷史紀錄與 MCP 伺服器。", + "Burrow · Free, open-source Mac utility for cleanup, disk, and status": "Burrow · 免費開源的 Mac 清理、磁碟與狀態工具", + "Clears junk, finds duplicates and leftovers, maps your disk, and watches live status. One native window. Free and open source.": "清理垃圾,找出重複檔案與殘留,繪製磁碟地圖,即時查看狀態。一個原生視窗。免費且開源。", + "Burrow": "", + "Tools": "工具", + "Docs": "文件", + "Compare": "比較", + "Blog": "部落格", + "Install": "安裝", + "Changelog": "更新紀錄", + "Roadmap": "藍圖", + "View Burrow on GitHub": "在 GitHub 上檢視 Burrow", + "1.2k": "", + "Download for Mac": "下載 Mac 版", + "Download": "下載", + "Everything you'd open": "過去得開", + "six apps": "六個應用程式", + "for.": "才能做的事。", + "A free, open-source Mac utility that clears junk, finds duplicates and leftovers, maps what is eating your disk, and watches live system status. One native window, and a Windows build in beta.": "一款免費開源的 Mac 工具:清理垃圾,找出重複檔案與殘留,看清是什麼吃掉了磁碟,並即時查看系統狀態。一個原生視窗就夠,Windows 版本正在測試中。", + "or": "或", + "copy command": "複製指令", + "Free": "免費", + "v0.14.0": "", + "macOS": "", + "10/11 (beta)": "10/11(測試版)", + "Already downloaded by": "已下載人數", + "people": "人", + "Burrow Analyze treemap showing what is using disk space": "Burrow 分析樹狀圖,顯示磁碟空間被什麼佔用", + "what's inside": "裡面有什麼", + "Sixteen surfaces, one window.": "十六種工具,一個視窗。", + "Each tool re-themes the whole window in its own colour, because the colour is how a tool tells you what it is about to touch. Every one does its job end to end, without dropping you into a terminal.": "每個工具都會用自己的顏色重新鋪陳整個視窗,因為顏色正是它告訴你即將動到什麼的方式。每個工具都把事情做完,不會把你丟回終端機。", + "Clean": "清理", + "10+ categories": "10 多種類別", + "Caches, logs, and temp files across ten-plus categories, sorted by what is safest to remove. You see every file and byte before anything moves.": "十多種類別的快取、日誌與暫存檔,依刪除的安全程度排序。在任何東西被移動之前,你都能看到每個檔案與每一個位元組。", + "Purge": "深度清理", + "dev leftovers": "開發殘留", + "The diggings dev work leaves behind: node_modules, DerivedData, build output, stale package caches, all with rebuild cost shown.": "開發工作留下的碎土:node_modules、DerivedData、建置產物、過期的套件快取,並附上各自重新建置的代價。", + "Installers": "安裝檔", + "downloads sweep": "清掃下載項目", + "The crates you already unpacked. Finds .dmg and .pkg files sitting in Downloads long after the app was installed.": "你早就拆開的箱子。找出應用程式裝好許久之後,仍留在「下載項目」裡的 .dmg 與 .pkg 檔案。", + "Apps": "應用程式", + "bulk uninstall": "批次解除安裝", + "Every installed app, sortable by size or recency, with multi-select uninstall that sweeps preferences, support files, and launch agents.": "列出所有已安裝的應用程式,可依大小或最近使用排序;多選解除安裝時,會一併清掉偏好設定、支援檔案與啟動代理程式。", + "Optimize": "最佳化", + "one prompt": "一次確認", + "Rebuild Quick Look, repair caches and metadata, flush DNS, audit login items. The routine chores behind one prompt.": "重建預覽、修復快取與中繼資料、清除 DNS、檢查登入項目。把這些例行雜事收進一次確認裡。", + "Tune-Up": "調校", + "one pass": "一次做完", + "Smart-Care in a single pass. Picks the maintenance that actually applies to your machine right now and runs it end to end.": "一次做完整套保養。挑出此刻真正適用於這台電腦的維護項目,並從頭執行到尾。", + "Analyze": "分析", + "treemap": "樹狀圖", + "A squarified treemap of the whole disk. Drill into any branch, then reveal in Finder or send to Trash from the context menu.": "整顆磁碟的方塊樹狀圖。可深入任一分支,再從快捷選單在 Finder 中顯示,或移到垃圾桶。", + "Duplicates": "重複檔案", + "content hashed": "依內容雜湊", + "Content-hashed duplicate finder that is hardlink aware, so files shared between tools are not counted twice.": "依內容雜湊尋找重複檔案,並能辨識硬連結,因此被多個工具共用的檔案不會被重複計算。", + "Leftovers": "殘留檔案", + "orphan files": "孤立檔案", + "Support files, preferences, and launch agents from apps you removed long ago, matched back to the app that left them.": "早已刪除的應用程式留下的支援檔案、偏好設定與啟動代理程式,並對應回是哪個應用程式留下的。", + "Similar Photos": "相似照片", + "perceptual match": "感知比對", + "Perceptual matching across your library to surface near-identical shots and burst frames worth thinning out.": "在整個圖庫中進行感知比對,找出幾乎相同的照片,以及值得精簡的連拍影格。", + "Status": "狀態", + "live + HUD": "即時 + 浮動面板", + "CPU, memory, GPU, disk, network, and battery on one page with sparklines, plus a pinnable process table and a menu-bar HUD.": "CPU、記憶體、GPU、磁碟、網路與電池同頁呈現,各自附上迷你走勢圖;另有可釘選的處理程序清單,以及選單列浮動面板。", + "Ports": "連接埠", + "who is listening": "誰在監聽", + "Every listening port with the process behind it, so you can find what is holding 3000 without reaching for lsof.": "列出每個監聽中的連接埠及其背後的處理程序,不必再敲 lsof 就能找出是誰佔著 3000。", + "Network": "網路", + "per process": "依處理程序", + "Live throughput per interface and per process, so you can see what is actually using the connection.": "依網路介面與處理程序即時顯示流量,讓你看清究竟是什麼在佔用連線。", + "Get Online": "恢復連線", + "diagnostics": "診斷", + "A guided path back to the surface when the connection drops: DNS, gateway, captive portal, and interface checks in order.": "斷線時帶你一步步回到地面:依序檢查 DNS、閘道、認證頁面與網路介面。", + "History": "歷史", + "90 days": "90 天", + "Every status sample lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables.": "每一次狀態取樣都寫入本機的 SQLite 檔案。可從五分鐘一路回溯到九十天,並附上各處理程序的尖峰表。", + "Agent · MCP": "代理程式 · MCP", + "26 tools": "26 種工具", + "Twenty-six MCP tools expose the whole app to Claude Code, plus a loopback HTTP API. Read-only by default; destructive actions opt in separately.": "二十六種 MCP 工具把整個應用程式開放給 Claude Code,另有一個僅限本機回送的 HTTP 介面。預設唯讀;會造成刪除的操作需要另行開啟。", + "see it": "看一看", + "Built to be looked at, not just run.": "它是拿來看的,不只是拿來跑的。", + "See what's actually eating the disk.": "看清究竟是什麼在吃掉磁碟。", + "A squarified treemap of every folder, sized by what it really costs you. Drill down until the culprit is obvious, then act on it without leaving the map.": "把每個資料夾依實際佔用畫成方塊樹狀圖。一層層深入,直到元凶一目了然,然後不必離開這張圖就能處理。", + "Burrow Analyze: a treemap of disk usage, drilled into a folder": "Burrow 分析:磁碟佔用樹狀圖,已深入到某個資料夾", + "Every pulse of the machine, live.": "這台電腦的每一次脈動,即時可見。", + "CPU, memory, GPU, disk, network, and battery share one page, each with a sparkline. The process table sorts and pins so the thing spinning your fans stays in view.": "CPU、記憶體、GPU、磁碟、網路與電池共處一頁,各自附上迷你走勢圖。處理程序清單可排序、可釘選,讓那個把風扇吹起來的東西始終在視線內。", + "Burrow Status: live CPU, memory, GPU, disk, and network with a process table": "Burrow 狀態:即時的 CPU、記憶體、GPU、磁碟與網路,並附處理程序清單", + "Show before you remove.": "先讓你看,再動手刪。", + "Clean sorts everything it finds by how safe it is to delete, and shows the file list and byte count before anything moves. Untick what you want to keep; nothing goes on a single mis-tap.": "清理會把找到的一切依刪除的安全程度排序,並在任何東西被移動前列出檔案清單與位元組數。想留下的取消勾選即可;不會因為手滑點一下就刪掉什麼。", + "Burrow Clean: categorized junk with file counts and sizes, ready to review": "Burrow 清理:依類別列出的垃圾檔案及其數量與大小,可逐項確認", + "A long memory of the den.": "洞穴的長久記憶。", + "Status samples land in a local SQLite history you can scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up.": "狀態取樣寫入本機的 SQLite 歷史紀錄,可從五分鐘回溯到九十天;風扇真正轉起來的那些時刻,還能查看各處理程序的尖峰表。", + "Burrow History: long-range charts of CPU, memory, and disk over ninety days": "Burrow 歷史:九十天內 CPU、記憶體與磁碟的長期曲線", + "The whole den, from the menu bar.": "整個洞穴,盡在選單列。", + "A HUD that drops the full picture down without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "不必開啟應用程式,就能拉下完整概況的浮動面板:即時指標、佔用最高的處理程序,以及直接跳進所需工具的入口。", + "Burrow menu-bar HUD: live metrics and top processes in a dropdown": "Burrow 選單列浮動面板:以下拉方式顯示即時指標與佔用最高的處理程序", + "Ask your Mac, from Claude.": "在 Claude 裡問你的 Mac。", + "The built-in MCP server exposes": "內建的 MCP 伺服器向任何代理程式開放", + ", and": "、", + "to any agent, plus a loopback HTTP API on": ",並在", + ". Both stay local.": "上提供回送 HTTP 介面。兩者都只留在本機。", + "Claude Code querying Burrow's MCP server for machine state": "Claude Code 透過 Burrow 的 MCP 伺服器查詢電腦狀態", + "What's new · August 2026": "新變化 · 2026 年 8 月", + "New in 0.14.0": "0.14.0 新增", + "All releases": "所有版本", + "Burrow offers the privileged helper": "Burrow 會主動提供特權輔助程式", + "The helper that lets admin operations authenticate with Touch ID shipped behind a single Settings button that nothing pointed at. It is now offered the way Full Disk Access is — one banner over the window, informing rather than blocking, and dismissing it is permanent because the helper is a convenience rather than something Burrow needs to work.": "那個讓管理者操作可用 Touch ID 驗證的輔助程式,先前藏在設定裡的一個按鈕後面,而沒有任何地方指向它。現在它像「完全取用磁碟」那樣被主動提供——視窗上方一條橫幅,只做告知而不擋路;關掉之後就不再出現,因為這個輔助程式只是方便,並非 Burrow 運作所必需。", + "The reviewed clean reports what it removed": "確認後的清理會回報刪除了什麼", + "It deleted exactly what was ticked and then looked like it had done nothing: that path deletes with find, which succeeds silently, so the result screen had no output to show. It now reports the paths it was authorized to remove, grouped by category with their sizes summed.": "它確實刪掉了勾選的內容,看起來卻像什麼都沒做:這條路徑用 find 刪除,成功時不會輸出任何內容,結果頁因此無從呈現。現在它會回報被授權刪除的路徑,依類別分組並合計大小。", + "// also tightened in 0.14.0": "// 0.14.0 中的其他改進", + "Nothing changed about what the reviewed clean deletes — only what it tells you": "確認後的清理刪除什麼並未改變,改變的只是它告訴你什麼", + "The helper stays strictly optional; decline it and every operation works as before": "這個輔助程式完全是選用的;拒絕之後,所有操作照舊可用", + "why you can trust it": "為什麼可以信任它", + "A tool that touches your files should earn it.": "會碰你檔案的工具,理當先贏得信任。", + "Open source": "開源", + "Every line is public and MIT-licensed, so you can read it, audit it, or fork it.": "每一行程式碼都公開,採用 MIT 授權,你可以閱讀、稽核,也可以另行分支。", + "See the repo": "查看儲存庫", + "Show before you remove": "先讓你看,再動手刪", + "Every action lists the files and the bytes first. You confirm; Burrow acts. No background root helper: macOS's own dialog asks you.": "每個操作都會先列出檔案與位元組數。你確認,Burrow 才動手。沒有常駐背景的 root 輔助程式:來詢問你的是 macOS 自己的對話框。", + "Your data stays put": "你的資料留在原地", + "Scans, metrics, and history never leave the machine. Anonymous, opt-out diagnostics are listed field by field in": "掃描結果、指標與歷史紀錄絕不會離開這台電腦。匿名、可隨時關閉的診斷資料,逐項列在", + "TELEMETRY.md": "", + "install": "安裝", + "Free, forever. No account, no subscription.": "永久免費。不需帳號,也沒有訂閱。", + "Every tool, the menu-bar HUD, history, and the MCP server, on as many machines as you like.": "所有工具、選單列浮動面板、歷史紀錄與 MCP 伺服器,想裝幾台電腦都可以。", + ".zip": "", + "Apple Silicon": "Apple 晶片", + "Intel": "", + "64-bit": "64 位元", + "beta": "", + "Homebrew": "", + "cask": "", + "app + engine": "應用程式 + 引擎", + "copy the Homebrew install command": "複製 Homebrew 安裝指令", + "brew install --cask caezium/tap/burrow": "", + "copy": "複製", + "Windows trails the Mac release and is still a preview. More ways to install, checksums, and older versions live on the": "Windows 版本落後於 Mac 版本,目前仍是預覽。更多安裝方式、總和檢查碼與舊版本,請見", + "install page": "安裝頁面", + "Frequently Asked Questions": "常見問題", + "Is it really free?": "真的免費嗎?", + "Yes. MIT-licensed, with no accounts, no trial limits, no paid tier, and nothing bundled in. The full source is on GitHub if you want to read it before you run it.": "是的。採用 MIT 授權,沒有帳號、沒有試用期限、沒有付費方案,也不會夾帶任何東西。若你想先讀過再執行,完整原始碼都放在 GitHub 上。", + "Is Burrow safe to use?": "Burrow 用起來安全嗎?", + "Every action shows the file list and byte count before it runs, and Clean sorts categories by how safe they are to remove. There is no background root helper: when a task needs admin rights, macOS's own dialog asks you, Burrow runs that one command, then exits.": "每個操作在執行前都會顯示檔案清單與位元組數,清理也會依刪除的安全程度為類別排序。沒有常駐背景的 root 輔助程式:當某項工作需要管理者權限時,由 macOS 自己的對話框詢問你,Burrow 只執行那一道指令,隨後結束。", + "What does it actually delete?": "它到底刪些什麼?", + "Caches and temporary files that apps regenerate on their own: browser caches, developer build artifacts, app support caches, logs, leftover installers. Package caches and build output with real rebuild cost stay unchecked until you confirm them yourself.": "應用程式會自行重建的快取與暫存檔:瀏覽器快取、開發建置產物、App Support 快取、日誌、遺留的安裝檔。至於重新建置確實有代價的套件快取與建置產物,在你親自確認之前都維持未勾選。", + "Does it upload anything?": "它會上傳什麼嗎?", + "No files, paths, URLs, or metrics. Scans and history stay on the machine, and the MCP server is loopback only. Burrow does send anonymous, opt-out usage and crash diagnostics, disclosed field by field in": "不上傳檔案、路徑、網址或指標。掃描結果與歷史紀錄留在本機,MCP 伺服器也只監聽回送位址。Burrow 確實會傳送匿名、可關閉的使用與當機診斷資料,各欄位逐項揭露於", + ". One Settings switch turns it off, and source builds ship inert.": "。設定裡一個開關即可關閉,而從原始碼建置的版本本來就不會傳送任何內容。", + "Do I need Full Disk Access?": "一定要開啟完全取用磁碟嗎?", + "No. Burrow runs a safe scan without it. Granting it lets Burrow reach deeper App Support and container caches, and you can grant or revoke it whenever you like.": "不必。沒有它,Burrow 也能執行安全掃描。授予之後,Burrow 才能觸及更深處的 App Support 與容器快取;你隨時可以授予或收回。", + "Is it signed and notarized?": "有簽署與公證嗎?", + "Yes, from 0.11.0 onward, and a tag cannot publish unless signing, notarization, stapling, and Gatekeeper assessment all pass. Archived 0.10.5-and-earlier builds predate that: right-click and choose": "有,自 0.11.0 起皆是;簽署、公證、裝訂與 Gatekeeper 評估全部通過,標籤才可能發布。封存的 0.10.5 及更早版本早於此,若被 Gatekeeper 擋下,請按右鍵選擇", + "Open": "打開", + "if Gatekeeper blocks one. The full contract is in": "。完整的承諾寫在", + "SECURITY.md": "", + "What can an agent do with it?": "代理程式能用它做什麼?", + "Twenty-six MCP tools cover snapshots, history, top processes, disk analysis, duplicates, ports, network, and more. Fourteen are read-only and available immediately; the ones that change your machine need their own explicit opt-in. The full list is in": "二十六種 MCP 工具涵蓋快照、歷史、佔用最高的處理程序、磁碟分析、重複檔案、連接埠、網路等等。其中十四種唯讀,可立即使用;會更動你電腦的那些,需要各自明確開啟。完整清單見", + "agent-tools.md": "", + "Does it run on Windows?": "能在 Windows 上執行嗎?", + "A native WinUI 3 and .NET 8 port is in active beta, reaching parity tool by tool. macOS is the mature flagship; the Windows preview ships as a zip today, with an installer coming.": "以 WinUI 3 與 .NET 8 打造的原生移植版正在積極測試,並逐一補齊各項工具。macOS 是成熟的主力版本;Windows 預覽版目前以 zip 形式提供,安裝程式也在準備中。", + "Track it on GitHub": "在 GitHub 上追蹤進度", + "Building from source, wiring up the MCP server, or anything else? It is all in the": "從原始碼建置、接上 MCP 伺服器,或是其他事情?這些都寫在", + "README": "", + "GitHub": "", + "Security": "安全性", + "Telemetry": "資料收集", + "License": "授權", + "Burrow Documentation": "", + "What every Burrow tool does, what it touches, the safety rules it follows, and how to connect it to a coding agent over MCP.": "", + "Documentation": "", + "Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.": "", + "Contents": "", + "Overview": "", + "Installing": "", + "Reclaiming space": "", + "Applications": "", + "Maintenance": "", + "Understanding the disk": "", + "Watching the machine": "", + "Agents and MCP": "", + "Safety model": "", + "Privacy and telemetry": "", + "Troubleshooting": "", + "Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.": "", + "Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.": "", + "Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.": "", + "Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.": "", + "Direct downloads and the Windows preview are on the": "", + ". Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with": "", + "Full Disk Access": "", + "Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy": "", + "Security.": "", + "Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.": "", + "The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.": "", + "The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as": "", + "rebuilds locally with no network. Dependency directories such as": "", + "need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.": "", + "Finds": "", + "and": "", + "files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.": "", + "A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.": "", + "Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.": "", + "Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.": "", + "A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.": "", + "The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.": "", + "Launch agents for deleted apps are the ones worth clearing first.": "", + "keeps trying to start a binary that no longer exists, which produces log noise on every boot.": "", + "The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.": "", + "Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.": "", + "A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.": "", + "A treemap answers \"what is using my disk\" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.": "", + "If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See": "", + "why your Mac says the disk is full when it isn't": "", + "CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.": "", + "Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.": "", + "Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers \"what is holding 3000\" without reaching for": "", + "Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.": "", + "A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.": "", + "Menu-bar HUD": "", + "The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.": "", + "Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.": "", + "Point Claude Code at the app:": "", + "Read-only tools": "", + "Gated tools": "", + "change the machine and stay unavailable until you turn them on.": "", + "HTTP API": "", + "A loopback HTTP API on": "", + "serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.": "", + "Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.": "", + "Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.": "", + "Sorted by consequence.": "", + "Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.": "", + "No background root helper.": "", + "When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.": "", + "A protection list you can read.": "", + "Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.": "", + "Signing and notarization": "", + "Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.": "", + "No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.": "", + "Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.": "", + "Every field is listed in": "", + ". This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.": "", + "Gatekeeper blocks the app": "", + "For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.": "", + "Full Disk Access looks granted but scans stay shallow": "", + "macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.": "", + "Free space did not increase": "", + "Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure.": "", + "shows what exists.": "", + "An agent cannot see the gated tools": "", + "Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.": "", + "Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus": "", + "A feature-by-feature comparison of Burrow against the Mac cleanup, uninstall, disk analysis, and monitoring tools it overlaps with.": "", + "How Burrow compares": "", + "One window against four specialists. Where each one wins, and where Burrow does not.": "", + "Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.": "", + "free, MIT": "", + "CleanMyMac": "", + "$40/yr": "", + "Pearcleaner": "", + "free, GPL": "", + "DaisyDisk": "", + "$10 once": "", + "iStat Menus": "", + "$14 once": "", + "Cache and log cleanup": "", + "Developer build artifacts": "", + "node_modules, DerivedData, target, .next, with rebuild cost shown": "", + "Duplicate finder": "", + "Similar photo detection": "", + "Leftover installer sweep": "", + "Treemap disk map": "", + "DaisyDisk's sunburst is still the nicest map in the category": "", + "Apps and maintenance": "", + "App uninstall with leftovers": "", + "Pearcleaner is the sharpest single-purpose uninstaller here": "", + "Orphaned file detection": "", + "Homebrew updates and services": "", + "Login items and launch agents": "", + "Maintenance scripts": "", + "Live CPU, memory, GPU, disk": "", + "iStat Menus has far more sensors and far more configurability": "", + "Long-range history": "", + "ninety days in local SQLite, with peak-per-process tables": "", + "Listening ports with owning process": "", + "Per-process network throughput": "", + "Connectivity troubleshooting": "", + "Trust and access": "", + "Source you can read": "", + "Shows files before deleting": "", + "No background root helper": "", + "MCP server for agents": "", + "26 tools, read-only by default": "", + "Windows build": "", + "WinUI 3 port in beta": "", + "Price": "", + "If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.": "", + "Burrow · Roadmap": "", + "What's shipped, building, and being weighed for Burrow, and how to vote.": "", + "What's shipped, what's being built, and what we're weighing next.": "", + "A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or": "", + "open a request ↗": "", + ". Updated Aug 7, 2026.": "", + "Building": "", + "In progress now.": "", + "A single interface for machine care and agent work": "", + "Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.": "", + "feat": "", + "Planned": "", + "Decided, not started yet.": "", + "Windows preview → first stable": "", + "Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.": "", + "Uninstall that never quietly does nothing": "", + "A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.": "", + "fix": "", + "Considering": "", + "Weighing it, upvote to push it up.": "", + "Persistent one-tap “run all” Tune-Up": "", + "A saved Smart-Care routine you trigger in one tap from the dashboard.": "", + "Faster, deeper Analyze": "", + "Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.": "", + "Recently shipped": "", + "Landed in the latest releases.": "", + "Developer ID signed": "", + "Apple-notarized macOS releases": "", + "Signed Sparkle feed + updater foundation": "", + "Stable Full Disk Access identity across updates": "", + "Bundled MIT engine, no separate": "", + "Process inspector + CPU watchdog": "", + "Get Online connectivity companion": "", + "Security-aware Doctor": "", + "No-freeze live dashboard": "", + "Streaming live status (": "", + "One-click Update with Homebrew": "", + "A warm visual redesign": "", + "Smart-Care Tune-Up": "", + "Homebrew Services": "", + "Brewfile": "", + "Deeper MCP agent surface (": "", + "Windows preview": "", + "Burrow · Changelog": "", + "Every Burrow release at a glance, what each version added, fixed, and tightened.": "", + "Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.": "", + "26 releases · latest 0.14.0 ·": "", + "GitHub releases ↗": "", + "latest": "", + "Aug 11, 2026": "", + "full notes ↗": "", + "The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.": "", + "added": "", + "Burrow offers the privileged helper.": "", + "The Touch ID helper shipped in 0.13.0 behind a single button in": "", + "Settings ▸ Advanced": "", + ", and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (": "", + "fixed": "", + "The reviewed clean reports what it removed.": "", + "It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with": "", + ", which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (": "", + "Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.": "", + "The scan tells you when it's done.": "", + "A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring": "", + "Settings ▸ Notify when long operations finish": "", + "Two more agent tools.": "", + "join the MCP surface. (": "", + "changed": "", + "MCP now speaks the 2026-07-28 revision": "", + ", including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips": "", + "entirely still works. (": "", + "Headings rendered as empty boxes.": "", + "Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (": "", + "One bad exit no longer disables the menu bar": "", + "until macOS updates. (": "", + "The window can be made smaller again": "", + "— its minimum height is derived from the sidebar rather than hardcoded. (": "", + "“Stop after current” now responds.": "", + "The stop was always queued, but nothing on screen said so until the in-flight update finished. (": "", + "The clean review no longer promises what closing an app can't deliver.": "", + "An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (": "", + "A cancelled app update no longer blocks later update checks": "", + "for the rest of the session. (": "", + "Root operations can't interleave their output.": "", + "stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (": "", + "Update archives are size-capped": "", + "before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (": "", + "Aug 8, 2026": "", + "Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.": "", + "Touch ID for admin operations.": "", + "Install the helper in": "", + "Settings ▸ Advanced ▸ Privileged helper": "", + "and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the": "", + "right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (": "", + "The Login Items list is now complete.": "", + "Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.": "", + "Flush DNS no longer runs a root shell.": "", + "It previously elevated": "", + ", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.": "", + "Removed the “Touch ID for sudo” setting.": "", + "It configured": "", + "for terminal": "", + "and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run": "", + "to undo it yourself.": "", + "A failed elevated run could report success.": "", + "When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.": "", + "security": "", + "The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.": "", + "Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.": "", + "It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.": "", + "One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in": "", + "Aug 5, 2026": "", + "A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.": "", + "CPU usage now reflects a representative sampling interval.": "", + "The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in": "", + ". A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (": "", + "Updater failures now mean what they say.": "", + "Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (": "", + "The normal menu-bar path no longer races the first AppKit launch turn.": "", + "Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build": "", + "remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (": "", + "improved": "", + "App-hang evidence can no longer disappear at the Sentry bridge.": "", + "Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (": "", + "Launch and updater health now have explicit lifecycle outcomes.": "", + "Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.": "", + "privacy": "", + "Telemetry remains optional, unlinked, and non-tracking.": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.": "", + "Publishing still fails closed, including the external Homebrew tap.": "", + "Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.": "", + "Aug 3, 2026": "", + "A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.": "", + "The affected macOS 27 beta gets a safer launch path.": "", + "On Beta 4 build": "", + ", Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.": "", + "Interrupted launches recover one component at a time.": "", + "A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (": "", + "Sentry can now explain hangs that never become crashes.": "", + "Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.": "", + "PostHog analytics no longer bring an AppKit-facing SDK into startup.": "", + "Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces": "", + ". It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.": "", + "The first signed Sparkle successor passed a real update.": "", + "An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing": "", + "One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.": "", + "The release chain remains fail closed.": "", + "The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.": "", + "Aug 1, 2026": "", + "Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.": "", + "Official downloads are trusted by Gatekeeper.": "", + "The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (": "", + "Full Disk Access has a stable identity.": "", + "Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (": "", + "The signed update foundation is in place.": "", + "Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in": "", + "The bundled engine no longer rewrites the app.": "", + "It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.": "", + "The privacy manifest matches the shipped app.": "", + "Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.": "", + "A tag cannot publish a partially trusted build.": "", + "CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (": "", + "Delayed Apple responses stay fail closed.": "", + "The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (": "", + "Homebrew keeps Apple's security checks intact.": "", + "The live cask preserves quarantine, removes the old unsigned warning, and is marked": "", + "because Sparkle owns future in-app updates.": "", + "Jul 25, 2026": "", + "Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.": "", + "One": "", + "call now maps disk hotspots.": "", + "The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row).": "", + "gains": "", + "(descend into the largest subdirectories),": "", + ", emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (": "", + "when the descent hits its time budget). (": "", + "The slow tools now say they're slow.": "", + "descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the": "", + "skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (": "", + "Killed runs no longer fail silently.": "", + "A": "", + "that hit its time limit rendered as": "", + ": nothing an agent could act on. Timed-out actions (and analyze) now return": "", + "plus a hint. (": "", + "explains itself.": "", + "When engine history is unavailable, the error now points at": "", + "to check whether Burrow is recording at all. (": "", + "Jul 24, 2026": "", + "A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.": "", + "No more menu-bar popover or streaming-report crashes.": "", + "Two": "", + "faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (": "", + "The menu-bar metric no longer crashes on a nil font.": "", + "is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (": "", + "In-app update actually updates.": "", + "When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the": "", + "Homebrew recommends. (": "", + "Jul 13, 2026": "", + "Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.": "", + "New": "", + "Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind": "", + "Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder": "", + "Network pane: per-app bandwidth": "", + "Fixes": "", + "Duplicates works with zero install, the fclones sidecar is now bundled universal": "", + "Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result": "", + "Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing": "", + "Tool panes mount lazily, no more ~2-second layout hang on open or pane switch": "", + "Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve": "", + "Jul 12, 2026": "", + "The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.": "", + "Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones": "", + "Bundled": "", + "conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback": "", + "7 read-only MCP tools through the conductor, 21 total for agents": "", + "Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)": "", + "Failed uninstalls keep the list and selection and surface the engine's error": "", + "Tune-Up reclaim sizes no longer show raw ANSI color codes": "", + "Analyze bounds per-child scans so a huge cache folder can't freeze the scan": "", + "Menu-bar popover no longer rubber-bands into empty space": "", + "Self-update refreshes Homebrew before upgrading": "", + "Also": "", + "Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering": "", + "HUD popover re-pins when the menu bar auto-hides": "", + "windows": "", + "Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)": "", + "Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS": "", + "burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution": "", + "Jul 8, 2026": "", + "A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.": "", + "Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”": "", + "Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes": "", + "Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends": "", + "Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups": "", + "Fewer spurious “App Hang” reports": "", + "Performance": "", + "battery": "", + "Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open": "", + "Analyze walk and icon caches are now bounded (evict under memory pressure)": "", + "Live sparklines window their data instead of scanning the full history each frame": "", + "Doctor security/SMART/backup probes are timeout-guarded and cached across reopens": "", + "Network-usage views share one sample instead of each running a 1-second scan": "", + "Under the hood": "", + "Dead-code prune": "", + "Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)": "", + "Jun 30, 2026": "", + "Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.": "", + "engine": "", + "Burrow bundles its own engine now.": "", + "The app ships an MIT-licensed": "", + "(forked at its last MIT release) inside": "", + "and runs it directly, so a fresh install needs": "", + "no separate engine install": "", + ". Burrow prefers the bundled engine, then an installed": "", + ", then a legacy system engine for existing setups.": "", + "process inspector": "", + "Per-process inspector": "", + ": click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.": "", + "Process tree": "", + ": the parent/child hierarchy around any process.": "", + "CPU watchdog": "", + ": set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.": "", + "Filter, suspend/resume, export": "", + ": a typed predicate filter over the process table, suspend or resume a process, and export the table.": "", + "get online": "", + "On-demand speed test": "", + ": measure real down/up throughput.": "", + "Nearby Wi-Fi scan": "", + ": surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.": "", + "Venue captive-portal tips": "", + ": venue-specific help for hotel/airport/café portals that won't load.": "", + "Connection history": "", + ": a log of connectivity events (SSID changes, drops).": "", + "doctor": "", + "Security posture": "", + ": SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click": "", + "Copy diagnostics": "", + "Battery health": "", + ": capacity % and condition (omitted on desktops).": "", + "More context": "", + ": display, external-volume, and network context.": "", + "clean, software": "", + "analyze": "", + "now sorts the review": "", + "by reclaimable impact": "", + "flags sensitive paths": "", + "(keychain/credential locations) before you delete; the done screen shows your": "", + "all-time cleaned total": "", + "Software": "", + ": App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.": "", + "Uninstall": "", + ": a Clear-Data-only subset, plus an input-method leftover warning.": "", + ": one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.": "", + ": a pre-run safety banner when a VPN or external display is active.": "", + "Login items": "", + ": modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.": "", + "Keep Screen On": "", + "keeps working with the lid closed.": "", + "Three main-thread hangs": "", + "on the new process/parity surfaces (suspend/resume, inspector, tree).": "", + "A missing": "", + "label on a data-only uninstall plan.": "", + ": version-aligned to 0.9.0; no Windows-specific changes this release.": "", + "Jun 25, 2026": "", + "A metrics": "", + "menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.": "", + "Power-draw widget": "", + ": live system wattage (W) as a menu-bar metric.": "", + "Real memory pressure.": "", + "“By pressure” now reads actual macOS memory pressure,": "", + "via": "", + ", the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.": "", + "Memory detail card": "", + ": the Status dashboard breaks memory down into used / free / cached / swap.": "", + "Live menu-bar preview + layout presets": "", + ": Settings previews your real metrics as you configure them, with one-tap layout presets.": "", + "Two new runner animations": "", + ": Wave and Bars.": "", + "Consistent pressure coloring": "", + "across the dashboard tile, popover, memory-detail card, and menu bar.": "", + "Live popover sparklines": "", + ": CPU / memory / GPU tick every second (about a minute of history).": "", + "Honest color picker": "", + ": “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.": "", + "Brewfile import/export pickers no longer trip the hang detector": "", + "(ANR false-positives).": "", + "App-Hang reports from memory-starved machines are dropped": "", + "before sending, they were environmental, not Burrow bugs.": "", + "performance": "", + "Snappier popover": "", + ": the metric grid no longer re-renders on unrelated state changes.": "", + ": a version-aligned 0.8.3 build is attached (": "", + "). No Windows-specific changes this release.": "", + "Jun 23, 2026": "", + "A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.": "", + "Full Disk Access is honored again.": "", + "The shipped app's embedded framework signatures were malformed (": "", + "failed on": "", + "), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_": "", + "Notification permission is requested up front": "", + ": Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.": "", + "A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.": "", + "No more App-Hang freezes.": "", + "The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.": "", + "Opening": "", + "Settings": "", + "and the": "", + "About": "", + "panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).": "", + "PostHog telemetry": "", + "now flushes off the main thread instead of on a main-run-loop timer.": "", + "Live status streams by default": "", + ": with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.": "", + "Update with Homebrew": "", + ": for cask installs, the update prompt has a one-click button that runs": "", + "and relaunches.": "", + "windows preview": "", + "Closed out the port review: MCP tool parity with macOS (": "", + ": preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.": "", + "Jun 20, 2026": "", + "A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.": "", + ": live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.": "", + ": MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.": "", + ": a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.": "", + ": Services (start / stop / restart), Brewfile snapshots (export / restore), and live": "", + "progress in Updates.": "", + "Menu bar": "", + ": a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.": "", + "Disk": "", + "now forecasts when you'll run out of space (“Full in ~N”);": "", + "Doctor": "", + "gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.": "", + "For your agent": "", + ": a deeper MCP surface: a token-gated": "", + "SSE stream and": "", + ", so an agent can watch and compare your machine over time.": "", + "A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.": "", + ": Health pulled up into an open hero band over a cleaner three-up vitals grid.": "", + ": a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.": "", + ": borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.": "", + "Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.": "", + "Onboarding now auto-detects the engine.": "", + "An early native": "", + "WinUI 3 / .NET 8": "", + "app now lives under": "", + ": Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.": "", + "under the hood": "", + "The repo is now a monorepo (": "", + "), with inside-out framework signing for notarization and an automated upstream engine release watcher.": "", + "Jun 15, 2026": "", + "A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.": "", + "Cleanup, unified": "", + ": Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.": "", + "Self-update": "", + ": Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.": "", + "Homebrew updates": "", + "appear the moment you open the Apps tab, and your own login items get on/off toggles.": "", + "An optional": "", + "camera": "", + "mic in-use indicator": "", + "in the menu-bar popover (off by default), reading the same signal as Control Center.": "", + "Check for Updates": "", + "now live in Settings too.": "", + "Network charts in Status and History draw download and upload as two separate lines.": "", + "Analyze shows live per-folder progress on the first scan.": "", + "A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.": "", + "Confirm dialogs and Touch ID are no longer reported as app-hangs.": "", + "Live App Store / Sparkle update checks stay click-gated, no silent network.": "", + "Jun 14, 2026": "", + "A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.": "", + "The History view no longer freezes on wide time ranges.": "", + "Typing in Uninstall and Purge is smooth again.": "", + "Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.": "", + "GPU history bars draw again on Apple Silicon.": "", + "Faster launch, engine discovery moved off the main thread.": "", + "The HUD, Status, and Activity panels share one refresh pump now.": "", + "The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.": "", + "Jun 13, 2026": "", + "The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.": "", + "New Software tab": "", + ": per-app uninstall review, a unified Updates list with source badges, and a startup inventory.": "", + "Review before you clean": "", + ": Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.": "", + "Finish-line alerts": "", + ": get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.": "", + "Keep Screen On, Clean Screen, and global shortcuts.": "", + "Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.": "", + "History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.": "", + "A compact, scrollable process table.": "", + "MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.": "", + "~230 strings localized in 简体中文 / 繁體中文.": "", + "One-click relaunch the moment Full Disk Access is granted.": "", + "First-run onboarding checks the engine and version.": "", + "Truthful Touch ID copy.": "", + "The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.": "", + "History auto-refresh is demand-driven, no idle timer.": "", + "A deepened, test-covered engine runner / metrics / actions core.": "", + "Jun 11, 2026": "", + "The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.": "", + "One Home dashboard": "", + ": Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.": "", + "繁體中文": "", + ": Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.": "", + "Real fans": "", + "temps": "", + ": fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.": "", + "1-second live charts": "", + ": net and disk sampled every second, so bursts show up instead of being averaged away.": "", + "Trash from the treemap": "", + ": spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.": "", + "Sharper AI Explain": "", + ": it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.": "", + "Opt-out anonymous telemetry, one switch, listed in": "", + "AI keys moved to the Keychain.": "", + "Deletes and uninstalls need a second agent opt-in.": "", + "The loopback API is hardened, no CORS grant.": "", + "Treemap hover and breadcrumb fixed.": "", + "Tests grew 124 → 244.": "", + "Jun 9, 2026": "", + "A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.": "", + "Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.": "", + "The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.": "", + "One ANSI cleaner, one typed client, one snapshot store.": "", + "Tests grew 90 → 124.": "", + "Jun 8, 2026": "", + "Fix-and-polish, cleanup flows actually complete, and the trackers show real data.": "", + "Installer": "", + "Uninstall complete": "", + ": the confirm-screen timeout and the silent": "", + "hang are gone; both flows finish now.": "", + "Settings flush immediately.": "", + "Native disk I/O": "", + "GPU": "", + ": read natively where the engine reports zero on Apple Silicon, so charts show real numbers.": "", + "Purge → Show all": "", + ": pull in the complete find list and pick from everything, not just the ~50 biggest.": "", + "More history charts": "", + ": Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.": "", + "The thermal chart plots a real temperature.": "", + "Faster live sampling catches short spikes.": "", + "Two new cleanup tools, an AI lens on Status, and agents that can act, safely.": "", + ": find and clear old build artifacts (": "", + "), ticking exactly what goes.": "", + ": sweep leftover": "", + "with the same pick-what-to-remove flow.": "", + "Explain (AI), opt-in": "", + ": a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.": "", + "Agents can act over MCP": "", + "and friends, each dry-running unless you flip the real-cleanups switch.": "", + "Every agent action defaults to": "", + "LM Studio and OpenAI-compatible backends are supported.": "", + "Maintenance, Full Disk Access actually sticks now.": "", + "Full Disk Access works": "", + ": ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.": "", + "A Quit": "", + "Reopen path after granting Full Disk Access.": "", + "New read-only MCP tools:": "", + "Less energy in Software, dropped the per-app Spotlight query that kept": "", + "awake.": "", + "Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.": "", + "Touch ID for sudo": "", + ": cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.": "", + ": live job status from the menu bar, or run without the icon entirely in Dock mode.": "", + "MCP server": "", + ": ask Claude Code about your Mac through a read-only stdio server, including": "", + "简体中文": "", + ": Simplified Chinese localization.": "", + ": long-range charts, five minutes out to ninety days, over a local SQLite store.": "", + "Homebrew cask": "", + ": one command, engine included, quarantine cleared.": "", + "An Activity pane with cleanup history in-app.": "", + "A Full Disk Access gate stops the per-folder permission flood.": "", + "Guided engine setup on first run.": "", + "Jun 4, 2026": "", + "First public release, five tools, one native window, built on a bundled CLI engine.": "", + "Five tools, one window": "", + ": Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.": "", + "Status + History": "", + ": a live dashboard with per-metric sparklines, and long-range charts on a local store.": "", + "MCP server, day one": "", + ": HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.": "", + "notes": "", + "macOS 14+; requires a separate engine install; unsigned, pre-1.0.": "" +} diff --git a/docs/index.html b/docs/index.html index 60eea26b..ec251cd9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,6 +16,17 @@ + + + + + + + + + + + @@ -320,6 +331,7 @@ Burrow diff --git a/docs/install.html b/docs/install.html index 751175f4..be757af4 100644 --- a/docs/install.html +++ b/docs/install.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -95,6 +106,7 @@ Burrow diff --git a/docs/ja/compare.html b/docs/ja/compare.html new file mode 100644 index 00000000..ffdc5f16 --- /dev/null +++ b/docs/ja/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
Price無料$40/yr無料$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/ja/docs.html b/docs/ja/docs.html new file mode 100644 index 00000000..64f46f19 --- /dev/null +++ b/docs/ja/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the インストールページ. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

クリーン

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

ディープクリーン

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__coverage rebuilds locally with no network. Dependency directories such as node_modules, Podsvenv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

インストーラ

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

重複ファイル

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

似ている写真

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

App

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

残存ファイル

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

最適化

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

チューンアップ

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

分析

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

ステータス

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

履歴

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

ポート

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

ネットワーク

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

接続を直す

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecastburrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimizeburrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • 消す前に、見せる。 Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/ja/index.html b/docs/ja/index.html new file mode 100644 index 00000000..9aa778a9 --- /dev/null +++ b/docs/ja/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · macOS の掃除・ソフトウェア管理・状態監視をひとつにした無料のオープンソースアプリ & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ +

これまで 6 つの App でやっていたことを、ひとつに。

+

不要ファイルを片づけ、重複や残存ファイルを見つけ、ディスクを圧迫しているものを可視化し、システムの状態をリアルタイムに監視する、無料でオープンソースの Mac ユーティリティです。ネイティブなウインドウひとつで完結し、Windows 版も beta 版として提供しています。

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ 無料·v0.14.0· + macOS 14+·Windows 10/11(beta) +

+ +

すでにダウンロードした人数 13,091

+ +
+ ディスク容量の内訳を示す Burrow の分析ツリーマップ +
+
+
+ + +
+
+
+ 中身 +

16 の機能を、ひとつのウインドウに。

+

ツールを切り替えるとウインドウ全体の色が変わります。色は、そのツールが何に触れようとしているかを伝える手がかりだからです。どのツールも、ターミナルに頼らず最後まで仕事を終えられます。

+
+ +
+
+
+
+ + クリーン +
+ 10 以上の分類 +
+

キャッシュ・ログ・一時ファイルを 10 以上の分類に分け、削除しても安全な順に並べます。何かが動く前に、すべてのファイルとバイト数を確認できます。

+
+
+
+
+ + ディープクリーン +
+ 開発の残りもの +
+

開発作業が残した掘りくず。node_modules、DerivedData、ビルド成果物、古くなったパッケージキャッシュを、作り直しにかかるコストとあわせて表示します。

+
+
+
+
+ + インストーラ +
+ ダウンロードの片づけ +
+

すでに開けたあとの木箱。App をインストールしたあともダウンロードフォルダに残り続けている .dmg や .pkg を見つけます。

+
+
+
+
+ + App +
+ まとめて削除 +
+

インストール済みの App をサイズ順や使用日順に並べ替えられます。複数選択して削除すると、環境設定・関連ファイル・起動エージェントもまとめて片づきます。

+
+
+
+
+ + 最適化 +
+ 確認ひとつで +
+

Quick Look の再構築、キャッシュとメタデータの修復、DNS の消去、ログイン項目の点検。決まりきった作業を、ひとつの確認にまとめました。

+
+
+
+
+ + チューンアップ +
+ ひと通りで +
+

ひと通りでまとめて手入れします。いまのこの Mac に本当に必要なメンテナンスだけを選び、最後まで実行します。

+
+
+
+
+ + 分析 +
+ ツリーマップ +
+

ディスク全体を正方形に近いツリーマップで表示します。任意の枝を掘り下げ、その場のメニューから Finder で表示したり、ゴミ箱に入れたりできます。

+
+
+
+
+ + 重複ファイル +
+ 内容のハッシュで判定 +
+

内容のハッシュで重複を探し、ハードリンクも認識します。ツール間で共有されているファイルを二重に数えることはありません。

+
+
+
+
+ + 残存ファイル +
+ 取り残されたファイル +
+

ずっと前に削除した App が残した関連ファイル・環境設定・起動エージェントを、それを残した App と結びつけて表示します。

+
+
+
+
+ + 似ている写真 +
+ 見た目で照合 +
+

ライブラリ全体を見た目で照合し、ほとんど同じ写真や、間引く価値のある連写のコマを見つけ出します。

+
+
+
+
+ + ステータス +
+ リアルタイム + HUD +
+

CPU・メモリ・GPU・ディスク・ネットワーク・バッテリーを、スパークライン付きでひとつの画面に。固定できるプロセス一覧とメニューバー HUD も備えています。

+
+
+
+
+ + ポート +
+ 何が待ち受けているか +
+

待ち受け中のポートと、その裏側にいるプロセスをすべて表示します。lsof を叩かなくても、3000 番を掴んでいるものがわかります。

+
+
+
+
+ + ネットワーク +
+ プロセスごと +
+

インターフェイスごと・プロセスごとの通信量をリアルタイムに表示するので、実際に回線を使っているものがわかります。

+
+
+
+
+ + 接続を直す +
+ 診断 +
+

接続が切れたときに地上へ戻るための道案内。DNS、ゲートウェイ、キャプティブポータル、インターフェイスを順番に確認します。

+
+
+
+
+ + 履歴 +
+ 90 日分 +
+

取得した状態はすべてローカルの SQLite ファイルに記録されます。5 分前から 90 日前まで自由にさかのぼれ、プロセスごとのピーク一覧も見られます。

+
+
+
+
+ + エージェント · MCP +
+ 26 のツール +
+

26 の MCP ツールが、アプリ全体を Claude Code に開きます。ループバックの HTTP API も利用できます。初期状態は読み取り専用で、変更を伴う操作は別途オンにする必要があります。

+
+
+
+
+ + +
+
+
+ 実際の画面 +

動かすためだけでなく、眺めるために作りました。

+
+ +
+
+

ディスクを本当に食べているものを、ひと目で。

+

すべてのフォルダを、実際に占めている容量の大きさでツリーマップに描きます。原因がはっきりするまで掘り下げ、そのまま地図の上で対処できます。

+

分析

+
+
+ Burrow の分析画面。ディスク使用量のツリーマップをフォルダ単位まで掘り下げたところ +
+
+ +
+
+

この Mac の鼓動を、リアルタイムで。

+

CPU・メモリ・GPU・ディスク・ネットワーク・バッテリーが、それぞれのスパークラインとともにひとつの画面に並びます。プロセス一覧は並べ替えと固定ができるので、ファンを回している犯人を見失いません。

+

ステータス

+
+
+ Burrow のステータス画面。CPU・メモリ・GPU・ディスク・ネットワークのリアルタイム表示とプロセス一覧 +
+
+ +
+
+

消す前に、見せる。

+

クリーンは見つけたものを削除の安全度順に並べ、何かが動く前にファイル一覧とバイト数を表示します。残したいものはチェックを外すだけ。押し間違いひとつで何かが消えることはありません。

+

クリーン

+
+
+ Burrow のクリーン画面。分類ごとの不要ファイルを件数とサイズとともに確認できる状態 +
+
+ +
+
+

巣穴の、長い記憶。

+

取得した状態はローカルの SQLite 履歴に残り、5 分前から 90 日前まで自由にさかのぼれます。ファンが実際に回った瞬間については、プロセスごとのピーク一覧も確認できます。

+

履歴

+
+
+ Burrow の履歴画面。CPU・メモリ・ディスクの 90 日分の推移グラフ +
+
+ +
+
+

巣穴のすべてを、メニューバーから。

+

App を開かなくても全体像が下りてくる HUD です。リアルタイムの指標、上位プロセス、そして必要なツールへのショートカットが並びます。

+
+
+ Burrow のメニューバー HUD。リアルタイムの指標と上位プロセスをドロップダウンで表示 +
+
+ +
+
+

Claude から、この Mac に聞く。

+

内蔵の MCP サーバは burrow_snapshot, burrow_historyburrow_top_processes を任意のエージェントに公開します。加えて、ループバックの HTTP API も 127.0.0.1:9277で利用できます。どちらもこの Mac の中だけで完結します。

+

エージェント · MCP

+
+
+ Claude Code が Burrow の MCP サーバにマシンの状態を問い合わせているところ +
+
+
+
+ + +
+
+ +
+
+ 新着 · 2026 年 8 月 +

0.14.0 の新機能

+
+ すべてのリリース +
+ +
+
+
特権ヘルパーの導入を案内するようになりました
+

管理者操作を Touch ID で承認できるようにするヘルパーは、これまで設定の中のボタンひとつの奥にあり、そこへ導くものが何もありませんでした。今はフルディスクアクセスと同じように案内します。ウインドウの上にバナーをひとつ、作業を妨げずに知らせるだけです。閉じたら二度と出ません。このヘルパーは便利さのためのもので、Burrow の動作に必要なものではないからです。

+
+
+
確認して行うクリーンが、削除した内容を報告するようになりました
+

チェックしたものを正確に削除していたのに、何もしていないように見えていました。この経路は find で削除しており、成功しても何も出力しないため、結果画面に表示するものがなかったのです。今は削除を許可されたパスを、分類ごとにサイズを合計して報告します。

+
+
+ +
// 0.14.0 でのその他の改善
+
+ 確認して行うクリーンが削除する内容は変わっていません。変わったのは、何を伝えるかだけです + ヘルパーはあくまで任意です。断っても、すべての操作はこれまでどおり動きます +
+ +
+
+ + +
+
+
+ 信頼できる理由 +

ファイルに触れる道具は、信頼を勝ち取るべきです。

+
+
+
+

オープンソース

+

すべての行が公開され、MIT ライセンスで提供されています。読むことも、監査することも、フォークすることもできます。 リポジトリを見る.

+
+
+

消す前に、見せる

+

どの操作も、まずファイルとバイト数を並べます。あなたが確認して、はじめて Burrow が動きます。バックグラウンドで動く root ヘルパーはありません。確認するのは macOS 自身のダイアログです。

+
+
+

データはこの Mac から出ません

+

スキャン結果・指標・履歴がこの Mac を出ることはありません。匿名で、いつでも停止できる診断情報については、項目ごとの一覧を TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ インストール +

ずっと無料。アカウントもサブスクリプションもありません。

+

すべてのツール、メニューバー HUD、履歴、MCP サーバを、何台の Mac でも使えます。

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple シリコン & Intel

+ +
+
+ +

Windows

+

.zip · 64 ビット

+ beta · 0.10.0 + +
+
+ +

Homebrew

+

cask · App + エンジン

+
+ +
+
+
+ +
+ +

Windows 版は Mac 版より遅れており、まだプレビューです。ほかのインストール方法、チェックサム、旧バージョンについては インストールページ.

+
+
+ + +
+
+
+

よくある質問

+
+
+
+ +
+

はい。MIT ライセンスで、アカウントも試用期限も有料プランもなく、余計なものが同梱されることもありません。実行する前に読みたければ、ソース全体が GitHub にあります。

+
+
+
+ +
+

どの操作も、実行前にファイル一覧とバイト数を表示します。クリーンは分類を削除の安全度順に並べます。バックグラウンドで動く root ヘルパーはありません。管理者権限が必要なときは macOS 自身のダイアログが確認し、Burrow はそのコマンドだけを実行して終了します。

+
+
+
+ +
+

App が自分で作り直せるキャッシュや一時ファイルです。ブラウザのキャッシュ、開発のビルド成果物、App の関連キャッシュ、ログ、残ったインストーラなど。作り直しに実際のコストがかかるパッケージキャッシュやビルド成果物は、あなたが自分で確認するまでチェックが外れたままです。

+
+
+
+ +
+

ファイル、パス、URL、指標は一切送信しません。スキャン結果と履歴はこの Mac に留まり、MCP サーバはループバックのみです。匿名で、いつでも停止できる使用状況とクラッシュの診断情報は送信しており、その項目は TELEMETRY.mdに項目ごとに記載しています。設定のスイッチひとつで停止でき、ソースからのビルドでは最初から無効です。

+
+
+
+ +
+

いいえ。許可がなくても Burrow は安全なスキャンを実行します。許可すると、App Support やコンテナのより深いキャッシュにも届くようになります。許可も取り消しも、いつでも行えます。

+
+
+
+ +
+

はい。0.11.0 以降は署名・公証・スタンプ・Gatekeeper の検査がすべて通らない限り、タグから公開できません。0.10.5 以前のアーカイブ版はそれ以前のものです。Gatekeeper に止められた場合は、右クリックして 開く を選んでください。詳しい取り決めは SECURITY.md.

+
+
+
+ +
+

26 の MCP ツールが、スナップショット、履歴、上位プロセス、ディスク分析、重複ファイル、ポート、ネットワークなどを扱えます。うち 14 は読み取り専用ですぐに使えます。この Mac を変更するツールは、それぞれ明示的に有効にする必要があります。一覧は agent-tools.md.

+
+
+
+ +
+

WinUI 3 と .NET 8 によるネイティブ移植版が beta として進行中で、ツールごとに機能を揃えているところです。macOS が成熟した主軸で、Windows 版は現在 zip で配布しており、インストーラも準備中です。 GitHub で進捗を追う.

+
+
+
+

ソースからのビルド、MCP サーバの設定、そのほか何でも。すべては README.

+
+
+ + + + + + + diff --git a/docs/ja/releases.html b/docs/ja/releases.html new file mode 100644 index 00000000..de9dba6f --- /dev/null +++ b/docs/ja/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

変更履歴

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limitmin_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purgeinstaller descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • クリーン now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • 分析: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • 最適化: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • ポート: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • 接続を直す: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • チューンアップ: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • 履歴: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • ディープクリーン: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • インストーラ: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • 履歴: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/ja/roadmap.html b/docs/ja/roadmap.html new file mode 100644 index 00000000..3d16bf07 --- /dev/null +++ b/docs/ja/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

ロードマップ

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo インストール + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ ポート & 接続を直す + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/ko/compare.html b/docs/ko/compare.html new file mode 100644 index 00000000..8be9c39b --- /dev/null +++ b/docs/ko/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
Price무료$40/yr무료$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/ko/docs.html b/docs/ko/docs.html new file mode 100644 index 00000000..495b6527 --- /dev/null +++ b/docs/ko/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the 설치 페이지. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

정리

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

심층 정리

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__, coverage rebuilds locally with no network. Dependency directories such as node_modules, Pods, venv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

설치 파일

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

중복 파일

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

비슷한 사진

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

잔여 파일

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

최적화

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

정비

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

분석

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

상태

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

기록

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

포트

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

네트워크

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

연결 복구

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecast, burrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimize, burrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • 지우기 전에 보여 줍니다. Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/ko/index.html b/docs/ko/index.html new file mode 100644 index 00000000..41bafbc9 --- /dev/null +++ b/docs/ko/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · macOS의 정리·소프트웨어·상태를 한곳에서 다루는 무료 오픈 소스 도구 & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ +

지금까지 앱 여섯 개 로 하던 일을 한곳에.

+

불필요한 파일을 치우고, 중복과 잔여 파일을 찾고, 디스크를 차지하는 것이 무엇인지 보여 주고, 시스템 상태를 실시간으로 지켜보는 무료 오픈 소스 Mac 도구입니다. 네이티브 창 하나로 끝나며, Windows 버전도 베타로 제공합니다.

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ 무료·v0.14.0· + macOS 14+·Windows 10/11 (베타) +

+ +

지금까지 내려받은 사람 13,091

+ +
+ 디스크 공간을 무엇이 쓰고 있는지 보여 주는 Burrow 분석 트리맵 +
+
+
+ + +
+
+
+ 안에 무엇이 있는지 +

열여섯 가지 기능, 창 하나.

+

도구를 바꾸면 창 전체의 색이 함께 바뀝니다. 색은 그 도구가 무엇을 건드리려 하는지 알려 주는 신호이기 때문입니다. 모든 도구가 터미널로 내보내지 않고 끝까지 일을 마칩니다.

+
+ +
+
+
+
+ + 정리 +
+ 10가지 이상 분류 +
+

캐시·로그·임시 파일을 열 가지가 넘는 분류로 나누고, 지워도 안전한 순서대로 보여 줍니다. 무엇이 움직이기 전에 모든 파일과 용량을 확인할 수 있습니다.

+
+
+
+
+ + 심층 정리 +
+ 개발 잔여물 +
+

개발 작업이 남긴 부스러기입니다. node_modules, DerivedData, 빌드 산출물, 오래된 패키지 캐시를 다시 만드는 데 드는 비용과 함께 보여 줍니다.

+
+
+
+
+ + 설치 파일 +
+ 다운로드 정리 +
+

이미 뜯어 놓은 상자들입니다. 앱을 설치한 지 한참 지나도 다운로드 폴더에 남아 있는 .dmg와 .pkg 파일을 찾아냅니다.

+
+
+
+
+ + +
+ 한꺼번에 삭제 +
+

설치된 모든 앱을 크기순이나 최근 사용순으로 정렬할 수 있고, 여러 개를 선택해 삭제하면 환경설정·관련 파일·실행 에이전트까지 함께 치웁니다.

+
+
+
+
+ + 최적화 +
+ 확인 한 번 +
+

훑어보기 재구성, 캐시와 메타데이터 복구, DNS 비우기, 로그인 항목 점검. 늘 해야 하는 잡일을 확인 한 번 뒤에 모았습니다.

+
+
+
+
+ + 정비 +
+ 한 번에 +
+

한 번에 전체를 손봅니다. 지금 이 Mac에 실제로 필요한 유지 관리만 골라 끝까지 실행합니다.

+
+
+
+
+ + 분석 +
+ 트리맵 +
+

디스크 전체를 정사각형에 가까운 트리맵으로 보여 줍니다. 어떤 가지든 파고들어 가서, 그 자리 메뉴로 Finder에서 열거나 휴지통으로 보낼 수 있습니다.

+
+
+
+
+ + 중복 파일 +
+ 내용 해시 기반 +
+

내용의 해시로 중복을 찾고 하드링크도 인식하므로, 여러 도구가 공유하는 파일이 두 번 계산되지 않습니다.

+
+
+
+
+ + 잔여 파일 +
+ 남겨진 파일 +
+

오래전에 지운 앱이 남긴 관련 파일·환경설정·실행 에이전트를, 그것을 남긴 앱과 짝지어 보여 줍니다.

+
+
+
+
+ + 비슷한 사진 +
+ 시각적 비교 +
+

보관함 전체를 시각적으로 비교해, 거의 똑같은 사진과 솎아낼 만한 연속 촬영 컷을 찾아냅니다.

+
+
+
+
+ + 상태 +
+ 실시간 + HUD +
+

CPU·메모리·GPU·디스크·네트워크·배터리를 각각의 소형 그래프와 함께 한 화면에. 고정할 수 있는 프로세스 표와 메뉴 막대 HUD도 함께 제공합니다.

+
+
+
+
+ + 포트 +
+ 무엇이 대기 중인지 +
+

대기 중인 모든 포트와 그 뒤의 프로세스를 함께 보여 주므로, lsof를 꺼내지 않고도 3000번을 잡고 있는 것을 찾을 수 있습니다.

+
+
+
+
+ + 네트워크 +
+ 프로세스별 +
+

인터페이스별·프로세스별 실시간 처리량을 보여 주므로, 회선을 실제로 쓰고 있는 것이 무엇인지 알 수 있습니다.

+
+
+
+
+ + 연결 복구 +
+ 진단 +
+

연결이 끊겼을 때 지상으로 돌아가는 안내 경로입니다. DNS, 게이트웨이, 인증 페이지, 인터페이스를 순서대로 점검합니다.

+
+
+
+
+ + 기록 +
+ 90일 +
+

모든 상태 표본이 로컬 SQLite 파일에 쌓입니다. 5분 전부터 90일 전까지 자유롭게 되짚어 볼 수 있고, 프로세스별 최고치 표도 함께 봅니다.

+
+
+
+
+ + 에이전트 · MCP +
+ 26가지 도구 +
+

26가지 MCP 도구가 앱 전체를 Claude Code에 열어 주고, 루프백 HTTP API도 함께 제공합니다. 기본은 읽기 전용이며, 무언가를 지우는 동작은 따로 켜야 합니다.

+
+
+
+
+ + +
+
+
+ 직접 보기 +

실행하는 것만이 아니라 바라보기 위해 만들었습니다.

+
+ +
+
+

디스크를 실제로 먹고 있는 것을 확인하세요.

+

모든 폴더를 실제로 차지하는 크기대로 그린 트리맵입니다. 원인이 분명해질 때까지 파고든 다음, 지도를 벗어나지 않고 바로 처리하세요.

+

분석

+
+
+ Burrow 분석: 디스크 사용량 트리맵을 폴더 단위까지 파고든 화면 +
+
+ +
+
+

이 Mac의 모든 맥박을 실시간으로.

+

CPU·메모리·GPU·디스크·네트워크·배터리가 각자의 소형 그래프와 함께 한 화면에 모입니다. 프로세스 표는 정렬과 고정이 되므로 팬을 돌리는 주범을 계속 볼 수 있습니다.

+

상태

+
+
+ Burrow 상태: CPU·메모리·GPU·디스크·네트워크 실시간 표시와 프로세스 표 +
+
+ +
+
+

지우기 전에 보여 줍니다.

+

정리는 찾아낸 것을 지워도 안전한 순서로 정렬하고, 무엇이 움직이기 전에 파일 목록과 용량을 보여 줍니다. 남기고 싶은 것은 체크만 해제하세요. 잘못 누른 한 번으로 사라지는 것은 없습니다.

+

정리

+
+
+ Burrow 정리: 분류별 불필요한 파일과 개수·크기를 확인할 수 있는 화면 +
+
+ +
+
+

굴의 긴 기억.

+

상태 표본은 로컬 SQLite 기록에 쌓이며, 5분 전부터 90일 전까지 되짚어 볼 수 있습니다. 팬이 실제로 돌았던 순간에 대해서는 프로세스별 최고치 표도 확인할 수 있습니다.

+

기록

+
+
+ Burrow 기록: 90일에 걸친 CPU·메모리·디스크 장기 그래프 +
+
+ +
+
+

굴 전체를 메뉴 막대에서.

+

앱을 열지 않아도 전체 그림을 펼쳐 보여 주는 HUD입니다. 실시간 지표, 상위 프로세스, 그리고 필요한 도구로 바로 가는 길이 들어 있습니다.

+
+
+ Burrow 메뉴 막대 HUD: 실시간 지표와 상위 프로세스를 펼침 메뉴로 표시 +
+
+ +
+
+

Claude에서 내 Mac에 물어보세요.

+

내장 MCP 서버가 burrow_snapshot, burrow_history, burrow_top_processes 를 모든 에이전트에 제공하며, 루프백 HTTP API도 127.0.0.1:9277에서 함께 제공합니다. 둘 다 이 Mac 안에서만 동작합니다.

+

에이전트 · MCP

+
+
+ Claude Code가 Burrow의 MCP 서버에 머신 상태를 묻는 화면 +
+
+
+
+ + +
+
+ +
+
+ 새 소식 · 2026년 8월 +

0.14.0의 새로운 점

+
+ 전체 릴리스 +
+ +
+
+
Burrow가 권한 도우미를 먼저 안내합니다
+

관리자 작업을 Touch ID로 승인하게 해 주는 도우미는 설정 안의 버튼 하나 뒤에 있었고, 그곳으로 안내하는 것이 아무것도 없었습니다. 이제는 전체 디스크 접근 권한과 같은 방식으로 안내합니다. 창 위에 배너 하나가 떠서 막지 않고 알려 주기만 하며, 닫으면 다시 나타나지 않습니다. 이 도우미는 편의를 위한 것이지 Burrow가 동작하는 데 필요한 것이 아니기 때문입니다.

+
+
+
확인 후 실행하는 정리가 삭제한 내용을 알려 줍니다
+

체크한 것을 정확히 지우고도 아무 일도 하지 않은 것처럼 보였습니다. 이 경로는 find로 삭제하는데, 성공해도 아무 것도 출력하지 않아 결과 화면에 보여 줄 내용이 없었기 때문입니다. 이제는 삭제가 허용된 경로를 분류별로 묶고 크기를 합산해 알려 줍니다.

+
+
+ +
// 0.14.0에서 함께 다듬은 것
+
+ 확인 후 실행하는 정리가 지우는 대상은 그대로이고, 달라진 것은 알려 주는 내용뿐입니다 + 도우미는 어디까지나 선택 사항입니다. 거절해도 모든 작업은 이전과 똑같이 동작합니다 +
+ +
+
+ + +
+
+
+ 믿어도 되는 이유 +

내 파일을 건드리는 도구라면 신뢰를 얻어야 합니다.

+
+
+
+

오픈 소스

+

모든 코드가 공개되어 있고 MIT 라이선스이므로 읽고, 검토하고, 갈라 나갈 수 있습니다. 저장소 보기.

+
+
+

지우기 전에 보여 주기

+

모든 작업이 파일과 용량을 먼저 나열합니다. 사용자가 확인해야 Burrow가 움직입니다. 백그라운드에서 도는 root 도우미는 없으며, 묻는 것은 macOS 자체 대화상자입니다.

+
+
+

데이터는 그 자리에 남습니다

+

검사 결과, 지표, 기록은 이 기기를 절대 벗어나지 않습니다. 익명이며 끌 수 있는 진단 정보는 항목별로 TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ 설치 +

언제까지나 무료입니다. 계정도 구독도 없습니다.

+

모든 도구, 메뉴 막대 HUD, 기록, MCP 서버를 원하는 만큼 여러 대에서 쓸 수 있습니다.

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple 실리콘 & Intel

+ +
+
+ +

Windows

+

.zip · 64비트

+ beta · 0.10.0 + +
+
+ +

Homebrew

+

cask · 앱 + 엔진

+
+ +
+
+
+ +
+ +

Windows 버전은 Mac 버전보다 늦으며 아직 미리보기 단계입니다. 다른 설치 방법과 체크섬, 이전 버전은 설치 페이지.

+
+
+ + +
+
+
+

자주 묻는 질문

+
+
+
+ +
+

네. MIT 라이선스이며 계정도, 사용 기한도, 유료 등급도, 끼워 넣은 것도 없습니다. 실행하기 전에 읽어 보고 싶다면 전체 소스가 GitHub에 있습니다.

+
+
+
+ +
+

모든 작업이 실행 전에 파일 목록과 용량을 보여 주고, 정리는 분류를 지워도 안전한 순서로 정렬합니다. 백그라운드에서 도는 root 도우미는 없습니다. 관리자 권한이 필요하면 macOS 자체 대화상자가 묻고, Burrow는 그 명령 하나만 실행한 뒤 종료합니다.

+
+
+
+ +
+

앱이 알아서 다시 만드는 캐시와 임시 파일입니다. 브라우저 캐시, 개발 빌드 산출물, App Support 캐시, 로그, 남은 설치 파일 등입니다. 다시 만드는 데 실제로 비용이 드는 패키지 캐시와 빌드 산출물은 직접 확인하기 전까지 선택되지 않은 채로 둡니다.

+
+
+
+ +
+

파일, 경로, URL, 지표는 보내지 않습니다. 검사 결과와 기록은 기기에 남고, MCP 서버는 루프백에서만 동작합니다. 다만 익명이며 끌 수 있는 사용 및 충돌 진단 정보는 보내며, 그 항목은 TELEMETRY.md에 하나씩 적어 두었습니다. 설정의 스위치 하나로 끌 수 있고, 소스에서 빌드한 경우에는 처음부터 아무것도 보내지 않습니다.

+
+
+
+ +
+

아니요. 권한이 없어도 Burrow는 안전한 검사를 실행합니다. 허용하면 App Support와 컨테이너의 더 깊은 캐시까지 닿을 수 있으며, 언제든 허용하거나 취소할 수 있습니다.

+
+
+
+ +
+

네, 0.11.0부터입니다. 서명·공증·스테이플링·Gatekeeper 검사를 모두 통과하지 않으면 태그에서 배포될 수 없습니다. 보관된 0.10.5 이하 빌드는 그 이전 것이라, Gatekeeper가 막으면 마우스 오른쪽 버튼을 눌러 열기 를 선택하세요. 전체 약속은 SECURITY.md.

+
+
+
+ +
+

26가지 MCP 도구가 스냅샷, 기록, 상위 프로세스, 디스크 분석, 중복 파일, 포트, 네트워크 등을 다룹니다. 그중 14가지는 읽기 전용이라 바로 쓸 수 있고, 기기를 바꾸는 도구는 각각 따로 명시적으로 켜야 합니다. 전체 목록은 agent-tools.md.

+
+
+
+ +
+

WinUI 3와 .NET 8로 만든 네이티브 이식판이 베타로 진행 중이며, 도구 단위로 기능을 맞춰 가고 있습니다. macOS가 완성도 높은 주력이고, Windows 미리보기는 현재 zip으로 배포되며 설치 프로그램도 준비 중입니다. GitHub에서 살펴보기.

+
+
+
+

소스에서 빌드하거나 MCP 서버를 연결하는 방법, 그 밖의 모든 것은 README.

+
+
+ + + + + + + diff --git a/docs/ko/releases.html b/docs/ko/releases.html new file mode 100644 index 00000000..b66c800c --- /dev/null +++ b/docs/ko/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

변경 사항

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limit, min_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purge, installer descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • 정리 now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • 분석: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • 최적화: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • 포트: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • 연결 복구: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • 정비: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • 기록: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • 심층 정리: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • 설치 파일: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • 기록: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/ko/roadmap.html b/docs/ko/roadmap.html new file mode 100644 index 00000000..aeb18961 --- /dev/null +++ b/docs/ko/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

로드맵

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo 설치 + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ 포트 & 연결 복구 + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/localization.md b/docs/localization.md new file mode 100644 index 00000000..11c0d9a8 --- /dev/null +++ b/docs/localization.md @@ -0,0 +1,148 @@ +# Localization + +Burrow's macOS app ships ten languages. This is how they stay correct. + +## The rules, in one place + +1. **`AppLanguage.all` is the only list.** `macos/Sources/AppLanguage.swift` holds one row per language — code, endonym, and how to name the language to the Explain model. The Settings picker, the Explain prompt and the tests all read it. Adding a language is one row plus one `.strings` file; if you find yourself editing a third place, something has drifted. +2. **`zh-Hans` is the canonical table.** Every other table must translate exactly its key set — no more, no fewer. It holds that role because it is the oldest and most complete, not because Simplified Chinese is special. +3. **The key is the English string.** There is no separate English table; `NSLocalizedString("Clean")` falls back to `Clean`. This is why editing English copy is never a one-file change (see below). +4. **Never translate a format specifier.** `%@`, `%d`, `%lld`, `%.1f` and `%%` survive verbatim. If the target language needs a different word order, reorder with positional specifiers (`%2$d … %1$@`) rather than moving the bare ones — moving them rebinds each conversion to the wrong argument, which is a runtime crash or garbage, not a compile error. +5. **The `ACTION:` line in the Explain prompt stays English in every language.** It is a control token matched against `ExplainSuggestion`'s raw values and then dropped, so nobody reads it; translating it silently costs the user the action button. + +## Adding a language + +1. Add a row to `AppLanguage.all`. Put the endonym in its own language — a picker offering "German" to a German speaker labels the one option they can already read. +2. Create `macos/Resources/.lproj/Localizable.strings` with every key from `zh-Hans`, in the same order, keeping the section comments. XcodeGen picks the folder up automatically; no project change is needed. +3. Run the test suite. Four tests gate the result, described below. +4. Add the language to the README's Settings table. + +## What CI checks — and what it cannot + +`macos/Tests/LocalizationTests.swift` enforces four things across every language automatically, so none of them need a per-language test: + +- **Key parity** with the canonical table, both directions. +- **Core interface coverage** — the tabs, the consent dialog and the destructive-action gates must never fall back to English. +- **Format-argument survival**, honouring positional reordering. +- **`AppLanguage.all` matches the shipped `.lproj` folders**, both directions. A row without a table ships a picker entry that silently renders English; a table without a row ships a translation nobody can select. + +What no test can tell you is whether a translation is *correct*. Key parity proves a string is present, not that it says the right thing — the Russian table shipped with `Clean` and `Purge` both rendered as "Очистка", two different tools under one name, and every test passed. **A new language needs a native speaker to read it before it ships.** + +### Translation status + +| Language | Code | Reviewed by a native speaker | +| --- | --- | --- | +| 简体中文 | `zh-Hans` | yes | +| 繁體中文 | `zh-Hant` | yes | +| Русский | `ru` | contributed by a speaker, machine-corrected since | +| 日本語 | `ja` | **not yet** | +| Deutsch | `de` | **not yet** | +| Français | `fr` | **not yet** | +| Español | `es` | **not yet** | +| 한국어 | `ko` | **not yet** | +| Português (Brasil) | `pt-BR` | **not yet** | + +Rows marked "not yet" are machine-drafted. They are structurally sound — parity, format specifiers and coverage are all enforced — but the wording has not been read by a speaker. Fixing one is a welcome first contribution: correct the `.strings` file and flip the row. + +## Editing English copy + +Changing an English string changes the key, which orphans that key in all nine tables at once and fails the parity test. That is deliberate: it is what stops a copy edit from silently leaving nine stale translations behind. The fix is to update every table in the same commit. + +The corollary is that **each language is a permanent tax on every copy change**, which is the real argument for restraint. Add a language because someone asked for it and will help maintain it, not to fill in a matrix. + +There is one gap this does not cover: a new `NSLocalizedString` in Swift that never reaches any table passes CI and just renders English. Nothing enforces that today. + +## Plurals + +Russian, Ukrainian, Polish, Czech, Arabic and Hebrew agree the counted noun with the number across three to six forms. Burrow's tables cannot express that: the scheme is two keys (`"%d update"` / `"%d updates"`), which covers exactly the languages with two forms. + +**A `.stringsdict` does not currently fix this.** Foundation resolves plural rules from the locale passed to the format call, and all 252 `String(format:)` call sites in the app pass none — so it applies English rules and renders "5 приложения". Adding a stringsdict would move the breakage rather than remove it. + +So languages in this family use count-neutral phrasing, which is grammatical at every number: + +``` +"%d apps" = "приложений: %d"; /* not "%d приложений" — wrong for 2-4 */ +"Remove %d apps?" = "Удалить приложения (%d)?"; +``` + +To fix this properly, thread `locale: .current` through those call sites first; then a stringsdict becomes the right answer and the workaround can be unwound. + +## Languages by cost + +Popularity is not what makes a language expensive — its plural rules are. + +- **Free** (no number-noun agreement): Japanese, Korean, Chinese, Vietnamese, Thai. The two-key scheme is already more than these need. +- **Cheap** (two forms, aligned with English): German, French, Spanish, Italian, Dutch, Portuguese. +- **Blocked on the plural work above**: Russian (shipped with the workaround), Ukrainian, Polish, Czech, Arabic, Hebrew. + +## The landing site + +The site is localized by a different mechanism than the app, for the same +reason: nine hand-maintained copies of five pages would go stale on the first +copy edit and nothing would catch it. + +Two scripts share the work, and the split matters: `site-release.py` renders the +**English** pages from JSON, including their language picker and `hreflang` +links; `site-i18n.py` reads those pages and writes the **translated** copies +under `docs//`. Neither writes the other's files — two generators editing +one page is how they end up disagreeing. + +Run order is `site-release.py` first, then `site-i18n.py`. Everything under +`docs/` and `docs//` is build output; editing either by hand is wasted +work that the next run overwrites. + +```bash +python3 scripts/site-i18n.py --extract # pull new English strings into the catalogs +python3 scripts/site-i18n.py # rebuild docs//*.html +python3 scripts/site-i18n.py --check # CI: fail if any copy has drifted +``` + +Three things follow from generating rather than copying: + +- **An untranslated string falls back to English on its own.** The catalogs hold + every string with `""` for the ones nobody has done yet; the renderer skips + those, so a page is never blocked on being finished. This is why a partly + translated site is safe to ship. +- **Editing English copy is a one-file change again.** Re-run the script and all + nine copies follow. The new string arrives in the catalogs as untranslated. +- **The picker, the `hreflang` alternates, the canonical URLs and the sitemap + rows are generated too**, so the ten copies cannot disagree about which + languages exist. + +`--check` runs in the compliance job, so a copy edit that skips the regenerate +step fails CI rather than shipping ten pages that disagree. + +### Site translation status + +`index.html` is the page a non-English visitor uses to decide whether to +download, so it is translated first. Everything else renders English until its +catalog is filled — which is a working site, not a broken one. + +| | index | docs | compare | roadmap | releases | +| --- | --- | --- | --- | --- | --- | +| all nine languages | done | — | — | — | — | + +155 strings per language, covering the hero, the sixteen tool cards, the +screenshot captions, the trust section, install and the FAQ. Proper nouns, +version strings and shell commands are deliberately left untranslated. + +### releases.html is translated too, and that has a cost to manage + +`releases.html` is 513 of the site's 824 strings, and it is regenerated from +`releases.json` by `site-release.py` on every release. So **every release adds +new untranslated strings to all nine catalogs** — the changelog is a treadmill +the other four pages are not. + +That is a known, accepted cost, not an oversight. What it means in practice: + +1. After `site-release.py` runs, run `site-i18n.py --extract`. The new release's + notes appear in every catalog as empty strings. +2. Until someone fills them, that release's entry renders in English while every + older entry stays translated. The page still ships; the fallback is per + string, not per page. +3. `--check` will not fail for this — untranslated is a legal state. It fails + only when a generated page has drifted from its source. + +If the treadmill ever stops being worth it, dropping `releases.html` from +`PAGES` is a one-line change and the existing translations stay valid for the +rest of the site. diff --git a/docs/pt-BR/compare.html b/docs/pt-BR/compare.html new file mode 100644 index 00000000..39c36f47 --- /dev/null +++ b/docs/pt-BR/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
PriceGratuito$40/yrGratuito$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/pt-BR/docs.html b/docs/pt-BR/docs.html new file mode 100644 index 00000000..06374eca --- /dev/null +++ b/docs/pt-BR/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the página de instalação. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

Limpeza

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

Limpeza profunda

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__ e coverage rebuilds locally with no network. Dependency directories such as node_modules, Pods e venv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

Instaladores

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

Duplicatas

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

Fotos parecidas

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

Apps

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

Sobras

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

Otimização

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

Ajuste fino

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

Análise

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

Status

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

Histórico

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

Portas

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

Rede

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

Voltar à rede

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecast e burrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimize e burrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • Mostrar antes de remover. Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/pt-BR/index.html b/docs/pt-BR/index.html new file mode 100644 index 00000000..506ec267 --- /dev/null +++ b/docs/pt-BR/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · Utilitário livre e de código aberto para limpeza, software e status no macOS & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Tudo para o que você abria seis apps , em um só lugar.

+

Um utilitário para Mac, gratuito e de código aberto, que limpa o que sobra, encontra duplicatas e sobras, mostra o que está comendo seu disco e acompanha o status do sistema ao vivo. Uma janela nativa, e uma versão para Windows em beta.

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ Gratuito·v0.14.0· + macOS 14+·Windows 10/11 (beta) +

+ +

Já baixado por 13,091 pessoas

+ +
+ O mapa de árvore do Burrow mostrando o que está ocupando espaço em disco +
+
+
+ + +
+
+
+ o que tem dentro +

Dezesseis ferramentas, uma janela.

+

Cada ferramenta recolore a janela inteira do seu jeito, porque a cor é o modo de dizer no que ela está prestes a mexer. Todas fazem o trabalho do início ao fim, sem jogar você num terminal.

+
+ +
+
+
+
+ + Limpeza +
+ mais de 10 categorias +
+

Caches, registros e arquivos temporários em mais de dez categorias, ordenados pelo que é mais seguro remover. Você vê cada arquivo e cada byte antes de qualquer coisa se mexer.

+
+
+
+
+ + Limpeza profunda +
+ sobras de desenvolvimento +
+

O entulho que o desenvolvimento deixa: node_modules, DerivedData, saídas de compilação, caches de pacotes vencidos, cada um com o custo de refazer.

+
+
+
+
+ + Instaladores +
+ faxina nos downloads +
+

As caixas que você já desempacotou. Encontra .dmg e .pkg parados em Downloads muito depois de o app ter sido instalado.

+
+
+
+
+ + Apps +
+ desinstalar em lote +
+

Todos os apps instalados, ordenáveis por tamanho ou por uso recente, com desinstalação em lote que leva junto preferências, arquivos de apoio e agentes de inicialização.

+
+
+
+
+ + Otimização +
+ uma confirmação +
+

Reconstruir a Visualização Rápida, reparar caches e metadados, limpar o DNS, revisar os itens de início. As tarefas de sempre atrás de uma única confirmação.

+
+
+
+
+ + Ajuste fino +
+ uma passada +
+

Cuidado completo em uma passada. Escolhe a manutenção que realmente se aplica ao seu Mac agora e leva até o fim.

+
+
+
+
+ + Análise +
+ mapa de árvore +
+

Um mapa de árvore do disco inteiro. Desça por qualquer ramo e mostre no Finder ou mande para o Lixo pelo menu de contexto.

+
+
+
+
+ + Duplicatas +
+ pelo conteúdo +
+

Localiza duplicatas pelo hash do conteúdo e reconhece links físicos, então arquivos compartilhados entre ferramentas não são contados duas vezes.

+
+
+
+
+ + Sobras +
+ arquivos órfãos +
+

Arquivos de apoio, preferências e agentes de inicialização de apps que você removeu há tempos, associados de volta ao app que os deixou.

+
+
+
+
+ + Fotos parecidas +
+ comparação visual +
+

Comparação visual em toda a sua fototeca para trazer à tona fotos quase idênticas e sequências que vale a pena afinar.

+
+
+
+
+ + Status +
+ ao vivo + HUD +
+

CPU, memória, GPU, disco, rede e bateria em uma página só, cada um com seu minigráfico, mais uma tabela de processos que pode ser fixada e um HUD na barra de menus.

+
+
+
+
+ + Portas +
+ quem está escutando +
+

Cada porta em escuta com o processo por trás dela, para descobrir o que está segurando a 3000 sem recorrer ao lsof.

+
+
+
+
+ + Rede +
+ por processo +
+

Tráfego ao vivo por interface e por processo, para ver o que está realmente usando a conexão.

+
+
+
+
+ + Voltar à rede +
+ diagnóstico +
+

Um caminho guiado de volta à superfície quando a conexão cai: DNS, gateway, portal de autenticação e interfaces, verificados em ordem.

+
+
+
+
+ + Histórico +
+ 90 dias +
+

Cada amostra de status vai para um arquivo SQLite local. Percorra de cinco minutos até noventa dias, com tabelas de pico por processo.

+
+
+
+
+ + Agente · MCP +
+ 26 ferramentas +
+

Vinte e seis ferramentas MCP abrem o app inteiro para o Claude Code, além de uma API HTTP em loopback. Somente leitura por padrão; o que apaga precisa ser liberado à parte.

+
+
+
+
+ + +
+
+
+ ver de perto +

Feito para ser olhado, não só executado.

+
+ +
+
+

Veja o que está realmente comendo o disco.

+

Um mapa de árvore de cada pasta, dimensionado pelo que ela de fato custa. Desça até o culpado ficar óbvio e resolva sem sair do mapa.

+

Análise

+
+
+ Burrow Análise: um mapa de árvore do uso do disco, aberto até uma pasta +
+
+ +
+
+

Cada batida da máquina, ao vivo.

+

CPU, memória, GPU, disco, rede e bateria dividem uma página, cada um com seu minigráfico. A tabela de processos ordena e fixa, para que o que está acelerando suas ventoinhas fique à vista.

+

Status

+
+
+ Burrow Status: CPU, memória, GPU, disco e rede ao vivo, com a tabela de processos +
+
+ +
+
+

Mostrar antes de remover.

+

A limpeza ordena tudo o que encontra pelo quanto é seguro apagar e mostra a lista de arquivos e os bytes antes de qualquer coisa se mexer. Desmarque o que quiser manter: nada some por causa de um clique errado.

+

Limpeza

+
+
+ Burrow Limpeza: o que sobra separado por categoria, com contagem e tamanho, pronto para revisar +
+
+ +
+
+

Uma longa memória da toca.

+

As amostras de status vão para um histórico SQLite local que você pode percorrer de cinco minutos até noventa dias, com tabelas de pico por processo para os momentos em que as ventoinhas realmente aceleraram.

+

Histórico

+
+
+ Burrow Histórico: gráficos de longo prazo de CPU, memória e disco ao longo de noventa dias +
+
+ +
+
+

A toca inteira, pela barra de menus.

+

Um HUD que abre o quadro completo sem abrir o app: métricas ao vivo, principais processos e um atalho para a ferramenta de que você precisa.

+
+
+ HUD do Burrow na barra de menus: métricas ao vivo e principais processos em um menu suspenso +
+
+ +
+
+

Pergunte ao seu Mac, direto do Claude.

+

O servidor MCP integrado expõe burrow_snapshot, burrow_history e burrow_top_processes para qualquer agente, além de uma API HTTP em loopback em 127.0.0.1:9277. Os dois ficam locais.

+

Agente · MCP

+
+
+ Claude Code consultando o servidor MCP do Burrow sobre o estado da máquina +
+
+
+
+ + +
+
+ +
+
+ Novidades · agosto de 2026 +

Novo na 0.14.0

+
+ Todas as versões +
+ +
+
+
O Burrow oferece o auxiliar privilegiado
+

O auxiliar que permite autorizar operações de administrador com o Touch ID ficava atrás de um único botão nos ajustes, sem nada apontando para ele. Agora é oferecido do mesmo jeito que o Acesso Total ao Disco: um aviso sobre a janela, que informa sem bloquear. Fechá-lo é definitivo, porque o auxiliar é uma comodidade e não algo de que o Burrow precise para funcionar.

+
+
+
A limpeza revisada informa o que removeu
+

Ela apagava exatamente o que estava marcado e depois parecia não ter feito nada: esse caminho apaga com o find, que termina em silêncio, então a tela de resultado não tinha o que mostrar. Agora informa os caminhos que teve autorização para remover, agrupados por categoria e com os tamanhos somados.

+
+
+ +
// também ajustado na 0.14.0
+
+ Nada mudou no que a limpeza revisada apaga — só no que ela conta a você + O auxiliar continua totalmente opcional; recuse e tudo funciona como antes +
+ +
+
+ + +
+
+
+ por que dá para confiar +

Uma ferramenta que mexe nos seus arquivos precisa merecer isso.

+
+
+
+

Código aberto

+

Cada linha é pública e sob licença MIT, então você pode ler, auditar ou bifurcar. Ver o repositório.

+
+
+

Mostrar antes de remover

+

Toda ação lista primeiro os arquivos e os bytes. Você confirma, o Burrow age. Sem auxiliar root em segundo plano: quem pergunta é a própria janela do macOS.

+
+
+

Seus dados ficam onde estão

+

Verificações, métricas e histórico nunca saem da máquina. Os diagnósticos anônimos, que você pode desligar, estão listados campo a campo em TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ instalação +

Gratuito, para sempre. Sem conta e sem assinatura.

+

Todas as ferramentas, o HUD da barra de menus, o histórico e o servidor MCP, em quantas máquinas você quiser.

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple Silicon & Intel

+
+ Baixar +
+
+
+ +

Windows

+

.zip · 64 bits

+ beta · 0.10.0 +
+ Baixar +
+
+
+ +

Homebrew

+

cask · app + motor

+
+ +
+
+
+ +
+ +

A versão Windows vem atrás da do Mac e ainda é uma prévia. Outras formas de instalar, as somas de verificação e as versões antigas estão na página de instalação.

+
+
+ + +
+
+
+

Perguntas frequentes

+
+
+
+ +
+

Sim. Sob licença MIT, sem contas, sem limite de teste, sem plano pago e sem nada embutido junto. O código completo está no GitHub, caso você queira ler antes de executar.

+
+
+
+ +
+

Toda ação mostra a lista de arquivos e os bytes antes de rodar, e a limpeza ordena as categorias pelo quanto é seguro removê-las. Não há auxiliar root em segundo plano: quando uma tarefa precisa de permissões de administrador, quem pergunta é a própria janela do macOS, o Burrow roda aquele único comando e encerra.

+
+
+
+ +
+

Caches e arquivos temporários que os apps recriam sozinhos: caches de navegadores, artefatos de compilação, caches do App Support, registros, instaladores esquecidos. Caches de pacotes e saídas de compilação cujo custo de refazer é real ficam desmarcados até você confirmar.

+
+
+
+ +
+

Nem arquivos, nem caminhos, nem URLs, nem métricas. As verificações e o histórico ficam na máquina, e o servidor MCP só escuta em loopback. O Burrow envia, sim, diagnósticos anônimos de uso e de falha, que você pode desligar e estão descritos campo a campo em TELEMETRY.md. Um interruptor nos ajustes desliga tudo, e as compilações feitas a partir do código não enviam nada.

+
+
+
+ +
+

Não. O Burrow faz uma verificação segura sem ele. Concedê-lo permite alcançar caches mais profundos do App Support e de contêineres, e você pode conceder ou revogar quando quiser.

+
+
+
+ +
+

Sim, da 0.11.0 em diante, e uma tag só publica se assinatura, notarização, grampeamento e avaliação do Gatekeeper passarem. As versões arquivadas 0.10.5 e anteriores são de antes disso: clique com o botão direito e escolha Abrir se o Gatekeeper bloquear alguma. O compromisso completo está em SECURITY.md.

+
+
+
+ +
+

Vinte e seis ferramentas MCP cobrem instantâneos, histórico, principais processos, análise de disco, duplicatas, portas, rede e mais. Catorze são somente leitura e ficam disponíveis de imediato; as que alteram sua máquina exigem uma liberação explícita cada uma. A lista completa está em agent-tools.md.

+
+
+
+ +
+

Há uma versão nativa em WinUI 3 e .NET 8 em beta ativo, alcançando a paridade ferramenta por ferramenta. O macOS é a versão madura; a prévia do Windows sai hoje como zip, e um instalador está a caminho. Acompanhar no GitHub.

+
+
+
+

Compilar a partir do código, ligar o servidor MCP ou qualquer outra coisa? Está tudo no README.

+
+
+ + + + + + + diff --git a/docs/pt-BR/releases.html b/docs/pt-BR/releases.html new file mode 100644 index 00000000..8e690346 --- /dev/null +++ b/docs/pt-BR/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Novidades

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limit e min_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purge e installer descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • Limpeza now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • Análise: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • Otimização: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • Portas: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • Voltar à rede: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • Ajuste fino: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • Histórico: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • Limpeza profunda: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • Instaladores: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • Histórico: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/pt-BR/roadmap.html b/docs/pt-BR/roadmap.html new file mode 100644 index 00000000..b5663cb7 --- /dev/null +++ b/docs/pt-BR/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Planejamento

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo instalação + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ Portas & Voltar à rede + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/releases.html b/docs/releases.html index 9413f79f..c981b2bc 100644 --- a/docs/releases.html +++ b/docs/releases.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -123,6 +134,7 @@ Burrow diff --git a/docs/roadmap.html b/docs/roadmap.html index a0462028..25eb7840 100644 --- a/docs/roadmap.html +++ b/docs/roadmap.html @@ -9,6 +9,17 @@ + + + + + + + + + + + @@ -104,6 +115,7 @@ Burrow diff --git a/docs/ru/compare.html b/docs/ru/compare.html new file mode 100644 index 00000000..7d47fe67 --- /dev/null +++ b/docs/ru/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
PriceБесплатно$40/yrБесплатно$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/ru/docs.html b/docs/ru/docs.html new file mode 100644 index 00000000..47bd5555 --- /dev/null +++ b/docs/ru/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the странице установки. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

Очистка

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

Глубокая очистка

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__ и coverage rebuilds locally with no network. Dependency directories such as node_modules, Pods и venv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

Установщики

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

Дубликаты

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

Похожие фото

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

Программы

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

Остатки

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

Оптимизация

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

Настройка

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

Анализ

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

Состояние

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

История

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

Порты

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

Сеть

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

Вернуть сеть

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecast и burrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimize и burrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • Сначала показать, потом удалять. Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/ru/index.html b/docs/ru/index.html new file mode 100644 index 00000000..b4ef6031 --- /dev/null +++ b/docs/ru/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · Бесплатная утилита с открытым кодом для очистки, программ и состояния в macOS & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Всё, ради чего вы открывали шесть программ , — в одном месте.

+

Бесплатная утилита для Mac с открытым кодом: убирает мусор, находит дубликаты и остатки, показывает, что съедает диск, и следит за состоянием системы в реальном времени. Одно нативное окно, а для Windows есть бета-сборка.

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ Бесплатно·v0.14.0· + macOS 14+·Windows 10/11 (бета) +

+ +

Уже загрузили 13,091 человек

+ +
+ Древовидная карта Burrow, показывающая, что занимает место на диске +
+
+
+ + +
+
+
+ что внутри +

Шестнадцать инструментов, одно окно.

+

Каждый инструмент перекрашивает всё окно в свой цвет, потому что цвет — это способ сказать, к чему он собирается прикоснуться. Любой из них доводит работу до конца и не отправляет вас в терминал.

+
+ +
+
+
+
+ + Очистка +
+ больше 10 категорий +
+

Кэши, журналы и временные файлы более чем в десяти категориях, отсортированные по тому, что безопаснее удалять. Вы видите каждый файл и каждый байт до того, как что-либо сдвинется с места.

+
+
+
+
+ + Глубокая очистка +
+ остатки разработки +
+

Порода, которую оставляет разработка: node_modules, DerivedData, результаты сборки, устаревшие кэши пакетов — и для каждого показано, во что обойдётся пересборка.

+
+
+
+
+ + Установщики +
+ уборка загрузок +
+

Ящики, которые вы давно распаковали. Находит файлы .dmg и .pkg, лежащие в «Загрузках» спустя долгое время после установки программы.

+
+
+
+
+ + Программы +
+ удаление пачкой +
+

Все установленные программы с сортировкой по размеру или недавнему использованию; при удалении нескольких сразу подчищаются настройки, вспомогательные файлы и агенты запуска.

+
+
+
+
+ + Оптимизация +
+ один запрос +
+

Пересобрать Quick Look, починить кэши и метаданные, сбросить DNS, проверить объекты входа. Рутина, собранная за одним запросом.

+
+
+
+
+ + Настройка +
+ один проход +
+

Полный уход за один проход. Выбирает обслуживание, которое действительно нужно этому Mac прямо сейчас, и доводит его до конца.

+
+
+
+
+ + Анализ +
+ древовидная карта +
+

Древовидная карта всего диска. Спускайтесь в любую ветку, а затем показывайте в Finder или отправляйте в Корзину прямо из контекстного меню.

+
+
+
+
+ + Дубликаты +
+ по хешу содержимого +
+

Поиск дубликатов по хешу содержимого с учётом жёстких ссылок, поэтому файлы, общие для нескольких инструментов, не считаются дважды.

+
+
+
+
+ + Остатки +
+ осиротевшие файлы +
+

Вспомогательные файлы, настройки и агенты запуска от давно удалённых программ, сопоставленные с той программой, которая их оставила.

+
+
+
+
+ + Похожие фото +
+ визуальное сравнение +
+

Визуальное сравнение по всей медиатеке, чтобы найти почти одинаковые кадры и серийную съёмку, которую стоит проредить.

+
+
+
+
+ + Состояние +
+ в реальном времени + панель +
+

CPU, память, GPU, диск, сеть и батарея на одной странице, у каждого свой мини-график; плюс закрепляемая таблица процессов и панель в строке меню.

+
+
+
+
+ + Порты +
+ кто слушает +
+

Каждый прослушиваемый порт вместе с процессом за ним, чтобы найти, кто занял 3000, не вспоминая про lsof.

+
+
+
+
+ + Сеть +
+ по процессам +
+

Скорость в реальном времени по интерфейсам и по процессам, чтобы видеть, что на самом деле занимает канал.

+
+
+
+
+ + Вернуть сеть +
+ диагностика +
+

Пошаговый путь наверх, когда связь пропала: по порядку проверяются DNS, шлюз, страница авторизации и интерфейсы.

+
+
+
+
+ + История +
+ 90 дней +
+

Каждый замер состояния попадает в локальный файл SQLite. Отматывайте от пяти минут до девяноста дней, с таблицами пиков по процессам.

+
+
+
+
+ + Агент · MCP +
+ 26 инструментов +
+

Двадцать шесть инструментов MCP открывают всё приложение для Claude Code, плюс HTTP-интерфейс на локальной петле. По умолчанию только чтение; всё, что удаляет, включается отдельно.

+
+
+
+
+ + +
+
+
+ посмотреть +

Сделано, чтобы на него смотрели, а не только запускали.

+
+ +
+
+

Увидьте, что на самом деле съедает диск.

+

Древовидная карта каждой папки, где размер — это то, во что она вам обходится. Спускайтесь, пока виновник не станет очевиден, и разбирайтесь с ним, не покидая карту.

+

Анализ

+
+
+ Burrow, анализ: древовидная карта занятого места с раскрытой папкой +
+
+ +
+
+

Каждый удар пульса машины — в реальном времени.

+

CPU, память, GPU, диск, сеть и батарея делят одну страницу, у каждого свой мини-график. Таблицу процессов можно сортировать и закреплять, чтобы то, что раскручивает вентиляторы, оставалось на виду.

+

Состояние

+
+
+ Burrow, состояние: CPU, память, GPU, диск и сеть в реальном времени и таблица процессов +
+
+ +
+
+

Сначала показать, потом удалять.

+

Очистка сортирует найденное по тому, насколько безопасно это удалять, и показывает список файлов и объём до того, как что-либо сдвинется. Снимите отметку с того, что хотите оставить: ничего не исчезнет из-за одного случайного нажатия.

+

Очистка

+
+
+ Burrow, очистка: мусор по категориям с количеством файлов и размерами, готовый к проверке +
+
+ +
+
+

Долгая память норы.

+

Замеры состояния попадают в локальную историю SQLite, которую можно отматывать от пяти минут до девяноста дней, с таблицами пиков по процессам для тех моментов, когда вентиляторы действительно раскручивались.

+

История

+
+
+ Burrow, история: графики CPU, памяти и диска за девяносто дней +
+
+ +
+
+

Вся нора — из строки меню.

+

Панель, которая разворачивает всю картину, не открывая приложение: метрики в реальном времени, самые прожорливые процессы и переход в нужный инструмент.

+
+
+ Панель Burrow в строке меню: метрики в реальном времени и главные процессы в выпадающем списке +
+
+ +
+
+

Спросите свой Mac прямо из Claude.

+

Встроенный MCP-сервер открывает burrow_snapshot, burrow_history и burrow_top_processes любому агенту, а также HTTP-интерфейс на локальной петле по адресу 127.0.0.1:9277. И то и другое не выходит за пределы Mac.

+

Агент · MCP

+
+
+ Claude Code запрашивает состояние машины у MCP-сервера Burrow +
+
+
+
+ + +
+
+ +
+
+ Что нового · август 2026 +

Новое в 0.14.0

+
+ Все выпуски +
+ +
+
+
Burrow сам предлагает привилегированный помощник
+

Помощник, позволяющий подтверждать действия администратора через Touch ID, прятался за одной кнопкой в настройках, к которой ничто не вело. Теперь его предлагают так же, как полный доступ к диску: одна плашка над окном, которая сообщает, а не преграждает путь. Закрыв её, вы больше её не увидите: этот помощник — удобство, а не то, без чего Burrow не работает.

+
+
+
Проверенная очистка сообщает, что именно удалила
+

Она удаляла ровно то, что было отмечено, и при этом выглядела так, будто не сделала ничего: этот путь удаляет через find, который завершается молча, поэтому экрану с результатом нечего было показать. Теперь она сообщает пути, которые ей разрешили удалить, сгруппированные по категориям с суммой размеров.

+
+
+ +
// также подтянуто в 0.14.0
+
+ Что удаляет проверенная очистка, не изменилось — изменилось лишь то, что она вам сообщает + Помощник остаётся строго необязательным: откажитесь — и все операции работают как прежде +
+ +
+
+ + +
+
+
+ почему этому можно доверять +

Инструмент, который трогает ваши файлы, должен это заслужить.

+
+
+
+

Открытый код

+

Каждая строка открыта и распространяется по лицензии MIT: её можно прочитать, проверить или форкнуть. Открыть репозиторий.

+
+
+

Сначала показать, потом удалять

+

Любое действие сначала перечисляет файлы и объём. Вы подтверждаете — Burrow действует. Никакого фонового помощника с правами root: спрашивает собственное окно macOS.

+
+
+

Ваши данные остаются на месте

+

Результаты сканирования, метрики и история никогда не покидают компьютер. Анонимная диагностика, которую можно отключить, расписана по полям в TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ установка +

Бесплатно и навсегда. Без учётной записи и без подписки.

+

Все инструменты, панель в строке меню, история и MCP-сервер — на любом количестве компьютеров.

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple Silicon & Intel

+ +
+
+ +

Windows

+

.zip · 64 бита

+ beta · 0.10.0 + +
+
+ +

Homebrew

+

cask · приложение + движок

+
+ +
+
+
+ +
+ +

Версия для Windows отстаёт от Mac и пока остаётся предварительной. Другие способы установки, контрольные суммы и прежние версии — на странице установки.

+
+
+ + +
+
+
+

Частые вопросы

+
+
+
+ +
+

Да. Лицензия MIT, без учётных записей, без ограничений пробного периода, без платного тарифа и без ничего в довесок. Если хотите прочитать код перед запуском, он целиком лежит на GitHub.

+
+
+
+ +
+

Каждое действие перед запуском показывает список файлов и объём, а очистка сортирует категории по тому, насколько безопасно их удалять. Фонового помощника с правами root нет: когда задаче нужны права администратора, спрашивает собственное окно macOS, Burrow выполняет ровно одну команду и завершается.

+
+
+
+ +
+

Кэши и временные файлы, которые программы создают заново сами: кэши браузеров, результаты сборки, кэши в App Support, журналы, забытые установщики. Кэши пакетов и результаты сборки, пересобрать которые действительно долго, остаются неотмеченными, пока вы не подтвердите их сами.

+
+
+
+ +
+

Ни файлов, ни путей, ни адресов, ни метрик. Результаты сканирования и история остаются на компьютере, а MCP-сервер слушает только локальную петлю. Burrow действительно отправляет анонимную диагностику использования и сбоев, которую можно отключить и которая расписана по полям в TELEMETRY.md. Один переключатель в настройках выключает её, а сборки из исходников не отправляют ничего изначально.

+
+
+
+ +
+

Нет. Без него Burrow выполняет безопасное сканирование. С ним Burrow дотягивается до более глубоких кэшей App Support и контейнеров, а выдать или отозвать доступ можно в любой момент.

+
+
+
+ +
+

Да, начиная с 0.11.0, и тег не может быть опубликован, пока не пройдут подпись, заверение, прикрепление и проверка Gatekeeper. Архивные сборки 0.10.5 и старше появились раньше: если Gatekeeper блокирует такую, нажмите правой кнопкой и выберите Открыть . Полные обязательства описаны в SECURITY.md.

+
+
+
+ +
+

Двадцать шесть инструментов MCP охватывают снимки, историю, самые прожорливые процессы, анализ диска, дубликаты, порты, сеть и не только. Четырнадцать из них только читают и доступны сразу; те, что меняют компьютер, требуют отдельного явного разрешения. Полный список — в agent-tools.md.

+
+
+
+ +
+

Нативный порт на WinUI 3 и .NET 8 активно тестируется и догоняет оригинал инструмент за инструментом. macOS остаётся зрелой основной версией; предварительная сборка для Windows пока распространяется в виде zip, установщик готовится. Следить на GitHub.

+
+
+
+

Сборка из исходников, подключение MCP-сервера или что-то ещё? Всё это есть в README.

+
+
+ + + + + + + diff --git a/docs/ru/releases.html b/docs/ru/releases.html new file mode 100644 index 00000000..94d0dc77 --- /dev/null +++ b/docs/ru/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Изменения

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limit и min_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purge и installer descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • Очистка now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • Анализ: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • Оптимизация: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • Порты: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • Вернуть сеть: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • Настройка: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • История: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • Глубокая очистка: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • Установщики: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • История: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/ru/roadmap.html b/docs/ru/roadmap.html new file mode 100644 index 00000000..77b5f620 --- /dev/null +++ b/docs/ru/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Планы

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo установка + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ Порты & Вернуть сеть + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 7bf997bc..64847be4 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -17,4 +17,49 @@ https://burrow.computer/blog/what-is-using-port-3000-on-your-mac2026-07-160.7 https://burrow.computer/blog/which-process-is-using-your-network-on-macos2026-07-120.7 https://burrow.computer/blog/choosing-a-mac-cleanup-tool2026-07-080.7 + https://burrow.computer/zh-Hans/2026-08-070.9 + https://burrow.computer/zh-Hans/docs2026-08-070.8 + https://burrow.computer/zh-Hans/compare2026-08-070.7 + https://burrow.computer/zh-Hans/releases2026-08-070.5 + https://burrow.computer/zh-Hans/roadmap2026-08-070.5 + https://burrow.computer/zh-Hant/2026-08-070.9 + https://burrow.computer/zh-Hant/docs2026-08-070.8 + https://burrow.computer/zh-Hant/compare2026-08-070.7 + https://burrow.computer/zh-Hant/releases2026-08-070.5 + https://burrow.computer/zh-Hant/roadmap2026-08-070.5 + https://burrow.computer/ru/2026-08-070.9 + https://burrow.computer/ru/docs2026-08-070.8 + https://burrow.computer/ru/compare2026-08-070.7 + https://burrow.computer/ru/releases2026-08-070.5 + https://burrow.computer/ru/roadmap2026-08-070.5 + https://burrow.computer/ja/2026-08-070.9 + https://burrow.computer/ja/docs2026-08-070.8 + https://burrow.computer/ja/compare2026-08-070.7 + https://burrow.computer/ja/releases2026-08-070.5 + https://burrow.computer/ja/roadmap2026-08-070.5 + https://burrow.computer/de/2026-08-070.9 + https://burrow.computer/de/docs2026-08-070.8 + https://burrow.computer/de/compare2026-08-070.7 + https://burrow.computer/de/releases2026-08-070.5 + https://burrow.computer/de/roadmap2026-08-070.5 + https://burrow.computer/fr/2026-08-070.9 + https://burrow.computer/fr/docs2026-08-070.8 + https://burrow.computer/fr/compare2026-08-070.7 + https://burrow.computer/fr/releases2026-08-070.5 + https://burrow.computer/fr/roadmap2026-08-070.5 + https://burrow.computer/es/2026-08-070.9 + https://burrow.computer/es/docs2026-08-070.8 + https://burrow.computer/es/compare2026-08-070.7 + https://burrow.computer/es/releases2026-08-070.5 + https://burrow.computer/es/roadmap2026-08-070.5 + https://burrow.computer/ko/2026-08-070.9 + https://burrow.computer/ko/docs2026-08-070.8 + https://burrow.computer/ko/compare2026-08-070.7 + https://burrow.computer/ko/releases2026-08-070.5 + https://burrow.computer/ko/roadmap2026-08-070.5 + https://burrow.computer/pt-BR/2026-08-070.9 + https://burrow.computer/pt-BR/docs2026-08-070.8 + https://burrow.computer/pt-BR/compare2026-08-070.7 + https://burrow.computer/pt-BR/releases2026-08-070.5 + https://burrow.computer/pt-BR/roadmap2026-08-070.5 diff --git a/docs/zh-Hans/compare.html b/docs/zh-Hans/compare.html new file mode 100644 index 00000000..32365e4e --- /dev/null +++ b/docs/zh-Hans/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
Price免费$40/yr免费$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/zh-Hans/docs.html b/docs/zh-Hans/docs.html new file mode 100644 index 00000000..4f9ed311 --- /dev/null +++ b/docs/zh-Hans/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the 安装页面. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

清理

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

深度清理

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__coverage rebuilds locally with no network. Dependency directories such as node_modules, Podsvenv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

安装包

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

重复文件

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

相似照片

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

应用

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

残留文件

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

优化

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

调优

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

分析

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

状态

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

历史

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

端口

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

网络

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

恢复联网

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecastburrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimizeburrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • 先给你看,再动手删。 Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/zh-Hans/index.html b/docs/zh-Hans/index.html new file mode 100644 index 00000000..251be98d --- /dev/null +++ b/docs/zh-Hans/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · 免费开源的 macOS 清理、软件与状态工具 & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

过去要开 六个应用 才能做的事。

+

一款免费开源的 Mac 工具:清理垃圾,找出重复文件与残留,看清是什么吃掉了磁盘,并实时查看系统状态。一个原生窗口就够,Windows 版本正在测试中。

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ 免费·v0.14.0· + macOS 14+·Windows 10/11(测试版) +

+ +

已下载人数 13,091

+ +
+ Burrow 分析树状图,展示磁盘空间被什么占用 +
+
+
+ + +
+
+
+ 里面有什么 +

十六个工具,一个窗口。

+

每个工具都会用自己的颜色重新渲染整个窗口,因为颜色正是它告诉你即将动到什么的方式。每个工具都把活干完,不会把你丢回终端。

+
+ +
+
+
+
+ + 清理 +
+ 10 多个类别 +
+

十多个类别的缓存、日志与临时文件,按删除的安全程度排序。在任何东西被移动之前,你都能看到每个文件和每一字节。

+
+
+
+
+ + 深度清理 +
+ 开发残留 +
+

开发工作留下的渣土:node_modules、DerivedData、构建产物、过期的包缓存,并附上各自的重建成本。

+
+
+
+
+ + 安装包 +
+ 清扫下载目录 +
+

你早已拆开的箱子。找出应用装好很久之后仍留在“下载”里的 .dmg 与 .pkg 文件。

+
+
+
+
+ + 应用 +
+ 批量卸载 +
+

列出所有已安装应用,可按大小或最近使用排序;多选卸载会一并清走偏好设置、支持文件与启动代理。

+
+
+
+
+ + 优化 +
+ 一次确认 +
+

重建快速查看、修复缓存与元数据、清空 DNS、检查登录项。把这些例行杂活收进一次确认里。

+
+
+
+
+ + 调优 +
+ 一遍搞定 +
+

一遍完成整套养护。挑出此刻真正适用于这台机器的维护项,并从头执行到尾。

+
+
+
+
+ + 分析 +
+ 树状图 +
+

整块磁盘的方块树状图。可深入任意分支,再从右键菜单在访达中显示或移到废纸篓。

+
+
+
+
+ + 重复文件 +
+ 按内容哈希 +
+

按内容哈希查找重复文件,并能识别硬链接,因此被多个工具共用的文件不会被重复计算。

+
+
+
+
+ + 残留文件 +
+ 孤立文件 +
+

早已删除的应用留下的支持文件、偏好设置与启动代理,并对应回是哪个应用留下的。

+
+
+
+
+ + 相似照片 +
+ 感知比对 +
+

在整个图库中做感知比对,找出几乎相同的照片和值得精简的连拍帧。

+
+
+
+
+ + 状态 +
+ 实时 + 悬浮面板 +
+

CPU、内存、GPU、磁盘、网络与电池同页展示,各配迷你走势图;还有可置顶的进程表和菜单栏悬浮面板。

+
+
+
+
+ + 端口 +
+ 谁在监听 +
+

列出每个监听端口及其背后的进程,不必再敲 lsof 就能找到是谁占着 3000。

+
+
+
+
+ + 网络 +
+ 按进程 +
+

按网卡和按进程实时显示吞吐量,让你看清究竟是什么在占用网络。

+
+
+
+
+ + 恢复联网 +
+ 诊断 +
+

断网时带你一步步回到地面:依次检查 DNS、网关、强制门户与网卡。

+
+
+
+
+ + 历史 +
+ 90 天 +
+

每一次状态采样都写入本地 SQLite 文件。可从五分钟一直回溯到九十天,并附带各进程峰值表。

+
+
+
+
+ + 智能体 · MCP +
+ 26 个工具 +
+

二十六个 MCP 工具把整个应用开放给 Claude Code,另有一个仅本机回环的 HTTP 接口。默认只读;会造成删除的操作需要另行开启。

+
+
+
+
+ + +
+
+
+ 看一看 +

它是拿来看的,不只是拿来跑的。

+
+ +
+
+

看清到底是什么在吃掉磁盘。

+

把每个文件夹按实际占用画成方块树状图。一层层深入直到元凶一目了然,然后不必离开这张图就能处理。

+

分析

+
+
+ Burrow 分析:磁盘占用树状图,已深入到某个文件夹 +
+
+ +
+
+

这台机器的每一次脉动,实时可见。

+

CPU、内存、GPU、磁盘、网络与电池共处一页,各配迷你走势图。进程表可排序、可置顶,让把风扇吹起来的那个东西始终在视线里。

+

状态

+
+
+ Burrow 状态:实时的 CPU、内存、GPU、磁盘与网络,并附进程表 +
+
+ +
+
+

先给你看,再动手删。

+

清理会把找到的一切按删除安全程度排序,并在任何东西被移动前列出文件清单与字节数。想留下的取消勾选即可;不会因为手滑点一下就删掉什么。

+

清理

+
+
+ Burrow 清理:按类别列出的垃圾文件及其数量与大小,可供逐项确认 +
+
+ +
+
+

巢穴的长久记忆。

+

状态采样写入本地 SQLite 历史,可从五分钟回溯到九十天;风扇真正转起来的那些时刻,还能查看各进程的峰值表。

+

历史

+
+
+ Burrow 历史:九十天内 CPU、内存与磁盘的长期曲线 +
+
+ +
+
+

整个巢穴,尽在菜单栏。

+

不用打开应用就能拉下完整概览的悬浮面板:实时指标、占用最高的进程,以及直接跳进所需工具的入口。

+
+
+ Burrow 菜单栏悬浮面板:下拉显示实时指标与占用最高的进程 +
+
+ +
+
+

在 Claude 里问你的 Mac。

+

内置的 MCP 服务向任意智能体开放 burrow_snapshot, burrow_historyburrow_top_processes ,另外还在 127.0.0.1:9277上提供回环 HTTP 接口。两者都只在本机。

+

智能体 · MCP

+
+
+ Claude Code 通过 Burrow 的 MCP 服务查询机器状态 +
+
+
+
+ + +
+
+ +
+
+ 新变化 · 2026 年 8 月 +

0.14.0 新增

+
+ 全部版本 +
+ +
+
+
Burrow 会主动提供特权助手
+

那个让管理员操作可以用触控 ID 验证的助手,此前藏在设置里的一个按钮后面,而没有任何地方指向它。现在它像完全磁盘访问权限那样被提供出来——窗口上方一条横幅,只做告知而不拦路;关掉之后就不再出现,因为这个助手只是方便,并非 Burrow 运行所必需。

+
+
+
确认后的清理会报告删除了什么
+

它准确删掉了勾选的内容,看上去却像什么都没做:这条路径用 find 删除,成功时不输出任何内容,结果页因此无从展示。现在它会报告被授权删除的路径,按类别分组并合计大小。

+
+
+ +
// 0.14.0 中的其他改进
+
+ 确认后的清理删除什么并未改变,改变的只是它告诉你什么 + 该助手完全可选;拒绝它之后,所有操作照旧可用 +
+ +
+
+ + +
+
+
+ 为什么可以信任它 +

会碰你文件的工具,理应先赢得信任。

+
+
+
+

开源

+

每一行代码都公开,采用 MIT 许可,你可以阅读、审计,也可以派生。 查看仓库.

+
+
+

先给你看,再动手删

+

每个操作都会先列出文件与字节数。你确认,Burrow 才动手。没有常驻后台的 root 助手:来询问你的是 macOS 自己的对话框。

+
+
+

你的数据留在原地

+

扫描结果、指标与历史绝不会离开这台机器。匿名、可随时关闭的诊断数据,逐项列在 TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ 安装 +

永久免费。无需账号,也没有订阅。

+

所有工具、菜单栏悬浮面板、历史记录与 MCP 服务,想装几台机器都可以。

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple 芯片 & Intel

+
+ 下载 +
+
+
+ +

Windows

+

.zip · 64 位

+ beta · 0.10.0 +
+ 下载 +
+
+
+ +

Homebrew

+

cask · 应用 + 引擎

+
+ +
+
+
+ +
+ +

Windows 版本落后于 Mac 版本,目前仍是预览。更多安装方式、校验和与历史版本,请见 安装页面.

+
+
+ + +
+
+
+

常见问题

+
+
+
+ +
+

是的。采用 MIT 许可,没有账号、没有试用期限、没有付费档位,也不会捆绑任何东西。如果你想先看代码再运行,完整源码都在 GitHub 上。

+
+
+
+ +
+

每个操作在执行前都会显示文件清单与字节数,清理还会按删除的安全程度给类别排序。没有常驻后台的 root 助手:当某项任务需要管理员权限时,由 macOS 自己的对话框来询问你,Burrow 只执行那一条命令,随后退出。

+
+
+
+ +
+

应用会自行重建的缓存与临时文件:浏览器缓存、开发构建产物、应用支持缓存、日志、遗留的安装包。至于重建确有代价的包缓存与构建产物,在你亲自确认之前都保持未勾选。

+
+
+
+ +
+

不上传文件、路径、网址或指标。扫描结果与历史留在本机,MCP 服务只监听回环地址。Burrow 确实会发送匿名、可关闭的使用与崩溃诊断数据,各字段逐项披露于 TELEMETRY.md。设置里一个开关即可关闭,而从源码构建的版本本就不发送任何内容。

+
+
+
+ +
+

不必。没有它,Burrow 也能执行安全扫描。授予之后,Burrow 才能触及更深处的应用支持与容器缓存;你随时可以授予或收回。

+
+
+
+ +
+

有,从 0.11.0 起如此;签名、公证、装订与 Gatekeeper 评估全部通过,标签才可能发布。归档的 0.10.5 及更早版本早于此,如果被 Gatekeeper 拦下,请右键选择 打开 。完整约定见 SECURITY.md.

+
+
+
+ +
+

二十六个 MCP 工具覆盖快照、历史、占用最高的进程、磁盘分析、重复文件、端口、网络等。其中十四个只读,开箱即用;会改动你机器的那些,需要各自明确开启。完整清单见 agent-tools.md.

+
+
+
+ +
+

基于 WinUI 3 与 .NET 8 的原生移植版正在积极测试中,正逐个工具补齐功能。macOS 是成熟的主力版本;Windows 预览版目前以 zip 形式发布,安装程序正在路上。 在 GitHub 上关注进展.

+
+
+
+

从源码构建、接好 MCP 服务,或者别的什么?这些都写在 README.

+
+
+ + + + + + + diff --git a/docs/zh-Hans/releases.html b/docs/zh-Hans/releases.html new file mode 100644 index 00000000..f7349dff --- /dev/null +++ b/docs/zh-Hans/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

更新日志

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limitmin_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purgeinstaller descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • 清理 now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • 分析: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • 优化: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • 端口: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • 恢复联网: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • 调优: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • 历史: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • 深度清理: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • 安装包: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • 历史: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/zh-Hans/roadmap.html b/docs/zh-Hans/roadmap.html new file mode 100644 index 00000000..e47fc254 --- /dev/null +++ b/docs/zh-Hans/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

路线图

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo 安装 + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ 端口 & 恢复联网 + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/docs/zh-Hant/compare.html b/docs/zh-Hant/compare.html new file mode 100644 index 00000000..b8e8d33e --- /dev/null +++ b/docs/zh-Hant/compare.html @@ -0,0 +1,187 @@ + + + + + + +Burrow compared to CleanMyMac, Pearcleaner, DaisyDisk, and iStat Menus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

How Burrow compares

+

One window against four specialists. Where each one wins, and where Burrow does not.

+
+ +
+

Burrow covers jobs people usually split across a cleaner, an uninstaller, a disk mapper, and a menu-bar monitor. This table is about scope and licence, not quality: every tool listed here is good at the thing it was built for, and several are better at that one thing than Burrow is. What Burrow offers is one window, one licence, and a machine-readable surface for agents.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Burrowfree, MITCleanMyMac$40/yrPearcleanerfree, GPLDaisyDisk$10 onceiStat Menus$14 once
Reclaiming space
Cache and log cleanup××
Developer build artifactsnode_modules, DerivedData, target, .next, with rebuild cost shown×××
Duplicate finder×××
Similar photo detection×××
Leftover installer sweep×××
Treemap disk mapDaisyDisk's sunburst is still the nicest map in the category××
Apps and maintenance
App uninstall with leftoversPearcleaner is the sharpest single-purpose uninstaller here××
Orphaned file detection××
Homebrew updates and services××××
Login items and launch agents××
Maintenance scripts×××
Watching the machine
Live CPU, memory, GPU, disk××
Menu-bar HUDiStat Menus has far more sensors and far more configurability××
Long-range historyninety days in local SQLite, with peak-per-process tables×××
Listening ports with owning process××××
Per-process network throughput×××
Connectivity troubleshooting××××
Trust and access
Source you can read×××
Shows files before deleting×
No background root helper×
MCP server for agents26 tools, read-only by default××××
Windows buildWinUI 3 port in beta××××
Price免費$40/yr免費$10$14
+
+

If you only ever want one of these jobs done, the specialist is usually the better buy, and several of them are cheap or free. Burrow is for people who want the whole set in one place, want to read the source, or want an agent to be able to ask the machine questions.

+
+ + + + diff --git a/docs/zh-Hant/docs.html b/docs/zh-Hant/docs.html new file mode 100644 index 00000000..faa0bb7d --- /dev/null +++ b/docs/zh-Hant/docs.html @@ -0,0 +1,290 @@ + + + + + + +Burrow Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Documentation

+

Everything Burrow does, what each tool touches, and the rules it follows before it removes anything.

+
+ +
+
+ +
+
+

Overview

+

Burrow is a native desktop app for macOS, with a WinUI 3 build for Windows in beta. It covers the jobs people usually split across a cleaner, an uninstaller, a duplicate finder, a disk mapper, and a menu-bar monitor, and it exposes all of it to coding agents over MCP.

+

Fourteen tools share one window. Each re-themes the interface in its own colour, because the colour is how a tool tells you what it is about to touch. Two surfaces have no command-line equivalent at all: the long-range history, and the MCP server.

+

Everything runs locally. Scans, metrics, and history stay on the machine, and the MCP server binds to loopback only.

+
+
+

Installing

+

Homebrew is the shortest path on macOS. It installs the Developer ID signed, Apple-notarized build with its engine bundled, and preserves quarantine so Gatekeeper can validate the ticket.

+
brew install --cask caezium/tap/burrow
+

Direct downloads and the Windows preview are on the 安裝頁面. Updates arrive in-app over a signed Sparkle feed; Homebrew installs update with brew upgrade.

+

Full Disk Access

+

Burrow runs a safe scan without it. Granting Full Disk Access lets it reach deeper Application Support and container caches that macOS otherwise hides. You can grant or revoke it at any time in System Settings under Privacy & Security.

+
+
+

Reclaiming space

+

清理

+

Scans more than ten categories: application caches, system caches, logs, developer tool caches, AI tool caches, browser data, cloud storage clients, design tools, communication apps, and miscellaneous temporary files.

+

The review list is sorted by how safe each item is to remove. Regenerable caches come first, user-visible state last. Sizing is hardlink aware, so files shared between tools are counted once rather than once per path.

+

深度清理

+

The diggings development work leaves behind, kept separate from ordinary caches because the trade-offs differ. Build output such as dist, build, target, .next, .build, DerivedData, __pycache__coverage rebuilds locally with no network. Dependency directories such as node_modules, Podsvenv need to be refetched, so they are shown with that cost attached and stay unchecked until you confirm them.

+

安裝檔

+

Finds .dmg and .pkg files still sitting in Downloads long after the application was installed. Small individually, frequently tens of gigabytes in aggregate on a machine that has been running for a few years.

+

重複檔案

+

A staged content hash: group by size, hash a prefix of the candidates, then hash in full only what still matches. Hardlinked and cloned files are treated as one object, so the reclaimable figure is the figure you actually recover.

+

相似照片

+

Perceptual matching for images that are visually near-identical but differ byte for byte, such as burst frames and re-exports. Content hashing cannot see these; this can.

+
+
+

Applications

+

應用程式

+

Every installed application, sortable by size, name, recency, or source. Multi-select uninstall removes the bundle along with its preferences, Application Support data, containers, saved state, and launch agents.

+

A Homebrew tab checks which casks and formulae are outdated and can update them in place. Burrow resolves the cask token rather than the display name, because a dozen popular apps use tokens that differ from what the app calls itself.

+

殘留檔案

+

The other direction: support files, preferences, and launch agents belonging to applications that are already gone. Burrow matches each orphan back to the application that left it, so you are approving a named app's remains rather than a list of paths.

+

Launch agents for deleted apps are the ones worth clearing first. launchd keeps trying to start a binary that no longer exists, which produces log noise on every boot.

+
+
+

Maintenance

+

最佳化

+

The routine chores, batched behind one prompt: rebuild Quick Look, repair caches and metadata, flush DNS, and audit login items.

+

調校

+

Smart-Care in a single pass. Burrow picks the maintenance that actually applies to this machine right now and runs it end to end, rather than offering a fixed checklist that mostly does not apply.

+
+
+

Understanding the disk

+

分析

+

A squarified treemap of the whole volume, sized by real allocated bytes. Drill into any branch to see the same breakdown one level down, then reveal in Finder or move to the Trash from the context menu.

+

A treemap answers "what is using my disk" better than a sorted list because the largest consumer is the largest shape rather than the first row you have to scroll to find.

+
If free space does not increase after you delete something large, local Time Machine snapshots are usually pinning it. See why your Mac says the disk is full when it isn't.
+
+
+

Watching the machine

+

狀態

+

CPU, memory, GPU, disk, network, and battery on one page, each with a sparkline. The process table sorts by any column and pins the rows you want to keep in view. On Apple Silicon, fan speed and die temperatures are read natively from the SMC.

+

歷史

+

Every sample Status takes lands in a local SQLite file. Scrub from five minutes out to ninety days, with peak-per-process tables for the moments the fans actually spun up. Nothing is uploaded.

+

連接埠

+

Every listening port with the process behind it, its binary path, and its owning user, refreshed live. Answers "what is holding 3000" without reaching for lsof.

+

網路

+

Live throughput per interface and per process. Unlike Activity Monitor's cumulative totals, this is a rate, so the process saturating your connection right now is the one at the top.

+

恢復連線

+

A guided path back to the surface when the connection drops: interface state, DNS resolution, gateway reachability, and captive portal detection, checked in order.

+ +

The whole picture drops down from the menu bar without opening the app: live metrics, top processes, and a jump into whichever tool you need.

+
+
+

Agents and MCP

+

Burrow doubles as an MCP server, so a coding agent can ask the machine questions rather than guessing from your source code. Twenty-six tools are exposed. Fourteen are read-only and available immediately; the ones that change your machine require their own explicit opt-in in Settings before an agent can call them at all.

+

Point Claude Code at the app:

+
{
+  "mcpServers": {
+    "burrow": {
+      "command": "/Applications/Burrow.app/Contents/MacOS/Burrow",
+      "args": ["--mcp"]
+    }
+  }
+}
+

Read-only tools

+

burrow_snapshot, burrow_history, burrow_top_processes, burrow_process_usage, burrow_info, burrow_analyze, burrow_dupes, burrow_orphans, burrow_photos, burrow_ports, burrow_net, burrow_doctor, burrow_disk_forecastburrow_list_apps.

+

Gated tools

+

burrow_clean, burrow_purge, burrow_uninstall, burrow_optimizeburrow_installer change the machine and stay unavailable until you turn them on.

+

HTTP API

+

A loopback HTTP API on 127.0.0.1:9277 serves the same read-only data for tools that speak HTTP rather than MCP. It is on by default and can be turned off in Settings. It binds to loopback only and is never reachable from another machine.

+
+
+

Safety model

+

Burrow is built so that a mistake costs you a rebuild rather than your data. Four rules hold everywhere in the app.

+
    +
  • 先讓你看,再動手刪。 Every action lists the files and the byte count before anything moves. You confirm; Burrow acts.
  • +
  • Sorted by consequence. Categories are ordered by how safe they are to remove, and anything with real rebuild cost stays unchecked until you tick it yourself.
  • +
  • No background root helper. When a task needs administrator rights, macOS's own authorization dialog asks you, Burrow runs that one command, and the process exits. There is no privileged daemon left running.
  • +
  • A protection list you can read. Paths that are never eligible for removal are enforced in code rather than by convention, and the source is public.
  • +
+

Signing and notarization

+

Version 0.11.0 and every later macOS release is Developer ID signed and Apple-notarized, and a tag cannot publish unless signing, notarization, ticket stapling, and Gatekeeper assessment all succeed. Archived 0.10.5-and-earlier builds predate that guarantee: right-click and choose Open if Gatekeeper blocks one.

+
+
+

Privacy and telemetry

+

No files, paths, URLs, or metrics leave the machine. Scans, history, and the MCP server are entirely local.

+

Burrow does send anonymous, opt-out usage and diagnostics: crash and hang reports, launch and update outcomes, and sampled fixed-name performance spans. It never records the screen and never sends user files or their contents. One switch in Settings stops both services, and builds made from source ship with telemetry inert.

+

Every field is listed in TELEMETRY.md. This website separately uses cookieless analytics that create no person profile, store no browser identifier, strip URL queries and fragments, and honour Do Not Track.

+
+
+

Troubleshooting

+

Gatekeeper blocks the app

+

For 0.11.0 and later this should not happen; if it does, the download was likely modified in transit, so fetch it again from GitHub. For archived builds, right-click the app and choose Open.

+

Full Disk Access looks granted but scans stay shallow

+

macOS ties the grant to the app's code signature. Replacing the app with a differently signed build invalidates it. Remove Burrow from the Full Disk Access list, then add it again.

+

Free space did not increase

+

Deleting a file does not release blocks that a local Time Machine snapshot still references. macOS thins snapshots automatically under pressure. tmutil listlocalsnapshots / shows what exists.

+

An agent cannot see the gated tools

+

Cleaning, uninstalling, and the other actuating tools stay hidden until you enable agent actions in Settings. This is deliberate: an agent should not be able to delete anything you have not separately authorised.

+
+
+
+
+ + + + diff --git a/docs/zh-Hant/index.html b/docs/zh-Hant/index.html new file mode 100644 index 00000000..f4912e40 --- /dev/null +++ b/docs/zh-Hant/index.html @@ -0,0 +1,863 @@ + + + + + +Burrow · 免費開源的 macOS 清理、軟體與狀態工具 & Windows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

過去得開 六個應用程式 才能做的事。

+

一款免費開源的 Mac 工具:清理垃圾,找出重複檔案與殘留,看清是什麼吃掉了磁碟,並即時查看系統狀態。一個原生視窗就夠,Windows 版本正在測試中。

+ + +
+
+
brew install --cask caezium/tap/burrow
+ +
+
+

+ 免費·v0.14.0· + macOS 14+·Windows 10/11(測試版) +

+ +

已下載人數 13,091

+ +
+ Burrow 分析樹狀圖,顯示磁碟空間被什麼佔用 +
+
+
+ + +
+
+
+ 裡面有什麼 +

十六種工具,一個視窗。

+

每個工具都會用自己的顏色重新鋪陳整個視窗,因為顏色正是它告訴你即將動到什麼的方式。每個工具都把事情做完,不會把你丟回終端機。

+
+ +
+
+
+
+ + 清理 +
+ 10 多種類別 +
+

十多種類別的快取、日誌與暫存檔,依刪除的安全程度排序。在任何東西被移動之前,你都能看到每個檔案與每一個位元組。

+
+
+
+
+ + 深度清理 +
+ 開發殘留 +
+

開發工作留下的碎土:node_modules、DerivedData、建置產物、過期的套件快取,並附上各自重新建置的代價。

+
+
+
+
+ + 安裝檔 +
+ 清掃下載項目 +
+

你早就拆開的箱子。找出應用程式裝好許久之後,仍留在「下載項目」裡的 .dmg 與 .pkg 檔案。

+
+
+
+
+ + 應用程式 +
+ 批次解除安裝 +
+

列出所有已安裝的應用程式,可依大小或最近使用排序;多選解除安裝時,會一併清掉偏好設定、支援檔案與啟動代理程式。

+
+
+
+
+ + 最佳化 +
+ 一次確認 +
+

重建預覽、修復快取與中繼資料、清除 DNS、檢查登入項目。把這些例行雜事收進一次確認裡。

+
+
+
+
+ + 調校 +
+ 一次做完 +
+

一次做完整套保養。挑出此刻真正適用於這台電腦的維護項目,並從頭執行到尾。

+
+
+
+
+ + 分析 +
+ 樹狀圖 +
+

整顆磁碟的方塊樹狀圖。可深入任一分支,再從快捷選單在 Finder 中顯示,或移到垃圾桶。

+
+
+
+
+ + 重複檔案 +
+ 依內容雜湊 +
+

依內容雜湊尋找重複檔案,並能辨識硬連結,因此被多個工具共用的檔案不會被重複計算。

+
+
+
+
+ + 殘留檔案 +
+ 孤立檔案 +
+

早已刪除的應用程式留下的支援檔案、偏好設定與啟動代理程式,並對應回是哪個應用程式留下的。

+
+
+
+
+ + 相似照片 +
+ 感知比對 +
+

在整個圖庫中進行感知比對,找出幾乎相同的照片,以及值得精簡的連拍影格。

+
+
+
+
+ + 狀態 +
+ 即時 + 浮動面板 +
+

CPU、記憶體、GPU、磁碟、網路與電池同頁呈現,各自附上迷你走勢圖;另有可釘選的處理程序清單,以及選單列浮動面板。

+
+
+
+
+ + 連接埠 +
+ 誰在監聽 +
+

列出每個監聽中的連接埠及其背後的處理程序,不必再敲 lsof 就能找出是誰佔著 3000。

+
+
+
+
+ + 網路 +
+ 依處理程序 +
+

依網路介面與處理程序即時顯示流量,讓你看清究竟是什麼在佔用連線。

+
+
+
+
+ + 恢復連線 +
+ 診斷 +
+

斷線時帶你一步步回到地面:依序檢查 DNS、閘道、認證頁面與網路介面。

+
+
+
+
+ + 歷史 +
+ 90 天 +
+

每一次狀態取樣都寫入本機的 SQLite 檔案。可從五分鐘一路回溯到九十天,並附上各處理程序的尖峰表。

+
+
+
+
+ + 代理程式 · MCP +
+ 26 種工具 +
+

二十六種 MCP 工具把整個應用程式開放給 Claude Code,另有一個僅限本機回送的 HTTP 介面。預設唯讀;會造成刪除的操作需要另行開啟。

+
+
+
+
+ + +
+
+
+ 看一看 +

它是拿來看的,不只是拿來跑的。

+
+ +
+
+

看清究竟是什麼在吃掉磁碟。

+

把每個資料夾依實際佔用畫成方塊樹狀圖。一層層深入,直到元凶一目了然,然後不必離開這張圖就能處理。

+

分析

+
+
+ Burrow 分析:磁碟佔用樹狀圖,已深入到某個資料夾 +
+
+ +
+
+

這台電腦的每一次脈動,即時可見。

+

CPU、記憶體、GPU、磁碟、網路與電池共處一頁,各自附上迷你走勢圖。處理程序清單可排序、可釘選,讓那個把風扇吹起來的東西始終在視線內。

+

狀態

+
+
+ Burrow 狀態:即時的 CPU、記憶體、GPU、磁碟與網路,並附處理程序清單 +
+
+ +
+
+

先讓你看,再動手刪。

+

清理會把找到的一切依刪除的安全程度排序,並在任何東西被移動前列出檔案清單與位元組數。想留下的取消勾選即可;不會因為手滑點一下就刪掉什麼。

+

清理

+
+
+ Burrow 清理:依類別列出的垃圾檔案及其數量與大小,可逐項確認 +
+
+ +
+
+

洞穴的長久記憶。

+

狀態取樣寫入本機的 SQLite 歷史紀錄,可從五分鐘回溯到九十天;風扇真正轉起來的那些時刻,還能查看各處理程序的尖峰表。

+

歷史

+
+
+ Burrow 歷史:九十天內 CPU、記憶體與磁碟的長期曲線 +
+
+ +
+
+

整個洞穴,盡在選單列。

+

不必開啟應用程式,就能拉下完整概況的浮動面板:即時指標、佔用最高的處理程序,以及直接跳進所需工具的入口。

+
+
+ Burrow 選單列浮動面板:以下拉方式顯示即時指標與佔用最高的處理程序 +
+
+ +
+
+

在 Claude 裡問你的 Mac。

+

內建的 MCP 伺服器向任何代理程式開放 burrow_snapshot, burrow_historyburrow_top_processes ,並在 127.0.0.1:9277上提供回送 HTTP 介面。兩者都只留在本機。

+

代理程式 · MCP

+
+
+ Claude Code 透過 Burrow 的 MCP 伺服器查詢電腦狀態 +
+
+
+
+ + +
+
+ +
+
+ 新變化 · 2026 年 8 月 +

0.14.0 新增

+
+ 所有版本 +
+ +
+
+
Burrow 會主動提供特權輔助程式
+

那個讓管理者操作可用 Touch ID 驗證的輔助程式,先前藏在設定裡的一個按鈕後面,而沒有任何地方指向它。現在它像「完全取用磁碟」那樣被主動提供——視窗上方一條橫幅,只做告知而不擋路;關掉之後就不再出現,因為這個輔助程式只是方便,並非 Burrow 運作所必需。

+
+
+
確認後的清理會回報刪除了什麼
+

它確實刪掉了勾選的內容,看起來卻像什麼都沒做:這條路徑用 find 刪除,成功時不會輸出任何內容,結果頁因此無從呈現。現在它會回報被授權刪除的路徑,依類別分組並合計大小。

+
+
+ +
// 0.14.0 中的其他改進
+
+ 確認後的清理刪除什麼並未改變,改變的只是它告訴你什麼 + 這個輔助程式完全是選用的;拒絕之後,所有操作照舊可用 +
+ +
+
+ + +
+
+
+ 為什麼可以信任它 +

會碰你檔案的工具,理當先贏得信任。

+
+
+
+

開源

+

每一行程式碼都公開,採用 MIT 授權,你可以閱讀、稽核,也可以另行分支。 查看儲存庫.

+
+
+

先讓你看,再動手刪

+

每個操作都會先列出檔案與位元組數。你確認,Burrow 才動手。沒有常駐背景的 root 輔助程式:來詢問你的是 macOS 自己的對話框。

+
+
+

你的資料留在原地

+

掃描結果、指標與歷史紀錄絕不會離開這台電腦。匿名、可隨時關閉的診斷資料,逐項列在 TELEMETRY.md.

+
+
+
+
+ + +
+
+
+ 安裝 +

永久免費。不需帳號,也沒有訂閱。

+

所有工具、選單列浮動面板、歷史紀錄與 MCP 伺服器,想裝幾台電腦都可以。

+
+ +
+ +
+
+ +

macOS

+

.zip · Apple 晶片 & Intel

+
+ 下載 +
+
+
+ +

Windows

+

.zip · 64 位元

+ beta · 0.10.0 +
+ 下載 +
+
+
+ +

Homebrew

+

cask · 應用程式 + 引擎

+
+ +
+
+
+ +
+ +

Windows 版本落後於 Mac 版本,目前仍是預覽。更多安裝方式、總和檢查碼與舊版本,請見 安裝頁面.

+
+
+ + +
+
+
+

常見問題

+
+
+
+ +
+

是的。採用 MIT 授權,沒有帳號、沒有試用期限、沒有付費方案,也不會夾帶任何東西。若你想先讀過再執行,完整原始碼都放在 GitHub 上。

+
+
+
+ +
+

每個操作在執行前都會顯示檔案清單與位元組數,清理也會依刪除的安全程度為類別排序。沒有常駐背景的 root 輔助程式:當某項工作需要管理者權限時,由 macOS 自己的對話框詢問你,Burrow 只執行那一道指令,隨後結束。

+
+
+
+ +
+

應用程式會自行重建的快取與暫存檔:瀏覽器快取、開發建置產物、App Support 快取、日誌、遺留的安裝檔。至於重新建置確實有代價的套件快取與建置產物,在你親自確認之前都維持未勾選。

+
+
+
+ +
+

不上傳檔案、路徑、網址或指標。掃描結果與歷史紀錄留在本機,MCP 伺服器也只監聽回送位址。Burrow 確實會傳送匿名、可關閉的使用與當機診斷資料,各欄位逐項揭露於 TELEMETRY.md。設定裡一個開關即可關閉,而從原始碼建置的版本本來就不會傳送任何內容。

+
+
+
+ +
+

不必。沒有它,Burrow 也能執行安全掃描。授予之後,Burrow 才能觸及更深處的 App Support 與容器快取;你隨時可以授予或收回。

+
+
+
+ +
+

有,自 0.11.0 起皆是;簽署、公證、裝訂與 Gatekeeper 評估全部通過,標籤才可能發布。封存的 0.10.5 及更早版本早於此,若被 Gatekeeper 擋下,請按右鍵選擇 打開 。完整的承諾寫在 SECURITY.md.

+
+
+
+ +
+

二十六種 MCP 工具涵蓋快照、歷史、佔用最高的處理程序、磁碟分析、重複檔案、連接埠、網路等等。其中十四種唯讀,可立即使用;會更動你電腦的那些,需要各自明確開啟。完整清單見 agent-tools.md.

+
+
+
+ +
+

以 WinUI 3 與 .NET 8 打造的原生移植版正在積極測試,並逐一補齊各項工具。macOS 是成熟的主力版本;Windows 預覽版目前以 zip 形式提供,安裝程式也在準備中。 在 GitHub 上追蹤進度.

+
+
+
+

從原始碼建置、接上 MCP 伺服器,或是其他事情?這些都寫在 README.

+
+
+ + + + + + + diff --git a/docs/zh-Hant/releases.html b/docs/zh-Hant/releases.html new file mode 100644 index 00000000..e9cc465c --- /dev/null +++ b/docs/zh-Hant/releases.html @@ -0,0 +1,1081 @@ + + + + + + +Burrow · Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

更新紀錄

+

Every version at a glance, what it added, changed, and fixed. Full notes for each live on GitHub.

+

26 releases · latest 0.14.0 · GitHub releases ↗

+
+ +
+
+
+

0.14.0latest

+ Aug 11, 2026 + full notes ↗ +
+
+

The Touch ID helper now offers itself instead of hiding in Settings, and the reviewed clean says what it removed instead of finishing silently.

+
+
added
+
    +
  • Burrow offers the privileged helper. The Touch ID helper shipped in 0.13.0 behind a single button in Settings ▸ Advanced, and nothing pointed anyone at it — upgraders learned about it from the release notes, fresh installs not at all. It is now offered from an ambient banner, at most one notice at a time, and the dismissal persists. (#379)
  • +
+
+
+
fixed
+
    +
  • The reviewed clean reports what it removed. It deleted exactly what was ticked and then looked like it had done nothing — that path deletes each reviewed path with find, which succeeds silently, leaving the result screen with no output to show. It now reports what it was authorized to remove, which the run only claims after confirming every planned path is gone. (#380)
  • +
+
+
+
+ +
+
+

0.13.0

+ Aug 11, 2026 + full notes ↗ +
+
+

Headings that rendered as empty boxes render as text again, the MCP server speaks the 2026-07-28 spec without dropping older clients, and the cache scan tells you when it has finished.

+
+
added
+
    +
  • The scan tells you when it's done. A cache scan can run for minutes and used to end by just sitting there with a number. It now posts a completion notification saying what it found, honouring Settings ▸ Notify when long operations finish. (#377)
  • +
  • Two more agent tools. burrow_anomalies and burrow_agent_audit join the MCP surface. (#369)
  • +
+
+
+
changed
+
    +
  • MCP now speaks the 2026-07-28 revision, including its task and cancellation semantics. Older clients are unaffected: 2025-11-25 through 2024-11-05 are still served, and a client that skips initialize entirely still works. (#369)
  • +
+
+
+
fixed
+
    +
  • Headings rendered as empty boxes. Burrow now ships real static faces for every weight it uses instead of deriving them from a variable font at render time. (#372)
  • +
  • One bad exit no longer disables the menu bar until macOS updates. (#365)
  • +
  • The window can be made smaller again — its minimum height is derived from the sidebar rather than hardcoded. (#364)
  • +
  • “Stop after current” now responds. The stop was always queued, but nothing on screen said so until the in-flight update finished. (#377)
  • +
  • The clean review no longer promises what closing an app can't deliver. An entry the scan refused was counted in “Close X to clean another N” even though no app was holding it. (#367)
  • +
  • A cancelled app update no longer blocks later update checks for the rest of the session. (#367)
  • +
  • Root operations can't interleave their output. stdout and stderr shared one line buffer, which could splice half a line from one stream onto the other. (#367)
  • +
  • Update archives are size-capped before they're kept or expanded, and diagnostics reject more credential shapes before anything is uploaded. (#367)
  • +
+
+
+
+ +
+
+

0.12.0

+ Aug 8, 2026 + full notes ↗ +
+
+

Admin operations can authenticate with Touch ID, through an opt-in signed helper that runs a fixed set of operations and nothing else.

+
+
added
+
    +
  • Touch ID for admin operations. Install the helper in Settings ▸ Advanced ▸ Privileged helper and Burrow's elevated work authenticates through the system's normal prompt instead of the password-only dialog. That older path is password-only by construction — the system.privilege.admin right authenticates through SecurityAgent's classic mechanism, which never offers Touch ID. (#346)
  • +
  • The Login Items list is now complete. Reading the Background Task Management database needs root, so an unelevated read raised macOS's own “sfltool wants to make changes” prompt — attributed to sfltool rather than Burrow — and still returned only a partial list. Through the helper it is one authentication you recognise, and the whole list.
  • +
+
+
+
changed
+
    +
  • Flush DNS no longer runs a root shell. It previously elevated /bin/sh -c "dscacheutil -flushcache; killall -HUP mDNSResponder", handing a command string to a shell running as root. It is now two separate processes with fixed arguments and no shell involved.
  • +
  • Removed the “Touch ID for sudo” setting. It configured pam_tid for terminal sudo and never affected Burrow's own admin prompts, which is what people expected it to do — and those prompts are exactly what the privileged helper now covers. Nothing already configured on your Mac changes by removing it; run mo touchid disable to undo it yourself.
  • +
+
+
+
fixed
+
    +
  • A failed elevated run could report success. When an elevated operation could not start, the empty transcript was reduced to “Done — caches cleared”. Failures now say so.
  • +
+
+
+
security
+
    +
  • The helper is opt-in and takes its own one-time macOS approval. Installing it authorizes nothing: you authenticate for each operation you start.
  • +
  • Only Burrow can talk to it — callers are pinned to the app's bundle identifier, an Apple-issued chain, and the same signing team, evaluated by the system against the real peer rather than by a PID lookup.
  • +
  • It runs the engine sealed inside the signed app plus four Apple tools by absolute path, each as a separate process. The app bundle's signature is verified before anything runs as root, which covers the engine and every library it loads.
  • +
  • One honest caveat: the credential from your authentication stays valid for ten seconds, because it has to survive the hop from the app to the helper. A second operation begun inside that window will not prompt again. Detail in SECURITY.md.
  • +
+
+
+
+ +
+
+

0.11.2

+ Aug 5, 2026 + full notes ↗ +
+
+

A system-metrics, updater, and launch-reliability patch with accurate CPU sampling, accurate Sparkle outcomes, a settled AppKit start, and reliable hang reports.

+
+
fixed
+
    +
  • CPU usage now reflects a representative sampling interval. The bundled engine keeps a tick baseline across refreshes, samples before the other collectors fan out, and derives total usage from summed tick deltas. This removes the roughly doubled readings and coarse per-core fractions reported in #335. A cold one-shot status command can take about 600 ms longer; ongoing GUI sampling reuses its existing refresh interval and adds no wait. (#340)
  • +
  • Updater failures now mean what they say. Running from a disk image or translocated location, ordinary network failures, and user cancellation remain measurable in PostHog without opening Sentry issues. Sparkle keeps ownership of its native move-to-Applications and scheduled-retry UI. Configuration, signature, installation, and unknown failures still create exactly one scrubbed Sentry diagnostic per cycle. (#339)
  • +
  • The normal menu-bar path no longer races the first AppKit launch turn. Burrow waits one second before creating its status item, then retains the existing 30-second stability window. The safeguard for macOS 27 Beta 4 build 26A5388g remains exact-build-only; a later macOS build returns to the normal guarded path automatically. (#339)
  • +
+
+
+
improved
+
    +
  • App-hang evidence can no longer disappear at the Sentry bridge. Sampled hangs are collected into bounded weekly GitHub digests instead of being silently skipped. Cursor pagination reaches older unseen groups, full digests roll into numbered parts, and deferred groups remain eligible for the next run. (#339)
  • +
  • Launch and updater health now have explicit lifecycle outcomes. Fixed-name scheduled, stabilizing, and stable milestones include bounded app release, macOS build, launch phase, and status-item state, so future failures can be separated without collecting free text or user data.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. Updater diagnostics contain fixed categories and bounded error domains/codes, never descriptions, URLs, response bodies, network names, paths, screen content, or files. The privacy manifest remains unchanged and accurate.
  • +
+
+
+
security
+
    +
  • Publishing still fails closed, including the external Homebrew tap. Before any release build begins, CI requires every signing, notarization, Sparkle, and tap credential, then proves the tap token with a reversible Git write. The tap credential is isolated from the engine checkout so a successful notarized release cannot fail at the final cask push because the wrong token was left in Git configuration.
  • +
+
+
+
+ +
+
+

0.11.1

+ Aug 3, 2026 + full notes ↗ +
+
+

A guarded-startup and diagnostics patch for the system-wide input freeze reported on macOS 27 Beta 4, with a safer exact-build fallback and privacy-hardened hang telemetry.

+
+
fixed
+
    +
  • The affected macOS 27 beta gets a safer launch path. On Beta 4 build 26A5388g, Burrow starts with a Dock icon instead of creating its menu-bar status item. The fallback is limited to that exact build; a new macOS build restores the normal guarded path. Manual update checks remain available even when automatic Sparkle startup is paused.
  • +
  • Interrupted launches recover one component at a time. A durable launch journal gives the status item and Sparkle separate 30-second stability windows. If launch is interrupted, the next run suppresses only the component whose window was active, shows a recovery alert, and offers a one-click redacted diagnostic report. (#321)
  • +
+
+
+
improved
+
    +
  • Sentry can now explain hangs that never become crashes. Release-health sessions, hang tracking, low-memory context, fixed-name sampled performance spans, and coarse launch/updater state cover failure modes that a normal crash report misses. Outbound data is scrubbed fail closed, with no screenshots, view hierarchies, user paths, URLs, request bodies, or automatic UI, file, database, and network tracing.
  • +
  • PostHog analytics no longer bring an AppKit-facing SDK into startup. Burrow still sends the same opt-out semantic product, screen, and operation events to PostHog, but a small background HTTPS transport replaces posthog-ios. It has a bounded serialized retry queue and no session replay, autocapture, remote feature flags, AppKit timer, or main-thread disk I/O. Existing 0.11.0 anonymous identities are migrated once so release-to-release funnels remain accurate.
  • +
  • The first signed Sparkle successor passed a real update. An installed Developer ID-signed 0.11.0 copy found, downloaded, installed, and relaunched 0.11.1 through Sparkle's native UI without Terminal or Homebrew. The updated app then passed strict signing, stapler, and Gatekeeper checks, completing #281.
  • +
+
+
+
privacy
+
    +
  • Telemetry remains optional, unlinked, and non-tracking. One Settings switch disables both PostHog analytics and Sentry diagnostics. The privacy manifest continues to declare Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data; this release adds no signing-specific telemetry and records no screen content.
  • +
+
+
+
security
+
    +
  • The release chain remains fail closed. The tag cannot publish unless the app is Developer ID signed, notarized, stapled, accepted by Gatekeeper, and both the update archive and appcast pass Sparkle signature verification.
  • +
+
+
+
+ +
+
+

0.11.0

+ Aug 1, 2026 + full notes ↗ +
+
+

Burrow's first Developer ID-signed and Apple-notarized release, Gatekeeper can verify the app, Full Disk Access gets a stable identity, and Sparkle establishes the signed foundation for native updates.

+
+
improved
+
    +
  • Official downloads are trusted by Gatekeeper. The app and every bundled executable carry a Developer ID signature, hardened runtime, secure timestamp, and a stapled Apple notarization ticket. Direct-download users no longer need to strip quarantine or use the right-click Open workaround. (#312)
  • +
  • Full Disk Access has a stable identity. Developer ID gives macOS one consistent code identity across releases, so privacy grants can survive normal updates after the one-time transition from an older ad-hoc build. (#177, #181)
  • +
  • The signed update foundation is in place. Burrow now uses Sparkle's native UI. Automatic checks remain on by default, but downloads and installs wait for approval. The update ZIP and appcast carry Ed25519 signatures that CI and the app verify; the first live 0.11.0-to-0.11.1 upgrade later completed successfully in #281.
  • +
  • The bundled engine no longer rewrites the app. It updates only with a signed Burrow release, preserving the Developer ID resource seal. Source builds using an external engine still expose its manual updater.
  • +
+
+
+
privacy
+
    +
  • The privacy manifest matches the shipped app. Product Interaction, Other Usage, Crash, Performance, and Other Diagnostic data are declared unlinked and non-tracking. Analytics and crash reporting remain opt-out, and signing adds no telemetry.
  • +
+
+
+
security
+
    +
  • A tag cannot publish a partially trusted build. CI stops before publication unless signing, notarization, ticket stapling, strict code-sign verification, Gatekeeper assessment, the Sparkle keypair match, and both update signatures all succeed. (#312)
  • +
  • Delayed Apple responses stay fail closed. The release retains Apple's submission ID, waits up to 60 minutes, and checks that same submission once more at the timeout boundary; it never treats an unknown or in-progress result as accepted. (#317)
  • +
  • Homebrew keeps Apple's security checks intact. The live cask preserves quarantine, removes the old unsigned warning, and is marked auto_updates true because Sparkle owns future in-app updates.
  • +
+
+
+
+ +
+
+

0.10.5

+ Jul 25, 2026 + full notes ↗ +
+
+

Burrow's MCP tools, tuned against real agent transcripts, one analyze call maps disk hotspots, killed runs say so instead of failing silently, and slow scans warn you up front.

+
+
improved
+
    +
  • One burrow_analyze call now maps disk hotspots. The engine reports one directory level per run, which forced agents into a call per directory (a real session made 15 in a row). analyze gains depth (descend into the largest subdirectories), limitmin_size, emits compact JSON instead of 35–60 KB pretty-printed blobs, and always reports what it pruned (entries_omitted / omitted_bytes, partial: true when the descent hits its time budget). (#303)
  • +
  • The slow tools now say they're slow. analyze, clean, purgeinstaller descriptions warn that big scans take minutes, so agents scope to a specific folder instead of hanging past their client's patience and falling back to shell commands. The agent docs and the burrow-system-tools skill now lead with the low-disk emergency playbook, the pattern that actually fires in practice. (#303)
  • +
+
+
+
fixed
+
    +
  • Killed runs no longer fail silently. A burrow_clean that hit its time limit rendered as {"exit_code": 9, "output": ""}: nothing an agent could act on. Timed-out actions (and analyze) now return timed_out: true plus a hint. (#303)
  • +
  • burrow_cleanup_history explains itself. When engine history is unavailable, the error now points at burrow_info to check whether Burrow is recording at all. (#303)
  • +
+
+
+
+ +
+
+

0.10.2

+ Jul 24, 2026 + full notes ↗ +
+
+

A fix release, three crashes squashed (the menu-bar popover, the streaming task report, and a nil-font HUD metric), and the in-app updater no longer silently reopens the same build.

+
+
fixed
+
    +
  • No more menu-bar popover or streaming-report crashes. Two EXC_BAD_ACCESS faults inside SwiftUI's view graph, one in the popover header button, one in the live task report/ticker as a job streamed, are fixed by keeping those view subtrees structurally stable across snapshot and scroll updates instead of restructuring them mid-update. (#299)
  • +
  • The menu-bar metric no longer crashes on a nil font. NSFont.monospacedSystemFont is declared non-null but can transiently return nil under memory pressure; that null reached CoreText and crashed at draw time (Sentry BURROW-8Y). The metric widgets now fall back to the plain system font, cosmetic at worst, never a crash. (#290)
  • +
  • In-app update actually updates. When the cask “cannot be upgraded as-is,” Homebrew prints a warning but exits 0, so the one-click updater reported success and reopened the same build. It now detects the refusal by message and runs the brew reinstall --force Homebrew recommends. (#287)
  • +
+
+
+
+ +
+
+

0.10.1

+ Jul 13, 2026 + full notes ↗ +
+
+

Three new panes, Leftovers, Similar Photos, and Network, and Duplicates now works out of the box, plus menu-bar HUD and HEIC fixes.

+
+
New
+
    +
  • Leftovers pane: find and clear the caches, preferences, and support files an app leaves behind
  • +
  • Similar Photos pane: cluster near-duplicate images by perceptual hash, reveal in Finder
  • +
  • Network pane: per-app bandwidth
  • +
+
+
+
Fixes
+
    +
  • Duplicates works with zero install, the fclones sidecar is now bundled universal
  • +
  • Similar Photos reports HEIC it can't decode (“N HEIC couldn't be read”) instead of a bare empty result
  • +
  • Menu-bar HUD popover no longer shifts sideways and clips; the tool strip wraps instead of overflowing
  • +
  • Tool panes mount lazily, no more ~2-second layout hang on open or pane switch
  • +
  • Finder-launched app augments its PATH with the Homebrew bins so installed helpers resolve
  • +
+
+
+
+ +
+
+

0.10.0

+ Jul 12, 2026 + full notes ↗ +
+
+

The conductor release, Burrow ships its own command layer, a brand-new Duplicates pane, and the sudo, uninstall, and Tune-Up fixes you reported.

+
+
New
+
    +
  • Duplicates pane: scan, review checklist-style with a keep-one guard, move extras to the Trash or reclaim via APFS clones
  • +
  • Bundled burrow conductor (universal): analysis, status, history, clean, and optimize route through one stable JSON contract with direct-engine fallback
  • +
  • 7 read-only MCP tools through the conductor, 21 total for agents
  • +
+
+
+
Fixes
+
    +
  • Admin password dialog appears again for root-owned app uninstalls (the engine now opens /dev/tty instead of permission-testing it)
  • +
  • Failed uninstalls keep the list and selection and surface the engine's error
  • +
  • Tune-Up reclaim sizes no longer show raw ANSI color codes
  • +
  • Analyze bounds per-child scans so a huge cache folder can't freeze the scan
  • +
  • Menu-bar popover no longer rubber-bands into empty space
  • +
  • Self-update refreshes Homebrew before upgrading
  • +
+
+
+
Also
+
    +
  • Per-metric menu-bar text sizing, stable widths, flipped net in/out ordering
  • +
  • HUD popover re-pins when the menu bar auto-hides
  • +
+
+
+
windows
+
    +
  • Downloadable at last: BurrowWin-0.10.0-win-x64.zip ships on this release, the unpackaged app with burrow.exe and the engine bundled (unzip, run BurrowWin.exe; Windows 10/11)
  • +
  • Agent-triggered clean/optimize route through burrow.exe with the same envelope contract as macOS
  • +
  • burrow.exe grew real Windows powers: Recycle-Bin safe delete, guarded BCU uninstalls, czkawka duplicates + similar photos, provider-aware OneDrive eviction, IP Helper network attribution
  • +
+
+
+
+ +
+
+

0.9.2

+ Jul 8, 2026 + full notes ↗ +
+
+

A stability and battery release, fixes to Cleanup, Analyze, and the menu bar, plus performance work that makes Burrow noticeably lighter while it sits idle.

+
+
Fixes
+
    +
  • Purge (Cleanup → Project build artifacts) applies your selection instead of aborting with “Couldn't confirm the selection safely”
  • +
  • Analyze cancels superseded scans and caps engine concurrency, no more runaway pile of processes
  • +
  • Camera/mic in-use indicator ignores virtual audio/video devices and clears when capture ends
  • +
  • Menu-bar popover no longer flies to a screen edge or mis-sizes on multi-display setups
  • +
  • Fewer spurious “App Hang” reports
  • +
+
+
+
Performance & battery
+
    +
  • Metrics engine caches slow SMC/GPU sensor reads and skips idle stream frames when no window is open
  • +
  • Analyze walk and icon caches are now bounded (evict under memory pressure)
  • +
  • Live sparklines window their data instead of scanning the full history each frame
  • +
  • Doctor security/SMART/backup probes are timeout-guarded and cached across reopens
  • +
  • Network-usage views share one sample instead of each running a 1-second scan
  • +
+
+
+
Under the hood
+
    +
  • Dead-code prune
  • +
  • Homebrew cask no longer depends on a system engine (engine bundled since 0.9.0)
  • +
+
+
+
+ +
+
+

0.9.0

+ Jun 30, 2026 + full notes ↗ +
+
+

Burrow's biggest release, it now bundles its own engine (no separate install), and adds an Activity-Monitor-class process inspector, a Get Online connectivity companion, and a security-aware Doctor.

+
+
engine
+
    +
  • Burrow bundles its own engine now. The app ships an MIT-licensed burrow-engine (forked at its last MIT release) inside Burrow.app and runs it directly, so a fresh install needs no separate engine install. Burrow prefers the bundled engine, then an installed burrow-engine, then a legacy system engine for existing setups.
  • +
+
+
+
process inspector
+
    +
  • Per-process inspector: click any process for a structured panel: identity (path, code signature, Mach-O architecture), live CPU/memory, runtime, and the process's open network connections.
  • +
  • Process tree: the parent/child hierarchy around any process.
  • +
  • CPU watchdog: set per-process CPU thresholds and get notified when something runs hot, with an editor in Settings.
  • +
  • Filter, suspend/resume, export: a typed predicate filter over the process table, suspend or resume a process, and export the table.
  • +
+
+
+
get online
+
    +
  • On-demand speed test: measure real down/up throughput.
  • +
  • Nearby Wi-Fi scan: surrounding networks and channel congestion (Home mode), so you can pick a clearer channel.
  • +
  • Venue captive-portal tips: venue-specific help for hotel/airport/café portals that won't load.
  • +
  • Connection history: a log of connectivity events (SSID changes, drops).
  • +
+
+
+
doctor
+
    +
  • Security posture: SIP, Gatekeeper, FileVault, and firewall at a glance, plus a high-CPU check and one-click Copy diagnostics.
  • +
  • Battery health: capacity % and condition (omitted on desktops).
  • +
  • More context: display, external-volume, and network context.
  • +
+
+
+
clean, software & analyze
+
    +
  • 清理 now sorts the review by reclaimable impact and flags sensitive paths (keychain/credential locations) before you delete; the done screen shows your all-time cleaned total.
  • +
  • Software: App Store updates that need a newer macOS are hidden; ⌘R refreshes with a cache bypass; app search is alias-aware.
  • +
  • Uninstall: a Clear-Data-only subset, plus an input-method leftover warning.
  • +
  • 分析: one-tap whole-disk scan, and a treemap “Other” fold for tiny entries.
  • +
  • 最佳化: a pre-run safety banner when a VPN or external display is active.
  • +
  • Login items: modern Login (BTM) items appear in the startup inventory; a LaunchAgent on an unplugged drive is no longer flagged broken.
  • +
  • Keep Screen On keeps working with the lid closed.
  • +
+
+
+
fixed
+
    +
  • Three main-thread hangs on the new process/parity surfaces (suspend/resume, inspector, tree).
  • +
  • A missing paths: label on a data-only uninstall plan.
  • +
+
+
+
windows
+
    +
  • Windows preview: version-aligned to 0.9.0; no Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.3

+ Jun 25, 2026 + full notes ↗ +
+
+

A metrics & menu-bar release, real memory-pressure reporting, a power-draw widget, a live menu-bar preview, and a snappier popover.

+
+
added
+
    +
  • Power-draw widget: live system wattage (W) as a menu-bar metric.
  • +
  • Real memory pressure. “By pressure” now reads actual macOS memory pressure, (wired + compressed) / total via host_statistics64, the same figure Activity Monitor reports, instead of reusing the CPU-style utilization ramp. Shown as a percentage on the memory tiles, colored green ≤59% / orange 60–79% / red ≥80%.
  • +
  • Memory detail card: the Status dashboard breaks memory down into used / free / cached / swap.
  • +
  • Live menu-bar preview + layout presets: Settings previews your real metrics as you configure them, with one-tap layout presets.
  • +
  • Two new runner animations: Wave and Bars.
  • +
+
+
+
changed
+
    +
  • Consistent pressure coloring across the dashboard tile, popover, memory-detail card, and menu bar.
  • +
  • Live popover sparklines: CPU / memory / GPU tick every second (about a minute of history).
  • +
  • Honest color picker: “By pressure” is offered only where it applies (memory); the temperature color ramp was corrected.
  • +
+
+
+
fixed
+
    +
  • Brewfile import/export pickers no longer trip the hang detector (ANR false-positives).
  • +
  • App-Hang reports from memory-starved machines are dropped before sending, they were environmental, not Burrow bugs.
  • +
+
+
+
performance
+
    +
  • Snappier popover: the metric grid no longer re-renders on unrelated state changes.
  • +
+
+
+
windows
+
    +
  • Windows preview: a version-aligned 0.8.3 build is attached (BurrowWin-0.8.3-win-x64.zip). No Windows-specific changes this release.
  • +
+
+
+
+ +
+
+

0.8.2

+ Jun 23, 2026 + full notes ↗ +
+
+

A fix release, a Full Disk Access grant now actually takes effect, and Burrow asks for notification permission up front.

+
+
fixed
+
    +
  • Full Disk Access is honored again. The shipped app's embedded framework signatures were malformed (codesign --verify --strict failed on Sentry.framework), so macOS couldn't validate Burrow's identity and silently ignored a Full Disk Access grant, turning it on in System Settings appeared to do nothing. The release now re-signs the app and every nested framework inside-out so the signature is valid and the grant takes effect. After updating, toggle Full Disk Access off and back on once. _(Burrow is still ad-hoc-signed, so a re-grant is needed after each update until it ships with a Developer ID signature.)_
  • +
+
+
+
changed
+
    +
  • Notification permission is requested up front: Burrow now asks once, when you finish onboarding or first enable a notifying feature, instead of springing the system prompt the moment a notification tries to fire.
  • +
+
+
+
+ +
+
+

0.8.1

+ Jun 23, 2026 + full notes ↗ +
+
+

A stability release, no more dashboard freezes, live status now streams, a one-click Homebrew update, and the Windows preview's review closeout.

+
+
fixed
+
    +
  • No more App-Hang freezes. The Overview dashboard re-rendered its whole grid, every chart tile and the full process table, once a second; now only the small Disk / Network tiles update that often, the rest on the snapshot.
  • +
  • Opening Settings and the About panel no longer blocks the main thread (login-item status, metrics-folder sizing, and the engine-version lookup moved off it).
  • +
  • PostHog telemetry now flushes off the main thread instead of on a main-run-loop timer.
  • +
+
+
+
changed
+
    +
  • Live status streams by default: with engine 1.44+, Burrow streams the engine's streaming status command (NDJSON) instead of polling the engine's one-shot status command: lower latency and less subprocess churn. Falls back to polling on an older engine or a dropped stream.
  • +
+
+
+
added
+
    +
  • Update with Homebrew: for cask installs, the update prompt has a one-click button that runs brew upgrade --cask burrow and relaunches.
  • +
+
+
+
windows preview
+
    +
  • Closed out the port review: MCP tool parity with macOS (burrow_list_apps, burrow_purge, burrow_installer: preview-only over MCP), stdio MCP that survives the HTTP toggle, brand assets / palette / fonts / icon aligned to the Mac, honest docs, and MCP + deletion-guard tests. Earlier rounds added Recycle-Bin routing, a drive-root guard, and SHA-256 verification of the bundled engine. Still an unsigned, build-from-source preview.
  • +
+
+
+
+ +
+
+

0.8.0

+ Jun 20, 2026 + full notes ↗ +
+
+

A top-to-bottom visual redesign, a wave of new tools, a deeper agent surface, and an early Windows preview.

+
+
added
+
    +
  • 連接埠: live connections, bandwidth, reverse-DNS peers, service labels, conflicts, sortable columns, and a per-connection detail view.
  • +
  • 恢復連線: MDM and gateway checks, the active-interface IP, captive-portal and device-side rescue, and one-click fixes.
  • +
  • 調校: a Smart-Care flow (scan → results → run) that auto-scans the moment you open it.
  • +
  • Homebrew: Services (start / stop / restart), Brewfile snapshots (export / restore), and live brew upgrade progress in Updates.
  • +
  • Menu bar: a customizable popup, Stats-depth widgets, a RunCat-style runner, and live metric widgets in the status item.
  • +
  • Disk now forecasts when you'll run out of space (“Full in ~N”); Doctor gains SMART-health and backup-awareness checks with overdue reminders, multi-select bulk reclaim, and a git purge-safety badge.
  • +
  • For your agent: a deeper MCP surface: a token-gated /events SSE stream and burrow_diff, so an agent can watch and compare your machine over time.
  • +
+
+
+
changed
+
    +
  • A warm, tactile redesign, a warm-coffee adaptive palette, film grain over a soft gradient, a floating icon rail in place of the top tabs, borderless cards, and the Geist / Cal Sans type system.
  • +
  • Overview: Health pulled up into an open hero band over a cleaner three-up vitals grid.
  • +
  • 歷史: a focal hero chart with a selectable metric strip; drag-select a span to surface the top processes for that spike.
  • +
  • Menu-bar HUD: borderless tiles on the same warm ground, with Doctor and Restore reskinned to match and edge-fade scrollers throughout.
  • +
+
+
+
performance
+
    +
  • Killed several main-thread app-hangs, the process table, sort, ICU on the render path, app icons, clean reports, and the software list.
  • +
  • Onboarding now auto-detects the engine.
  • +
+
+
+
windows preview
+
    +
  • An early native WinUI 3 / .NET 8 app now lives under windows/: Status, History, Analyze, Apps, a tray HUD, local telemetry/history, and an MCP stdio bridge. Build from source; unsigned preview.
  • +
+
+
+
under the hood
+
    +
  • The repo is now a monorepo (macos/ + windows/), with inside-out framework signing for notarization and an automated upstream engine release watcher.
  • +
+
+
+
+ +
+
+

0.7.2

+ Jun 15, 2026 + full notes ↗ +
+
+

A feature pass on the redesign, cleanup, software and the live dashboard get more capable, with opt-in update and privacy surfaces.

+
+
added
+
    +
  • Cleanup, unified: Purge and Installers fold into Clean as category cards, each with a real result screen and the raw log tucked behind a View Log toggle.
  • +
  • Self-update: Burrow checks itself for new versions (opt-in, default on) and shows a banner plus a menu-bar dot. It never installs on its own.
  • +
  • Homebrew updates appear the moment you open the Apps tab, and your own login items get on/off toggles.
  • +
  • An optional camera & mic in-use indicator in the menu-bar popover (off by default), reading the same signal as Control Center.
  • +
  • About and Check for Updates now live in Settings too.
  • +
+
+
+
changed
+
    +
  • Network charts in Status and History draw download and upload as two separate lines.
  • +
  • Analyze shows live per-folder progress on the first scan.
  • +
  • A View Log toggle on every result screen, Clean, Optimize, Purge, and Installers.
  • +
+
+
+
fixed
+
    +
  • Confirm dialogs and Touch ID are no longer reported as app-hangs.
  • +
  • Live App Store / Sparkle update checks stay click-gated, no silent network.
  • +
+
+
+
+ +
+
+

0.7.1

+ Jun 14, 2026 + full notes ↗ +
+
+

A stability pass, every freeze and the crash reported since the 0.7.0 redesign, fixed.

+
+
fixed
+
    +
  • The History view no longer freezes on wide time ranges.
  • +
  • Typing in Uninstall and Purge is smooth again.
  • +
  • Fixed a crash opening the menu-bar popover charts, it and the Status mini-charts could segfault on a transition, and now draw as one stable shape.
  • +
  • GPU history bars draw again on Apple Silicon.
  • +
+
+
+
performance
+
    +
  • Faster launch, engine discovery moved off the main thread.
  • +
  • The HUD, Status, and Activity panels share one refresh pump now.
  • +
  • The process-row Quit / Force-Kill menu is no longer rebuilt on every refresh.
  • +
+
+
+
+ +
+
+

0.7.0

+ Jun 13, 2026 + full notes ↗ +
+
+

The big one, every tool redesigned, a real Clean review pipeline, a new Software tab, and notifications when work finishes.

+
+
added
+
    +
  • New Software tab: per-app uninstall review, a unified Updates list with source badges, and a startup inventory.
  • +
  • Review before you clean: Scan streams a live count-up into a per-item review screen, and deselected paths are protected for exactly one run.
  • +
  • Finish-line alerts: get notified when a clean, optimize, or uninstall finishes, plus opt-in low-disk and Trash reminders.
  • +
  • Keep Screen On, Clean Screen, and global shortcuts.
  • +
+
+
+
changed
+
    +
  • Every tool redesigned, Onboarding, Clean, Software, Status, the menu-bar popover, Analyze, and Settings, all rebuilt.
  • +
  • History CPU, GPU, and health render as bars, and GPU usage is read natively on Apple Silicon.
  • +
  • A compact, scrollable process table.
  • +
  • MCP cleanup tools share the app's gate, return structured summaries, and surface data-freshness on a stable contract.
  • +
  • ~230 strings localized in 简体中文 / 繁體中文.
  • +
+
+
+
fixed
+
    +
  • One-click relaunch the moment Full Disk Access is granted.
  • +
  • First-run onboarding checks the engine and version.
  • +
  • Truthful Touch ID copy.
  • +
  • The dashboard survives a bad metrics sample (skipped and counted) instead of stalling.
  • +
+
+
+
performance
+
    +
  • History auto-refresh is demand-driven, no idle timer.
  • +
  • A deepened, test-covered engine runner / metrics / actions core.
  • +
+
+
+
+ +
+
+

0.6.7

+ Jun 11, 2026 + full notes ↗ +
+
+

The biggest release yet, one Home dashboard, 繁體中文, native sensors, live 1-second charts.

+
+
added
+
    +
  • One Home dashboard: Status, History, and Activity fold into a single live view: vitals, charts, and recent jobs in one place.
  • +
  • 繁體中文: Traditional Chinese joins English and 简体, with an in-app switch, so you're not tied to the system language.
  • +
  • Real fans & temps: fan RPM and CPU/GPU die temperatures, read straight from the SMC, the gaps the engine leaves on Apple Silicon, filled.
  • +
  • 1-second live charts: net and disk sampled every second, so bursts show up instead of being averaged away.
  • +
  • Trash from the treemap: spot a forgotten folder in Analyze and send it to the Trash right there, no detour to Finder.
  • +
  • Sharper AI Explain: it briefs the whole picture now: the current snapshot, the recent trend, and your recent cleanups, in your language.
  • +
+
+
+
changed
+
    +
  • Opt-out anonymous telemetry, one switch, listed in TELEMETRY.md.
  • +
  • AI keys moved to the Keychain.
  • +
  • Deletes and uninstalls need a second agent opt-in.
  • +
+
+
+
fixed
+
    +
  • The loopback API is hardened, no CORS grant.
  • +
  • Treemap hover and breadcrumb fixed.
  • +
  • Tests grew 124 → 244.
  • +
+
+
+
+ +
+
+

0.6.5

+ Jun 9, 2026 + full notes ↗ +
+
+

A reliability release, the selection flows stop hanging, and the engine integration is now driven by tests.

+
+
fixed
+
    +
  • Installers and Purge no longer freeze when the engine finds nothing, or on a second scan, the “Scanning…” hang is gone.
  • +
+
+
+
changed
+
    +
  • The “remove exactly what you picked, or nothing” flow is now a pure state machine, verified in CI.
  • +
  • One ANSI cleaner, one typed client, one snapshot store.
  • +
  • Tests grew 90 → 124.
  • +
+
+
+
+ +
+
+

0.6.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Fix-and-polish, cleanup flows actually complete, and the trackers show real data.

+
+
fixed
+
    +
  • Installer & Uninstall complete: the confirm-screen timeout and the silent [y/N] hang are gone; both flows finish now.
  • +
  • Settings flush immediately.
  • +
+
+
+
added
+
    +
  • Native disk I/O & GPU: read natively where the engine reports zero on Apple Silicon, so charts show real numbers.
  • +
  • Purge → Show all: pull in the complete find list and pick from everything, not just the ~50 biggest.
  • +
  • More history charts: Battery, GPU, and Fans join the lineup; Top Processes ranks by CPU or RAM.
  • +
  • The thermal chart plots a real temperature.
  • +
+
+
+
performance
+
    +
  • Faster live sampling catches short spikes.
  • +
+
+
+
+ +
+
+

0.5.5

+ Jun 8, 2026 + full notes ↗ +
+
+

Two new cleanup tools, an AI lens on Status, and agents that can act, safely.

+
+
added
+
    +
  • 深度清理: find and clear old build artifacts (node_modules, target/, build/), ticking exactly what goes.
  • +
  • 安裝檔: sweep leftover .dmg / .pkg / .iso / .zip with the same pick-what-to-remove flow.
  • +
  • Explain (AI), opt-in: a lens that reads one snapshot and explains it in plain English; local Ollama by default, nothing leaves the Mac.
  • +
  • Agents can act over MCP: burrow_clean, _optimize, _uninstall and friends, each dry-running unless you flip the real-cleanups switch.
  • +
+
+
+
changed
+
    +
  • Every agent action defaults to --dry-run.
  • +
  • LM Studio and OpenAI-compatible backends are supported.
  • +
+
+
+
+ +
+
+

0.5.1

+ Jun 8, 2026 + full notes ↗ +
+
+

Maintenance, Full Disk Access actually sticks now.

+
+
fixed
+
    +
  • Full Disk Access works: ad-hoc signing gives the app a stable code identity, so the TCC grant finally binds.
  • +
  • A Quit & Reopen path after granting Full Disk Access.
  • +
+
+
+
added
+
    +
  • New read-only MCP tools: burrow_cleanup_history and burrow_deleted_files.
  • +
+
+
+
performance
+
    +
  • Less energy in Software, dropped the per-app Spotlight query that kept mds and mdworker awake.
  • +
+
+
+
+ +
+
+

0.5.0

+ Jun 8, 2026 + full notes ↗ +
+
+

Burrow grows up, Touch ID, a live menu-bar HUD, an MCP server, 简体中文, and a one-command install.

+
+
added
+
    +
  • Touch ID for sudo: cleanups that need admin rights authenticate with a fingerprint, via the engine's Touch ID support.
  • +
  • Menu-bar HUD: live job status from the menu bar, or run without the icon entirely in Dock mode.
  • +
  • MCP server: ask Claude Code about your Mac through a read-only stdio server, including burrow_process_usage.
  • +
  • 简体中文: Simplified Chinese localization.
  • +
  • 歷史: long-range charts, five minutes out to ninety days, over a local SQLite store.
  • +
  • Homebrew cask: brew install --cask caezium/tap/burrow: one command, engine included, quarantine cleared.
  • +
  • An Activity pane with cleanup history in-app.
  • +
+
+
+
changed
+
    +
  • A Full Disk Access gate stops the per-folder permission flood.
  • +
  • Guided engine setup on first run.
  • +
+
+
+
+ +
+
+

0.4.0

+ Jun 4, 2026 + full notes ↗ +
+
+

First public release, five tools, one native window, built on a bundled CLI engine.

+
+
added
+
    +
  • Five tools, one window: Status, Analyze, Software, Clean, and Optimize: a native macOS GUI for the audited engine.
  • +
  • Status + History: a live dashboard with per-metric sparklines, and long-range charts on a local store.
  • +
  • MCP server, day one: HTTP + stdio endpoints so Claude Code can ask what's happening on this Mac.
  • +
+
+
+
notes
+
    +
  • macOS 14+; requires a separate engine install; unsigned, pre-1.0.
  • +
+
+
+
+
+ + + + diff --git a/docs/zh-Hant/roadmap.html b/docs/zh-Hant/roadmap.html new file mode 100644 index 00000000..b67b8e06 --- /dev/null +++ b/docs/zh-Hant/roadmap.html @@ -0,0 +1,261 @@ + + + + + + +Burrow · Roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

藍圖

+

What's shipped, what's being built, and what we're weighing next.

+

A guide, not a promise, order shifts with what people ask for. Upvote an issue to push it up, or open a request ↗. Updated Aug 7, 2026.

+
+ +
+
+

Building

1In progress now.
+
+
+ A single interface for machine care and agent work +

Burrow grew tool by tool. The next pass designs it as one product: one navigation model, one task hierarchy, and a clear place for the agent surfaces that arrived late.

+
feat
+
+
+
+
+

Planned

2Decided, not started yet.
+
+
+ Windows preview → first stable +

Data-loss and supply-chain hardening, parity, and test coverage before it loses the “preview” label.

+ +
+
+ Uninstall that never quietly does nothing +

A handful of Homebrew apps use a cask token that differs from the display name, so a name-based lookup resolves most apps and misses the exceptions. Uninstall gets exact resolution and a visible result either way.

+
fix
+
+
+
+
+

Considering

2Weighing it, upvote to push it up.
+
+
+ Persistent one-tap “run all” Tune-Up +

A saved Smart-Care routine you trigger in one tap from the dashboard.

+ +
+
+ Faster, deeper Analyze +

Better navigation through very large trees, quicker re-render on drill-down, and caching so a second scan of the same volume is close to instant.

+
feat
+
+
+
+
+

Recently shipped

16Landed in the latest releases.
+
+
+ Developer ID signed & Apple-notarized macOS releases + +
+
+ Signed Sparkle feed + updater foundation + +
+
+ Stable Full Disk Access identity across updates + +
+
+ Bundled MIT engine, no separate mo 安裝 + +
+
+ Process inspector + CPU watchdog + +
+
+ Get Online connectivity companion + +
+
+ Security-aware Doctor + +
+
+ No-freeze live dashboard + +
+
+ Streaming live status (mo status --watch) + +
+
+ One-click Update with Homebrew + +
+
+ A warm visual redesign + +
+
+ 連接埠 & 恢復連線 + +
+
+ Smart-Care Tune-Up + +
+
+ Homebrew Services & Brewfile + +
+
+ Deeper MCP agent surface (/events, burrow_diff) + +
+
+ Windows preview + +
+
+
+
+ + + + diff --git a/macos/Resources/de.lproj/Localizable.strings b/macos/Resources/de.lproj/Localizable.strings new file mode 100644 index 00000000..fbb8ecf3 --- /dev/null +++ b/macos/Resources/de.lproj/Localizable.strings @@ -0,0 +1,869 @@ +/* Tools */ +"clean" = "Bereinigen"; +"apps" = "Software"; +"optimize" = "Optimieren"; +"analyze" = "Analysieren"; +"status" = "Status"; +"Clean" = "Bereinigen"; +"Software" = "Software"; +"Optimize" = "Optimieren"; +"Analyze" = "Analysieren"; +"Status" = "Status"; +"Settings" = "Einstellungen"; +"History" = "Verlauf"; +"Fresh air through old tunnels." = "Frische Luft in alten Gängen."; +"Shed what you've outgrown." = "Wirf ab, was du nicht mehr brauchst."; +"Small turns, a smoother run." = "Kleine Handgriffe, runderer Lauf."; +"Map every chamber below." = "Jede Kammer da unten kartieren."; +"Every pulse of the den." = "Jeder Pulsschlag des Baus."; + +/* Shared */ +"Burrow" = "Burrow"; +"Couldn't open Burrow's history database" = "Burrows Verlaufsdatenbank konnte nicht geöffnet werden"; +"%@\n\nThe app will quit." = "%@\n\nDie App wird beendet."; +"Mole CLI (`mo`) not found on PATH." = "Mole CLI (`mo`) wurde im PATH nicht gefunden."; +"mo analyze exited %d: %@" = "mo analyze wurde mit Code %d beendet: %@"; +"Couldn't parse mo analyze output: %@" = "Die Ausgabe von mo analyze konnte nicht gelesen werden: %@"; +"CPU" = "CPU"; +"GPU" = "GPU"; +"Memory" = "Arbeitsspeicher"; +"Network" = "Netzwerk"; +"Disk" = "Festplatte"; +"Battery" = "Batterie"; +"Power" = "Energie"; +"Health" = "Zustand"; +"Activity" = "Aktivität"; +"Top processes" = "Top-Prozesse"; +"Open Burrow" = "Burrow öffnen"; +"Preview" = "Vorschau"; +"Cancel" = "Abbrechen"; +"Failed: %@" = "Fehlgeschlagen: %@"; +"%d items · %@" = "%d Objekte · %@"; +"%@ in %d items" = "%1$@ in %2$d Objekten"; +"Scanning…" = "Wird gescannt …"; +"Home" = "Start"; +"Homebrew (`brew`) not found on this Mac." = "Homebrew (`brew`) wurde auf diesem Mac nicht gefunden."; +"formula" = "Formula"; +"cask" = "Cask"; + +/* Status and HUD */ +"Waiting for the first sample…" = "Warten auf die erste Messung …"; +"Burrow runs `mo status --json` on a timer; the first row lands within a tick." = "Burrow führt `mo status --json` in festen Abständen aus; die erste Zeile kommt im nächsten Takt."; +"%d cores" = "%d Kerne"; +"load %.2f · %.2f · %.2f" = "Last %.2f · %.2f · %.2f"; +"%.1f / %.1f GB · swap %.1f GB" = "%.1f / %.1f GB · Swap %.1f GB"; +"normal" = "normal"; +"warning" = "Warnung"; +"Good" = "Gut"; +"Excellent" = "Sehr gut"; +"Fair" = "Mittelmäßig"; +"Poor" = "Schlecht"; +"Critical" = "Kritisch"; +"All checks passed" = "Alle Prüfungen bestanden"; +"up %@ · since %@" = "läuft seit %@ · seit %@"; +"%@ · %@ · up %@" = "%@ · %@ · läuft seit %@"; +"GB free" = "GB frei"; +"%.0f%% used · R %.0f · W %.0f MB/s" = "%.0f%% belegt · L %.0f · S %.0f MB/s"; +"AC Power" = "Netzteil"; +"charging" = "wird geladen"; +"%@ left" = "%@ übrig"; +"%@ left · %d cyc · %d%% cap" = "%@ übrig · %d Zyklen · %d%% Kapazität"; +"NAME (%d)" = "NAME (%d)"; +"PID" = "PID"; +"MEM" = "SPEICHER"; +"↓ %d ↑ %d KB/s" = "↓ %d ↑ %d KB/s"; +"%.0f%% used" = "%.0f%% belegt"; +"%ds ago" = "vor %d s"; +"no samples yet" = "noch keine Messungen"; + +/* Clean */ +"Clean Now" = "Jetzt bereinigen"; +"Cleaned" = "Bereinigt"; +"Freed up to %@ · %@ items" = "Bis zu %@ freigegeben · %@ Objekte"; +"Re-scan" = "Erneut scannen"; +"Clean for real" = "Wirklich bereinigen"; +"to free" = "freizugeben"; +"· %@ items · %@ categories" = "· %@ Objekte · %@ Kategorien"; +"Scanning your Mac…" = "Dein Mac wird gescannt …"; +"Cleaning… don't quit." = "Wird bereinigt … bitte nicht beenden."; +"Preview — review, then clean for real." = "Vorschau — erst prüfen, dann wirklich bereinigen."; +"Done — caches cleared." = "Fertig — Caches geleert."; +"Scanning caches" = "Caches werden gescannt"; +"Cleaning caches" = "Caches werden bereinigt"; +"Clean caches for real?" = "Caches wirklich bereinigen?"; +"Burrow will run `mo clean` with administrator rights. Cache files are removed permanently; Mole's whitelist and safety rules still apply." = "Burrow führt `mo clean` mit Administratorrechten aus. Cache-Dateien werden endgültig gelöscht; die Whitelist und die Sicherheitsregeln von Mole gelten weiterhin."; + +/* Optimize */ +"Run again" = "Erneut ausführen"; +"Maintenance complete" = "Wartung abgeschlossen"; +"%d areas refreshed" = "Aufgefrischte Bereiche: %d"; +"Optimizing" = "Wird optimiert"; +"Optimize preview" = "Vorschau der Optimierung"; +"Previewing maintenance…" = "Vorschau der Wartung …"; +"Running maintenance…" = "Wartung läuft …"; +"Maintenance complete." = "Wartung abgeschlossen."; +"Preview complete." = "Vorschau abgeschlossen."; + +/* Task reports from mo */ +"Summary" = "Zusammenfassung"; +"Performance Diagnosis" = "Leistungsdiagnose"; +"DNS & Spotlight Check" = "DNS- und Spotlight-Prüfung"; +"Finder Cache Refresh" = "Finder-Cache auffrischen"; +"App State Cleanup" = "Gesicherte App-Zustände aufräumen"; +"Broken Config Repair" = "Defekte Konfigurationen reparieren"; +"Network Cache Refresh" = "Netzwerk-Cache auffrischen"; +"Database Optimization" = "Datenbankoptimierung"; +"LaunchServices Repair" = "LaunchServices reparieren"; +"Dock Refresh" = "Dock auffrischen"; +"Prevent Finder .DS_Store" = ".DS_Store verhindern"; +"Memory Optimization" = "Speicheroptimierung"; +"Network Stack Refresh" = "Netzwerk-Stack auffrischen"; +"Permission Repair" = "Zugriffsrechte reparieren"; +"Spotlight Optimization" = "Spotlight-Optimierung"; +"Spotlight Orphan Rules" = "Verwaiste Spotlight-Regeln"; +"Periodic Maintenance" = "Regelmäßige Wartung"; +"Shared File Lists" = "Geteilte Dateilisten"; +"Disk Health" = "Festplattenzustand"; +"Login Items" = "Anmeldeobjekte"; +"Quarantine Database Cleanup" = "Quarantäne-Datenbank aufräumen"; +"Launch Agents Cleanup" = "Launch Agents aufräumen"; +"Notifications" = "Mitteilungen"; +"Usage Data" = "Nutzungsdaten"; +"User Essentials" = "Nutzerdaten"; +"App Caches" = "App-Caches"; +"System Caches" = "System-Caches"; +"Developer Caches" = "Entwickler-Caches"; +"Browser Caches" = "Browser-Caches"; +"Logs" = "Protokolle"; +"DRY RUN MODE, No files will be modified" = "TESTLAUF — es werden keine Dateien verändert"; +"Likely bottleneck: %@" = "Wahrscheinlicher Engpass: %@"; +"Gatekeeper and code-signature assessment activity is elevated." = "Gatekeeper prüft ungewöhnlich viele Codesignaturen."; +"Gatekeeper status: assessments enabled" = "Gatekeeper-Status: Prüfungen aktiviert"; +"Only system-managed CoreSimulator images are mounted, informational only, not a detach target" = "Es sind nur systemverwaltete CoreSimulator-Images eingebunden — nur zur Information, kein Ziel zum Auswerfen"; +"DNS cache flushed" = "DNS-Cache geleert"; +"Spotlight index verified" = "Spotlight-Index geprüft"; +"QuickLook thumbnails refreshed" = "QuickLook-Miniaturen aufgefrischt"; +"Icon services cache rebuilt" = "Cache der Symboldienste neu aufgebaut"; +"App saved states optimized" = "Gesicherte App-Zustände optimiert"; +"All preference files valid" = "Alle Einstellungsdateien sind gültig"; +"DNS cache already refreshed" = "DNS-Cache war bereits aufgefrischt"; +"mDNSResponder already restarted" = "mDNSResponder wurde bereits neu gestartet"; +"All databases already optimized" = "Alle Datenbanken waren bereits optimiert"; +"LaunchServices repaired" = "LaunchServices repariert"; +"File associations refreshed" = "Dateizuordnungen aufgefrischt"; +"Dock refreshed" = "Dock aufgefrischt"; +".DS_Store prevention enabled on network & USB volumes" = ".DS_Store auf Netzwerk- und USB-Volumes verhindert"; +"Inactive memory released" = "Inaktiver Speicher freigegeben"; +"System responsiveness improved" = "Reaktionsfähigkeit des Systems verbessert"; +"Network routing table refreshed" = "Netzwerk-Routingtabelle aufgefrischt"; +"ARP cache cleared" = "ARP-Cache geleert"; +"User directory permissions repaired" = "Zugriffsrechte im Benutzerordner repariert"; +"User directory permissions already optimal" = "Zugriffsrechte im Benutzerordner waren bereits optimal"; +"File access issues resolved" = "Probleme beim Dateizugriff behoben"; +"Spotlight index already optimal" = "Spotlight-Index war bereits optimal"; +"Spotlight search rules already clean" = "Spotlight-Suchregeln waren bereits sauber"; +"Periodic maintenance skipped (not available on this macOS version)" = "Regelmäßige Wartung übersprungen (in dieser macOS-Version nicht verfügbar)"; +"Shared file lists all healthy" = "Alle geteilten Dateilisten sind in Ordnung"; +"Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)" = "Festplattenprüfung übersprungen (mit MOLE_ENABLE_DISK_VERIFY=1 aktivierbar)"; +"Login items all healthy (%@ checked)" = "Alle Anmeldeobjekte sind in Ordnung (%@ geprüft)"; +"Quarantine database already clean" = "Quarantäne-Datenbank war bereits sauber"; +"Launch Agents all healthy" = "Alle Launch Agents sind in Ordnung"; +"Notification Center database not found" = "Datenbank der Mitteilungszentrale nicht gefunden"; +"Knowledge database is healthy (%@)" = "Die Knowledge-Datenbank ist in Ordnung (%@)"; +"%@ %@ items, %@ dry" = "%@ %@ Objekte, %@ bereinigbar"; +"%@ %@ old items, %@ dry" = "%@ %@ alte Objekte, %@ bereinigbar"; +"%@, %@ dry" = "%@, %@ bereinigbar"; +"User app cache" = "App-Cache des Benutzers"; +"User app logs" = "App-Protokolle des Benutzers"; +"Darwin user cache files" = "Darwin-Cache-Dateien des Benutzers"; +"Media analysis cache" = "Cache der Medienanalyse"; +"Media analysis temp files" = "Temporäre Dateien der Medienanalyse"; +"Wallpaper agent cache" = "Cache des Schreibtischhintergrund-Agents"; +"Trash · already empty" = "Papierkorb · bereits leer"; +"System caches need sudo, run sudo -v && mo clean --dry-run for full preview" = "System-Caches brauchen sudo; für die vollständige Vorschau sudo -v && mo clean --dry-run ausführen"; +"Dry Run Mode, Preview only, no deletions" = "Testlauf — nur Vorschau, es wird nichts gelöscht"; + +/* Analyze */ +"Reveal in Finder" = "Im Finder zeigen"; +"Open here" = "Hier öffnen"; +"Analyzing %@" = "%@ wird analysiert"; +"scan failed" = "Scan fehlgeschlagen"; + +/* Software */ +"Size" = "Größe"; +"Name" = "Name"; +"Recent" = "Zuletzt"; +"Source" = "Quelle"; +"Uninstall" = "Deinstallieren"; +"Updates" = "Updates"; +"Search apps" = "Apps durchsuchen"; +"Reading installed apps…" = "Installierte Apps werden gelesen …"; +"%d apps" = "%d Apps"; +"%d selected · %@" = "%d ausgewählt · %@"; +"Uninstall (%d)" = "Deinstallieren (%d)"; +"Uninstall %d app?" = "%d App deinstallieren?"; +"Uninstall %d apps?" = "%d Apps deinstallieren?"; +"Move to Trash" = "In den Papierkorb legen"; +"Checking Homebrew…" = "Homebrew wird geprüft …"; +"Everything's up to date" = "Alles ist aktuell"; +"Homebrew formulae & casks" = "Homebrew-Formulae und -Casks"; +"%d update" = "%d Update"; +"%d updates" = "%d Updates"; +"Update all" = "Alle aktualisieren"; +"Updating…" = "Wird aktualisiert …"; +"Update" = "Aktualisieren"; + +/* Settings */ +"Storage" = "Speicher"; +"Currently using" = "Aktuell belegt"; +"Last maintenance" = "Letzte Wartung"; +"Run maintenance now" = "Wartung jetzt ausführen"; +"History lives at ~/Library/Application Support/Burrow/burrow.db. Rows past the retention window are pruned hourly." = "Der Verlauf liegt in ~/Library/Application Support/Burrow/burrow.db. Zeilen außerhalb des Aufbewahrungszeitraums werden stündlich entfernt."; +"History retention" = "Aufbewahrung des Verlaufs"; +"Keep history for" = "Verlauf aufbewahren für"; +"1 day" = "1 Tag"; +"7 days" = "7 Tage"; +"14 days" = "14 Tage"; +"30 days" = "30 Tage"; +"90 days" = "90 Tage"; +"180 days" = "180 Tage"; +"1 year" = "1 Jahr"; +"Vacuum DB after large prunes" = "Datenbank nach großen Löschläufen komprimieren"; +"Sampling" = "Messung"; +"Sample every" = "Messen alle"; +"5 sec" = "5 Sek."; +"15 sec" = "15 Sek."; +"30 sec" = "30 Sek."; +"60 sec" = "60 Sek."; +"2 min" = "2 Min."; +"5 min" = "5 Min."; +"Burrow runs `mo status --json` at this cadence. 60 s is plenty for charts; tighter intervals give finer detail at the cost of more subprocess churn." = "Burrow führt `mo status --json` in diesem Takt aus. Für die Diagramme reichen 60 s völlig; kürzere Intervalle liefern mehr Details, starten aber häufiger Unterprozesse."; +"MCP query server" = "MCP-Abfrageserver"; +"Enable MCP query server" = "MCP-Abfrageserver aktivieren"; +"Endpoint" = "Endpunkt"; +"Toggle + port changes take effect after a relaunch. Exposes /health, /info, /snapshot, /metrics over localhost, plus the `Burrow --mcp` stdio server for Claude Code." = "Der Schalter und Portänderungen greifen nach einem Neustart. Stellt /health, /info, /snapshot und /metrics über localhost bereit, dazu den stdio-Server `Burrow --mcp` für Claude Code."; +"%ds ago · pruned %d rows" = "vor %1$d s · %2$d Zeilen entfernt"; +"not yet run" = "noch nicht ausgeführt"; + +/* History */ +"CPU usage" = "CPU-Auslastung"; +"usage" = "Auslastung"; +"CPU load" = "CPU-Last"; +"1m avg" = "1-Min.-Mittel"; +"load1" = "load1"; +"% used" = "% belegt"; +"used" = "belegt"; +"Disk I/O" = "Festplatten-I/O"; +"MB/s" = "MB/s"; +"read" = "lesen"; +"write" = "schreiben"; +"rx" = "rx"; +"tx" = "tx"; +"Thermal" = "Temperatur"; +"cpu" = "CPU"; +"gpu" = "GPU"; +"Health score" = "Zustandswert"; +"0–100" = "0–100"; +"No samples in this window" = "Keine Messungen in diesem Zeitraum"; +"peak across window" = "Spitze im Zeitraum"; +"No processes recorded" = "Keine Prozesse aufgezeichnet"; +"%d samples" = "%d Messungen"; +"· latest %ds ago" = "· letzte vor %d s"; + +/* Menus and alerts */ +"About Burrow" = "Über Burrow"; +"Settings…" = "Einstellungen …"; +"Hide Burrow" = "Burrow ausblenden"; +"Quit Burrow" = "Burrow beenden"; +"Edit" = "Bearbeiten"; +"Undo" = "Widerrufen"; +"Redo" = "Wiederholen"; +"Cut" = "Ausschneiden"; +"Copy" = "Kopieren"; +"Paste" = "Einsetzen"; +"Select All" = "Alles auswählen"; +"Window" = "Fenster"; +"Minimize" = "Im Dock ablegen"; +"Close" = "Schließen"; +"Mole CLI not found" = "Mole CLI nicht gefunden"; + +/* Home (Overview / History / Activity / Report) + Explain */ +"Overview" = "Übersicht"; +"Report" = "Bericht"; +"Doctor" = "Diagnose"; +"Diagnostics" = "Diagnosedaten"; +"Dev hygiene" = "Entwickler-Hygiene"; +"No developer caches found." = "Keine Entwickler-Caches gefunden."; +"Clear" = "Leeren"; +"Move this cache to the Trash?" = "Diesen Cache in den Papierkorb legen?"; +"ports" = "Ports"; +"Ports" = "Ports"; +"Listening ports" = "Offene Ports"; +"See who's listening." = "Sieh nach, wer lauscht."; +"Quit this process?" = "Diesen Prozess beenden?"; +"tuneup" = "Feinschliff"; +"Tune-Up" = "Feinschliff"; +"One pass, a tidier den." = "Ein Durchgang, ein aufgeräumter Bau."; +"Safe to run" = "Sicher auszuführen"; +"Needs review" = "Muss geprüft werden"; +"Run safe set" = "Sichere Aktionen ausführen"; +"Clear %@ cache" = "Cache von %@ leeren"; +"Review startup item: %@" = "Anmeldeobjekt prüfen: %@"; +"Nothing to tune up — you're clean." = "Nichts zu tun — alles ist sauber."; +"restore" = "Wiederherstellen"; +"Restore" = "Wiederherstellen"; +"Put back what the last clean moved." = "Zurücklegen, was die letzte Bereinigung verschoben hat."; +"Restore last cleanup" = "Letzte Bereinigung zurücknehmen"; +"Only Trash-based removals can be restored — cache deletions are permanent." = "Zurückgelegt werden kann nur, was in den Papierkorb ging — gelöschte Caches sind endgültig weg."; +"No restorable items found." = "Keine wiederherstellbaren Objekte gefunden."; +"Top processes in selection" = "Top-Prozesse in der Auswahl"; +"No process samples in that window." = "Keine Prozessmessungen in diesem Zeitraum."; +"Full in ~%@" = "Voll in ca. %@"; +"%d days" = "%d Tage"; +"%d weeks" = "%d Wochen"; +"%d months" = "%d Monate"; +"Uncommitted or unpushed git changes in this repo" = "Nicht committete oder nicht gepushte Git-Änderungen in diesem Repository"; +"A new startup item appeared" = "Ein neues Anmeldeobjekt ist aufgetaucht"; +"“%@” now launches automatically. If you didn't add it, review it." = "„%@“ startet jetzt automatisch. Wenn du das nicht eingerichtet hast, sieh es dir an."; +"CPU usage is high" = "Die CPU-Auslastung ist hoch"; +"CPU has been pegged at %.0f%%." = "Die CPU hängt bei %.0f%% fest."; +"Memory pressure is high" = "Der Speicherdruck ist hoch"; +"Memory is at %.0f%%." = "Der Speicher liegt bei %.0f%%."; +"Explain" = "Erklären"; + +/* Language switch */ +"Language" = "Sprache"; +"App language" = "App-Sprache"; +"System" = "System"; +"Relaunch to change language?" = "Für den Sprachwechsel neu starten?"; +"Burrow needs to relaunch to apply the new language." = "Burrow muss neu gestartet werden, um die neue Sprache zu übernehmen."; +"Relaunch Now" = "Jetzt neu starten"; +"Later" = "Später"; +"A language change takes effect after a relaunch." = "Ein Sprachwechsel wird nach einem Neustart wirksam."; + +/* Analyze — move to Trash */ +"Move “%@” to Trash?" = "„%@“ in den Papierkorb legen?"; +"This moves %@ (%@) to the Trash, where you can restore it." = "Damit wandert %@ (%@) in den Papierkorb und lässt sich von dort zurückholen."; +"this folder" = "dieser Ordner"; +"this file" = "diese Datei"; +"Couldn't move to Trash" = "Konnte nicht in den Papierkorb gelegt werden"; + +/* Settings sections */ +"Engine" = "Engine"; +"Menu bar" = "Menüleiste"; +"Show menu bar icon" = "Symbol in der Menüleiste anzeigen"; + +/* Tools — purge / installer labels + taglines */ +"purge" = "Tiefenreinigung"; +"installer" = "Installationsdateien"; +"Purge" = "Tiefenreinigung"; +"Installers" = "Installationsdateien"; +"Clear the diggings dev work leaves behind." = "Räum den Aushub weg, den die Entwicklungsarbeit hinterlässt."; +"Sweep out the crates you unpacked." = "Kehr die Kisten hinaus, die du ausgepackt hast."; + +/* Common actions / labels */ +"Scan" = "Scannen"; +"Rescan" = "Erneut scannen"; +"Back" = "Zurück"; +"Stop" = "Stoppen"; +"Stopped." = "Gestoppt."; +"Go up" = "Nach oben"; +"Fans" = "Lüfter"; +"Bluetooth" = "Bluetooth"; +"GPU usage" = "GPU-Auslastung"; +"RAM" = "RAM"; +"Version" = "Version"; +"incomplete" = "unvollständig"; +"Reading your Mac…" = "Dein Mac wird gelesen …"; + +/* Activity (cleanup history) */ +"Recent Mole cleanup sessions" = "Letzte Mole-Bereinigungen"; +"No cleanup history yet" = "Noch kein Bereinigungsverlauf"; +"Run a Clean or Optimize and it'll show up here." = "Führe eine Bereinigung oder Optimierung aus, dann erscheint sie hier."; + +/* Settings — AI / MCP / server */ +"Burrow engine missing" = "Burrow-Engine fehlt"; +"Touch ID for sudo" = "Touch ID für sudo"; +"Explain (AI) — experimental" = "Erklären (KI) — experimentell"; +"Ask your AI about your Mac (MCP)" = "Frag deine KI nach deinem Mac (MCP)"; +"Local HTTP query server" = "Lokaler HTTP-Abfrageserver"; +"Enable the Explain lens" = "Die Erklären-Funktion aktivieren"; +"Enable HTTP query server" = "HTTP-Abfrageserver aktivieren"; +"Let agents run cleanups for real" = "Agenten echte Bereinigungen erlauben"; +"Backend" = "Backend"; +"Base URL" = "Basis-URL"; +"Model" = "Modell"; +"API key (optional)" = "API-Schlüssel (optional)"; +"Ollama model" = "Ollama-Modell"; +"Local · Ollama" = "Lokal · Ollama"; +"LM Studio / API" = "LM Studio / API"; +"Read tools" = "Lesewerkzeuge"; +"Cleanup tools" = "Bereinigungswerkzeuge"; +"Try asking" = "Frag zum Beispiel"; +"Copy prompt" = "Prompt kopieren"; +"Preview what a cleanup would free, then clean it up." = "Zeig mir, was eine Bereinigung freigeben würde, und räum dann auf."; +"Uninstall Slack and remove its leftovers." = "Deinstalliere Slack und entferne seine Reste."; +"What's my Mac's CPU and memory usage right now?" = "Wie hoch sind CPU- und Speicherauslastung meines Macs gerade?"; +"What's taking up space in my home folder?" = "Was belegt Platz in meinem Benutzerordner?"; +"AI read of one snapshot — it can be wrong, and never acts on its own." = "Eine KI-Lesung einer einzelnen Momentaufnahme — sie kann falsch liegen und handelt nie von sich aus."; +"Adds an “Explain” button to Status that reads your latest snapshot and explains it in plain English, optionally suggesting Clean/Purge/Installers." = "Fügt dem Status eine Taste „Erklären“ hinzu: Sie liest die letzte Momentaufnahme, erklärt sie in klaren Worten und schlägt bei Bedarf Bereinigen, Tiefenreinigung oder Installationsdateien vor."; +"Burrow exposes your Mac's recorded history to coding agents — Claude Code, Cursor, Codex, Cline — over MCP. Add the config below, then ask in plain language. The server starts on demand over stdio; there's no port and no always-on listener." = "Burrow stellt den aufgezeichneten Verlauf deines Macs über MCP für Coding-Agenten bereit — Claude Code, Cursor, Codex, Cline. Trag die Konfiguration unten ein und frag dann in normaler Sprache. Der Server startet bei Bedarf über stdio; es gibt weder einen Port noch einen dauerhaft laufenden Dienst."; +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` / `uninstall` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Standardmäßig AUS. Agenten dürfen jederzeit Messwerte lesen und Testläufe als Vorschau ausführen. Ist dies aktiviert, kann ein Agent ein echtes `mo clean` / `optimize` / `uninstall` ausführen — aber NUR, wenn er zusätzlich ein ausdrückliches Bestätigungs-Flag mitgibt. So ist eine Löschung nie nur einen dahingesagten Satz entfernt. Schalte es aus, und Agenten dürfen wieder nur lesen. Die Daten bleiben auf diesem Mac."; +"Runs against a local Ollama model — nothing leaves this Mac. Start it with `ollama run `." = "Läuft gegen ein lokales Ollama-Modell — nichts verlässt diesen Mac. Starte es mit `ollama run `."; +"Any OpenAI-compatible server. For LM Studio: load a model, open Developer ▸ Start Server, and leave the key blank — the default URL is already LM Studio's. A hosted endpoint (e.g. OpenAI) needs a key and sends the metrics summary off-device (never file contents)." = "Jeder OpenAI-kompatible Server. Für LM Studio: Modell laden, Developer ▸ Start Server öffnen und den Schlüssel leer lassen — die Standard-URL ist bereits die von LM Studio. Ein gehosteter Endpunkt (z. B. OpenAI) braucht einen Schlüssel und sendet die Zusammenfassung der Messwerte nach außen (nie Dateiinhalte)."; +"Sparkle checks Burrow's signed update feed after startup settles and about once a day. It asks before downloading or installing anything." = "Sparkle prüft Burrows signierten Update-Feed, sobald der Start abgeschlossen ist, und danach etwa einmal täglich. Vor jedem Download und jeder Installation wird gefragt."; +"Check for updates automatically" = "Automatisch nach Updates suchen"; +"Check for Updates" = "Nach Updates suchen"; +"About Burrow" = "Über Burrow"; +"Update didn't complete" = "Update wurde nicht abgeschlossen"; +"Update external engine" = "Externe Engine aktualisieren"; +"This source build is using an engine outside Burrow.app, so its own updater remains available." = "Dieser Build aus dem Quelltext nutzt eine Engine außerhalb von Burrow.app, deshalb bleibt deren eigener Updater verfügbar."; +"Included with Burrow. Engine updates arrive through signed Burrow releases so the app's Developer ID seal stays valid." = "In Burrow enthalten. Engine-Updates kommen über signierte Burrow-Releases, damit die Developer-ID-Signatur der App gültig bleibt."; +"The bundled engine is missing. Reinstall Burrow to restore the signed app bundle." = "Die mitgelieferte Engine fehlt. Installiere Burrow neu, um das signierte App-Bundle wiederherzustellen."; +"External engine is up to date" = "Die externe Engine ist aktuell"; +"Now on %@." = "Jetzt auf %@."; +"The external engine updater exited non-zero. Try running `mo update` in a terminal." = "Der Updater der externen Engine endete mit einem Fehler. Versuch `mo update` im Terminal."; +"Disk analysis needs Mole %@ or newer (you have %@). %@" = "Die Festplattenanalyse braucht Mole %@ oder neuer (du hast %@). %@"; +"Update Burrow to get the current bundled engine." = "Aktualisiere Burrow, um die aktuelle mitgelieferte Engine zu erhalten."; +"Use Settings › Engine › Update external engine, then try again." = "Nutze Einstellungen › Engine › Externe Engine aktualisieren und versuch es dann erneut."; +"Reinstall Burrow to restore the bundled engine." = "Installiere Burrow neu, um die mitgelieferte Engine wiederherzustellen."; +"Lets `sudo` and admin prompts accept your fingerprint instead of a password, where macOS supports it. Configured via `mo touchid`; turning it on or off needs your password once." = "Lässt `sudo` und Administratorabfragen deinen Fingerabdruck statt eines Passworts annehmen, sofern macOS das unterstützt. Wird über `mo touchid` eingerichtet; das Ein- oder Ausschalten braucht einmal dein Passwort."; +"Authentication" = "Authentifizierung"; +"Bearer token required" = "Bearer-Token erforderlich"; +"Optional REST surface for dashboards or curl: /health, /info, /snapshot, /metrics over localhost. Every request needs the per-install token; retrieve it locally with `defaults read dev.caezium.Burrow query_auth_token`. Separate from the MCP stdio server above; toggle + port changes take effect after a relaunch." = "Optionale REST-Schnittstelle für Dashboards oder curl: /health, /info, /snapshot und /metrics über localhost. Jede Anfrage braucht das Token dieser Installation; hol es lokal mit `defaults read dev.caezium.Burrow query_auth_token`. Unabhängig vom MCP-stdio-Server oben; der Schalter und Portänderungen greifen nach einem Neustart."; +"Applies immediately. When off, Burrow shows a Dock icon instead so it stays reachable — a Dock click reopens the window." = "Gilt sofort. Ist die Option aus, zeigt Burrow stattdessen ein Dock-Symbol und bleibt so erreichbar — ein Klick im Dock öffnet das Fenster wieder."; + +/* Onboarding / Full Disk Access */ +"Official builds include the engine inside the signed app. Reinstall Burrow to restore it; source builds can also provide an external `mo` on PATH." = "Offizielle Builds enthalten die Engine in der signierten App. Installiere Burrow neu, um sie wiederherzustellen; bei Builds aus dem Quelltext kann auch ein externes `mo` im PATH liegen."; +"REINSTALL SIGNED APP" = "SIGNIERTE APP NEU INSTALLIEREN"; +"View the bundled engine source →" = "Quelltext der mitgelieferten Engine ansehen →"; +"The engine is still missing. Finish reinstalling Burrow, then recheck or relaunch the app." = "Die Engine fehlt weiterhin. Schließ die Neuinstallation von Burrow ab und prüf dann erneut oder starte die App neu."; +"Grant Full Disk Access to scan" = "Für den Scan vollständigen Festplattenzugriff erteilen"; +"Skip the macOS permission prompts" = "Die Berechtigungsdialoge von macOS überspringen"; +"Open Full Disk Access settings" = "Einstellungen für vollständigen Festplattenzugriff öffnen"; +"Don't ask again" = "Nicht mehr fragen"; +"Scan anyway" = "Trotzdem scannen"; +"Scanning system & app caches makes macOS ask once per protected folder. Grant Burrow Full Disk Access to scan smoothly — it only reads sizes through Mole and never opens that data itself." = "Beim Scannen von System- und App-Caches fragt macOS einmal pro geschütztem Ordner nach. Gib Burrow vollständigen Festplattenzugriff, damit der Scan durchläuft — Burrow liest über Mole nur Größen und öffnet diese Daten selbst nie."; +"Still blocked? macOS only applies Full Disk Access the next time Burrow launches. Quit and reopen, then scan." = "Geht es immer noch nicht? macOS übernimmt den vollständigen Festplattenzugriff erst beim nächsten Start von Burrow. Beenden, neu öffnen, dann scannen."; +"Quit" = "Beenden"; + +/* ===== Anonymous usage (telemetry) — Settings section + first-launch consent ===== */ +"Anonymous usage" = "Anonyme Nutzungsdaten"; +"Share anonymous usage & crash reports" = "Anonyme Nutzungs- und Absturzberichte senden"; +"Share anonymous usage & diagnostics" = "Anonyme Nutzungs- und Diagnosedaten senden"; +"Sends anonymous product analytics (PostHog) and crash reports (Sentry): a random install id (not tied to you or your hardware), the app + macOS version, CPU type, and which features you use — with sizes and counts bucketed. Never file names, contents, paths, or your metrics. It helps gauge retention and catch crashes. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Sendet anonyme Produktanalysen (PostHog) und Absturzberichte (Sentry): eine zufällige Installations-ID (nicht mit dir oder deiner Hardware verknüpft), die App- und macOS-Version, den CPU-Typ und welche Funktionen du nutzt — Größen und Anzahlen in groben Stufen. Niemals Dateinamen, Inhalte, Pfade oder deine Messwerte. Das hilft, die Nutzung einzuschätzen und Abstürze zu finden. Standardmäßig an; schaltest du es aus, hört beides auf. Vollständige Liste in TELEMETRY.md."; +"Sends anonymous product analytics (PostHog) plus crash, hang, startup, update, and sampled performance diagnostics (Sentry): random install IDs, app and exact macOS build, CPU type, screens and features used, and fixed-name diagnostic milestones. Never screenshots, screen recordings, your file names, contents, user paths, URLs, or metrics. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Sendet anonyme Produktanalysen (PostHog) sowie Diagnosedaten zu Abstürzen, Hängern, Start, Updates und stichprobenartig zur Leistung (Sentry): zufällige Installations-IDs, App und exakter macOS-Build, CPU-Typ, aufgerufene Bereiche und genutzte Funktionen sowie Diagnose-Meilensteine mit festen Namen. Niemals Bildschirmfotos, Bildschirmaufnahmen, deine Dateinamen, Inhalte, Benutzerpfade, URLs oder Messwerte. Standardmäßig an; schaltest du es aus, hört beides auf. Vollständige Liste in TELEMETRY.md."; +"Burrow started in compatibility mode" = "Burrow wurde im Kompatibilitätsmodus gestartet"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item is disabled on this build, and Burrow will stay available in the Dock. Updating macOS will automatically retry the normal menu bar mode." = "Burrow hat erkannt, dass das Anlegen seines Menüleistensymbols diesen macOS-Build einfrieren könnte. Auf diesem Build ist das Symbol deaktiviert, und Burrow bleibt über das Dock erreichbar. Nach einem macOS-Update wird der normale Menüleistenmodus automatisch erneut versucht."; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item and automatic update checks are paused on this build, and Burrow will stay available in the Dock. Manual update checks remain available. Updating macOS will automatically retry the normal mode." = "Burrow hat erkannt, dass das Anlegen seines Menüleistensymbols diesen macOS-Build einfrieren könnte. Auf diesem Build sind das Symbol und die automatische Update-Suche pausiert, und Burrow bleibt über das Dock erreichbar. Manuell kannst du weiterhin nach Updates suchen. Nach einem macOS-Update wird der normale Modus automatisch erneut versucht."; +"Burrow paused automatic update checks" = "Burrow hat die automatische Update-Suche pausiert"; +"Burrow detected that its automatic updater did not reach a stable state on the previous launch. Automatic checks are paused for this app and macOS build so the same startup problem cannot repeat. You can still check manually; updating Burrow or macOS will retry automatic checks." = "Burrow hat erkannt, dass sein automatischer Updater beim letzten Start keinen stabilen Zustand erreicht hat. Für diese App und diesen macOS-Build ist die automatische Suche pausiert, damit sich dasselbe Startproblem nicht wiederholt. Manuell kannst du weiterhin suchen; ein Update von Burrow oder macOS versucht die automatische Suche erneut."; +"Menu bar item paused on this macOS build" = "Menüleistensymbol auf diesem macOS-Build pausiert"; +"Creating it could freeze system input on this build, so Burrow runs from the Dock instead. It returns automatically once you update macOS." = "Das Anlegen könnte auf diesem Build die Eingabe im System einfrieren, deshalb läuft Burrow stattdessen über das Dock. Nach einem macOS-Update kommt es automatisch zurück."; +"Paused on this macOS build. The setting is kept and applies again as soon as Burrow can create the menu bar item safely." = "Auf diesem macOS-Build pausiert. Die Einstellung bleibt erhalten und greift wieder, sobald Burrow das Menüleistensymbol gefahrlos anlegen kann."; +"Copy Diagnostics" = "Diagnosedaten kopieren"; +"Share anonymous usage & crash reports?" = "Anonyme Nutzungs- und Absturzberichte senden?"; +"Helps prioritize fixes: app/OS version, coarse bucketed feature counts, and crash traces. Never files, paths, file contents, or your metrics — the exact list is in TELEMETRY.md. You can change this anytime in Settings → Anonymous usage." = "Hilft dabei, Fehlerbehebungen zu priorisieren: App- und Systemversion, grob gestufte Zählwerte zur Funktionsnutzung sowie Absturzprotokolle. Niemals Dateien, Pfade, Dateiinhalte oder deine Messwerte — die genaue Liste steht in TELEMETRY.md. Du kannst das jederzeit unter Einstellungen → Anonyme Nutzungsdaten ändern."; +"Share" = "Senden"; +"Don't Share" = "Nicht senden"; + +/* ===== Agent (MCP) gates ===== */ +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Standardmäßig AUS. Agenten dürfen jederzeit Messwerte lesen und Testläufe als Vorschau ausführen. Ist dies aktiviert, kann ein Agent ein echtes `mo clean` / `optimize` ausführen — aber NUR, wenn er zusätzlich ein ausdrückliches Bestätigungs-Flag mitgibt. So ist eine Löschung nie nur einen dahingesagten Satz entfernt. Schalte es aus, und Agenten dürfen wieder nur lesen. Die Daten bleiben auf diesem Mac."; +"Also allow uninstalls & permanent deletes" = "Auch Deinstallationen und endgültiges Löschen erlauben"; +"A second key for what the Trash can't undo: real `mo uninstall`, and `permanent:true` deletes. Needs the cleanup switch above too; an uninstall also aborts unless mo matches exactly the requested apps." = "Ein zweiter Schlüssel für alles, was der Papierkorb nicht rückgängig machen kann: echtes `mo uninstall` und Löschungen mit `permanent:true`. Braucht zusätzlich den Bereinigungsschalter oben; eine Deinstallation bricht außerdem ab, wenn mo nicht exakt die angeforderten Apps trifft."; + +/* ===== Uninstall pre-flight verification ===== */ +"Uninstall aborted" = "Deinstallation abgebrochen"; +"%1$@ would also remove: %2$@" = "%1$@ würde außerdem entfernen: %2$@"; +"%1$@ did not match: %2$@" = "%1$@ passte nicht auf: %2$@"; +"The engine" = "Die Engine"; +"mo" = "mo"; +"The dry run's output wasn't in a format Burrow can confirm a matched set from, so nothing was removed." = "Die Ausgabe des Testlaufs hatte kein Format, aus dem Burrow die getroffene Auswahl bestätigen kann — es wurde nichts entfernt."; +"The engine refused the dry run, so nothing was removed: %@" = "Die Engine hat den Testlauf abgelehnt, deshalb wurde nichts entfernt: %@"; +"The engine matched no installed app for: %@" = "Die Engine fand keine installierte App für: %@"; +"“%1$@” resolves to %2$d applications (%3$@), so the engine refuses to act on it. Remove them one at a time." = "„%1$@“ trifft auf %2$d Programme zu (%3$@), deshalb verweigert die Engine die Ausführung. Entferne sie einzeln."; +"The engine resolved %1$d applications for %2$d selected, so the sets don't line up." = "Die Engine hat %1$d Programme für %2$d ausgewählte ermittelt — die Mengen passen nicht zusammen."; +"The engine won't remove %1$@: %2$@" = "Die Engine entfernt %1$@ nicht: %2$@"; +"Needs an administrator: %@. Burrow doesn't elevate this run, so it may fail on the app itself." = "Erfordert Administratorrechte: %@. Burrow hebt die Rechte für diesen Lauf nicht an, deshalb kann die App selbst nicht entfernt werden."; +"one of these apps" = "eine dieser Apps"; +"Homebrew removes %1$@: `%2$@`. `--zap` also deletes configuration and data the cask declares, which the preview can't list." = "Homebrew entfernt %1$@: `%2$@`. `--zap` löscht außerdem Konfiguration und Daten, die das Cask angibt und die die Vorschau nicht auflisten kann."; +"aborted — nothing removed" = "abgebrochen — nichts entfernt"; +"The engine reported: %@" = "Die Engine meldete: %@"; +"uninstall failed" = "Deinstallation fehlgeschlagen"; +"Uninstall failed" = "Deinstallation fehlgeschlagen"; +"The engine reported a failure with no error output. Nothing was removed." = "Die Engine meldete einen Fehler ohne Fehlerausgabe. Es wurde nichts entfernt."; +"OK" = "OK"; + +/* ===== Uninstall outcomes (per app: removed / partial / refused) ===== */ +"Uninstall didn't finish" = "Deinstallation nicht abgeschlossen"; +"Uninstall finished partly" = "Deinstallation teilweise abgeschlossen"; +"Uninstall finished" = "Deinstallation abgeschlossen"; +"%@ — the engine refused to remove the application." = "%@ — die Engine hat das Entfernen des Programms verweigert."; +"%@ — the application could not be removed." = "%@ — das Programm konnte nicht entfernt werden."; +"%@ — the application was removed, but some of its support files were not." = "%@ — das Programm wurde entfernt, einige zugehörige Dateien jedoch nicht."; +"%@ — the removal finished partly." = "%@ — das Entfernen wurde nur teilweise abgeschlossen."; +"Its support files were left alone, so the app is still installed rather than half-removed." = "Die zugehörigen Dateien blieben unangetastet, damit die App vollständig installiert bleibt statt halb entfernt."; +"Next: %@" = "Als Nächstes: %@"; + +/* ===== i18n backfill (2026-06): legacy hardcoded strings ===== */ +/* Installer/purge chooser — clean (non-plural) labels */ +"done" = "fertig"; +"failed" = "fehlgeschlagen"; +"select none" = "nichts auswählen"; +"select all" = "alles auswählen"; +"Remove" = "Entfernen"; +"Remove (%lld)" = "Entfernen (%lld)"; +"Show all %lld" = "Alle %lld anzeigen"; +"Showing the %lld biggest of %lld." = "Es werden die %1$lld größten von %2$lld angezeigt."; +"Loading all %lld… (%lld so far)" = "Alle %lld werden geladen … (bisher %lld)"; +/* Elevated-run cancellation (OperationFlow) */ +"authorization cancelled" = "Autorisierung abgebrochen"; +/* Touch ID for sudo (Settings) */ +"Couldn't update Touch ID for sudo" = "Touch ID für sudo konnte nicht geändert werden"; +"`mo touchid %@` didn't complete (the password prompt may have been cancelled). You can also run it in a terminal." = "`mo touchid %@` wurde nicht abgeschlossen (möglicherweise wurde die Passwortabfrage abgebrochen). Du kannst es auch im Terminal ausführen."; +/* AI "Explain" lens errors (AIConfig) */ +"No Ollama model is set — pick one in Settings." = "Es ist kein Ollama-Modell festgelegt — wähl eines in den Einstellungen."; +"No model name is set for the OpenAI-compatible API — set one in Settings." = "Für die OpenAI-kompatible API ist kein Modellname festgelegt — trag einen in den Einstellungen ein."; +"The API base URL isn't a valid http(s) URL — check it in Settings." = "Die Basis-URL der API ist keine gültige http(s)-URL — prüf sie in den Einstellungen."; + +/* i18n backfill (cont.) — running count + AI settings field labels */ +"%lld running" = "%lld laufen"; +"blank for LM Studio" = "für LM Studio leer lassen"; + +/* ============================================================ + 2026-06 UI/UX redesign (plans/ui-ux-review-2026-06-10.md) + Onboarding · access banner · Clean review · result hero · + task ticker · Software (uninstall/updates/startup) · Settings + tabs · menu-bar tools · Status/popover · Analyze progress + ============================================================ */ + +/* Onboarding */ +"Step %d of %d" = "Schritt %1$d von %2$d"; +"Grant access to get started." = "Erteile Zugriff, um loszulegen."; +"Optional — the safe scan works without it." = "Optional — der sichere Scan funktioniert auch ohne."; +"Full Disk Access" = "Vollständiger Festplattenzugriff"; +"Unlocks the caches and leftovers Burrow needs to reach." = "Gibt die Caches und Reste frei, an die Burrow herankommen muss."; +"Granted in Settings but still gray? macOS applies it at the next launch." = "In den Einstellungen erteilt, aber immer noch grau? macOS übernimmt es beim nächsten Start."; +"Relaunch to apply" = "Zum Übernehmen neu starten"; +"Continue" = "Fortfahren"; +"Burrow is free." = "Burrow ist kostenlos."; +"Open source, local-first. No license, no trial, no upsell." = "Open Source, lokal zuerst. Keine Lizenz, keine Testphase, keine Zusatzverkäufe."; +"forever" = "für immer"; +"Every tool unlocked — Clean, Purge, Installers, Software, Optimize, Analyze" = "Alle Werkzeuge frei — Bereinigen, Tiefenreinigung, Installationsdateien, Software, Optimieren, Analysieren"; +"Watches your Mac over weeks, not seconds — 30–90 day history" = "Beobachtet deinen Mac über Wochen statt Sekunden — 30 bis 90 Tage Verlauf"; +"Agent-ready — MCP tools for Claude, Cursor, Codex (off until you opt in)" = "Bereit für Agenten — MCP-Werkzeuge für Claude, Cursor, Codex (aus, bis du zustimmst)"; +"Open source — read every line" = "Open Source — lies jede Zeile nach"; +"Open the Burrow repository on GitHub" = "Das Burrow-Repository auf GitHub öffnen"; +"Start using Burrow" = "Burrow benutzen"; +"Open Settings" = "Einstellungen öffnen"; +"Check" = "Prüfen"; +"Granted" = "Erteilt"; +"Not granted" = "Nicht erteilt"; + +/* Access banner */ +"Full Disk Access is off" = "Vollständiger Festplattenzugriff ist aus"; +"Without it, Burrow can't reach most system caches." = "Ohne ihn kommt Burrow an die meisten System-Caches nicht heran."; +"Use Touch ID for admin operations" = "Touch ID für Administratoraufgaben verwenden"; +"Install the signed helper and scan, clean, and optimize authenticate with a fingerprint instead of a password." = "Installiere den signierten Helfer, dann bestätigen Scannen, Bereinigen und Optimieren per Fingerabdruck statt per Passwort."; +"Set up" = "Einrichten"; +"Dismiss" = "Schließen"; + +/* Clean — result hero & run */ +"Scan your Mac" = "Deinen Mac scannen"; +"%@ found" = "%@ gefunden"; +"Scanning, %@ found so far" = "Wird gescannt, bisher %@ gefunden"; +"Stopped before the end — results are partial." = "Vorzeitig gestoppt — die Ergebnisse sind unvollständig."; +"Review results" = "Ergebnisse prüfen"; +"Limited scan active · App Support and container caches are skipped" = "Eingeschränkter Scan aktiv · App-Support- und Container-Caches werden übersprungen"; +"Limited scan active. App Support and container caches are skipped. Open for options." = "Eingeschränkter Scan aktiv. App-Support- und Container-Caches werden übersprungen. Öffnen für Optionen."; +"Why limited?" = "Warum eingeschränkt?"; +"Without Full Disk Access, macOS hides most app and container caches from Burrow. Grant it once for full scans — or rerun this scan with administrator rights (one password)." = "Ohne vollständigen Festplattenzugriff verbirgt macOS die meisten App- und Container-Caches vor Burrow. Erteile ihn einmal für vollständige Scans — oder wiederhol diesen Scan mit Administratorrechten (ein Passwort)."; +"Scan with admin" = "Mit Administratorrechten scannen"; +"This preview is stale" = "Diese Vorschau ist veraltet"; +"The scan is more than a few minutes old — caches that appeared since wouldn't have been reviewed. Rescan to get current numbers, then clean." = "Der Scan ist mehr als ein paar Minuten alt — seitdem entstandene Caches wurden nicht geprüft. Scanne erneut für aktuelle Zahlen und bereinige dann."; +"Couldn't protect deselected items" = "Abgewählte Objekte konnten nicht geschützt werden"; +"Writing the whitelist failed (%@), so the engine would clean everything it found. Nothing was cleaned." = "Das Schreiben der Whitelist ist fehlgeschlagen (%@), deshalb würde die Engine alles Gefundene bereinigen. Es wurde nichts bereinigt."; +"Move %d items (%@) to the Trash?" = "%1$d Objekte (%2$@) in den Papierkorb legen?"; +"They stay recoverable until you empty the Trash. Space frees when it empties; this run won't appear in `mo history`." = "Sie bleiben wiederherstellbar, bis du den Papierkorb leerst. Der Platz wird erst beim Leeren frei, und dieser Lauf erscheint nicht in `mo history`."; +"Moving caches to Trash" = "Caches werden in den Papierkorb gelegt"; +"%d moved · %d failed" = "%1$d verschoben · %2$d fehlgeschlagen"; +"Moved %d items (%@) to the Trash." = "%1$d Objekte (%2$@) in den Papierkorb gelegt."; +"Moved %d items; %d were locked or already gone." = "%1$d Objekte verschoben; %2$d waren gesperrt oder schon weg."; +"Moved to Trash" = "In den Papierkorb gelegt"; +"Freed %@" = "%@ freigegeben"; +"Cleaned %@" = "%@ bereinigt"; +"%@ free now" = "%@ jetzt frei"; +"%@ items" = "%@ Objekte"; +"Done" = "Fertig"; + +/* Clean — review screen */ +"Ready to clean" = "Bereit zum Bereinigen"; +"Close %@ to clean another %@ · %d items" = "Schließ %1$@, um weitere %2$@ zu bereinigen · %3$d Objekte"; +"Everything below came from the scan — untick anything you'd rather keep." = "Alles hier unten stammt aus dem Scan — hak ab, was du lieber behalten möchtest."; +"Back to results" = "Zurück zu den Ergebnissen"; +"Select all" = "Alle auswählen"; +"Deselect all" = "Auswahl aufheben"; +"%@, %d of %d selected, %@ of %@" = "%1$@, %2$d von %3$d ausgewählt, %4$@ von %5$@"; +"Toggle category" = "Kategorie umschalten"; +"%d items" = "%d Objekte"; +"Safe" = "Sicher"; +"App open" = "App geöffnet"; +"System busy" = "System beschäftigt"; +"The scan already excluded unsafe paths — everything here is removable cache data." = "Der Scan hat unsichere Pfade bereits ausgeschlossen — alles hier sind entfernbare Cache-Daten."; +"This app is running; its cache is locked. Quit the app and rescan to clean it." = "Diese App läuft, ihr Cache ist gesperrt. Beende die App und scanne erneut, um ihn zu bereinigen."; +"A system service is using this path right now." = "Ein Systemdienst benutzt diesen Pfad gerade."; +"Always skip this" = "Immer überspringen"; +"Permanently clean · %@" = "Endgültig bereinigen · %@"; +"Move to Trash · %@" = "In den Papierkorb · %@"; +"selected" = "ausgewählt"; +"not selected" = "nicht ausgewählt"; +"User essentials" = "Nutzerdaten"; +"App caches" = "App-Caches"; +"Browsers" = "Browser"; +"Cloud & Office" = "Cloud und Office"; +"Developer tools" = "Entwicklerwerkzeuge"; +"AI Tools" = "KI-Werkzeuge"; +"Communication" = "Kommunikation"; +"Applications" = "Programme"; +"Virtualization" = "Virtualisierung"; +"Application Support" = "Application Support"; +"App leftovers" = "App-Reste"; +"System-managed caches and logs. Regenerated as macOS needs them." = "Vom System verwaltete Caches und Protokolle. macOS legt sie bei Bedarf neu an."; +"App temporary files. Regenerated next launch." = "Temporäre App-Dateien. Werden beim nächsten Start neu angelegt."; +"Page caches — sites load a touch slower on first visit." = "Seiten-Caches — Websites laden beim ersten Besuch etwas langsamer."; +"Build and package caches. First build will be slower." = "Build- und Paket-Caches. Der erste Build dauert länger."; +"Model and tool caches. Re-downloaded on next use." = "Modell- und Werkzeug-Caches. Werden bei der nächsten Nutzung neu geladen."; +"Message media caches. Re-fetched when you scroll back." = "Medien-Caches aus Nachrichten. Werden beim Zurückscrollen neu geladen."; +"VM and container caches. Images re-pull on next run." = "VM- und Container-Caches. Images werden beim nächsten Lauf neu geholt."; +"Sync caches. Files re-sync from the cloud." = "Sync-Caches. Dateien werden erneut aus der Cloud synchronisiert."; +"Files from apps that are no longer installed." = "Dateien von Apps, die nicht mehr installiert sind."; +"Cache files. Regenerated as needed." = "Cache-Dateien. Werden bei Bedarf neu angelegt."; + +/* Optimize — live ticker */ +"Refreshing…" = "Wird aufgefrischt …"; +"Previewing…" = "Vorschau wird erstellt …"; +"Working…" = "Wird bearbeitet …"; +"Working on %@, %d tasks done" = "%1$@ wird bearbeitet, %2$d Aufgaben erledigt"; + +/* Software — uninstall review */ +"Startup" = "Autostart"; +"Last Used" = "Zuletzt benutzt"; +"Refresh" = "Aktualisieren"; +"Sort by %@" = "Nach %@ sortieren"; +"ascending" = "aufsteigend"; +"descending" = "absteigend"; +"%d files · %@" = "%1$d Dateien · %2$@"; +"Select %@" = "%@ auswählen"; +"Enumerating files…" = "Dateien werden erfasst …"; +"Auto selected" = "Automatisch ausgewählt"; +"Needs review" = "Muss geprüft werden"; +"Not selected by default. Review these before removing." = "Standardmäßig nicht ausgewählt. Prüf diese vor dem Entfernen."; +"Toggle %@ group" = "Gruppe %@ umschalten"; +"Couldn't enumerate this app's files — there's nothing to review here." = "Die Dateien dieser App konnten nicht erfasst werden — hier gibt es nichts zu prüfen."; +"Application" = "Programm"; +"App Support" = "App Support"; +"Preferences" = "Einstellungen"; +"Container" = "Container"; +"Group Container" = "Gruppencontainer"; +"Helper" = "Hilfsprogramm"; +"Login Item" = "Anmeldeobjekt"; +"Temporary Cache" = "Temporärer Cache"; +"Other" = "Sonstiges"; +"%@ · 1 app · %@" = "%1$@ · 1 App · %2$@"; +"%d apps · %@" = "%1$d Apps · %2$@"; +"Remove %d" = "%d entfernen"; +"Remove %d app?" = "%d App entfernen?"; +"Remove %d apps?" = "%d Apps entfernen?"; +"These move to the Trash — the app itself and the support files it keeps in your Library (containers, caches, preferences, saved state). You can put them back:\n\n%@" = "Das wandert in den Papierkorb — die App selbst und die zugehörigen Dateien in deiner Library (Container, Caches, Einstellungen, gesicherte Zustände). Du kannst alles zurücklegen:\n\n%@"; +"Homebrew removes these by running `brew uninstall --cask --zap`. That doesn't use the Trash, and `--zap` also deletes configuration and data the cask declares — more than the file list can show:\n\n%@" = "Das entfernt Homebrew mit `brew uninstall --cask --zap`. Dabei wird der Papierkorb nicht benutzt, und `--zap` löscht zusätzlich Konfiguration und Daten, die das Cask angibt — mehr, als die Dateiliste zeigen kann:\n\n%@"; +"If an app can't be removed, Burrow leaves its support files alone too, rather than half-removing it." = "Lässt sich eine App nicht entfernen, rührt Burrow auch ihre zugehörigen Dateien nicht an, statt sie halb zu entfernen."; +"Skipped — these have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Übersprungen — diese haben keinen Bundle-Identifier, deshalb kann Burrow der Engine nicht sagen, welche App gemeint ist:\n\n%@"; +"Nothing Burrow can remove" = "Nichts, was Burrow entfernen kann"; +"These have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Diese haben keinen Bundle-Identifier, deshalb kann Burrow der Engine nicht sagen, welche App gemeint ist:\n\n%@"; +"%d reviewed files" = "%d geprüfte Dateien"; +"Reviewed subsets are trashed by Burrow directly and appear in Burrow's Activity log, not `mo history`." = "Geprüfte Teilmengen legt Burrow selbst in den Papierkorb; sie erscheinen im Aktivitätsprotokoll von Burrow, nicht in `mo history`."; +"Removing reviewed files" = "Geprüfte Dateien werden entfernt"; + +/* Software — startup segment */ +"Launch agent" = "Launch Agent"; +"Launch daemon" = "Launch Daemon"; +"Unreadable configuration" = "Unlesbare Konfiguration"; +"Program is missing" = "Programm fehlt"; +"Bundled inside an app; review only" = "In einer App enthalten; nur zur Prüfung"; +"System-wide; review only" = "Systemweit; nur zur Prüfung"; +"Yours; remove the file to disable" = "Deins; lösch die Datei, um es zu deaktivieren"; +"Your launch agents" = "Deine Launch Agents"; +"System launch agents" = "Launch Agents des Systems"; +"System launch daemons" = "Launch Daemons des Systems"; +"Reading startup items…" = "Autostart-Objekte werden gelesen …"; +"Search items" = "Objekte durchsuchen"; +"Error" = "Fehler"; +"Review only — managed by its app or the system." = "Nur zur Prüfung — wird von der App oder vom System verwaltet."; +"Review only" = "Nur zur Prüfung"; +"All" = "Alle"; +"Launch agents" = "Launch Agents"; +"Launch daemons" = "Launch Daemons"; +"Problems" = "Probleme"; + +/* Software — updates */ +"App Store" = "App Store"; +"Sparkle" = "Sparkle"; +"Electron" = "Electron"; +"Homebrew" = "Homebrew"; +"Checking update sources…" = "Update-Quellen werden geprüft …"; +"Sources detected locally — checking versions contacts Apple and vendor servers." = "Die Quellen wurden lokal erkannt — für die Versionsprüfung werden Server von Apple und der Anbieter kontaktiert."; +"Check for updates" = "Nach Updates suchen"; +"Check again" = "Erneut prüfen"; +"Update all brews" = "Alle Homebrew-Pakete aktualisieren"; +"Updates available" = "Updates verfügbar"; +"Up to date" = "Aktuell"; +"Not checkable" = "Nicht prüfbar"; +"No App Store receipt, Sparkle feed, or known updater inside these bundles." = "In diesen Bundles gibt es weder einen App-Store-Beleg noch einen Sparkle-Feed oder einen bekannten Updater."; +"Apps with an update mechanism" = "Apps mit eigenem Update-Mechanismus"; +"active now" = "gerade aktiv"; +"opened %@" = "geöffnet %@"; +"never opened" = "nie geöffnet"; + +/* Settings — tabs & general */ +"General" = "Allgemein"; +"Maintenance" = "Wartung"; +"Menu Bar" = "Menüleiste"; +"Advanced" = "Erweitert"; +"Close settings" = "Einstellungen schließen"; +"Permissions" = "Berechtigungen"; +"On. Burrow can reach system and app caches." = "An. Burrow kommt an System- und App-Caches heran."; +"Off. Safe scan in use — most system caches stay out of reach." = "Aus. Es läuft der sichere Scan — die meisten System-Caches bleiben unerreichbar."; +"Startup & window" = "Start und Fenster"; +"Launch at Login" = "Bei der Anmeldung öffnen"; +"Starts Burrow quietly at login so sampling and the menu-bar monitor are always on." = "Startet Burrow bei der Anmeldung unauffällig, damit Messung und Menüleisten-Überwachung immer laufen."; +"Hide Dock Icon when window closes" = "Dock-Symbol ausblenden, wenn das Fenster geschlossen wird"; +"On: Burrow retreats to the menu bar when you close the window. Off: it stays in the Dock. With the menu-bar icon hidden, the Dock icon always stays — otherwise the app would be unreachable." = "An: Burrow zieht sich beim Schließen des Fensters in die Menüleiste zurück. Aus: Es bleibt im Dock. Ist das Menüleistensymbol ausgeblendet, bleibt das Dock-Symbol immer erhalten — sonst wäre die App nicht mehr erreichbar."; +"Skip Intro Screens" = "Startbildschirme überspringen"; +"Jumps past the tools' idle screens where a read-only preview can start right away (Clean starts its scan when you open the tab)." = "Überspringt die Wartebildschirme der Werkzeuge, bei denen eine reine Lese-Vorschau sofort starten kann (Bereinigen beginnt den Scan, sobald du den Tab öffnest)."; +"About" = "Über"; +"Source on GitHub" = "Quelltext auf GitHub"; + +/* Settings — maintenance */ +"Protected Items" = "Geschützte Objekte"; +"Paths and glob patterns Mole never cleans — `mo clean` and `mo optimize` skip anything matching them. “Always skip this” in the Clean review writes here too." = "Pfade und Glob-Muster, die Mole nie bereinigt — `mo clean` und `mo optimize` überspringen alles, was darauf passt. „Immer überspringen“ in der Bereinigungsprüfung schreibt ebenfalls hierher."; +"No protected items yet." = "Noch keine geschützten Objekte."; +"Add a path or glob pattern" = "Pfad oder Glob-Muster hinzufügen"; +"Add" = "Hinzufügen"; +"Remove %@ from protected items" = "%@ aus den geschützten Objekten entfernen"; +"Cache removal" = "Cache-Entfernung"; +"Removal mode" = "Art des Entfernens"; +"Permanent" = "Endgültig"; +"Trash" = "Papierkorb"; +"Permanent (default): the engine removes caches outright — freed space is real, immediately. Trash: reviewed, ticked paths go to the Trash instead — recoverable, but space frees only when Trash empties, and the run won't appear in `mo history`." = "Endgültig (Standard): Die Engine löscht Caches direkt — der Platz ist sofort wirklich frei. Papierkorb: Geprüfte, angehakte Pfade wandern stattdessen in den Papierkorb — wiederherstellbar, aber der Platz wird erst beim Leeren frei, und der Lauf erscheint nicht in `mo history`."; + +/* Settings — menu bar */ +"Display" = "Darstellung"; +"Icon" = "Symbol"; +"Metrics" = "Messwerte"; +"Metrics shows live CPU and memory next to the mark, refreshed with the sampler." = "„Messwerte“ zeigt CPU und Speicher live neben dem Zeichen an, aktualisiert im Takt der Messung."; +"Keyboard shortcuts" = "Tastaturkurzbefehle"; +"Keep Screen On" = "Bildschirm anlassen"; +"Clean Screen" = "Bildschirm putzen"; +"System-wide. Click a chip, press a combination with ⌃, ⌥ or ⌘; Esc cancels, × clears." = "Systemweit. Klick auf ein Feld und drück eine Kombination mit ⌃, ⌥ oder ⌘; Esc bricht ab, × löscht."; +"Block keys while wiping" = "Tasten beim Putzen sperren"; +"Accessibility" = "Bedienungshilfen"; +"Needed to swallow key presses while you wipe. Esc always exits." = "Nötig, um Tastendrücke beim Putzen zu schlucken. Mit Esc kommst du immer raus."; +"Off: Clean Screen still works, keys just aren't blocked. Esc always exits either way." = "Aus: „Bildschirm putzen“ funktioniert weiterhin, die Tasten werden nur nicht gesperrt. Esc beendet in beiden Fällen."; +"Press keys…" = "Tasten drücken …"; +"Record" = "Aufzeichnen"; +"Record shortcut" = "Kurzbefehl aufzeichnen"; +"Clear shortcut" = "Kurzbefehl löschen"; +"None" = "Keiner"; + +/* Menu-bar tools */ +"15 minutes" = "15 Minuten"; +"30 minutes" = "30 Minuten"; +"1 hour" = "1 Stunde"; +"2 hours" = "2 Stunden"; +"Until turned off" = "Bis zum Ausschalten"; +"Turn Off" = "Ausschalten"; +"Check for Updates…" = "Nach Updates suchen …"; +"Couldn't check for updates" = "Suche nach Updates fehlgeschlagen"; +"GitHub didn't answer. Try again later, or open the releases page." = "GitHub hat nicht geantwortet. Versuch es später noch einmal oder öffne die Release-Seite."; +"Update available" = "Update verfügbar"; +"Burrow %@ is available (you have %@). Update with `brew upgrade --cask burrow`, or open the release page." = "Burrow %1$@ ist verfügbar (du hast %2$@). Aktualisiere mit `brew upgrade --cask burrow` oder öffne die Release-Seite."; +"Burrow %@ is available (you have %@). Download it from the release page." = "Burrow %1$@ ist verfügbar (du hast %2$@). Lad es von der Release-Seite herunter."; +"You're up to date" = "Du bist auf dem neuesten Stand"; +"Burrow %@ is the latest release." = "Burrow %@ ist die neueste Version."; +"Open Release Page" = "Release-Seite öffnen"; +"Engine: %@" = "Engine: %@"; +"not found" = "nicht gefunden"; +"Releases" = "Releases"; +"What telemetry is collected" = "Welche Telemetriedaten erhoben werden"; +"Licenses" = "Lizenzen"; +"Wipe away — press Esc when you're done." = "Wisch drauflos — drück Esc, wenn du fertig bist."; + +/* Status dashboard */ +"%d fans" = "%d Lüfter"; +"macOS manages speed" = "macOS regelt die Drehzahl"; +"No fan data on this Mac" = "Keine Lüfterdaten auf diesem Mac"; +"Fan" = "Lüfter"; +"%d%% Health" = "%d%% Zustand"; +"%d cyc" = "%d Zyklen"; +"Mac" = "Mac"; +"%d percent" = "%d Prozent"; +"PWR" = "LEISTUNG"; +"Energy billed since launch (mWh)" = "Verbrauchte Energie seit dem Start (mWh)"; +"Actions for %@" = "Aktionen für %@"; +"Pin" = "Anheften"; +"Unpin" = "Loslösen"; +"Copy name" = "Namen kopieren"; +"Copy PID" = "PID kopieren"; +"Quit…" = "Beenden …"; +"Force Kill…" = "Sofort beenden …"; +"Force kill %@?" = "%@ sofort beenden?"; +"Quit %@?" = "%@ beenden?"; +"SIGKILL ends it immediately — unsaved work in this process is lost." = "SIGKILL beendet den Prozess sofort — nicht gesicherte Arbeit darin geht verloren."; +"Sends a polite quit (SIGTERM). The process may save and exit, or ignore it." = "Sendet eine höfliche Aufforderung zum Beenden (SIGTERM). Der Prozess kann sichern und beenden — oder sie ignorieren."; +"Force Kill" = "Sofort beenden"; +"Quit Process" = "Prozess beenden"; + +/* Menu-bar popover */ +"%@ free" = "%@ frei"; +"Health %d. Open Burrow." = "Zustand %d. Burrow öffnen."; +"up %@" = "läuft seit %@"; +"%@ used · %.0f%%" = "%@ belegt · %.0f%%"; +"No fan data" = "Keine Lüfterdaten"; +"Top drain — %@ · avg %.0f%% CPU over the last hour" = "Größter Verbraucher — %@ · im Schnitt %.0f%% CPU in der letzten Stunde"; +"Stay Awake" = "Wach bleiben"; +"Wipe" = "Putzen"; +"Eject" = "Auswerfen"; +"on" = "an"; +"Ejecting external volumes" = "Externe Volumes werden ausgeworfen"; +"%d ejected · %d busy" = "%1$d ausgeworfen · %2$d belegt"; +"%@ cleaned · %d uninstalled · %d optimized" = "%1$@ bereinigt · %2$d deinstalliert · %3$d optimiert"; +"Clean Watch" = "Bereinigung im Blick"; + +/* Analyze progress */ +"Mapping your folders" = "Deine Ordner werden kartiert"; +"Measuring…" = "Wird gemessen …"; +"Scanning %@, %d of %d" = "%1$@ wird gescannt, %2$d von %3$d"; +"Scanning" = "Wird gescannt"; + +/* ===== Uninstall pre-flight: identity of the resolved app ===== */ +"“%@” isn't an identifier that names one app — it resolves to whichever app the engine happens to match first, so nothing was removed. Use the app's bundle id or its exact name." = "„%@“ benennt keine einzelne App eindeutig — es trifft auf die App zu, die die Engine zufällig zuerst findet, deshalb wurde nichts entfernt. Nimm den Bundle-Identifier der App oder ihren exakten Namen."; +"The engine didn't say which application “%@” resolves to, so Burrow can't confirm it's the right one and nothing was removed." = "Die Engine hat nicht mitgeteilt, auf welches Programm „%@“ zutrifft. Burrow kann deshalb nicht bestätigen, dass es das richtige ist, und hat nichts entfernt."; +"The engine resolved %@ twice, so the run wouldn't act on the set it reported." = "Die Engine hat %@ doppelt aufgelöst, deshalb würde der Lauf nicht auf der gemeldeten Auswahl arbeiten."; +"“%1$@” isn't %2$@'s name or bundle id — the engine matched it by substring, so it may not be the app you meant. Nothing was removed; ask for it by name: %3$@." = "„%1$@“ ist weder der Name noch der Bundle-Identifier von %2$@ — die Engine hat es über eine Teilzeichenkette gefunden, es muss also nicht die gemeinte App sein. Es wurde nichts entfernt; sprich sie über den Namen an: %3$@."; +"The engine resolved an argument Burrow didn't send (“%@”), so nothing was removed." = "Die Engine hat ein Argument aufgelöst, das Burrow nicht gesendet hat („%@“), deshalb wurde nichts entfernt."; +"“%1$@” resolves to %2$@ (%3$@), not the %4$@ you picked (%5$@), so nothing was removed." = "„%1$@“ trifft auf %2$@ (%3$@) zu, nicht auf %4$@ (%5$@), was du ausgewählt hast — deshalb wurde nichts entfernt."; +"“%1$@” resolves to an app whose bundle id is %2$@, not the %3$@ you picked, so nothing was removed." = "„%1$@“ trifft auf eine App mit dem Bundle-Identifier %2$@ zu, nicht auf %3$@, was du ausgewählt hast — deshalb wurde nichts entfernt."; + +/* ===== Uninstall: the plan disagrees with the confirm sheet ===== */ +"This isn't quite what Burrow just told you" = "Das passt nicht ganz zu dem, was Burrow dir gerade gesagt hat"; +"Remove anyway" = "Trotzdem entfernen"; +"cancelled — nothing removed" = "abgebrochen — nichts entfernt"; +"Homebrew removes these after all, with `brew uninstall --cask --zap` — that doesn't use the Trash, so you can't put them back: %@" = "Das entfernt doch Homebrew, mit `brew uninstall --cask --zap` — dabei wird der Papierkorb nicht benutzt, du kannst es also nicht zurücklegen: %@"; +"These aren't Homebrew's after all — Burrow moves them to the Trash itself: %@" = "Das gehört doch nicht Homebrew — Burrow legt es selbst in den Papierkorb: %@"; + +/* ===== Uninstall review: what Burrow may not remove by hand ===== */ +"Homebrew installed %1$@ — it has to be removed with `brew uninstall --cask --zap %2$@`. Trashing the app on its own would leave Homebrew still believing it's installed." = "%1$@ wurde von Homebrew installiert — es muss mit `brew uninstall --cask --zap %2$@` entfernt werden. Legst du nur die App in den Papierkorb, hält Homebrew sie weiterhin für installiert."; +"Burrow won't remove these itself" = "Diese entfernt Burrow nicht selbst"; +"These stay installed — only the reviewed support files move to the Trash, and you can put them back:\n\n%@" = "Diese bleiben installiert — nur die geprüften zugehörigen Dateien wandern in den Papierkorb, und du kannst sie zurücklegen:\n\n%@"; +"Remove data from %d app?" = "Daten von %d App entfernen?"; +"Remove data from %d apps?" = "Daten von %d Apps entfernen?"; diff --git a/macos/Resources/es.lproj/Localizable.strings b/macos/Resources/es.lproj/Localizable.strings new file mode 100644 index 00000000..d693a37b --- /dev/null +++ b/macos/Resources/es.lproj/Localizable.strings @@ -0,0 +1,869 @@ +/* Tools */ +"clean" = "Limpieza"; +"apps" = "Software"; +"optimize" = "Optimización"; +"analyze" = "Análisis"; +"status" = "Estado"; +"Clean" = "Limpieza"; +"Software" = "Software"; +"Optimize" = "Optimización"; +"Analyze" = "Análisis"; +"Status" = "Estado"; +"Settings" = "Ajustes"; +"History" = "Historial"; +"Fresh air through old tunnels." = "Aire fresco en los túneles viejos."; +"Shed what you've outgrown." = "Suelta lo que ya no necesitas."; +"Small turns, a smoother run." = "Pequeños ajustes, marcha más suave."; +"Map every chamber below." = "Cartografía cada cámara de ahí abajo."; +"Every pulse of the den." = "Cada latido de la madriguera."; + +/* Shared */ +"Burrow" = "Burrow"; +"Couldn't open Burrow's history database" = "No se pudo abrir la base de datos de historial de Burrow"; +"%@\n\nThe app will quit." = "%@\n\nLa app se cerrará."; +"Mole CLI (`mo`) not found on PATH." = "No se encontró Mole CLI (`mo`) en el PATH."; +"mo analyze exited %d: %@" = "mo analyze terminó con el código %d: %@"; +"Couldn't parse mo analyze output: %@" = "No se pudo interpretar la salida de mo analyze: %@"; +"CPU" = "CPU"; +"GPU" = "GPU"; +"Memory" = "Memoria"; +"Network" = "Red"; +"Disk" = "Disco"; +"Battery" = "Batería"; +"Power" = "Energía"; +"Health" = "Estado"; +"Activity" = "Actividad"; +"Top processes" = "Procesos principales"; +"Open Burrow" = "Abrir Burrow"; +"Preview" = "Vista previa"; +"Cancel" = "Cancelar"; +"Failed: %@" = "Error: %@"; +"%d items · %@" = "%d elementos · %@"; +"%@ in %d items" = "%1$@ en %2$d elementos"; +"Scanning…" = "Analizando…"; +"Home" = "Inicio"; +"Homebrew (`brew`) not found on this Mac." = "No se encontró Homebrew (`brew`) en este Mac."; +"formula" = "formula"; +"cask" = "cask"; + +/* Status and HUD */ +"Waiting for the first sample…" = "Esperando la primera muestra…"; +"Burrow runs `mo status --json` on a timer; the first row lands within a tick." = "Burrow ejecuta `mo status --json` a intervalos regulares; la primera fila llega en el siguiente ciclo."; +"%d cores" = "%d núcleos"; +"load %.2f · %.2f · %.2f" = "carga %.2f · %.2f · %.2f"; +"%.1f / %.1f GB · swap %.1f GB" = "%.1f / %.1f GB · swap %.1f GB"; +"normal" = "normal"; +"warning" = "aviso"; +"Good" = "Bueno"; +"Excellent" = "Excelente"; +"Fair" = "Aceptable"; +"Poor" = "Deficiente"; +"Critical" = "Crítico"; +"All checks passed" = "Todas las comprobaciones se superaron"; +"up %@ · since %@" = "activo %@ · desde %@"; +"%@ · %@ · up %@" = "%@ · %@ · activo %@"; +"GB free" = "GB libres"; +"%.0f%% used · R %.0f · W %.0f MB/s" = "%.0f%% usado · L %.0f · E %.0f MB/s"; +"AC Power" = "Corriente"; +"charging" = "cargando"; +"%@ left" = "%@ restante"; +"%@ left · %d cyc · %d%% cap" = "%@ restante · %d ciclos · %d%% de capacidad"; +"NAME (%d)" = "NOMBRE (%d)"; +"PID" = "PID"; +"MEM" = "MEM"; +"↓ %d ↑ %d KB/s" = "↓ %d ↑ %d KB/s"; +"%.0f%% used" = "%.0f%% usado"; +"%ds ago" = "hace %d s"; +"no samples yet" = "aún no hay muestras"; + +/* Clean */ +"Clean Now" = "Limpiar ahora"; +"Cleaned" = "Limpiado"; +"Freed up to %@ · %@ items" = "Hasta %@ liberados · %@ elementos"; +"Re-scan" = "Volver a analizar"; +"Clean for real" = "Limpiar de verdad"; +"to free" = "por liberar"; +"· %@ items · %@ categories" = "· %@ elementos · %@ categorías"; +"Scanning your Mac…" = "Analizando tu Mac…"; +"Cleaning… don't quit." = "Limpiando… no cierres la app."; +"Preview — review, then clean for real." = "Vista previa: revisa y luego limpia de verdad."; +"Done — caches cleared." = "Listo: cachés vaciadas."; +"Scanning caches" = "Analizando cachés"; +"Cleaning caches" = "Limpiando cachés"; +"Clean caches for real?" = "¿Limpiar las cachés de verdad?"; +"Burrow will run `mo clean` with administrator rights. Cache files are removed permanently; Mole's whitelist and safety rules still apply." = "Burrow ejecutará `mo clean` con permisos de administrador. Los archivos de caché se eliminan de forma permanente; la lista blanca y las reglas de seguridad de Mole se siguen aplicando."; + +/* Optimize */ +"Run again" = "Ejecutar de nuevo"; +"Maintenance complete" = "Mantenimiento completado"; +"%d areas refreshed" = "Áreas actualizadas: %d"; +"Optimizing" = "Optimizando"; +"Optimize preview" = "Vista previa de la optimización"; +"Previewing maintenance…" = "Vista previa del mantenimiento…"; +"Running maintenance…" = "Ejecutando el mantenimiento…"; +"Maintenance complete." = "Mantenimiento completado."; +"Preview complete." = "Vista previa completada."; + +/* Task reports from mo */ +"Summary" = "Resumen"; +"Performance Diagnosis" = "Diagnóstico de rendimiento"; +"DNS & Spotlight Check" = "Comprobación de DNS y Spotlight"; +"Finder Cache Refresh" = "Actualización de la caché del Finder"; +"App State Cleanup" = "Limpieza de estados guardados"; +"Broken Config Repair" = "Reparación de configuraciones dañadas"; +"Network Cache Refresh" = "Actualización de la caché de red"; +"Database Optimization" = "Optimización de bases de datos"; +"LaunchServices Repair" = "Reparación de LaunchServices"; +"Dock Refresh" = "Actualización del Dock"; +"Prevent Finder .DS_Store" = "Evitar archivos .DS_Store"; +"Memory Optimization" = "Optimización de memoria"; +"Network Stack Refresh" = "Actualización de la pila de red"; +"Permission Repair" = "Reparación de permisos"; +"Spotlight Optimization" = "Optimización de Spotlight"; +"Spotlight Orphan Rules" = "Reglas huérfanas de Spotlight"; +"Periodic Maintenance" = "Mantenimiento periódico"; +"Shared File Lists" = "Listas de archivos compartidas"; +"Disk Health" = "Salud del disco"; +"Login Items" = "Ítems de inicio"; +"Quarantine Database Cleanup" = "Limpieza de la base de datos de cuarentena"; +"Launch Agents Cleanup" = "Limpieza de agentes de inicio"; +"Notifications" = "Notificaciones"; +"Usage Data" = "Datos de uso"; +"User Essentials" = "Datos del usuario"; +"App Caches" = "Cachés de apps"; +"System Caches" = "Cachés del sistema"; +"Developer Caches" = "Cachés de desarrollo"; +"Browser Caches" = "Cachés de navegadores"; +"Logs" = "Registros"; +"DRY RUN MODE, No files will be modified" = "MODO SIMULACIÓN: no se modificará ningún archivo"; +"Likely bottleneck: %@" = "Cuello de botella probable: %@"; +"Gatekeeper and code-signature assessment activity is elevated." = "Gatekeeper está evaluando un número inusual de firmas de código."; +"Gatekeeper status: assessments enabled" = "Estado de Gatekeeper: evaluaciones activadas"; +"Only system-managed CoreSimulator images are mounted, informational only, not a detach target" = "Solo hay montadas imágenes de CoreSimulator gestionadas por el sistema; es información, no algo que expulsar"; +"DNS cache flushed" = "Caché de DNS vaciada"; +"Spotlight index verified" = "Índice de Spotlight verificado"; +"QuickLook thumbnails refreshed" = "Miniaturas de QuickLook actualizadas"; +"Icon services cache rebuilt" = "Caché de servicios de iconos reconstruida"; +"App saved states optimized" = "Estados guardados de las apps optimizados"; +"All preference files valid" = "Todos los archivos de preferencias son válidos"; +"DNS cache already refreshed" = "La caché de DNS ya estaba actualizada"; +"mDNSResponder already restarted" = "mDNSResponder ya se había reiniciado"; +"All databases already optimized" = "Todas las bases de datos ya estaban optimizadas"; +"LaunchServices repaired" = "LaunchServices reparado"; +"File associations refreshed" = "Asociaciones de archivos actualizadas"; +"Dock refreshed" = "Dock actualizado"; +".DS_Store prevention enabled on network & USB volumes" = "Creación de .DS_Store desactivada en volúmenes de red y USB"; +"Inactive memory released" = "Memoria inactiva liberada"; +"System responsiveness improved" = "Capacidad de respuesta del sistema mejorada"; +"Network routing table refreshed" = "Tabla de enrutamiento de red actualizada"; +"ARP cache cleared" = "Caché ARP vaciada"; +"User directory permissions repaired" = "Permisos de la carpeta de usuario reparados"; +"User directory permissions already optimal" = "Los permisos de la carpeta de usuario ya eran óptimos"; +"File access issues resolved" = "Problemas de acceso a archivos resueltos"; +"Spotlight index already optimal" = "El índice de Spotlight ya era óptimo"; +"Spotlight search rules already clean" = "Las reglas de búsqueda de Spotlight ya estaban limpias"; +"Periodic maintenance skipped (not available on this macOS version)" = "Mantenimiento periódico omitido (no disponible en esta versión de macOS)"; +"Shared file lists all healthy" = "Todas las listas de archivos compartidas están en orden"; +"Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)" = "Verificación del disco omitida (define MOLE_ENABLE_DISK_VERIFY=1 para activarla)"; +"Login items all healthy (%@ checked)" = "Todos los ítems de inicio están en orden (%@ comprobados)"; +"Quarantine database already clean" = "La base de datos de cuarentena ya estaba limpia"; +"Launch Agents all healthy" = "Todos los agentes de inicio están en orden"; +"Notification Center database not found" = "No se encontró la base de datos del centro de notificaciones"; +"Knowledge database is healthy (%@)" = "La base de datos Knowledge está en orden (%@)"; +"%@ %@ items, %@ dry" = "%@ %@ elementos, %@ por limpiar"; +"%@ %@ old items, %@ dry" = "%@ %@ elementos antiguos, %@ por limpiar"; +"%@, %@ dry" = "%@, %@ por limpiar"; +"User app cache" = "Caché de apps del usuario"; +"User app logs" = "Registros de apps del usuario"; +"Darwin user cache files" = "Archivos de caché de usuario de Darwin"; +"Media analysis cache" = "Caché de análisis multimedia"; +"Media analysis temp files" = "Archivos temporales del análisis multimedia"; +"Wallpaper agent cache" = "Caché del agente de fondo de pantalla"; +"Trash · already empty" = "Papelera · ya está vacía"; +"System caches need sudo, run sudo -v && mo clean --dry-run for full preview" = "Las cachés del sistema requieren sudo; ejecuta sudo -v && mo clean --dry-run para una vista previa completa"; +"Dry Run Mode, Preview only, no deletions" = "Modo simulación: solo vista previa, sin eliminaciones"; + +/* Analyze */ +"Reveal in Finder" = "Mostrar en el Finder"; +"Open here" = "Abrir aquí"; +"Analyzing %@" = "Analizando %@"; +"scan failed" = "el análisis falló"; + +/* Software */ +"Size" = "Tamaño"; +"Name" = "Nombre"; +"Recent" = "Reciente"; +"Source" = "Origen"; +"Uninstall" = "Desinstalación"; +"Updates" = "Actualizaciones"; +"Search apps" = "Buscar apps"; +"Reading installed apps…" = "Leyendo las apps instaladas…"; +"%d apps" = "%d apps"; +"%d selected · %@" = "%d seleccionadas · %@"; +"Uninstall (%d)" = "Desinstalar (%d)"; +"Uninstall %d app?" = "¿Desinstalar %d app?"; +"Uninstall %d apps?" = "¿Desinstalar %d apps?"; +"Move to Trash" = "Mover a la papelera"; +"Checking Homebrew…" = "Comprobando Homebrew…"; +"Everything's up to date" = "Todo está actualizado"; +"Homebrew formulae & casks" = "Formulae y casks de Homebrew"; +"%d update" = "%d actualización"; +"%d updates" = "%d actualizaciones"; +"Update all" = "Actualizar todo"; +"Updating…" = "Actualizando…"; +"Update" = "Actualizar"; + +/* Settings */ +"Storage" = "Almacenamiento"; +"Currently using" = "En uso actualmente"; +"Last maintenance" = "Último mantenimiento"; +"Run maintenance now" = "Ejecutar el mantenimiento ahora"; +"History lives at ~/Library/Application Support/Burrow/burrow.db. Rows past the retention window are pruned hourly." = "El historial está en ~/Library/Application Support/Burrow/burrow.db. Las filas fuera del periodo de conservación se eliminan cada hora."; +"History retention" = "Conservación del historial"; +"Keep history for" = "Conservar el historial durante"; +"1 day" = "1 día"; +"7 days" = "7 días"; +"14 days" = "14 días"; +"30 days" = "30 días"; +"90 days" = "90 días"; +"180 days" = "180 días"; +"1 year" = "1 año"; +"Vacuum DB after large prunes" = "Compactar la base de datos tras grandes eliminaciones"; +"Sampling" = "Muestreo"; +"Sample every" = "Medir cada"; +"5 sec" = "5 s"; +"15 sec" = "15 s"; +"30 sec" = "30 s"; +"60 sec" = "60 s"; +"2 min" = "2 min"; +"5 min" = "5 min"; +"Burrow runs `mo status --json` at this cadence. 60 s is plenty for charts; tighter intervals give finer detail at the cost of more subprocess churn." = "Burrow ejecuta `mo status --json` con esta frecuencia. Para las gráficas, 60 s sobran; los intervalos más cortos dan más detalle a costa de lanzar más subprocesos."; +"MCP query server" = "Servidor de consultas MCP"; +"Enable MCP query server" = "Activar el servidor de consultas MCP"; +"Endpoint" = "Endpoint"; +"Toggle + port changes take effect after a relaunch. Exposes /health, /info, /snapshot, /metrics over localhost, plus the `Burrow --mcp` stdio server for Claude Code." = "El interruptor y los cambios de puerto se aplican tras reiniciar. Expone /health, /info, /snapshot y /metrics en localhost, además del servidor stdio `Burrow --mcp` para Claude Code."; +"%ds ago · pruned %d rows" = "hace %1$d s · %2$d filas eliminadas"; +"not yet run" = "aún no se ha ejecutado"; + +/* History */ +"CPU usage" = "Uso de CPU"; +"usage" = "uso"; +"CPU load" = "Carga de CPU"; +"1m avg" = "media de 1 min"; +"load1" = "load1"; +"% used" = "% usado"; +"used" = "usado"; +"Disk I/O" = "E/S de disco"; +"MB/s" = "MB/s"; +"read" = "lectura"; +"write" = "escritura"; +"rx" = "rx"; +"tx" = "tx"; +"Thermal" = "Temperatura"; +"cpu" = "cpu"; +"gpu" = "gpu"; +"Health score" = "Puntuación de salud"; +"0–100" = "0–100"; +"No samples in this window" = "No hay muestras en este periodo"; +"peak across window" = "pico del periodo"; +"No processes recorded" = "No se registraron procesos"; +"%d samples" = "%d muestras"; +"· latest %ds ago" = "· la última hace %d s"; + +/* Menus and alerts */ +"About Burrow" = "Acerca de Burrow"; +"Settings…" = "Ajustes…"; +"Hide Burrow" = "Ocultar Burrow"; +"Quit Burrow" = "Salir de Burrow"; +"Edit" = "Edición"; +"Undo" = "Deshacer"; +"Redo" = "Rehacer"; +"Cut" = "Cortar"; +"Copy" = "Copiar"; +"Paste" = "Pegar"; +"Select All" = "Seleccionar todo"; +"Window" = "Ventana"; +"Minimize" = "Minimizar"; +"Close" = "Cerrar"; +"Mole CLI not found" = "No se encontró Mole CLI"; + +/* Home (Overview / History / Activity / Report) + Explain */ +"Overview" = "Resumen"; +"Report" = "Informe"; +"Doctor" = "Diagnóstico"; +"Diagnostics" = "Datos de diagnóstico"; +"Dev hygiene" = "Higiene de desarrollo"; +"No developer caches found." = "No se encontraron cachés de desarrollo."; +"Clear" = "Vaciar"; +"Move this cache to the Trash?" = "¿Mover esta caché a la papelera?"; +"ports" = "puertos"; +"Ports" = "Puertos"; +"Listening ports" = "Puertos a la escucha"; +"See who's listening." = "Mira quién está escuchando."; +"Quit this process?" = "¿Cerrar este proceso?"; +"tuneup" = "Puesta a punto"; +"Tune-Up" = "Puesta a punto"; +"One pass, a tidier den." = "Una pasada y la madriguera queda ordenada."; +"Safe to run" = "Seguro de ejecutar"; +"Needs review" = "Requiere revisión"; +"Run safe set" = "Ejecutar las acciones seguras"; +"Clear %@ cache" = "Vaciar la caché de %@"; +"Review startup item: %@" = "Revisar el ítem de inicio: %@"; +"Nothing to tune up — you're clean." = "No hay nada que ajustar: está todo limpio."; +"restore" = "Restaurar"; +"Restore" = "Restaurar"; +"Put back what the last clean moved." = "Devuelve a su sitio lo que movió la última limpieza."; +"Restore last cleanup" = "Restaurar la última limpieza"; +"Only Trash-based removals can be restored — cache deletions are permanent." = "Solo se puede restaurar lo que pasó por la papelera; las cachés eliminadas no se recuperan."; +"No restorable items found." = "No se encontraron elementos restaurables."; +"Top processes in selection" = "Procesos principales de la selección"; +"No process samples in that window." = "No hay muestras de procesos en ese periodo."; +"Full in ~%@" = "Lleno en ~%@"; +"%d days" = "%d días"; +"%d weeks" = "%d semanas"; +"%d months" = "%d meses"; +"Uncommitted or unpushed git changes in this repo" = "Cambios de git sin confirmar o sin enviar en este repositorio"; +"A new startup item appeared" = "Ha aparecido un nuevo ítem de inicio"; +"“%@” now launches automatically. If you didn't add it, review it." = "«%@» ahora se abre automáticamente. Si no lo añadiste tú, revísalo."; +"CPU usage is high" = "El uso de CPU es alto"; +"CPU has been pegged at %.0f%%." = "La CPU lleva clavada en el %.0f%%."; +"Memory pressure is high" = "La presión de memoria es alta"; +"Memory is at %.0f%%." = "La memoria está al %.0f%%."; +"Explain" = "Explicar"; + +/* Language switch */ +"Language" = "Idioma"; +"App language" = "Idioma de la app"; +"System" = "Sistema"; +"Relaunch to change language?" = "¿Reiniciar para cambiar de idioma?"; +"Burrow needs to relaunch to apply the new language." = "Burrow necesita reiniciarse para aplicar el nuevo idioma."; +"Relaunch Now" = "Reiniciar ahora"; +"Later" = "Más tarde"; +"A language change takes effect after a relaunch." = "El cambio de idioma se aplica tras reiniciar."; + +/* Analyze — move to Trash */ +"Move “%@” to Trash?" = "¿Mover «%@» a la papelera?"; +"This moves %@ (%@) to the Trash, where you can restore it." = "Esto mueve %@ (%@) a la papelera, desde donde puedes restaurarlo."; +"this folder" = "esta carpeta"; +"this file" = "este archivo"; +"Couldn't move to Trash" = "No se pudo mover a la papelera"; + +/* Settings sections */ +"Engine" = "Motor"; +"Menu bar" = "Barra de menús"; +"Show menu bar icon" = "Mostrar el icono en la barra de menús"; + +/* Tools — purge / installer labels + taglines */ +"purge" = "Limpieza profunda"; +"installer" = "Instaladores"; +"Purge" = "Limpieza profunda"; +"Installers" = "Instaladores"; +"Clear the diggings dev work leaves behind." = "Retira los escombros que deja el trabajo de desarrollo."; +"Sweep out the crates you unpacked." = "Barre las cajas que ya desempaquetaste."; + +/* Common actions / labels */ +"Scan" = "Analizar"; +"Rescan" = "Volver a analizar"; +"Back" = "Atrás"; +"Stop" = "Detener"; +"Stopped." = "Detenido."; +"Go up" = "Subir un nivel"; +"Fans" = "Ventiladores"; +"Bluetooth" = "Bluetooth"; +"GPU usage" = "Uso de GPU"; +"RAM" = "RAM"; +"Version" = "Versión"; +"incomplete" = "incompleto"; +"Reading your Mac…" = "Leyendo tu Mac…"; + +/* Activity (cleanup history) */ +"Recent Mole cleanup sessions" = "Últimas limpiezas de Mole"; +"No cleanup history yet" = "Todavía no hay historial de limpiezas"; +"Run a Clean or Optimize and it'll show up here." = "Ejecuta una limpieza o una optimización y aparecerá aquí."; + +/* Settings — AI / MCP / server */ +"Burrow engine missing" = "Falta el motor de Burrow"; +"Touch ID for sudo" = "Touch ID para sudo"; +"Explain (AI) — experimental" = "Explicar (IA): experimental"; +"Ask your AI about your Mac (MCP)" = "Pregúntale a tu IA sobre tu Mac (MCP)"; +"Local HTTP query server" = "Servidor de consultas HTTP local"; +"Enable the Explain lens" = "Activar la función Explicar"; +"Enable HTTP query server" = "Activar el servidor de consultas HTTP"; +"Let agents run cleanups for real" = "Permitir que los agentes limpien de verdad"; +"Backend" = "Backend"; +"Base URL" = "URL base"; +"Model" = "Modelo"; +"API key (optional)" = "Clave de API (opcional)"; +"Ollama model" = "Modelo de Ollama"; +"Local · Ollama" = "Local · Ollama"; +"LM Studio / API" = "LM Studio / API"; +"Read tools" = "Herramientas de lectura"; +"Cleanup tools" = "Herramientas de limpieza"; +"Try asking" = "Prueba a preguntar"; +"Copy prompt" = "Copiar la petición"; +"Preview what a cleanup would free, then clean it up." = "Muéstrame cuánto liberaría una limpieza y luego hazla."; +"Uninstall Slack and remove its leftovers." = "Desinstala Slack y elimina lo que deje atrás."; +"What's my Mac's CPU and memory usage right now?" = "¿Cuánta CPU y memoria está usando mi Mac ahora mismo?"; +"What's taking up space in my home folder?" = "¿Qué ocupa espacio en mi carpeta de inicio?"; +"AI read of one snapshot — it can be wrong, and never acts on its own." = "Lectura de una sola instantánea hecha por una IA: puede equivocarse y nunca actúa por su cuenta."; +"Adds an “Explain” button to Status that reads your latest snapshot and explains it in plain English, optionally suggesting Clean/Purge/Installers." = "Añade un botón «Explicar» a Estado: lee tu última instantánea, la explica en lenguaje sencillo y, si procede, sugiere Limpieza, Limpieza profunda o Instaladores."; +"Burrow exposes your Mac's recorded history to coding agents — Claude Code, Cursor, Codex, Cline — over MCP. Add the config below, then ask in plain language. The server starts on demand over stdio; there's no port and no always-on listener." = "Burrow expone el historial registrado de tu Mac a los agentes de programación (Claude Code, Cursor, Codex, Cline) mediante MCP. Añade la configuración de abajo y pregunta en lenguaje natural. El servidor se inicia bajo demanda por stdio; no hay ningún puerto ni ningún servicio a la escucha permanente."; +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` / `uninstall` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Desactivado por omisión. Los agentes siempre pueden leer métricas y hacer vistas previas en simulación. Con esto activado, un agente puede ejecutar un `mo clean` / `optimize` / `uninstall` real, pero SOLO si además envía un indicador de confirmación explícito, de modo que una eliminación nunca dependa de una frase suelta. Desactívalo y los agentes vuelven a ser de solo lectura. Los datos se quedan en este Mac."; +"Runs against a local Ollama model — nothing leaves this Mac. Start it with `ollama run `." = "Funciona con un modelo local de Ollama: nada sale de este Mac. Inícialo con `ollama run `."; +"Any OpenAI-compatible server. For LM Studio: load a model, open Developer ▸ Start Server, and leave the key blank — the default URL is already LM Studio's. A hosted endpoint (e.g. OpenAI) needs a key and sends the metrics summary off-device (never file contents)." = "Cualquier servidor compatible con OpenAI. Para LM Studio: carga un modelo, abre Developer ▸ Start Server y deja la clave en blanco; la URL por omisión ya es la de LM Studio. Un endpoint alojado (OpenAI, por ejemplo) necesita una clave y envía fuera del dispositivo el resumen de métricas (nunca el contenido de los archivos)."; +"Sparkle checks Burrow's signed update feed after startup settles and about once a day. It asks before downloading or installing anything." = "Sparkle consulta el canal de actualizaciones firmado de Burrow cuando el arranque se estabiliza y después una vez al día aproximadamente. Pide confirmación antes de descargar o instalar nada."; +"Check for updates automatically" = "Buscar actualizaciones automáticamente"; +"Check for Updates" = "Buscar actualizaciones"; +"About Burrow" = "Acerca de Burrow"; +"Update didn't complete" = "La actualización no se completó"; +"Update external engine" = "Actualizar el motor externo"; +"This source build is using an engine outside Burrow.app, so its own updater remains available." = "Esta compilación desde el código fuente usa un motor fuera de Burrow.app, así que su propio actualizador sigue disponible."; +"Included with Burrow. Engine updates arrive through signed Burrow releases so the app's Developer ID seal stays valid." = "Incluido con Burrow. Las actualizaciones del motor llegan en versiones firmadas de Burrow para que el sello Developer ID de la app siga siendo válido."; +"The bundled engine is missing. Reinstall Burrow to restore the signed app bundle." = "Falta el motor incluido. Reinstala Burrow para restaurar el paquete firmado de la app."; +"External engine is up to date" = "El motor externo está actualizado"; +"Now on %@." = "Ahora en %@."; +"The external engine updater exited non-zero. Try running `mo update` in a terminal." = "El actualizador del motor externo terminó con error. Prueba a ejecutar `mo update` en un terminal."; +"Disk analysis needs Mole %@ or newer (you have %@). %@" = "El análisis de disco necesita Mole %@ o posterior (tienes %@). %@"; +"Update Burrow to get the current bundled engine." = "Actualiza Burrow para obtener el motor incluido actual."; +"Use Settings › Engine › Update external engine, then try again." = "Ve a Ajustes › Motor › Actualizar el motor externo y vuelve a intentarlo."; +"Reinstall Burrow to restore the bundled engine." = "Reinstala Burrow para restaurar el motor incluido."; +"Lets `sudo` and admin prompts accept your fingerprint instead of a password, where macOS supports it. Configured via `mo touchid`; turning it on or off needs your password once." = "Permite que `sudo` y las peticiones de administrador acepten tu huella en lugar de una contraseña, donde macOS lo admita. Se configura con `mo touchid`; activarlo o desactivarlo pide tu contraseña una vez."; +"Authentication" = "Autenticación"; +"Bearer token required" = "Se requiere un token Bearer"; +"Optional REST surface for dashboards or curl: /health, /info, /snapshot, /metrics over localhost. Every request needs the per-install token; retrieve it locally with `defaults read dev.caezium.Burrow query_auth_token`. Separate from the MCP stdio server above; toggle + port changes take effect after a relaunch." = "Interfaz REST opcional para paneles o curl: /health, /info, /snapshot y /metrics en localhost. Cada petición necesita el token propio de esta instalación; obtenlo en local con `defaults read dev.caezium.Burrow query_auth_token`. Es independiente del servidor stdio de MCP de arriba; el interruptor y los cambios de puerto se aplican tras reiniciar."; +"Applies immediately. When off, Burrow shows a Dock icon instead so it stays reachable — a Dock click reopens the window." = "Se aplica al instante. Si está desactivado, Burrow muestra un icono en el Dock para seguir siendo accesible: un clic en el Dock vuelve a abrir la ventana."; + +/* Onboarding / Full Disk Access */ +"Official builds include the engine inside the signed app. Reinstall Burrow to restore it; source builds can also provide an external `mo` on PATH." = "Las versiones oficiales incluyen el motor dentro de la app firmada. Reinstala Burrow para restaurarlo; las compilaciones desde el código fuente también pueden usar un `mo` externo en el PATH."; +"REINSTALL SIGNED APP" = "REINSTALAR LA APP FIRMADA"; +"View the bundled engine source →" = "Ver el código del motor incluido →"; +"The engine is still missing. Finish reinstalling Burrow, then recheck or relaunch the app." = "El motor sigue sin aparecer. Termina de reinstalar Burrow y después vuelve a comprobarlo o reinicia la app."; +"Grant Full Disk Access to scan" = "Concede acceso total al disco para analizar"; +"Skip the macOS permission prompts" = "Evita las peticiones de permiso de macOS"; +"Open Full Disk Access settings" = "Abrir los ajustes de acceso total al disco"; +"Don't ask again" = "No volver a preguntar"; +"Scan anyway" = "Analizar de todos modos"; +"Scanning system & app caches makes macOS ask once per protected folder. Grant Burrow Full Disk Access to scan smoothly — it only reads sizes through Mole and never opens that data itself." = "Al analizar las cachés del sistema y de las apps, macOS pregunta una vez por cada carpeta protegida. Concede a Burrow acceso total al disco para que el análisis fluya: solo lee tamaños a través de Mole y nunca abre esos datos por su cuenta."; +"Still blocked? macOS only applies Full Disk Access the next time Burrow launches. Quit and reopen, then scan." = "¿Sigue bloqueado? macOS solo aplica el acceso total al disco la próxima vez que se abre Burrow. Cierra la app, vuelve a abrirla y analiza."; +"Quit" = "Salir"; + +/* ===== Anonymous usage (telemetry) — Settings section + first-launch consent ===== */ +"Anonymous usage" = "Datos de uso anónimos"; +"Share anonymous usage & crash reports" = "Enviar datos de uso e informes de fallos anónimos"; +"Share anonymous usage & diagnostics" = "Enviar datos de uso y diagnóstico anónimos"; +"Sends anonymous product analytics (PostHog) and crash reports (Sentry): a random install id (not tied to you or your hardware), the app + macOS version, CPU type, and which features you use — with sizes and counts bucketed. Never file names, contents, paths, or your metrics. It helps gauge retention and catch crashes. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Envía analíticas de producto anónimas (PostHog) e informes de fallos (Sentry): un identificador de instalación aleatorio (sin relación contigo ni con tu hardware), la versión de la app y de macOS, el tipo de CPU y qué funciones usas, con tamaños y recuentos agrupados por tramos. Nunca nombres de archivo, contenidos, rutas ni tus métricas. Sirve para medir la retención y detectar fallos. Activado por omisión; si lo desactivas, ambos se detienen. Lista completa en TELEMETRY.md."; +"Sends anonymous product analytics (PostHog) plus crash, hang, startup, update, and sampled performance diagnostics (Sentry): random install IDs, app and exact macOS build, CPU type, screens and features used, and fixed-name diagnostic milestones. Never screenshots, screen recordings, your file names, contents, user paths, URLs, or metrics. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Envía analíticas de producto anónimas (PostHog) y diagnósticos de fallos, bloqueos, arranque, actualizaciones y rendimiento muestreado (Sentry): identificadores de instalación aleatorios, la app y la compilación exacta de macOS, el tipo de CPU, las pantallas y funciones usadas, y hitos de diagnóstico con nombres fijos. Nunca capturas de pantalla, grabaciones, nombres de archivo, contenidos, rutas de usuario, URL ni métricas. Activado por omisión; si lo desactivas, ambos se detienen. Lista completa en TELEMETRY.md."; +"Burrow started in compatibility mode" = "Burrow se inició en modo de compatibilidad"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item is disabled on this build, and Burrow will stay available in the Dock. Updating macOS will automatically retry the normal menu bar mode." = "Burrow ha detectado que crear su ítem en la barra de menús podría bloquear esta compilación de macOS. En esta compilación el ítem está desactivado y Burrow seguirá disponible en el Dock. Al actualizar macOS se volverá a intentar el modo normal automáticamente."; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item and automatic update checks are paused on this build, and Burrow will stay available in the Dock. Manual update checks remain available. Updating macOS will automatically retry the normal mode." = "Burrow ha detectado que crear su ítem en la barra de menús podría bloquear esta compilación de macOS. En esta compilación el ítem y la búsqueda automática de actualizaciones están en pausa, y Burrow seguirá disponible en el Dock. La búsqueda manual sigue funcionando. Al actualizar macOS se volverá a intentar el modo normal automáticamente."; +"Burrow paused automatic update checks" = "Burrow ha puesto en pausa la búsqueda automática de actualizaciones"; +"Burrow detected that its automatic updater did not reach a stable state on the previous launch. Automatic checks are paused for this app and macOS build so the same startup problem cannot repeat. You can still check manually; updating Burrow or macOS will retry automatic checks." = "Burrow ha detectado que su actualizador automático no alcanzó un estado estable en el arranque anterior. La búsqueda automática está en pausa para esta app y esta compilación de macOS para que no se repita el mismo problema de inicio. Puedes seguir buscando manualmente; al actualizar Burrow o macOS se reintentará la búsqueda automática."; +"Menu bar item paused on this macOS build" = "Ítem de la barra de menús en pausa en esta compilación de macOS"; +"Creating it could freeze system input on this build, so Burrow runs from the Dock instead. It returns automatically once you update macOS." = "Crearlo podría bloquear la entrada del sistema en esta compilación, así que Burrow funciona desde el Dock. Vuelve automáticamente en cuanto actualices macOS."; +"Paused on this macOS build. The setting is kept and applies again as soon as Burrow can create the menu bar item safely." = "En pausa en esta compilación de macOS. El ajuste se conserva y volverá a aplicarse en cuanto Burrow pueda crear el ítem de la barra de menús sin riesgo."; +"Copy Diagnostics" = "Copiar los datos de diagnóstico"; +"Share anonymous usage & crash reports?" = "¿Enviar datos de uso e informes de fallos anónimos?"; +"Helps prioritize fixes: app/OS version, coarse bucketed feature counts, and crash traces. Never files, paths, file contents, or your metrics — the exact list is in TELEMETRY.md. You can change this anytime in Settings → Anonymous usage." = "Ayuda a priorizar las correcciones: versión de la app y del sistema, recuentos de uso agrupados por tramos y trazas de fallos. Nunca archivos, rutas, contenidos ni tus métricas; la lista exacta está en TELEMETRY.md. Puedes cambiarlo cuando quieras en Ajustes → Datos de uso anónimos."; +"Share" = "Enviar"; +"Don't Share" = "No enviar"; + +/* ===== Agent (MCP) gates ===== */ +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Desactivado por omisión. Los agentes siempre pueden leer métricas y hacer vistas previas en simulación. Con esto activado, un agente puede ejecutar un `mo clean` / `optimize` real, pero SOLO si además envía un indicador de confirmación explícito, de modo que una eliminación nunca dependa de una frase suelta. Desactívalo y los agentes vuelven a ser de solo lectura. Los datos se quedan en este Mac."; +"Also allow uninstalls & permanent deletes" = "Permitir también desinstalaciones y borrados permanentes"; +"A second key for what the Trash can't undo: real `mo uninstall`, and `permanent:true` deletes. Needs the cleanup switch above too; an uninstall also aborts unless mo matches exactly the requested apps." = "Una segunda llave para lo que la papelera no puede deshacer: el `mo uninstall` real y los borrados con `permanent:true`. También necesita el interruptor de limpieza de arriba; además, una desinstalación se cancela si mo no coincide exactamente con las apps solicitadas."; + +/* ===== Uninstall pre-flight verification ===== */ +"Uninstall aborted" = "Desinstalación cancelada"; +"%1$@ would also remove: %2$@" = "%1$@ también eliminaría: %2$@"; +"%1$@ did not match: %2$@" = "%1$@ no coincidió con: %2$@"; +"The engine" = "El motor"; +"mo" = "mo"; +"The dry run's output wasn't in a format Burrow can confirm a matched set from, so nothing was removed." = "La salida de la simulación no tenía un formato con el que Burrow pueda confirmar el conjunto seleccionado, así que no se eliminó nada."; +"The engine refused the dry run, so nothing was removed: %@" = "El motor rechazó la simulación, así que no se eliminó nada: %@"; +"The engine matched no installed app for: %@" = "El motor no encontró ninguna app instalada para: %@"; +"“%1$@” resolves to %2$d applications (%3$@), so the engine refuses to act on it. Remove them one at a time." = "«%1$@» corresponde a %2$d aplicaciones (%3$@), así que el motor se niega a actuar. Elimínalas de una en una."; +"The engine resolved %1$d applications for %2$d selected, so the sets don't line up." = "El motor encontró %1$d aplicaciones para %2$d seleccionadas, así que los conjuntos no cuadran."; +"The engine won't remove %1$@: %2$@" = "El motor no eliminará %1$@: %2$@"; +"Needs an administrator: %@. Burrow doesn't elevate this run, so it may fail on the app itself." = "Requiere un administrador: %@. Burrow no eleva los permisos en esta ejecución, así que puede fallar con la app en sí."; +"one of these apps" = "una de estas apps"; +"Homebrew removes %1$@: `%2$@`. `--zap` also deletes configuration and data the cask declares, which the preview can't list." = "Homebrew elimina %1$@: `%2$@`. `--zap` borra además la configuración y los datos que declara el cask, que la vista previa no puede enumerar."; +"aborted — nothing removed" = "cancelado: no se eliminó nada"; +"The engine reported: %@" = "El motor informó: %@"; +"uninstall failed" = "la desinstalación falló"; +"Uninstall failed" = "La desinstalación falló"; +"The engine reported a failure with no error output. Nothing was removed." = "El motor informó de un fallo sin ningún mensaje de error. No se eliminó nada."; +"OK" = "OK"; + +/* ===== Uninstall outcomes (per app: removed / partial / refused) ===== */ +"Uninstall didn't finish" = "La desinstalación no terminó"; +"Uninstall finished partly" = "La desinstalación se completó solo en parte"; +"Uninstall finished" = "Desinstalación completada"; +"%@ — the engine refused to remove the application." = "%@: el motor se negó a eliminar la aplicación."; +"%@ — the application could not be removed." = "%@: no se pudo eliminar la aplicación."; +"%@ — the application was removed, but some of its support files were not." = "%@: se eliminó la aplicación, pero no todos sus archivos de apoyo."; +"%@ — the removal finished partly." = "%@: la eliminación se completó solo en parte."; +"Its support files were left alone, so the app is still installed rather than half-removed." = "Sus archivos de apoyo se han dejado intactos, así que la app sigue instalada en lugar de quedar a medio eliminar."; +"Next: %@" = "Siguiente: %@"; + +/* ===== i18n backfill (2026-06): legacy hardcoded strings ===== */ +/* Installer/purge chooser — clean (non-plural) labels */ +"done" = "hecho"; +"failed" = "falló"; +"select none" = "no seleccionar nada"; +"select all" = "seleccionar todo"; +"Remove" = "Eliminar"; +"Remove (%lld)" = "Eliminar (%lld)"; +"Show all %lld" = "Mostrar los %lld"; +"Showing the %lld biggest of %lld." = "Se muestran los %1$lld mayores de %2$lld."; +"Loading all %lld… (%lld so far)" = "Cargando los %lld… (%lld hasta ahora)"; +/* Elevated-run cancellation (OperationFlow) */ +"authorization cancelled" = "autorización cancelada"; +/* Touch ID for sudo (Settings) */ +"Couldn't update Touch ID for sudo" = "No se pudo cambiar Touch ID para sudo"; +"`mo touchid %@` didn't complete (the password prompt may have been cancelled). You can also run it in a terminal." = "`mo touchid %@` no se completó (puede que se cancelara la petición de contraseña). También puedes ejecutarlo en un terminal."; +/* AI "Explain" lens errors (AIConfig) */ +"No Ollama model is set — pick one in Settings." = "No hay ningún modelo de Ollama definido; elige uno en los ajustes."; +"No model name is set for the OpenAI-compatible API — set one in Settings." = "No hay ningún nombre de modelo para la API compatible con OpenAI; indica uno en los ajustes."; +"The API base URL isn't a valid http(s) URL — check it in Settings." = "La URL base de la API no es una URL http(s) válida; revísala en los ajustes."; + +/* i18n backfill (cont.) — running count + AI settings field labels */ +"%lld running" = "%lld en ejecución"; +"blank for LM Studio" = "en blanco para LM Studio"; + +/* ============================================================ + 2026-06 UI/UX redesign (plans/ui-ux-review-2026-06-10.md) + Onboarding · access banner · Clean review · result hero · + task ticker · Software (uninstall/updates/startup) · Settings + tabs · menu-bar tools · Status/popover · Analyze progress + ============================================================ */ + +/* Onboarding */ +"Step %d of %d" = "Paso %1$d de %2$d"; +"Grant access to get started." = "Concede acceso para empezar."; +"Optional — the safe scan works without it." = "Opcional: el análisis seguro funciona sin ello."; +"Full Disk Access" = "Acceso total al disco"; +"Unlocks the caches and leftovers Burrow needs to reach." = "Desbloquea las cachés y los restos a los que Burrow necesita llegar."; +"Granted in Settings but still gray? macOS applies it at the next launch." = "¿Concedido en Ajustes pero sigue en gris? macOS lo aplica en el siguiente arranque."; +"Relaunch to apply" = "Reiniciar para aplicar"; +"Continue" = "Continuar"; +"Burrow is free." = "Burrow es gratis."; +"Open source, local-first. No license, no trial, no upsell." = "Código abierto y local por diseño. Sin licencia, sin periodo de prueba, sin ventas añadidas."; +"forever" = "para siempre"; +"Every tool unlocked — Clean, Purge, Installers, Software, Optimize, Analyze" = "Todas las herramientas disponibles: Limpieza, Limpieza profunda, Instaladores, Software, Optimización, Análisis"; +"Watches your Mac over weeks, not seconds — 30–90 day history" = "Observa tu Mac durante semanas, no segundos: de 30 a 90 días de historial"; +"Agent-ready — MCP tools for Claude, Cursor, Codex (off until you opt in)" = "Listo para agentes: herramientas MCP para Claude, Cursor y Codex (desactivadas hasta que tú las actives)"; +"Open source — read every line" = "Código abierto: puedes leer cada línea"; +"Open the Burrow repository on GitHub" = "Abrir el repositorio de Burrow en GitHub"; +"Start using Burrow" = "Empezar a usar Burrow"; +"Open Settings" = "Abrir Ajustes"; +"Check" = "Comprobar"; +"Granted" = "Concedido"; +"Not granted" = "No concedido"; + +/* Access banner */ +"Full Disk Access is off" = "El acceso total al disco está desactivado"; +"Without it, Burrow can't reach most system caches." = "Sin él, Burrow no llega a la mayoría de las cachés del sistema."; +"Use Touch ID for admin operations" = "Usar Touch ID para las operaciones de administrador"; +"Install the signed helper and scan, clean, and optimize authenticate with a fingerprint instead of a password." = "Instala el asistente firmado y el análisis, la limpieza y la optimización se autorizarán con la huella en vez de con la contraseña."; +"Set up" = "Configurar"; +"Dismiss" = "Cerrar"; + +/* Clean — result hero & run */ +"Scan your Mac" = "Analizar tu Mac"; +"%@ found" = "%@ encontrados"; +"Scanning, %@ found so far" = "Analizando, %@ encontrados hasta ahora"; +"Stopped before the end — results are partial." = "Se detuvo antes de terminar: los resultados son parciales."; +"Review results" = "Revisar los resultados"; +"Limited scan active · App Support and container caches are skipped" = "Análisis limitado · se omiten las cachés de App Support y de contenedores"; +"Limited scan active. App Support and container caches are skipped. Open for options." = "Análisis limitado en curso. Se omiten las cachés de App Support y de contenedores. Ábrelo para ver las opciones."; +"Why limited?" = "¿Por qué limitado?"; +"Without Full Disk Access, macOS hides most app and container caches from Burrow. Grant it once for full scans — or rerun this scan with administrator rights (one password)." = "Sin acceso total al disco, macOS oculta a Burrow la mayoría de las cachés de apps y contenedores. Concédelo una vez para análisis completos, o repite este análisis con permisos de administrador (una contraseña)."; +"Scan with admin" = "Analizar como administrador"; +"This preview is stale" = "Esta vista previa está desfasada"; +"The scan is more than a few minutes old — caches that appeared since wouldn't have been reviewed. Rescan to get current numbers, then clean." = "El análisis tiene más de unos minutos: las cachés aparecidas desde entonces no se han revisado. Vuelve a analizar para tener cifras actuales y después limpia."; +"Couldn't protect deselected items" = "No se pudieron proteger los elementos deseleccionados"; +"Writing the whitelist failed (%@), so the engine would clean everything it found. Nothing was cleaned." = "No se pudo escribir la lista blanca (%@), así que el motor limpiaría todo lo que encontró. No se limpió nada."; +"Move %d items (%@) to the Trash?" = "¿Mover %1$d elementos (%2$@) a la papelera?"; +"They stay recoverable until you empty the Trash. Space frees when it empties; this run won't appear in `mo history`." = "Se pueden recuperar hasta que vacíes la papelera. El espacio se libera al vaciarla, y esta ejecución no aparecerá en `mo history`."; +"Moving caches to Trash" = "Moviendo las cachés a la papelera"; +"%d moved · %d failed" = "%1$d movidos · %2$d con error"; +"Moved %d items (%@) to the Trash." = "Se movieron %1$d elementos (%2$@) a la papelera."; +"Moved %d items; %d were locked or already gone." = "Se movieron %1$d elementos; %2$d estaban bloqueados o ya no existían."; +"Moved to Trash" = "Movidos a la papelera"; +"Freed %@" = "%@ liberados"; +"Cleaned %@" = "%@ limpiados"; +"%@ free now" = "%@ libres ahora"; +"%@ items" = "%@ elementos"; +"Done" = "Listo"; + +/* Clean — review screen */ +"Ready to clean" = "Listo para limpiar"; +"Close %@ to clean another %@ · %d items" = "Cierra %1$@ para limpiar %2$@ más · %3$d elementos"; +"Everything below came from the scan — untick anything you'd rather keep." = "Todo lo de abajo salió del análisis: desmarca lo que prefieras conservar."; +"Back to results" = "Volver a los resultados"; +"Select all" = "Seleccionar todo"; +"Deselect all" = "Deseleccionar todo"; +"%@, %d of %d selected, %@ of %@" = "%1$@, %2$d de %3$d seleccionados, %4$@ de %5$@"; +"Toggle category" = "Mostrar u ocultar la categoría"; +"%d items" = "%d elementos"; +"Safe" = "Seguro"; +"App open" = "App abierta"; +"System busy" = "Sistema ocupado"; +"The scan already excluded unsafe paths — everything here is removable cache data." = "El análisis ya excluyó las rutas poco seguras: todo lo que hay aquí son datos de caché eliminables."; +"This app is running; its cache is locked. Quit the app and rescan to clean it." = "Esta app está en ejecución y su caché está bloqueada. Cierra la app y vuelve a analizar para limpiarla."; +"A system service is using this path right now." = "Un servicio del sistema está usando esta ruta ahora mismo."; +"Always skip this" = "Omitir siempre"; +"Permanently clean · %@" = "Limpiar permanentemente · %@"; +"Move to Trash · %@" = "Mover a la papelera · %@"; +"selected" = "seleccionado"; +"not selected" = "no seleccionado"; +"User essentials" = "Datos del usuario"; +"App caches" = "Cachés de apps"; +"Browsers" = "Navegadores"; +"Cloud & Office" = "Nube y ofimática"; +"Developer tools" = "Herramientas de desarrollo"; +"AI Tools" = "Herramientas de IA"; +"Communication" = "Comunicación"; +"Applications" = "Aplicaciones"; +"Virtualization" = "Virtualización"; +"Application Support" = "Application Support"; +"App leftovers" = "Restos de apps"; +"System-managed caches and logs. Regenerated as macOS needs them." = "Cachés y registros gestionados por el sistema. macOS los vuelve a crear cuando los necesita."; +"App temporary files. Regenerated next launch." = "Archivos temporales de apps. Se recrean en el siguiente arranque."; +"Page caches — sites load a touch slower on first visit." = "Cachés de páginas: los sitios cargarán algo más lento en la primera visita."; +"Build and package caches. First build will be slower." = "Cachés de compilación y de paquetes. La primera compilación será más lenta."; +"Model and tool caches. Re-downloaded on next use." = "Cachés de modelos y herramientas. Se descargan de nuevo al usarlos."; +"Message media caches. Re-fetched when you scroll back." = "Cachés de archivos de mensajería. Se recuperan al volver hacia atrás en la conversación."; +"VM and container caches. Images re-pull on next run." = "Cachés de máquinas virtuales y contenedores. Las imágenes se descargan de nuevo en la siguiente ejecución."; +"Sync caches. Files re-sync from the cloud." = "Cachés de sincronización. Los archivos se vuelven a sincronizar desde la nube."; +"Files from apps that are no longer installed." = "Archivos de apps que ya no están instaladas."; +"Cache files. Regenerated as needed." = "Archivos de caché. Se recrean cuando hace falta."; + +/* Optimize — live ticker */ +"Refreshing…" = "Actualizando…"; +"Previewing…" = "Generando la vista previa…"; +"Working…" = "Trabajando…"; +"Working on %@, %d tasks done" = "Trabajando en %1$@, %2$d tareas completadas"; + +/* Software — uninstall review */ +"Startup" = "Inicio"; +"Last Used" = "Último uso"; +"Refresh" = "Actualizar"; +"Sort by %@" = "Ordenar por %@"; +"ascending" = "ascendente"; +"descending" = "descendente"; +"%d files · %@" = "%1$d archivos · %2$@"; +"Select %@" = "Seleccionar %@"; +"Enumerating files…" = "Enumerando archivos…"; +"Auto selected" = "Seleccionado automáticamente"; +"Needs review" = "Requiere revisión"; +"Not selected by default. Review these before removing." = "No se selecciona por omisión. Revisa estos elementos antes de eliminarlos."; +"Toggle %@ group" = "Mostrar u ocultar el grupo %@"; +"Couldn't enumerate this app's files — there's nothing to review here." = "No se pudieron enumerar los archivos de esta app: no hay nada que revisar aquí."; +"Application" = "Aplicación"; +"App Support" = "App Support"; +"Preferences" = "Preferencias"; +"Container" = "Contenedor"; +"Group Container" = "Contenedor de grupo"; +"Helper" = "Asistente"; +"Login Item" = "Ítem de inicio"; +"Temporary Cache" = "Caché temporal"; +"Other" = "Otros"; +"%@ · 1 app · %@" = "%1$@ · 1 app · %2$@"; +"%d apps · %@" = "%1$d apps · %2$@"; +"Remove %d" = "Eliminar %d"; +"Remove %d app?" = "¿Eliminar %d app?"; +"Remove %d apps?" = "¿Eliminar %d apps?"; +"These move to the Trash — the app itself and the support files it keeps in your Library (containers, caches, preferences, saved state). You can put them back:\n\n%@" = "Esto va a la papelera: la app en sí y los archivos de apoyo que guarda en tu biblioteca (contenedores, cachés, preferencias, estados guardados). Puedes devolverlos a su sitio:\n\n%@"; +"Homebrew removes these by running `brew uninstall --cask --zap`. That doesn't use the Trash, and `--zap` also deletes configuration and data the cask declares — more than the file list can show:\n\n%@" = "Homebrew los elimina ejecutando `brew uninstall --cask --zap`. Eso no pasa por la papelera, y `--zap` borra además la configuración y los datos que declara el cask, más de lo que puede mostrar la lista de archivos:\n\n%@"; +"If an app can't be removed, Burrow leaves its support files alone too, rather than half-removing it." = "Si una app no se puede eliminar, Burrow deja también intactos sus archivos de apoyo en lugar de dejarla a medio eliminar."; +"Skipped — these have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Omitidos: no tienen identificador de paquete, así que Burrow no puede indicarle al motor a qué app se refiere:\n\n%@"; +"Nothing Burrow can remove" = "No hay nada que Burrow pueda eliminar"; +"These have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "No tienen identificador de paquete, así que Burrow no puede indicarle al motor a qué app se refiere:\n\n%@"; +"%d reviewed files" = "%d archivos revisados"; +"Reviewed subsets are trashed by Burrow directly and appear in Burrow's Activity log, not `mo history`." = "Los subconjuntos revisados los envía a la papelera el propio Burrow y aparecen en su registro de actividad, no en `mo history`."; +"Removing reviewed files" = "Eliminando los archivos revisados"; + +/* Software — startup segment */ +"Launch agent" = "Agente de inicio"; +"Launch daemon" = "Daemon de inicio"; +"Unreadable configuration" = "Configuración ilegible"; +"Program is missing" = "Falta el programa"; +"Bundled inside an app; review only" = "Incluido dentro de una app; solo revisión"; +"System-wide; review only" = "De todo el sistema; solo revisión"; +"Yours; remove the file to disable" = "Tuyo; elimina el archivo para desactivarlo"; +"Your launch agents" = "Tus agentes de inicio"; +"System launch agents" = "Agentes de inicio del sistema"; +"System launch daemons" = "Daemons de inicio del sistema"; +"Reading startup items…" = "Leyendo los ítems de inicio…"; +"Search items" = "Buscar ítems"; +"Error" = "Error"; +"Review only — managed by its app or the system." = "Solo revisión: lo gestiona su app o el sistema."; +"Review only" = "Solo revisión"; +"All" = "Todos"; +"Launch agents" = "Agentes de inicio"; +"Launch daemons" = "Daemons de inicio"; +"Problems" = "Problemas"; + +/* Software — updates */ +"App Store" = "App Store"; +"Sparkle" = "Sparkle"; +"Electron" = "Electron"; +"Homebrew" = "Homebrew"; +"Checking update sources…" = "Comprobando las fuentes de actualización…"; +"Sources detected locally — checking versions contacts Apple and vendor servers." = "Fuentes detectadas en local; comprobar las versiones contacta con los servidores de Apple y de los fabricantes."; +"Check for updates" = "Buscar actualizaciones"; +"Check again" = "Comprobar de nuevo"; +"Update all brews" = "Actualizar todos los paquetes de Homebrew"; +"Updates available" = "Hay actualizaciones disponibles"; +"Up to date" = "Actualizado"; +"Not checkable" = "No comprobable"; +"No App Store receipt, Sparkle feed, or known updater inside these bundles." = "En estos paquetes no hay recibo de App Store, ni canal de Sparkle, ni ningún actualizador conocido."; +"Apps with an update mechanism" = "Apps con mecanismo de actualización"; +"active now" = "activa ahora"; +"opened %@" = "abierta %@"; +"never opened" = "nunca abierta"; + +/* Settings — tabs & general */ +"General" = "General"; +"Maintenance" = "Mantenimiento"; +"Menu Bar" = "Barra de menús"; +"Advanced" = "Avanzado"; +"Close settings" = "Cerrar los ajustes"; +"Permissions" = "Permisos"; +"On. Burrow can reach system and app caches." = "Activado. Burrow puede llegar a las cachés del sistema y de las apps."; +"Off. Safe scan in use — most system caches stay out of reach." = "Desactivado. Se usa el análisis seguro: la mayoría de las cachés del sistema quedan fuera de alcance."; +"Startup & window" = "Inicio y ventana"; +"Launch at Login" = "Abrir al iniciar sesión"; +"Starts Burrow quietly at login so sampling and the menu-bar monitor are always on." = "Abre Burrow discretamente al iniciar sesión para que el muestreo y el monitor de la barra de menús estén siempre activos."; +"Hide Dock Icon when window closes" = "Ocultar el icono del Dock al cerrar la ventana"; +"On: Burrow retreats to the menu bar when you close the window. Off: it stays in the Dock. With the menu-bar icon hidden, the Dock icon always stays — otherwise the app would be unreachable." = "Activado: Burrow se repliega a la barra de menús cuando cierras la ventana. Desactivado: se queda en el Dock. Si el icono de la barra de menús está oculto, el del Dock permanece siempre; de lo contrario no habría forma de abrir la app."; +"Skip Intro Screens" = "Omitir las pantallas de bienvenida"; +"Jumps past the tools' idle screens where a read-only preview can start right away (Clean starts its scan when you open the tab)." = "Salta las pantallas de espera de las herramientas cuando una vista previa de solo lectura puede empezar de inmediato (la limpieza inicia su análisis al abrir la pestaña)."; +"About" = "Acerca de"; +"Source on GitHub" = "Código en GitHub"; + +/* Settings — maintenance */ +"Protected Items" = "Elementos protegidos"; +"Paths and glob patterns Mole never cleans — `mo clean` and `mo optimize` skip anything matching them. “Always skip this” in the Clean review writes here too." = "Rutas y patrones glob que Mole nunca limpia: `mo clean` y `mo optimize` omiten todo lo que coincida. «Omitir siempre», en la revisión de la limpieza, también escribe aquí."; +"No protected items yet." = "Todavía no hay elementos protegidos."; +"Add a path or glob pattern" = "Añadir una ruta o un patrón glob"; +"Add" = "Añadir"; +"Remove %@ from protected items" = "Quitar %@ de los elementos protegidos"; +"Cache removal" = "Eliminación de cachés"; +"Removal mode" = "Modo de eliminación"; +"Permanent" = "Permanente"; +"Trash" = "Papelera"; +"Permanent (default): the engine removes caches outright — freed space is real, immediately. Trash: reviewed, ticked paths go to the Trash instead — recoverable, but space frees only when Trash empties, and the run won't appear in `mo history`." = "Permanente (por omisión): el motor elimina las cachés directamente; el espacio se libera de verdad y al instante. Papelera: las rutas revisadas y marcadas van a la papelera; se pueden recuperar, pero el espacio solo se libera al vaciarla y la ejecución no aparecerá en `mo history`."; + +/* Settings — menu bar */ +"Display" = "Presentación"; +"Icon" = "Icono"; +"Metrics" = "Métricas"; +"Metrics shows live CPU and memory next to the mark, refreshed with the sampler." = "«Métricas» muestra la CPU y la memoria en directo junto al símbolo, al ritmo del muestreo."; +"Keyboard shortcuts" = "Atajos de teclado"; +"Keep Screen On" = "Mantener la pantalla encendida"; +"Clean Screen" = "Limpiar la pantalla"; +"System-wide. Click a chip, press a combination with ⌃, ⌥ or ⌘; Esc cancels, × clears." = "Para todo el sistema. Haz clic en una etiqueta y pulsa una combinación con ⌃, ⌥ o ⌘; Esc cancela y × borra."; +"Block keys while wiping" = "Bloquear las teclas mientras limpias"; +"Accessibility" = "Accesibilidad"; +"Needed to swallow key presses while you wipe. Esc always exits." = "Necesario para absorber las pulsaciones mientras limpias la pantalla. Esc siempre permite salir."; +"Off: Clean Screen still works, keys just aren't blocked. Esc always exits either way." = "Desactivado: «Limpiar la pantalla» sigue funcionando, solo que las teclas no se bloquean. En ambos casos, Esc permite salir."; +"Press keys…" = "Pulsa las teclas…"; +"Record" = "Grabar"; +"Record shortcut" = "Grabar el atajo"; +"Clear shortcut" = "Borrar el atajo"; +"None" = "Ninguno"; + +/* Menu-bar tools */ +"15 minutes" = "15 minutos"; +"30 minutes" = "30 minutos"; +"1 hour" = "1 hora"; +"2 hours" = "2 horas"; +"Until turned off" = "Hasta que se desactive"; +"Turn Off" = "Desactivar"; +"Check for Updates…" = "Buscar actualizaciones…"; +"Couldn't check for updates" = "No se pudieron buscar actualizaciones"; +"GitHub didn't answer. Try again later, or open the releases page." = "GitHub no respondió. Vuelve a intentarlo más tarde o abre la página de versiones."; +"Update available" = "Actualización disponible"; +"Burrow %@ is available (you have %@). Update with `brew upgrade --cask burrow`, or open the release page." = "Burrow %1$@ ya está disponible (tienes %2$@). Actualiza con `brew upgrade --cask burrow` o abre la página de la versión."; +"Burrow %@ is available (you have %@). Download it from the release page." = "Burrow %1$@ ya está disponible (tienes %2$@). Descárgalo desde la página de la versión."; +"You're up to date" = "Estás al día"; +"Burrow %@ is the latest release." = "Burrow %@ es la última versión."; +"Open Release Page" = "Abrir la página de la versión"; +"Engine: %@" = "Motor: %@"; +"not found" = "no encontrado"; +"Releases" = "Versiones"; +"What telemetry is collected" = "Qué datos de telemetría se recogen"; +"Licenses" = "Licencias"; +"Wipe away — press Esc when you're done." = "Limpia con calma; pulsa Esc cuando termines."; + +/* Status dashboard */ +"%d fans" = "%d ventiladores"; +"macOS manages speed" = "macOS gestiona la velocidad"; +"No fan data on this Mac" = "No hay datos de ventiladores en este Mac"; +"Fan" = "Ventilador"; +"%d%% Health" = "%d%% de salud"; +"%d cyc" = "%d ciclos"; +"Mac" = "Mac"; +"%d percent" = "%d por ciento"; +"PWR" = "POT"; +"Energy billed since launch (mWh)" = "Energía consumida desde el arranque (mWh)"; +"Actions for %@" = "Acciones para %@"; +"Pin" = "Fijar"; +"Unpin" = "Dejar de fijar"; +"Copy name" = "Copiar el nombre"; +"Copy PID" = "Copiar el PID"; +"Quit…" = "Salir…"; +"Force Kill…" = "Forzar el cierre…"; +"Force kill %@?" = "¿Forzar el cierre de %@?"; +"Quit %@?" = "¿Cerrar %@?"; +"SIGKILL ends it immediately — unsaved work in this process is lost." = "SIGKILL lo termina de inmediato: se pierde todo el trabajo sin guardar de ese proceso."; +"Sends a polite quit (SIGTERM). The process may save and exit, or ignore it." = "Envía una petición de cierre amable (SIGTERM). El proceso puede guardar y salir, o ignorarla."; +"Force Kill" = "Forzar el cierre"; +"Quit Process" = "Cerrar el proceso"; + +/* Menu-bar popover */ +"%@ free" = "%@ libres"; +"Health %d. Open Burrow." = "Salud %d. Abrir Burrow."; +"up %@" = "activo %@"; +"%@ used · %.0f%%" = "%@ usados · %.0f%%"; +"No fan data" = "Sin datos de ventiladores"; +"Top drain — %@ · avg %.0f%% CPU over the last hour" = "Mayor consumo: %@ · %.0f%% de CPU de media en la última hora"; +"Stay Awake" = "Mantener despierto"; +"Wipe" = "Limpiar"; +"Eject" = "Expulsar"; +"on" = "activado"; +"Ejecting external volumes" = "Expulsando los volúmenes externos"; +"%d ejected · %d busy" = "%1$d expulsados · %2$d ocupados"; +"%@ cleaned · %d uninstalled · %d optimized" = "%1$@ limpiados · %2$d desinstaladas · %3$d optimizaciones"; +"Clean Watch" = "Seguimiento de la limpieza"; + +/* Analyze progress */ +"Mapping your folders" = "Cartografiando tus carpetas"; +"Measuring…" = "Midiendo…"; +"Scanning %@, %d of %d" = "Analizando %1$@, %2$d de %3$d"; +"Scanning" = "Analizando"; + +/* ===== Uninstall pre-flight: identity of the resolved app ===== */ +"“%@” isn't an identifier that names one app — it resolves to whichever app the engine happens to match first, so nothing was removed. Use the app's bundle id or its exact name." = "«%@» no es un identificador que designe una sola app: corresponde a la primera que encuentre el motor, así que no se eliminó nada. Usa el identificador de paquete de la app o su nombre exacto."; +"The engine didn't say which application “%@” resolves to, so Burrow can't confirm it's the right one and nothing was removed." = "El motor no indicó a qué aplicación corresponde «%@», así que Burrow no puede confirmar que sea la correcta y no se eliminó nada."; +"The engine resolved %@ twice, so the run wouldn't act on the set it reported." = "El motor resolvió %@ dos veces, así que la ejecución no actuaría sobre el conjunto que informó."; +"“%1$@” isn't %2$@'s name or bundle id — the engine matched it by substring, so it may not be the app you meant. Nothing was removed; ask for it by name: %3$@." = "«%1$@» no es el nombre ni el identificador de paquete de %2$@: el motor lo encontró por coincidencia parcial, así que puede no ser la app que querías. No se eliminó nada; indícala por su nombre: %3$@."; +"The engine resolved an argument Burrow didn't send (“%@”), so nothing was removed." = "El motor resolvió un argumento que Burrow no envió («%@»), así que no se eliminó nada."; +"“%1$@” resolves to %2$@ (%3$@), not the %4$@ you picked (%5$@), so nothing was removed." = "«%1$@» corresponde a %2$@ (%3$@), no a %4$@ (%5$@) que elegiste, así que no se eliminó nada."; +"“%1$@” resolves to an app whose bundle id is %2$@, not the %3$@ you picked, so nothing was removed." = "«%1$@» corresponde a una app cuyo identificador de paquete es %2$@, no %3$@ que elegiste, así que no se eliminó nada."; + +/* ===== Uninstall: the plan disagrees with the confirm sheet ===== */ +"This isn't quite what Burrow just told you" = "Esto no coincide del todo con lo que Burrow acaba de decirte"; +"Remove anyway" = "Eliminar de todos modos"; +"cancelled — nothing removed" = "cancelado: no se eliminó nada"; +"Homebrew removes these after all, with `brew uninstall --cask --zap` — that doesn't use the Trash, so you can't put them back: %@" = "Al final los elimina Homebrew, con `brew uninstall --cask --zap`: eso no pasa por la papelera, así que no podrás recuperarlos: %@"; +"These aren't Homebrew's after all — Burrow moves them to the Trash itself: %@" = "Al final no son de Homebrew: Burrow los mueve él mismo a la papelera: %@"; + +/* ===== Uninstall review: what Burrow may not remove by hand ===== */ +"Homebrew installed %1$@ — it has to be removed with `brew uninstall --cask --zap %2$@`. Trashing the app on its own would leave Homebrew still believing it's installed." = "%1$@ lo instaló Homebrew, así que hay que eliminarlo con `brew uninstall --cask --zap %2$@`. Mover solo la app a la papelera dejaría a Homebrew creyendo que sigue instalada."; +"Burrow won't remove these itself" = "Burrow no eliminará estas por su cuenta"; +"These stay installed — only the reviewed support files move to the Trash, and you can put them back:\n\n%@" = "Estas siguen instaladas: solo van a la papelera los archivos de apoyo revisados, y puedes devolverlos a su sitio:\n\n%@"; +"Remove data from %d app?" = "¿Eliminar los datos de %d app?"; +"Remove data from %d apps?" = "¿Eliminar los datos de %d apps?"; diff --git a/macos/Resources/fr.lproj/Localizable.strings b/macos/Resources/fr.lproj/Localizable.strings new file mode 100644 index 00000000..ab0e11e7 --- /dev/null +++ b/macos/Resources/fr.lproj/Localizable.strings @@ -0,0 +1,869 @@ +/* Tools */ +"clean" = "Nettoyage"; +"apps" = "Logiciels"; +"optimize" = "Optimisation"; +"analyze" = "Analyse"; +"status" = "État"; +"Clean" = "Nettoyage"; +"Software" = "Logiciels"; +"Optimize" = "Optimisation"; +"Analyze" = "Analyse"; +"Status" = "État"; +"Settings" = "Réglages"; +"History" = "Historique"; +"Fresh air through old tunnels." = "De l'air frais dans les vieux tunnels."; +"Shed what you've outgrown." = "Débarrasse-toi de ce qui ne sert plus."; +"Small turns, a smoother run." = "Quelques réglages, et tout tourne mieux."; +"Map every chamber below." = "Cartographie chaque salle en dessous."; +"Every pulse of the den." = "Chaque battement du terrier."; + +/* Shared */ +"Burrow" = "Burrow"; +"Couldn't open Burrow's history database" = "Impossible d'ouvrir la base de données d'historique de Burrow"; +"%@\n\nThe app will quit." = "%@\n\nL'app va quitter."; +"Mole CLI (`mo`) not found on PATH." = "Mole CLI (`mo`) est introuvable dans le PATH."; +"mo analyze exited %d: %@" = "mo analyze s'est terminé avec le code %d : %@"; +"Couldn't parse mo analyze output: %@" = "Impossible d'analyser la sortie de mo analyze : %@"; +"CPU" = "Processeur"; +"GPU" = "GPU"; +"Memory" = "Mémoire"; +"Network" = "Réseau"; +"Disk" = "Disque"; +"Battery" = "Batterie"; +"Power" = "Alimentation"; +"Health" = "État"; +"Activity" = "Activité"; +"Top processes" = "Principaux processus"; +"Open Burrow" = "Ouvrir Burrow"; +"Preview" = "Aperçu"; +"Cancel" = "Annuler"; +"Failed: %@" = "Échec : %@"; +"%d items · %@" = "%d éléments · %@"; +"%@ in %d items" = "%1$@ dans %2$d éléments"; +"Scanning…" = "Analyse en cours…"; +"Home" = "Accueil"; +"Homebrew (`brew`) not found on this Mac." = "Homebrew (`brew`) est introuvable sur ce Mac."; +"formula" = "formula"; +"cask" = "cask"; + +/* Status and HUD */ +"Waiting for the first sample…" = "En attente de la première mesure…"; +"Burrow runs `mo status --json` on a timer; the first row lands within a tick." = "Burrow exécute `mo status --json` à intervalle régulier ; la première ligne arrive au prochain cycle."; +"%d cores" = "%d cœurs"; +"load %.2f · %.2f · %.2f" = "charge %.2f · %.2f · %.2f"; +"%.1f / %.1f GB · swap %.1f GB" = "%.1f / %.1f Go · swap %.1f Go"; +"normal" = "normal"; +"warning" = "avertissement"; +"Good" = "Bon"; +"Excellent" = "Excellent"; +"Fair" = "Moyen"; +"Poor" = "Médiocre"; +"Critical" = "Critique"; +"All checks passed" = "Toutes les vérifications sont passées"; +"up %@ · since %@" = "actif depuis %@ · depuis %@"; +"%@ · %@ · up %@" = "%@ · %@ · actif depuis %@"; +"GB free" = "Go libres"; +"%.0f%% used · R %.0f · W %.0f MB/s" = "%.0f%% utilisé · L %.0f · É %.0f Mo/s"; +"AC Power" = "Secteur"; +"charging" = "en charge"; +"%@ left" = "%@ restant"; +"%@ left · %d cyc · %d%% cap" = "%@ restant · %d cycles · %d%% de capacité"; +"NAME (%d)" = "NOM (%d)"; +"PID" = "PID"; +"MEM" = "MÉM"; +"↓ %d ↑ %d KB/s" = "↓ %d ↑ %d Ko/s"; +"%.0f%% used" = "%.0f%% utilisé"; +"%ds ago" = "il y a %d s"; +"no samples yet" = "aucune mesure pour l'instant"; + +/* Clean */ +"Clean Now" = "Nettoyer maintenant"; +"Cleaned" = "Nettoyé"; +"Freed up to %@ · %@ items" = "Jusqu'à %@ libérés · %@ éléments"; +"Re-scan" = "Analyser à nouveau"; +"Clean for real" = "Nettoyer pour de bon"; +"to free" = "à libérer"; +"· %@ items · %@ categories" = "· %@ éléments · %@ catégories"; +"Scanning your Mac…" = "Analyse de ton Mac…"; +"Cleaning… don't quit." = "Nettoyage en cours… ne quitte pas."; +"Preview — review, then clean for real." = "Aperçu — vérifie, puis nettoie pour de bon."; +"Done — caches cleared." = "Terminé — caches vidés."; +"Scanning caches" = "Analyse des caches"; +"Cleaning caches" = "Nettoyage des caches"; +"Clean caches for real?" = "Nettoyer les caches pour de bon ?"; +"Burrow will run `mo clean` with administrator rights. Cache files are removed permanently; Mole's whitelist and safety rules still apply." = "Burrow va exécuter `mo clean` avec les droits d'administrateur. Les fichiers de cache sont supprimés définitivement ; la liste blanche et les règles de sécurité de Mole restent appliquées."; + +/* Optimize */ +"Run again" = "Relancer"; +"Maintenance complete" = "Maintenance terminée"; +"%d areas refreshed" = "Zones rafraîchies : %d"; +"Optimizing" = "Optimisation en cours"; +"Optimize preview" = "Aperçu de l'optimisation"; +"Previewing maintenance…" = "Aperçu de la maintenance…"; +"Running maintenance…" = "Maintenance en cours…"; +"Maintenance complete." = "Maintenance terminée."; +"Preview complete." = "Aperçu terminé."; + +/* Task reports from mo */ +"Summary" = "Résumé"; +"Performance Diagnosis" = "Diagnostic des performances"; +"DNS & Spotlight Check" = "Vérification DNS et Spotlight"; +"Finder Cache Refresh" = "Rafraîchissement du cache du Finder"; +"App State Cleanup" = "Nettoyage des états enregistrés"; +"Broken Config Repair" = "Réparation des configurations cassées"; +"Network Cache Refresh" = "Rafraîchissement du cache réseau"; +"Database Optimization" = "Optimisation des bases de données"; +"LaunchServices Repair" = "Réparation de LaunchServices"; +"Dock Refresh" = "Rafraîchissement du Dock"; +"Prevent Finder .DS_Store" = "Empêcher les fichiers .DS_Store"; +"Memory Optimization" = "Optimisation de la mémoire"; +"Network Stack Refresh" = "Rafraîchissement de la pile réseau"; +"Permission Repair" = "Réparation des autorisations"; +"Spotlight Optimization" = "Optimisation de Spotlight"; +"Spotlight Orphan Rules" = "Règles Spotlight orphelines"; +"Periodic Maintenance" = "Maintenance périodique"; +"Shared File Lists" = "Listes de fichiers partagées"; +"Disk Health" = "Santé du disque"; +"Login Items" = "Ouverture de session"; +"Quarantine Database Cleanup" = "Nettoyage de la base de quarantaine"; +"Launch Agents Cleanup" = "Nettoyage des agents de lancement"; +"Notifications" = "Notifications"; +"Usage Data" = "Données d'utilisation"; +"User Essentials" = "Données personnelles"; +"App Caches" = "Caches d'apps"; +"System Caches" = "Caches système"; +"Developer Caches" = "Caches de développement"; +"Browser Caches" = "Caches de navigateurs"; +"Logs" = "Journaux"; +"DRY RUN MODE, No files will be modified" = "MODE SIMULATION — aucun fichier ne sera modifié"; +"Likely bottleneck: %@" = "Goulot d'étranglement probable : %@"; +"Gatekeeper and code-signature assessment activity is elevated." = "Gatekeeper vérifie un nombre inhabituel de signatures de code."; +"Gatekeeper status: assessments enabled" = "État de Gatekeeper : vérifications activées"; +"Only system-managed CoreSimulator images are mounted, informational only, not a detach target" = "Seules des images CoreSimulator gérées par le système sont montées — information seulement, rien à éjecter"; +"DNS cache flushed" = "Cache DNS vidé"; +"Spotlight index verified" = "Index Spotlight vérifié"; +"QuickLook thumbnails refreshed" = "Vignettes QuickLook rafraîchies"; +"Icon services cache rebuilt" = "Cache des services d'icônes reconstruit"; +"App saved states optimized" = "États enregistrés des apps optimisés"; +"All preference files valid" = "Tous les fichiers de préférences sont valides"; +"DNS cache already refreshed" = "Le cache DNS était déjà à jour"; +"mDNSResponder already restarted" = "mDNSResponder avait déjà été redémarré"; +"All databases already optimized" = "Toutes les bases de données étaient déjà optimisées"; +"LaunchServices repaired" = "LaunchServices réparé"; +"File associations refreshed" = "Associations de fichiers rafraîchies"; +"Dock refreshed" = "Dock rafraîchi"; +".DS_Store prevention enabled on network & USB volumes" = "Création des .DS_Store désactivée sur les volumes réseau et USB"; +"Inactive memory released" = "Mémoire inactive libérée"; +"System responsiveness improved" = "Réactivité du système améliorée"; +"Network routing table refreshed" = "Table de routage réseau rafraîchie"; +"ARP cache cleared" = "Cache ARP vidé"; +"User directory permissions repaired" = "Autorisations du dossier utilisateur réparées"; +"User directory permissions already optimal" = "Les autorisations du dossier utilisateur étaient déjà optimales"; +"File access issues resolved" = "Problèmes d'accès aux fichiers résolus"; +"Spotlight index already optimal" = "L'index Spotlight était déjà optimal"; +"Spotlight search rules already clean" = "Les règles de recherche Spotlight étaient déjà propres"; +"Periodic maintenance skipped (not available on this macOS version)" = "Maintenance périodique ignorée (indisponible sur cette version de macOS)"; +"Shared file lists all healthy" = "Toutes les listes de fichiers partagées sont saines"; +"Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)" = "Vérification du disque ignorée (définis MOLE_ENABLE_DISK_VERIFY=1 pour l'activer)"; +"Login items all healthy (%@ checked)" = "Tous les éléments d'ouverture de session sont sains (%@ vérifiés)"; +"Quarantine database already clean" = "La base de quarantaine était déjà propre"; +"Launch Agents all healthy" = "Tous les agents de lancement sont sains"; +"Notification Center database not found" = "Base de données du centre de notifications introuvable"; +"Knowledge database is healthy (%@)" = "La base Knowledge est saine (%@)"; +"%@ %@ items, %@ dry" = "%@ %@ éléments, %@ à nettoyer"; +"%@ %@ old items, %@ dry" = "%@ %@ anciens éléments, %@ à nettoyer"; +"%@, %@ dry" = "%@, %@ à nettoyer"; +"User app cache" = "Cache d'app utilisateur"; +"User app logs" = "Journaux d'app utilisateur"; +"Darwin user cache files" = "Fichiers de cache utilisateur Darwin"; +"Media analysis cache" = "Cache d'analyse des médias"; +"Media analysis temp files" = "Fichiers temporaires d'analyse des médias"; +"Wallpaper agent cache" = "Cache de l'agent de fond d'écran"; +"Trash · already empty" = "Corbeille · déjà vide"; +"System caches need sudo, run sudo -v && mo clean --dry-run for full preview" = "Les caches système nécessitent sudo ; lance sudo -v && mo clean --dry-run pour un aperçu complet"; +"Dry Run Mode, Preview only, no deletions" = "Mode simulation — aperçu seulement, aucune suppression"; + +/* Analyze */ +"Reveal in Finder" = "Afficher dans le Finder"; +"Open here" = "Ouvrir ici"; +"Analyzing %@" = "Analyse de %@"; +"scan failed" = "échec de l'analyse"; + +/* Software */ +"Size" = "Taille"; +"Name" = "Nom"; +"Recent" = "Récent"; +"Source" = "Source"; +"Uninstall" = "Désinstallation"; +"Updates" = "Mises à jour"; +"Search apps" = "Rechercher des apps"; +"Reading installed apps…" = "Lecture des apps installées…"; +"%d apps" = "%d apps"; +"%d selected · %@" = "%d sélectionnés · %@"; +"Uninstall (%d)" = "Désinstaller (%d)"; +"Uninstall %d app?" = "Désinstaller %d app ?"; +"Uninstall %d apps?" = "Désinstaller %d apps ?"; +"Move to Trash" = "Placer dans la corbeille"; +"Checking Homebrew…" = "Vérification de Homebrew…"; +"Everything's up to date" = "Tout est à jour"; +"Homebrew formulae & casks" = "Formulae et casks Homebrew"; +"%d update" = "%d mise à jour"; +"%d updates" = "%d mises à jour"; +"Update all" = "Tout mettre à jour"; +"Updating…" = "Mise à jour…"; +"Update" = "Mettre à jour"; + +/* Settings */ +"Storage" = "Stockage"; +"Currently using" = "Utilisé actuellement"; +"Last maintenance" = "Dernière maintenance"; +"Run maintenance now" = "Lancer la maintenance"; +"History lives at ~/Library/Application Support/Burrow/burrow.db. Rows past the retention window are pruned hourly." = "L'historique se trouve dans ~/Library/Application Support/Burrow/burrow.db. Les lignes hors de la période de conservation sont supprimées toutes les heures."; +"History retention" = "Conservation de l'historique"; +"Keep history for" = "Conserver l'historique pendant"; +"1 day" = "1 jour"; +"7 days" = "7 jours"; +"14 days" = "14 jours"; +"30 days" = "30 jours"; +"90 days" = "90 jours"; +"180 days" = "180 jours"; +"1 year" = "1 an"; +"Vacuum DB after large prunes" = "Compacter la base après les grosses suppressions"; +"Sampling" = "Échantillonnage"; +"Sample every" = "Mesurer toutes les"; +"5 sec" = "5 s"; +"15 sec" = "15 s"; +"30 sec" = "30 s"; +"60 sec" = "60 s"; +"2 min" = "2 min"; +"5 min" = "5 min"; +"Burrow runs `mo status --json` at this cadence. 60 s is plenty for charts; tighter intervals give finer detail at the cost of more subprocess churn." = "Burrow exécute `mo status --json` à ce rythme. 60 s suffisent largement pour les graphiques ; des intervalles plus courts donnent plus de détail, au prix de davantage de sous-processus."; +"MCP query server" = "Serveur de requêtes MCP"; +"Enable MCP query server" = "Activer le serveur de requêtes MCP"; +"Endpoint" = "Point de terminaison"; +"Toggle + port changes take effect after a relaunch. Exposes /health, /info, /snapshot, /metrics over localhost, plus the `Burrow --mcp` stdio server for Claude Code." = "L'interrupteur et les changements de port prennent effet après un redémarrage. Expose /health, /info, /snapshot et /metrics sur localhost, ainsi que le serveur stdio `Burrow --mcp` pour Claude Code."; +"%ds ago · pruned %d rows" = "il y a %1$d s · %2$d lignes supprimées"; +"not yet run" = "jamais exécutée"; + +/* History */ +"CPU usage" = "Utilisation du processeur"; +"usage" = "utilisation"; +"CPU load" = "Charge processeur"; +"1m avg" = "moy. 1 min"; +"load1" = "load1"; +"% used" = "% utilisé"; +"used" = "utilisé"; +"Disk I/O" = "E/S disque"; +"MB/s" = "Mo/s"; +"read" = "lecture"; +"write" = "écriture"; +"rx" = "rx"; +"tx" = "tx"; +"Thermal" = "Température"; +"cpu" = "processeur"; +"gpu" = "gpu"; +"Health score" = "Indice de santé"; +"0–100" = "0–100"; +"No samples in this window" = "Aucune mesure sur cette période"; +"peak across window" = "pic sur la période"; +"No processes recorded" = "Aucun processus enregistré"; +"%d samples" = "%d mesures"; +"· latest %ds ago" = "· dernière il y a %d s"; + +/* Menus and alerts */ +"About Burrow" = "À propos de Burrow"; +"Settings…" = "Réglages…"; +"Hide Burrow" = "Masquer Burrow"; +"Quit Burrow" = "Quitter Burrow"; +"Edit" = "Édition"; +"Undo" = "Annuler"; +"Redo" = "Rétablir"; +"Cut" = "Couper"; +"Copy" = "Copier"; +"Paste" = "Coller"; +"Select All" = "Tout sélectionner"; +"Window" = "Fenêtre"; +"Minimize" = "Réduire"; +"Close" = "Fermer"; +"Mole CLI not found" = "Mole CLI introuvable"; + +/* Home (Overview / History / Activity / Report) + Explain */ +"Overview" = "Vue d'ensemble"; +"Report" = "Rapport"; +"Doctor" = "Diagnostic"; +"Diagnostics" = "Données de diagnostic"; +"Dev hygiene" = "Hygiène de développement"; +"No developer caches found." = "Aucun cache de développement trouvé."; +"Clear" = "Vider"; +"Move this cache to the Trash?" = "Placer ce cache dans la corbeille ?"; +"ports" = "ports"; +"Ports" = "Ports"; +"Listening ports" = "Ports en écoute"; +"See who's listening." = "Vois qui écoute."; +"Quit this process?" = "Quitter ce processus ?"; +"tuneup" = "Mise au point"; +"Tune-Up" = "Mise au point"; +"One pass, a tidier den." = "Un passage, et le terrier est rangé."; +"Safe to run" = "Sans risque"; +"Needs review" = "À vérifier"; +"Run safe set" = "Lancer les actions sûres"; +"Clear %@ cache" = "Vider le cache de %@"; +"Review startup item: %@" = "Vérifier l'élément d'ouverture : %@"; +"Nothing to tune up — you're clean." = "Rien à régler — tout est propre."; +"restore" = "Restauration"; +"Restore" = "Restaurer"; +"Put back what the last clean moved." = "Remets en place ce que le dernier nettoyage a déplacé."; +"Restore last cleanup" = "Restaurer le dernier nettoyage"; +"Only Trash-based removals can be restored — cache deletions are permanent." = "Seuls les éléments passés par la corbeille peuvent être restaurés — les caches supprimés le sont définitivement."; +"No restorable items found." = "Aucun élément restaurable."; +"Top processes in selection" = "Principaux processus de la sélection"; +"No process samples in that window." = "Aucune mesure de processus sur cette période."; +"Full in ~%@" = "Plein dans ~%@"; +"%d days" = "%d jours"; +"%d weeks" = "%d semaines"; +"%d months" = "%d mois"; +"Uncommitted or unpushed git changes in this repo" = "Modifications git non validées ou non poussées dans ce dépôt"; +"A new startup item appeared" = "Un nouvel élément d'ouverture est apparu"; +"“%@” now launches automatically. If you didn't add it, review it." = "« %@ » se lance désormais automatiquement. Si ce n'est pas toi qui l'as ajouté, vérifie-le."; +"CPU usage is high" = "L'utilisation du processeur est élevée"; +"CPU has been pegged at %.0f%%." = "Le processeur est bloqué à %.0f%%."; +"Memory pressure is high" = "La pression mémoire est élevée"; +"Memory is at %.0f%%." = "La mémoire est à %.0f%%."; +"Explain" = "Expliquer"; + +/* Language switch */ +"Language" = "Langue"; +"App language" = "Langue de l'app"; +"System" = "Système"; +"Relaunch to change language?" = "Redémarrer pour changer de langue ?"; +"Burrow needs to relaunch to apply the new language." = "Burrow doit redémarrer pour appliquer la nouvelle langue."; +"Relaunch Now" = "Redémarrer maintenant"; +"Later" = "Plus tard"; +"A language change takes effect after a relaunch." = "Un changement de langue prend effet après un redémarrage."; + +/* Analyze — move to Trash */ +"Move “%@” to Trash?" = "Placer « %@ » dans la corbeille ?"; +"This moves %@ (%@) to the Trash, where you can restore it." = "%@ (%@) sera placé dans la corbeille, d'où tu pourras le restaurer."; +"this folder" = "ce dossier"; +"this file" = "ce fichier"; +"Couldn't move to Trash" = "Impossible de placer dans la corbeille"; + +/* Settings sections */ +"Engine" = "Moteur"; +"Menu bar" = "Barre des menus"; +"Show menu bar icon" = "Afficher l'icône dans la barre des menus"; + +/* Tools — purge / installer labels + taglines */ +"purge" = "Nettoyage en profondeur"; +"installer" = "Programmes d'installation"; +"Purge" = "Nettoyage en profondeur"; +"Installers" = "Programmes d'installation"; +"Clear the diggings dev work leaves behind." = "Dégage les déblais que laisse le développement."; +"Sweep out the crates you unpacked." = "Balaie les caisses que tu as déballées."; + +/* Common actions / labels */ +"Scan" = "Analyser"; +"Rescan" = "Analyser à nouveau"; +"Back" = "Retour"; +"Stop" = "Arrêter"; +"Stopped." = "Arrêté."; +"Go up" = "Remonter"; +"Fans" = "Ventilateurs"; +"Bluetooth" = "Bluetooth"; +"GPU usage" = "Utilisation du GPU"; +"RAM" = "RAM"; +"Version" = "Version"; +"incomplete" = "incomplet"; +"Reading your Mac…" = "Lecture de ton Mac…"; + +/* Activity (cleanup history) */ +"Recent Mole cleanup sessions" = "Derniers nettoyages Mole"; +"No cleanup history yet" = "Pas encore d'historique de nettoyage"; +"Run a Clean or Optimize and it'll show up here." = "Lance un nettoyage ou une optimisation et cela apparaîtra ici."; + +/* Settings — AI / MCP / server */ +"Burrow engine missing" = "Moteur Burrow manquant"; +"Touch ID for sudo" = "Touch ID pour sudo"; +"Explain (AI) — experimental" = "Expliquer (IA) — expérimental"; +"Ask your AI about your Mac (MCP)" = "Interroge ton IA sur ton Mac (MCP)"; +"Local HTTP query server" = "Serveur de requêtes HTTP local"; +"Enable the Explain lens" = "Activer la fonction Expliquer"; +"Enable HTTP query server" = "Activer le serveur de requêtes HTTP"; +"Let agents run cleanups for real" = "Autoriser les agents à nettoyer pour de bon"; +"Backend" = "Backend"; +"Base URL" = "URL de base"; +"Model" = "Modèle"; +"API key (optional)" = "Clé d'API (facultatif)"; +"Ollama model" = "Modèle Ollama"; +"Local · Ollama" = "Local · Ollama"; +"LM Studio / API" = "LM Studio / API"; +"Read tools" = "Outils de lecture"; +"Cleanup tools" = "Outils de nettoyage"; +"Try asking" = "Essaie de demander"; +"Copy prompt" = "Copier l'invite"; +"Preview what a cleanup would free, then clean it up." = "Montre-moi ce qu'un nettoyage libérerait, puis fais le ménage."; +"Uninstall Slack and remove its leftovers." = "Désinstalle Slack et supprime ses restes."; +"What's my Mac's CPU and memory usage right now?" = "Quelle est l'utilisation processeur et mémoire de mon Mac en ce moment ?"; +"What's taking up space in my home folder?" = "Qu'est-ce qui prend de la place dans mon dossier personnel ?"; +"AI read of one snapshot — it can be wrong, and never acts on its own." = "Lecture par une IA d'un seul instantané — elle peut se tromper et n'agit jamais d'elle-même."; +"Adds an “Explain” button to Status that reads your latest snapshot and explains it in plain English, optionally suggesting Clean/Purge/Installers." = "Ajoute un bouton « Expliquer » à l'onglet État : il lit ton dernier instantané, l'explique simplement et peut suggérer Nettoyage, Nettoyage en profondeur ou Programmes d'installation."; +"Burrow exposes your Mac's recorded history to coding agents — Claude Code, Cursor, Codex, Cline — over MCP. Add the config below, then ask in plain language. The server starts on demand over stdio; there's no port and no always-on listener." = "Burrow expose l'historique enregistré de ton Mac aux agents de code — Claude Code, Cursor, Codex, Cline — via MCP. Ajoute la configuration ci-dessous, puis pose tes questions en langage courant. Le serveur démarre à la demande via stdio ; il n'y a ni port ni service en écoute permanente."; +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` / `uninstall` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Désactivé par défaut. Les agents peuvent toujours lire les mesures et lancer des aperçus en simulation. Une fois activé, un agent peut exécuter un vrai `mo clean` / `optimize` / `uninstall` — mais UNIQUEMENT s'il transmet aussi un indicateur de confirmation explicite, pour qu'une suppression ne soit jamais à une phrase malheureuse près. Désactive-le et les agents redeviennent en lecture seule. Les données restent sur ce Mac."; +"Runs against a local Ollama model — nothing leaves this Mac. Start it with `ollama run `." = "Fonctionne avec un modèle Ollama local — rien ne quitte ce Mac. Lance-le avec `ollama run `."; +"Any OpenAI-compatible server. For LM Studio: load a model, open Developer ▸ Start Server, and leave the key blank — the default URL is already LM Studio's. A hosted endpoint (e.g. OpenAI) needs a key and sends the metrics summary off-device (never file contents)." = "N'importe quel serveur compatible OpenAI. Pour LM Studio : charge un modèle, ouvre Developer ▸ Start Server et laisse la clé vide — l'URL par défaut est déjà celle de LM Studio. Un point de terminaison hébergé (OpenAI, par exemple) exige une clé et envoie le résumé des mesures hors de l'appareil (jamais le contenu des fichiers)."; +"Sparkle checks Burrow's signed update feed after startup settles and about once a day. It asks before downloading or installing anything." = "Sparkle consulte le flux de mises à jour signé de Burrow une fois le démarrage terminé, puis environ une fois par jour. Il demande confirmation avant tout téléchargement ou toute installation."; +"Check for updates automatically" = "Rechercher les mises à jour automatiquement"; +"Check for Updates" = "Rechercher les mises à jour"; +"About Burrow" = "À propos de Burrow"; +"Update didn't complete" = "La mise à jour ne s'est pas terminée"; +"Update external engine" = "Mettre à jour le moteur externe"; +"This source build is using an engine outside Burrow.app, so its own updater remains available." = "Cette version compilée depuis les sources utilise un moteur situé hors de Burrow.app ; son propre outil de mise à jour reste donc disponible."; +"Included with Burrow. Engine updates arrive through signed Burrow releases so the app's Developer ID seal stays valid." = "Inclus avec Burrow. Les mises à jour du moteur arrivent par des versions signées de Burrow, pour que la signature Developer ID de l'app reste valide."; +"The bundled engine is missing. Reinstall Burrow to restore the signed app bundle." = "Le moteur intégré est manquant. Réinstalle Burrow pour restaurer le bundle signé de l'app."; +"External engine is up to date" = "Le moteur externe est à jour"; +"Now on %@." = "Désormais en %@."; +"The external engine updater exited non-zero. Try running `mo update` in a terminal." = "L'outil de mise à jour du moteur externe s'est terminé en erreur. Essaie `mo update` dans un terminal."; +"Disk analysis needs Mole %@ or newer (you have %@). %@" = "L'analyse du disque nécessite Mole %@ ou plus récent (tu as %@). %@"; +"Update Burrow to get the current bundled engine." = "Mets Burrow à jour pour obtenir le moteur intégré actuel."; +"Use Settings › Engine › Update external engine, then try again." = "Va dans Réglages › Moteur › Mettre à jour le moteur externe, puis réessaie."; +"Reinstall Burrow to restore the bundled engine." = "Réinstalle Burrow pour restaurer le moteur intégré."; +"Lets `sudo` and admin prompts accept your fingerprint instead of a password, where macOS supports it. Configured via `mo touchid`; turning it on or off needs your password once." = "Permet à `sudo` et aux demandes d'administrateur d'accepter ton empreinte au lieu d'un mot de passe, là où macOS le prend en charge. Se configure via `mo touchid` ; l'activer ou le désactiver demande ton mot de passe une fois."; +"Authentication" = "Authentification"; +"Bearer token required" = "Jeton Bearer requis"; +"Optional REST surface for dashboards or curl: /health, /info, /snapshot, /metrics over localhost. Every request needs the per-install token; retrieve it locally with `defaults read dev.caezium.Burrow query_auth_token`. Separate from the MCP stdio server above; toggle + port changes take effect after a relaunch." = "Interface REST facultative pour les tableaux de bord ou curl : /health, /info, /snapshot et /metrics sur localhost. Chaque requête exige le jeton propre à cette installation ; récupère-le en local avec `defaults read dev.caezium.Burrow query_auth_token`. Indépendant du serveur stdio MCP ci-dessus ; l'interrupteur et les changements de port prennent effet après un redémarrage."; +"Applies immediately. When off, Burrow shows a Dock icon instead so it stays reachable — a Dock click reopens the window." = "S'applique immédiatement. Si l'option est désactivée, Burrow affiche une icône dans le Dock pour rester accessible — un clic dans le Dock rouvre la fenêtre."; + +/* Onboarding / Full Disk Access */ +"Official builds include the engine inside the signed app. Reinstall Burrow to restore it; source builds can also provide an external `mo` on PATH." = "Les versions officielles intègrent le moteur dans l'app signée. Réinstalle Burrow pour le restaurer ; les versions compilées depuis les sources peuvent aussi fournir un `mo` externe dans le PATH."; +"REINSTALL SIGNED APP" = "RÉINSTALLER L'APP SIGNÉE"; +"View the bundled engine source →" = "Voir le code source du moteur intégré →"; +"The engine is still missing. Finish reinstalling Burrow, then recheck or relaunch the app." = "Le moteur est toujours manquant. Termine la réinstallation de Burrow, puis vérifie à nouveau ou redémarre l'app."; +"Grant Full Disk Access to scan" = "Accorde l'accès complet au disque pour analyser"; +"Skip the macOS permission prompts" = "Éviter les demandes d'autorisation de macOS"; +"Open Full Disk Access settings" = "Ouvrir les réglages d'accès complet au disque"; +"Don't ask again" = "Ne plus demander"; +"Scan anyway" = "Analyser quand même"; +"Scanning system & app caches makes macOS ask once per protected folder. Grant Burrow Full Disk Access to scan smoothly — it only reads sizes through Mole and never opens that data itself." = "L'analyse des caches système et d'apps amène macOS à demander une autorisation par dossier protégé. Accorde à Burrow l'accès complet au disque pour que l'analyse se déroule sans interruption — il ne lit que des tailles via Mole et n'ouvre jamais ces données lui-même."; +"Still blocked? macOS only applies Full Disk Access the next time Burrow launches. Quit and reopen, then scan." = "Toujours bloqué ? macOS n'applique l'accès complet au disque qu'au prochain lancement de Burrow. Quitte, rouvre, puis analyse."; +"Quit" = "Quitter"; + +/* ===== Anonymous usage (telemetry) — Settings section + first-launch consent ===== */ +"Anonymous usage" = "Données d'utilisation anonymes"; +"Share anonymous usage & crash reports" = "Envoyer des données d'utilisation et rapports de plantage anonymes"; +"Share anonymous usage & diagnostics" = "Envoyer des données d'utilisation et de diagnostic anonymes"; +"Sends anonymous product analytics (PostHog) and crash reports (Sentry): a random install id (not tied to you or your hardware), the app + macOS version, CPU type, and which features you use — with sizes and counts bucketed. Never file names, contents, paths, or your metrics. It helps gauge retention and catch crashes. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Envoie des statistiques produit anonymes (PostHog) et des rapports de plantage (Sentry) : un identifiant d'installation aléatoire (sans lien avec toi ni ton matériel), la version de l'app et de macOS, le type de processeur et les fonctions que tu utilises — tailles et décomptes regroupés par tranches. Jamais de noms de fichiers, de contenus, de chemins ni de tes mesures. Cela aide à mesurer la fidélité et à détecter les plantages. Activé par défaut ; désactive-le et les deux s'arrêtent. Liste complète dans TELEMETRY.md."; +"Sends anonymous product analytics (PostHog) plus crash, hang, startup, update, and sampled performance diagnostics (Sentry): random install IDs, app and exact macOS build, CPU type, screens and features used, and fixed-name diagnostic milestones. Never screenshots, screen recordings, your file names, contents, user paths, URLs, or metrics. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Envoie des statistiques produit anonymes (PostHog) ainsi que des diagnostics de plantage, de blocage, de démarrage, de mise à jour et de performance échantillonnée (Sentry) : identifiants d'installation aléatoires, version de l'app et build exact de macOS, type de processeur, écrans consultés et fonctions utilisées, et jalons de diagnostic à noms fixes. Jamais de captures d'écran, d'enregistrements d'écran, de noms de fichiers, de contenus, de chemins utilisateur, d'URL ni de mesures. Activé par défaut ; désactive-le et les deux s'arrêtent. Liste complète dans TELEMETRY.md."; +"Burrow started in compatibility mode" = "Burrow a démarré en mode de compatibilité"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item is disabled on this build, and Burrow will stay available in the Dock. Updating macOS will automatically retry the normal menu bar mode." = "Burrow a détecté que la création de son élément de barre des menus pourrait figer cette version de macOS. Sur cette version, l'élément est désactivé et Burrow reste accessible depuis le Dock. Une mise à jour de macOS réessaiera automatiquement le mode normal."; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item and automatic update checks are paused on this build, and Burrow will stay available in the Dock. Manual update checks remain available. Updating macOS will automatically retry the normal mode." = "Burrow a détecté que la création de son élément de barre des menus pourrait figer cette version de macOS. Sur cette version, l'élément et la recherche automatique de mises à jour sont suspendus, et Burrow reste accessible depuis le Dock. La recherche manuelle reste possible. Une mise à jour de macOS réessaiera automatiquement le mode normal."; +"Burrow paused automatic update checks" = "Burrow a suspendu la recherche automatique de mises à jour"; +"Burrow detected that its automatic updater did not reach a stable state on the previous launch. Automatic checks are paused for this app and macOS build so the same startup problem cannot repeat. You can still check manually; updating Burrow or macOS will retry automatic checks." = "Burrow a détecté que son outil de mise à jour automatique n'avait pas atteint un état stable au lancement précédent. La recherche automatique est suspendue pour cette app et cette version de macOS afin que le même problème de démarrage ne se reproduise pas. Tu peux toujours chercher manuellement ; une mise à jour de Burrow ou de macOS relancera la recherche automatique."; +"Menu bar item paused on this macOS build" = "Élément de barre des menus suspendu sur cette version de macOS"; +"Creating it could freeze system input on this build, so Burrow runs from the Dock instead. It returns automatically once you update macOS." = "Sa création pourrait figer la saisie sur cette version, alors Burrow s'exécute depuis le Dock. Il revient automatiquement après une mise à jour de macOS."; +"Paused on this macOS build. The setting is kept and applies again as soon as Burrow can create the menu bar item safely." = "Suspendu sur cette version de macOS. Le réglage est conservé et s'appliquera de nouveau dès que Burrow pourra créer l'élément de barre des menus sans risque."; +"Copy Diagnostics" = "Copier les données de diagnostic"; +"Share anonymous usage & crash reports?" = "Envoyer des données d'utilisation et rapports de plantage anonymes ?"; +"Helps prioritize fixes: app/OS version, coarse bucketed feature counts, and crash traces. Never files, paths, file contents, or your metrics — the exact list is in TELEMETRY.md. You can change this anytime in Settings → Anonymous usage." = "Aide à prioriser les correctifs : version de l'app et du système, décomptes d'utilisation regroupés par tranches, et traces de plantage. Jamais de fichiers, de chemins, de contenus ni de tes mesures — la liste exacte se trouve dans TELEMETRY.md. Tu peux changer cela à tout moment dans Réglages → Données d'utilisation anonymes."; +"Share" = "Envoyer"; +"Don't Share" = "Ne pas envoyer"; + +/* ===== Agent (MCP) gates ===== */ +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Désactivé par défaut. Les agents peuvent toujours lire les mesures et lancer des aperçus en simulation. Une fois activé, un agent peut exécuter un vrai `mo clean` / `optimize` — mais UNIQUEMENT s'il transmet aussi un indicateur de confirmation explicite, pour qu'une suppression ne soit jamais à une phrase malheureuse près. Désactive-le et les agents redeviennent en lecture seule. Les données restent sur ce Mac."; +"Also allow uninstalls & permanent deletes" = "Autoriser aussi les désinstallations et suppressions définitives"; +"A second key for what the Trash can't undo: real `mo uninstall`, and `permanent:true` deletes. Needs the cleanup switch above too; an uninstall also aborts unless mo matches exactly the requested apps." = "Une seconde clé pour ce que la corbeille ne peut pas annuler : le vrai `mo uninstall` et les suppressions `permanent:true`. Nécessite aussi l'interrupteur de nettoyage ci-dessus ; une désinstallation s'interrompt également si mo ne correspond pas exactement aux apps demandées."; + +/* ===== Uninstall pre-flight verification ===== */ +"Uninstall aborted" = "Désinstallation interrompue"; +"%1$@ would also remove: %2$@" = "%1$@ supprimerait aussi : %2$@"; +"%1$@ did not match: %2$@" = "%1$@ ne correspondait pas à : %2$@"; +"The engine" = "Le moteur"; +"mo" = "mo"; +"The dry run's output wasn't in a format Burrow can confirm a matched set from, so nothing was removed." = "La sortie de la simulation n'était pas dans un format permettant à Burrow de confirmer l'ensemble sélectionné ; rien n'a été supprimé."; +"The engine refused the dry run, so nothing was removed: %@" = "Le moteur a refusé la simulation ; rien n'a été supprimé : %@"; +"The engine matched no installed app for: %@" = "Le moteur n'a trouvé aucune app installée pour : %@"; +"“%1$@” resolves to %2$d applications (%3$@), so the engine refuses to act on it. Remove them one at a time." = "« %1$@ » correspond à %2$d applications (%3$@) ; le moteur refuse donc d'agir. Supprime-les une par une."; +"The engine resolved %1$d applications for %2$d selected, so the sets don't line up." = "Le moteur a trouvé %1$d applications pour %2$d sélectionnées : les ensembles ne concordent pas."; +"The engine won't remove %1$@: %2$@" = "Le moteur ne supprimera pas %1$@ : %2$@"; +"Needs an administrator: %@. Burrow doesn't elevate this run, so it may fail on the app itself." = "Nécessite un administrateur : %@. Burrow n'élève pas les droits pour cette exécution ; la suppression de l'app elle-même peut donc échouer."; +"one of these apps" = "l'une de ces apps"; +"Homebrew removes %1$@: `%2$@`. `--zap` also deletes configuration and data the cask declares, which the preview can't list." = "Homebrew supprime %1$@ : `%2$@`. `--zap` efface aussi la configuration et les données déclarées par le cask, que l'aperçu ne peut pas lister."; +"aborted — nothing removed" = "interrompu — rien supprimé"; +"The engine reported: %@" = "Le moteur a signalé : %@"; +"uninstall failed" = "échec de la désinstallation"; +"Uninstall failed" = "Échec de la désinstallation"; +"The engine reported a failure with no error output. Nothing was removed." = "Le moteur a signalé un échec sans message d'erreur. Rien n'a été supprimé."; +"OK" = "OK"; + +/* ===== Uninstall outcomes (per app: removed / partial / refused) ===== */ +"Uninstall didn't finish" = "La désinstallation ne s'est pas terminée"; +"Uninstall finished partly" = "Désinstallation partiellement terminée"; +"Uninstall finished" = "Désinstallation terminée"; +"%@ — the engine refused to remove the application." = "%@ — le moteur a refusé de supprimer l'application."; +"%@ — the application could not be removed." = "%@ — l'application n'a pas pu être supprimée."; +"%@ — the application was removed, but some of its support files were not." = "%@ — l'application a été supprimée, mais pas tous ses fichiers annexes."; +"%@ — the removal finished partly." = "%@ — la suppression n'est que partiellement terminée."; +"Its support files were left alone, so the app is still installed rather than half-removed." = "Ses fichiers annexes n'ont pas été touchés : l'app reste installée plutôt qu'à moitié supprimée."; +"Next: %@" = "Ensuite : %@"; + +/* ===== i18n backfill (2026-06): legacy hardcoded strings ===== */ +/* Installer/purge chooser — clean (non-plural) labels */ +"done" = "terminé"; +"failed" = "échec"; +"select none" = "tout désélectionner"; +"select all" = "tout sélectionner"; +"Remove" = "Supprimer"; +"Remove (%lld)" = "Supprimer (%lld)"; +"Show all %lld" = "Afficher les %lld"; +"Showing the %lld biggest of %lld." = "Affichage des %1$lld plus gros sur %2$lld."; +"Loading all %lld… (%lld so far)" = "Chargement des %lld… (%lld pour l'instant)"; +/* Elevated-run cancellation (OperationFlow) */ +"authorization cancelled" = "autorisation annulée"; +/* Touch ID for sudo (Settings) */ +"Couldn't update Touch ID for sudo" = "Impossible de modifier Touch ID pour sudo"; +"`mo touchid %@` didn't complete (the password prompt may have been cancelled). You can also run it in a terminal." = "`mo touchid %@` ne s'est pas terminé (la demande de mot de passe a peut-être été annulée). Tu peux aussi l'exécuter dans un terminal."; +/* AI "Explain" lens errors (AIConfig) */ +"No Ollama model is set — pick one in Settings." = "Aucun modèle Ollama n'est défini — choisis-en un dans les réglages."; +"No model name is set for the OpenAI-compatible API — set one in Settings." = "Aucun nom de modèle n'est défini pour l'API compatible OpenAI — indique-en un dans les réglages."; +"The API base URL isn't a valid http(s) URL — check it in Settings." = "L'URL de base de l'API n'est pas une URL http(s) valide — vérifie-la dans les réglages."; + +/* i18n backfill (cont.) — running count + AI settings field labels */ +"%lld running" = "%lld en cours"; +"blank for LM Studio" = "vide pour LM Studio"; + +/* ============================================================ + 2026-06 UI/UX redesign (plans/ui-ux-review-2026-06-10.md) + Onboarding · access banner · Clean review · result hero · + task ticker · Software (uninstall/updates/startup) · Settings + tabs · menu-bar tools · Status/popover · Analyze progress + ============================================================ */ + +/* Onboarding */ +"Step %d of %d" = "Étape %1$d sur %2$d"; +"Grant access to get started." = "Accorde l'accès pour commencer."; +"Optional — the safe scan works without it." = "Facultatif — l'analyse sécurisée fonctionne sans."; +"Full Disk Access" = "Accès complet au disque"; +"Unlocks the caches and leftovers Burrow needs to reach." = "Débloque les caches et les restes auxquels Burrow doit accéder."; +"Granted in Settings but still gray? macOS applies it at the next launch." = "Accordé dans les réglages mais toujours grisé ? macOS ne l'applique qu'au prochain lancement."; +"Relaunch to apply" = "Redémarrer pour appliquer"; +"Continue" = "Continuer"; +"Burrow is free." = "Burrow est gratuit."; +"Open source, local-first. No license, no trial, no upsell." = "Open source, local avant tout. Pas de licence, pas de période d'essai, pas de vente incitative."; +"forever" = "pour toujours"; +"Every tool unlocked — Clean, Purge, Installers, Software, Optimize, Analyze" = "Tous les outils débloqués — Nettoyage, Nettoyage en profondeur, Programmes d'installation, Logiciels, Optimisation, Analyse"; +"Watches your Mac over weeks, not seconds — 30–90 day history" = "Observe ton Mac sur des semaines, pas des secondes — 30 à 90 jours d'historique"; +"Agent-ready — MCP tools for Claude, Cursor, Codex (off until you opt in)" = "Prêt pour les agents — outils MCP pour Claude, Cursor, Codex (désactivés tant que tu ne les actives pas)"; +"Open source — read every line" = "Open source — lis chaque ligne"; +"Open the Burrow repository on GitHub" = "Ouvrir le dépôt Burrow sur GitHub"; +"Start using Burrow" = "Commencer à utiliser Burrow"; +"Open Settings" = "Ouvrir les réglages"; +"Check" = "Vérifier"; +"Granted" = "Accordé"; +"Not granted" = "Non accordé"; + +/* Access banner */ +"Full Disk Access is off" = "L'accès complet au disque est désactivé"; +"Without it, Burrow can't reach most system caches." = "Sans lui, Burrow n'atteint pas la plupart des caches système."; +"Use Touch ID for admin operations" = "Utiliser Touch ID pour les opérations d'administration"; +"Install the signed helper and scan, clean, and optimize authenticate with a fingerprint instead of a password." = "Installe l'assistant signé : l'analyse, le nettoyage et l'optimisation se valident alors par empreinte plutôt que par mot de passe."; +"Set up" = "Configurer"; +"Dismiss" = "Fermer"; + +/* Clean — result hero & run */ +"Scan your Mac" = "Analyser ton Mac"; +"%@ found" = "%@ trouvés"; +"Scanning, %@ found so far" = "Analyse en cours, %@ trouvés pour l'instant"; +"Stopped before the end — results are partial." = "Arrêté avant la fin — les résultats sont partiels."; +"Review results" = "Vérifier les résultats"; +"Limited scan active · App Support and container caches are skipped" = "Analyse limitée · les caches App Support et de conteneurs sont ignorés"; +"Limited scan active. App Support and container caches are skipped. Open for options." = "Analyse limitée en cours. Les caches App Support et de conteneurs sont ignorés. Ouvre pour voir les options."; +"Why limited?" = "Pourquoi limitée ?"; +"Without Full Disk Access, macOS hides most app and container caches from Burrow. Grant it once for full scans — or rerun this scan with administrator rights (one password)." = "Sans accès complet au disque, macOS masque à Burrow la plupart des caches d'apps et de conteneurs. Accorde-le une fois pour des analyses complètes — ou relance cette analyse avec les droits d'administrateur (un mot de passe)."; +"Scan with admin" = "Analyser en administrateur"; +"This preview is stale" = "Cet aperçu n'est plus à jour"; +"The scan is more than a few minutes old — caches that appeared since wouldn't have been reviewed. Rescan to get current numbers, then clean." = "L'analyse date de plus de quelques minutes — les caches apparus depuis n'ont pas été vérifiés. Relance l'analyse pour des chiffres à jour, puis nettoie."; +"Couldn't protect deselected items" = "Impossible de protéger les éléments désélectionnés"; +"Writing the whitelist failed (%@), so the engine would clean everything it found. Nothing was cleaned." = "L'écriture de la liste blanche a échoué (%@) ; le moteur nettoierait donc tout ce qu'il a trouvé. Rien n'a été nettoyé."; +"Move %d items (%@) to the Trash?" = "Placer %1$d éléments (%2$@) dans la corbeille ?"; +"They stay recoverable until you empty the Trash. Space frees when it empties; this run won't appear in `mo history`." = "Ils restent récupérables tant que tu ne vides pas la corbeille. L'espace se libère au vidage, et cette exécution n'apparaîtra pas dans `mo history`."; +"Moving caches to Trash" = "Déplacement des caches vers la corbeille"; +"%d moved · %d failed" = "%1$d déplacés · %2$d en échec"; +"Moved %d items (%@) to the Trash." = "%1$d éléments (%2$@) placés dans la corbeille."; +"Moved %d items; %d were locked or already gone." = "%1$d éléments déplacés ; %2$d étaient verrouillés ou déjà absents."; +"Moved to Trash" = "Placés dans la corbeille"; +"Freed %@" = "%@ libérés"; +"Cleaned %@" = "%@ nettoyés"; +"%@ free now" = "%@ libres maintenant"; +"%@ items" = "%@ éléments"; +"Done" = "Terminé"; + +/* Clean — review screen */ +"Ready to clean" = "Prêt à nettoyer"; +"Close %@ to clean another %@ · %d items" = "Ferme %1$@ pour nettoyer %2$@ de plus · %3$d éléments"; +"Everything below came from the scan — untick anything you'd rather keep." = "Tout ce qui suit vient de l'analyse — décoche ce que tu préfères garder."; +"Back to results" = "Retour aux résultats"; +"Select all" = "Tout sélectionner"; +"Deselect all" = "Tout désélectionner"; +"%@, %d of %d selected, %@ of %@" = "%1$@, %2$d sur %3$d sélectionnés, %4$@ sur %5$@"; +"Toggle category" = "Afficher ou masquer la catégorie"; +"%d items" = "%d éléments"; +"Safe" = "Sûr"; +"App open" = "App ouverte"; +"System busy" = "Système occupé"; +"The scan already excluded unsafe paths — everything here is removable cache data." = "L'analyse a déjà exclu les chemins risqués — tout ce qui est ici est du cache supprimable."; +"This app is running; its cache is locked. Quit the app and rescan to clean it." = "Cette app est en cours d'exécution ; son cache est verrouillé. Quitte l'app et relance l'analyse pour le nettoyer."; +"A system service is using this path right now." = "Un service système utilise ce chemin en ce moment."; +"Always skip this" = "Toujours ignorer"; +"Permanently clean · %@" = "Nettoyer définitivement · %@"; +"Move to Trash · %@" = "Placer dans la corbeille · %@"; +"selected" = "sélectionné"; +"not selected" = "non sélectionné"; +"User essentials" = "Données personnelles"; +"App caches" = "Caches d'apps"; +"Browsers" = "Navigateurs"; +"Cloud & Office" = "Cloud et bureautique"; +"Developer tools" = "Outils de développement"; +"AI Tools" = "Outils d'IA"; +"Communication" = "Communication"; +"Applications" = "Applications"; +"Virtualization" = "Virtualisation"; +"Application Support" = "Application Support"; +"App leftovers" = "Restes d'apps"; +"System-managed caches and logs. Regenerated as macOS needs them." = "Caches et journaux gérés par le système. macOS les recrée selon ses besoins."; +"App temporary files. Regenerated next launch." = "Fichiers temporaires d'apps. Recréés au prochain lancement."; +"Page caches — sites load a touch slower on first visit." = "Caches de pages — les sites se chargent un peu plus lentement à la première visite."; +"Build and package caches. First build will be slower." = "Caches de compilation et de paquets. La première compilation sera plus lente."; +"Model and tool caches. Re-downloaded on next use." = "Caches de modèles et d'outils. Retéléchargés à la prochaine utilisation."; +"Message media caches. Re-fetched when you scroll back." = "Caches de médias de messagerie. Rechargés quand tu remontes dans la conversation."; +"VM and container caches. Images re-pull on next run." = "Caches de machines virtuelles et de conteneurs. Les images seront récupérées à la prochaine exécution."; +"Sync caches. Files re-sync from the cloud." = "Caches de synchronisation. Les fichiers se resynchronisent depuis le cloud."; +"Files from apps that are no longer installed." = "Fichiers d'apps qui ne sont plus installées."; +"Cache files. Regenerated as needed." = "Fichiers de cache. Recréés au besoin."; + +/* Optimize — live ticker */ +"Refreshing…" = "Actualisation…"; +"Previewing…" = "Aperçu en cours…"; +"Working…" = "Traitement…"; +"Working on %@, %d tasks done" = "Traitement de %1$@, %2$d tâches terminées"; + +/* Software — uninstall review */ +"Startup" = "Ouverture"; +"Last Used" = "Dernière utilisation"; +"Refresh" = "Actualiser"; +"Sort by %@" = "Trier par %@"; +"ascending" = "croissant"; +"descending" = "décroissant"; +"%d files · %@" = "%1$d fichiers · %2$@"; +"Select %@" = "Sélectionner %@"; +"Enumerating files…" = "Recensement des fichiers…"; +"Auto selected" = "Sélectionné automatiquement"; +"Needs review" = "À vérifier"; +"Not selected by default. Review these before removing." = "Non sélectionné par défaut. Vérifie ces éléments avant de les supprimer."; +"Toggle %@ group" = "Afficher ou masquer le groupe %@"; +"Couldn't enumerate this app's files — there's nothing to review here." = "Impossible de recenser les fichiers de cette app — il n'y a rien à vérifier ici."; +"Application" = "Application"; +"App Support" = "App Support"; +"Preferences" = "Préférences"; +"Container" = "Conteneur"; +"Group Container" = "Conteneur de groupe"; +"Helper" = "Assistant"; +"Login Item" = "Élément d'ouverture de session"; +"Temporary Cache" = "Cache temporaire"; +"Other" = "Autre"; +"%@ · 1 app · %@" = "%1$@ · 1 app · %2$@"; +"%d apps · %@" = "%1$d apps · %2$@"; +"Remove %d" = "Supprimer %d"; +"Remove %d app?" = "Supprimer %d app ?"; +"Remove %d apps?" = "Supprimer %d apps ?"; +"These move to the Trash — the app itself and the support files it keeps in your Library (containers, caches, preferences, saved state). You can put them back:\n\n%@" = "Ceci part dans la corbeille — l'app elle-même et les fichiers annexes qu'elle garde dans ta bibliothèque (conteneurs, caches, préférences, états enregistrés). Tu peux tout remettre en place :\n\n%@"; +"Homebrew removes these by running `brew uninstall --cask --zap`. That doesn't use the Trash, and `--zap` also deletes configuration and data the cask declares — more than the file list can show:\n\n%@" = "Homebrew les supprime en exécutant `brew uninstall --cask --zap`. Cela ne passe pas par la corbeille, et `--zap` efface aussi la configuration et les données déclarées par le cask — davantage que ce que la liste peut montrer :\n\n%@"; +"If an app can't be removed, Burrow leaves its support files alone too, rather than half-removing it." = "Si une app ne peut pas être supprimée, Burrow laisse aussi ses fichiers annexes intacts plutôt que de la supprimer à moitié."; +"Skipped — these have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Ignorés — ils n'ont pas d'identifiant de bundle, Burrow ne peut donc pas indiquer au moteur de quelle app il s'agit :\n\n%@"; +"Nothing Burrow can remove" = "Rien que Burrow puisse supprimer"; +"These have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Ils n'ont pas d'identifiant de bundle, Burrow ne peut donc pas indiquer au moteur de quelle app il s'agit :\n\n%@"; +"%d reviewed files" = "%d fichiers vérifiés"; +"Reviewed subsets are trashed by Burrow directly and appear in Burrow's Activity log, not `mo history`." = "Les sous-ensembles vérifiés sont mis à la corbeille par Burrow lui-même et apparaissent dans son journal d'activité, pas dans `mo history`."; +"Removing reviewed files" = "Suppression des fichiers vérifiés"; + +/* Software — startup segment */ +"Launch agent" = "Agent de lancement"; +"Launch daemon" = "Démon de lancement"; +"Unreadable configuration" = "Configuration illisible"; +"Program is missing" = "Programme manquant"; +"Bundled inside an app; review only" = "Intégré à une app ; vérification seulement"; +"System-wide; review only" = "À l'échelle du système ; vérification seulement"; +"Yours; remove the file to disable" = "Le tien ; supprime le fichier pour le désactiver"; +"Your launch agents" = "Tes agents de lancement"; +"System launch agents" = "Agents de lancement du système"; +"System launch daemons" = "Démons de lancement du système"; +"Reading startup items…" = "Lecture des éléments d'ouverture…"; +"Search items" = "Rechercher des éléments"; +"Error" = "Erreur"; +"Review only — managed by its app or the system." = "Vérification seulement — géré par son app ou par le système."; +"Review only" = "Vérification seulement"; +"All" = "Tous"; +"Launch agents" = "Agents de lancement"; +"Launch daemons" = "Démons de lancement"; +"Problems" = "Problèmes"; + +/* Software — updates */ +"App Store" = "App Store"; +"Sparkle" = "Sparkle"; +"Electron" = "Electron"; +"Homebrew" = "Homebrew"; +"Checking update sources…" = "Vérification des sources de mise à jour…"; +"Sources detected locally — checking versions contacts Apple and vendor servers." = "Sources détectées localement — la vérification des versions contacte les serveurs d'Apple et des éditeurs."; +"Check for updates" = "Rechercher les mises à jour"; +"Check again" = "Vérifier à nouveau"; +"Update all brews" = "Mettre à jour tous les paquets Homebrew"; +"Updates available" = "Mises à jour disponibles"; +"Up to date" = "À jour"; +"Not checkable" = "Non vérifiable"; +"No App Store receipt, Sparkle feed, or known updater inside these bundles." = "Ni reçu App Store, ni flux Sparkle, ni outil de mise à jour connu dans ces bundles."; +"Apps with an update mechanism" = "Apps dotées d'un mécanisme de mise à jour"; +"active now" = "active maintenant"; +"opened %@" = "ouverte %@"; +"never opened" = "jamais ouverte"; + +/* Settings — tabs & general */ +"General" = "Général"; +"Maintenance" = "Maintenance"; +"Menu Bar" = "Barre des menus"; +"Advanced" = "Avancé"; +"Close settings" = "Fermer les réglages"; +"Permissions" = "Autorisations"; +"On. Burrow can reach system and app caches." = "Activé. Burrow peut atteindre les caches système et d'apps."; +"Off. Safe scan in use — most system caches stay out of reach." = "Désactivé. Analyse sécurisée en cours — la plupart des caches système restent hors de portée."; +"Startup & window" = "Ouverture et fenêtre"; +"Launch at Login" = "Ouvrir à la session"; +"Starts Burrow quietly at login so sampling and the menu-bar monitor are always on." = "Ouvre Burrow discrètement à la session pour que les mesures et la surveillance dans la barre des menus soient toujours actives."; +"Hide Dock Icon when window closes" = "Masquer l'icône du Dock à la fermeture de la fenêtre"; +"On: Burrow retreats to the menu bar when you close the window. Off: it stays in the Dock. With the menu-bar icon hidden, the Dock icon always stays — otherwise the app would be unreachable." = "Activé : Burrow se replie dans la barre des menus quand tu fermes la fenêtre. Désactivé : il reste dans le Dock. Si l'icône de la barre des menus est masquée, celle du Dock reste toujours — sinon l'app deviendrait inaccessible."; +"Skip Intro Screens" = "Passer les écrans d'accueil"; +"Jumps past the tools' idle screens where a read-only preview can start right away (Clean starts its scan when you open the tab)." = "Saute les écrans d'attente des outils lorsqu'un aperçu en lecture seule peut démarrer immédiatement (le nettoyage lance son analyse dès l'ouverture de l'onglet)."; +"About" = "À propos"; +"Source on GitHub" = "Code source sur GitHub"; + +/* Settings — maintenance */ +"Protected Items" = "Éléments protégés"; +"Paths and glob patterns Mole never cleans — `mo clean` and `mo optimize` skip anything matching them. “Always skip this” in the Clean review writes here too." = "Chemins et motifs glob que Mole ne nettoie jamais — `mo clean` et `mo optimize` ignorent tout ce qui y correspond. « Toujours ignorer » dans la vérification du nettoyage écrit également ici."; +"No protected items yet." = "Aucun élément protégé pour l'instant."; +"Add a path or glob pattern" = "Ajouter un chemin ou un motif glob"; +"Add" = "Ajouter"; +"Remove %@ from protected items" = "Retirer %@ des éléments protégés"; +"Cache removal" = "Suppression des caches"; +"Removal mode" = "Mode de suppression"; +"Permanent" = "Définitive"; +"Trash" = "Corbeille"; +"Permanent (default): the engine removes caches outright — freed space is real, immediately. Trash: reviewed, ticked paths go to the Trash instead — recoverable, but space frees only when Trash empties, and the run won't appear in `mo history`." = "Définitive (par défaut) : le moteur supprime les caches sur-le-champ — l'espace est réellement libéré, tout de suite. Corbeille : les chemins vérifiés et cochés partent dans la corbeille — récupérables, mais l'espace ne se libère qu'au vidage, et l'exécution n'apparaîtra pas dans `mo history`."; + +/* Settings — menu bar */ +"Display" = "Affichage"; +"Icon" = "Icône"; +"Metrics" = "Mesures"; +"Metrics shows live CPU and memory next to the mark, refreshed with the sampler." = "« Mesures » affiche le processeur et la mémoire en direct à côté du symbole, actualisés au rythme des relevés."; +"Keyboard shortcuts" = "Raccourcis clavier"; +"Keep Screen On" = "Garder l'écran allumé"; +"Clean Screen" = "Nettoyer l'écran"; +"System-wide. Click a chip, press a combination with ⌃, ⌥ or ⌘; Esc cancels, × clears." = "À l'échelle du système. Clique sur une pastille et appuie sur une combinaison avec ⌃, ⌥ ou ⌘ ; Échap annule, × efface."; +"Block keys while wiping" = "Bloquer les touches pendant le nettoyage"; +"Accessibility" = "Accessibilité"; +"Needed to swallow key presses while you wipe. Esc always exits." = "Nécessaire pour absorber les frappes pendant que tu essuies l'écran. Échap permet toujours de sortir."; +"Off: Clean Screen still works, keys just aren't blocked. Esc always exits either way." = "Désactivé : « Nettoyer l'écran » fonctionne toujours, les touches ne sont simplement pas bloquées. Dans les deux cas, Échap permet de sortir."; +"Press keys…" = "Appuie sur des touches…"; +"Record" = "Enregistrer"; +"Record shortcut" = "Enregistrer le raccourci"; +"Clear shortcut" = "Effacer le raccourci"; +"None" = "Aucun"; + +/* Menu-bar tools */ +"15 minutes" = "15 minutes"; +"30 minutes" = "30 minutes"; +"1 hour" = "1 heure"; +"2 hours" = "2 heures"; +"Until turned off" = "Jusqu'à désactivation"; +"Turn Off" = "Désactiver"; +"Check for Updates…" = "Rechercher les mises à jour…"; +"Couldn't check for updates" = "Impossible de rechercher les mises à jour"; +"GitHub didn't answer. Try again later, or open the releases page." = "GitHub n'a pas répondu. Réessaie plus tard ou ouvre la page des versions."; +"Update available" = "Mise à jour disponible"; +"Burrow %@ is available (you have %@). Update with `brew upgrade --cask burrow`, or open the release page." = "Burrow %1$@ est disponible (tu as %2$@). Mets à jour avec `brew upgrade --cask burrow` ou ouvre la page de la version."; +"Burrow %@ is available (you have %@). Download it from the release page." = "Burrow %1$@ est disponible (tu as %2$@). Télécharge-le depuis la page de la version."; +"You're up to date" = "Tu es à jour"; +"Burrow %@ is the latest release." = "Burrow %@ est la dernière version."; +"Open Release Page" = "Ouvrir la page de la version"; +"Engine: %@" = "Moteur : %@"; +"not found" = "introuvable"; +"Releases" = "Versions"; +"What telemetry is collected" = "Quelles données de télémétrie sont collectées"; +"Licenses" = "Licences"; +"Wipe away — press Esc when you're done." = "Essuie tranquillement — appuie sur Échap quand tu as fini."; + +/* Status dashboard */ +"%d fans" = "%d ventilateurs"; +"macOS manages speed" = "macOS gère la vitesse"; +"No fan data on this Mac" = "Aucune donnée de ventilateur sur ce Mac"; +"Fan" = "Ventilateur"; +"%d%% Health" = "%d%% de santé"; +"%d cyc" = "%d cycles"; +"Mac" = "Mac"; +"%d percent" = "%d pour cent"; +"PWR" = "PUISS"; +"Energy billed since launch (mWh)" = "Énergie consommée depuis le lancement (mWh)"; +"Actions for %@" = "Actions pour %@"; +"Pin" = "Épingler"; +"Unpin" = "Détacher"; +"Copy name" = "Copier le nom"; +"Copy PID" = "Copier le PID"; +"Quit…" = "Quitter…"; +"Force Kill…" = "Forcer à quitter…"; +"Force kill %@?" = "Forcer %@ à quitter ?"; +"Quit %@?" = "Quitter %@ ?"; +"SIGKILL ends it immediately — unsaved work in this process is lost." = "SIGKILL l'arrête immédiatement — tout travail non enregistré dans ce processus est perdu."; +"Sends a polite quit (SIGTERM). The process may save and exit, or ignore it." = "Envoie une demande de fermeture polie (SIGTERM). Le processus peut enregistrer et quitter, ou l'ignorer."; +"Force Kill" = "Forcer à quitter"; +"Quit Process" = "Quitter le processus"; + +/* Menu-bar popover */ +"%@ free" = "%@ libres"; +"Health %d. Open Burrow." = "Santé %d. Ouvrir Burrow."; +"up %@" = "actif depuis %@"; +"%@ used · %.0f%%" = "%@ utilisés · %.0f%%"; +"No fan data" = "Aucune donnée de ventilateur"; +"Top drain — %@ · avg %.0f%% CPU over the last hour" = "Plus gros consommateur — %@ · %.0f%% de processeur en moyenne sur la dernière heure"; +"Stay Awake" = "Rester éveillé"; +"Wipe" = "Essuyer"; +"Eject" = "Éjecter"; +"on" = "activé"; +"Ejecting external volumes" = "Éjection des volumes externes"; +"%d ejected · %d busy" = "%1$d éjectés · %2$d occupés"; +"%@ cleaned · %d uninstalled · %d optimized" = "%1$@ nettoyés · %2$d désinstallées · %3$d optimisations"; +"Clean Watch" = "Suivi du nettoyage"; + +/* Analyze progress */ +"Mapping your folders" = "Cartographie de tes dossiers"; +"Measuring…" = "Mesure en cours…"; +"Scanning %@, %d of %d" = "Analyse de %1$@, %2$d sur %3$d"; +"Scanning" = "Analyse"; + +/* ===== Uninstall pre-flight: identity of the resolved app ===== */ +"“%@” isn't an identifier that names one app — it resolves to whichever app the engine happens to match first, so nothing was removed. Use the app's bundle id or its exact name." = "« %@ » n'est pas un identifiant désignant une seule app — cela correspond à la première app trouvée par le moteur, donc rien n'a été supprimé. Utilise l'identifiant de bundle de l'app ou son nom exact."; +"The engine didn't say which application “%@” resolves to, so Burrow can't confirm it's the right one and nothing was removed." = "Le moteur n'a pas indiqué à quelle application correspond « %@ » ; Burrow ne peut donc pas confirmer qu'il s'agit de la bonne, et rien n'a été supprimé."; +"The engine resolved %@ twice, so the run wouldn't act on the set it reported." = "Le moteur a résolu %@ deux fois ; l'exécution n'agirait donc pas sur l'ensemble qu'il a signalé."; +"“%1$@” isn't %2$@'s name or bundle id — the engine matched it by substring, so it may not be the app you meant. Nothing was removed; ask for it by name: %3$@." = "« %1$@ » n'est ni le nom ni l'identifiant de bundle de %2$@ — le moteur l'a trouvé par correspondance partielle, ce n'est donc peut-être pas l'app que tu visais. Rien n'a été supprimé ; désigne-la par son nom : %3$@."; +"The engine resolved an argument Burrow didn't send (“%@”), so nothing was removed." = "Le moteur a résolu un argument que Burrow n'a pas envoyé (« %@ ») ; rien n'a été supprimé."; +"“%1$@” resolves to %2$@ (%3$@), not the %4$@ you picked (%5$@), so nothing was removed." = "« %1$@ » correspond à %2$@ (%3$@), et non à %4$@ (%5$@) que tu as choisi ; rien n'a donc été supprimé."; +"“%1$@” resolves to an app whose bundle id is %2$@, not the %3$@ you picked, so nothing was removed." = "« %1$@ » correspond à une app dont l'identifiant de bundle est %2$@, et non %3$@ que tu as choisi ; rien n'a donc été supprimé."; + +/* ===== Uninstall: the plan disagrees with the confirm sheet ===== */ +"This isn't quite what Burrow just told you" = "Cela ne correspond pas tout à fait à ce que Burrow vient de t'annoncer"; +"Remove anyway" = "Supprimer quand même"; +"cancelled — nothing removed" = "annulé — rien supprimé"; +"Homebrew removes these after all, with `brew uninstall --cask --zap` — that doesn't use the Trash, so you can't put them back: %@" = "Finalement, c'est Homebrew qui les supprime, avec `brew uninstall --cask --zap` — cela ne passe pas par la corbeille, tu ne pourras donc pas les remettre : %@"; +"These aren't Homebrew's after all — Burrow moves them to the Trash itself: %@" = "Finalement, ils ne relèvent pas de Homebrew — Burrow les place lui-même dans la corbeille : %@"; + +/* ===== Uninstall review: what Burrow may not remove by hand ===== */ +"Homebrew installed %1$@ — it has to be removed with `brew uninstall --cask --zap %2$@`. Trashing the app on its own would leave Homebrew still believing it's installed." = "%1$@ a été installé par Homebrew — il faut le supprimer avec `brew uninstall --cask --zap %2$@`. Mettre seulement l'app à la corbeille laisserait Homebrew croire qu'elle est encore installée."; +"Burrow won't remove these itself" = "Burrow ne supprimera pas ceux-ci lui-même"; +"These stay installed — only the reviewed support files move to the Trash, and you can put them back:\n\n%@" = "Ceux-ci restent installés — seuls les fichiers annexes vérifiés partent à la corbeille, et tu peux les remettre :\n\n%@"; +"Remove data from %d app?" = "Supprimer les données de %d app ?"; +"Remove data from %d apps?" = "Supprimer les données de %d apps ?"; diff --git a/macos/Resources/ja.lproj/Localizable.strings b/macos/Resources/ja.lproj/Localizable.strings new file mode 100644 index 00000000..63a39192 --- /dev/null +++ b/macos/Resources/ja.lproj/Localizable.strings @@ -0,0 +1,869 @@ +/* Tools */ +"clean" = "クリーン"; +"apps" = "ソフトウェア"; +"optimize" = "最適化"; +"analyze" = "分析"; +"status" = "ステータス"; +"Clean" = "クリーン"; +"Software" = "ソフトウェア"; +"Optimize" = "最適化"; +"Analyze" = "分析"; +"Status" = "ステータス"; +"Settings" = "設定"; +"History" = "履歴"; +"Fresh air through old tunnels." = "古い坑道に、新しい風を。"; +"Shed what you've outgrown." = "使わなくなったものを、脱ぎ捨てる。"; +"Small turns, a smoother run." = "小さな調整で、動きは滑らかに。"; +"Map every chamber below." = "地下のすべての部屋を見取り図に。"; +"Every pulse of the den." = "巣穴の鼓動を、ひとつ残らず。"; + +/* Shared */ +"Burrow" = "Burrow"; +"Couldn't open Burrow's history database" = "Burrow の履歴データベースを開けませんでした"; +"%@\n\nThe app will quit." = "%@\n\nアプリを終了します。"; +"Mole CLI (`mo`) not found on PATH." = "Mole CLI(`mo`)が PATH 上に見つかりません。"; +"mo analyze exited %d: %@" = "mo analyze が終了コード %d で終了しました: %@"; +"Couldn't parse mo analyze output: %@" = "mo analyze の出力を解析できませんでした: %@"; +"CPU" = "CPU"; +"GPU" = "GPU"; +"Memory" = "メモリ"; +"Network" = "ネットワーク"; +"Disk" = "ディスク"; +"Battery" = "バッテリー"; +"Power" = "電源"; +"Health" = "状態"; +"Activity" = "アクティビティ"; +"Top processes" = "上位プロセス"; +"Open Burrow" = "Burrow を開く"; +"Preview" = "プレビュー"; +"Cancel" = "キャンセル"; +"Failed: %@" = "失敗: %@"; +"%d items · %@" = "%d 項目 · %@"; +"%@ in %d items" = "%2$d 項目で %1$@"; +"Scanning…" = "スキャン中…"; +"Home" = "ホーム"; +"Homebrew (`brew`) not found on this Mac." = "この Mac に Homebrew(`brew`)が見つかりません。"; +"formula" = "formula"; +"cask" = "cask"; + +/* Status and HUD */ +"Waiting for the first sample…" = "最初のサンプルを待っています…"; +"Burrow runs `mo status --json` on a timer; the first row lands within a tick." = "Burrow は `mo status --json` を一定間隔で実行します。最初の行は次の周期で届きます。"; +"%d cores" = "%d コア"; +"load %.2f · %.2f · %.2f" = "負荷 %.2f · %.2f · %.2f"; +"%.1f / %.1f GB · swap %.1f GB" = "%.1f / %.1f GB · スワップ %.1f GB"; +"normal" = "正常"; +"warning" = "警告"; +"Good" = "良好"; +"Excellent" = "非常に良好"; +"Fair" = "まずまず"; +"Poor" = "不良"; +"Critical" = "危険"; +"All checks passed" = "すべてのチェックに合格しました"; +"up %@ · since %@" = "稼働 %@ · %@ から"; +"%@ · %@ · up %@" = "%@ · %@ · 稼働 %@"; +"GB free" = "GB 空き"; +"%.0f%% used · R %.0f · W %.0f MB/s" = "%.0f%% 使用中 · 読み込み %.0f · 書き込み %.0f MB/s"; +"AC Power" = "電源アダプタ"; +"charging" = "充電中"; +"%@ left" = "残り %@"; +"%@ left · %d cyc · %d%% cap" = "残り %@ · %d 回 · 容量 %d%%"; +"NAME (%d)" = "名前 (%d)"; +"PID" = "PID"; +"MEM" = "メモリ"; +"↓ %d ↑ %d KB/s" = "↓ %d ↑ %d KB/s"; +"%.0f%% used" = "%.0f%% 使用中"; +"%ds ago" = "%d 秒前"; +"no samples yet" = "サンプルはまだありません"; + +/* Clean */ +"Clean Now" = "今すぐクリーン"; +"Cleaned" = "クリーン済み"; +"Freed up to %@ · %@ items" = "最大 %@ を解放 · %@ 項目"; +"Re-scan" = "再スキャン"; +"Clean for real" = "実際にクリーンする"; +"to free" = "解放可能"; +"· %@ items · %@ categories" = "· %@ 項目 · %@ カテゴリ"; +"Scanning your Mac…" = "Mac をスキャンしています…"; +"Cleaning… don't quit." = "クリーン中です。終了しないでください。"; +"Preview — review, then clean for real." = "プレビューです。確認してから実際にクリーンしてください。"; +"Done — caches cleared." = "完了しました。キャッシュを削除しました。"; +"Scanning caches" = "キャッシュをスキャン中"; +"Cleaning caches" = "キャッシュをクリーン中"; +"Clean caches for real?" = "キャッシュを実際にクリーンしますか?"; +"Burrow will run `mo clean` with administrator rights. Cache files are removed permanently; Mole's whitelist and safety rules still apply." = "Burrow は管理者権限で `mo clean` を実行します。キャッシュファイルは完全に削除されますが、Mole のホワイトリストと安全ルールは引き続き適用されます。"; + +/* Optimize */ +"Run again" = "もう一度実行"; +"Maintenance complete" = "メンテナンス完了"; +"%d areas refreshed" = "更新した領域: %d"; +"Optimizing" = "最適化中"; +"Optimize preview" = "最適化のプレビュー"; +"Previewing maintenance…" = "メンテナンスをプレビュー中…"; +"Running maintenance…" = "メンテナンスを実行中…"; +"Maintenance complete." = "メンテナンスが完了しました。"; +"Preview complete." = "プレビューが完了しました。"; + +/* Task reports from mo */ +"Summary" = "概要"; +"Performance Diagnosis" = "パフォーマンス診断"; +"DNS & Spotlight Check" = "DNS と Spotlight の点検"; +"Finder Cache Refresh" = "Finder キャッシュの更新"; +"App State Cleanup" = "App の保存状態の整理"; +"Broken Config Repair" = "壊れた設定ファイルの修復"; +"Network Cache Refresh" = "ネットワークキャッシュの更新"; +"Database Optimization" = "データベースの最適化"; +"LaunchServices Repair" = "LaunchServices の修復"; +"Dock Refresh" = "Dock の更新"; +"Prevent Finder .DS_Store" = ".DS_Store の作成を抑止"; +"Memory Optimization" = "メモリの最適化"; +"Network Stack Refresh" = "ネットワークスタックの更新"; +"Permission Repair" = "アクセス権の修復"; +"Spotlight Optimization" = "Spotlight の最適化"; +"Spotlight Orphan Rules" = "Spotlight の孤立ルール"; +"Periodic Maintenance" = "定期メンテナンス"; +"Shared File Lists" = "共有ファイルリスト"; +"Disk Health" = "ディスクの状態"; +"Login Items" = "ログイン項目"; +"Quarantine Database Cleanup" = "検疫データベースの整理"; +"Launch Agents Cleanup" = "起動エージェントの整理"; +"Notifications" = "通知"; +"Usage Data" = "使用状況データ"; +"User Essentials" = "ユーザーの基本項目"; +"App Caches" = "App キャッシュ"; +"System Caches" = "システムキャッシュ"; +"Developer Caches" = "開発者キャッシュ"; +"Browser Caches" = "ブラウザキャッシュ"; +"Logs" = "ログ"; +"DRY RUN MODE, No files will be modified" = "ドライランモード。ファイルは変更されません"; +"Likely bottleneck: %@" = "ボトルネックの可能性: %@"; +"Gatekeeper and code-signature assessment activity is elevated." = "Gatekeeper とコード署名の評価処理が増えています。"; +"Gatekeeper status: assessments enabled" = "Gatekeeper の状態: 評価は有効"; +"Only system-managed CoreSimulator images are mounted, informational only, not a detach target" = "マウントされているのはシステム管理の CoreSimulator イメージのみです。参考情報であり、取り外し対象ではありません"; +"DNS cache flushed" = "DNS キャッシュを消去しました"; +"Spotlight index verified" = "Spotlight インデックスを検証しました"; +"QuickLook thumbnails refreshed" = "QuickLook のサムネールを更新しました"; +"Icon services cache rebuilt" = "アイコンサービスのキャッシュを再構築しました"; +"App saved states optimized" = "App の保存状態を最適化しました"; +"All preference files valid" = "すべての環境設定ファイルは正常です"; +"DNS cache already refreshed" = "DNS キャッシュはすでに更新済みです"; +"mDNSResponder already restarted" = "mDNSResponder はすでに再起動済みです"; +"All databases already optimized" = "すべてのデータベースはすでに最適化済みです"; +"LaunchServices repaired" = "LaunchServices を修復しました"; +"File associations refreshed" = "ファイルの関連付けを更新しました"; +"Dock refreshed" = "Dock を更新しました"; +".DS_Store prevention enabled on network & USB volumes" = "ネットワークと USB ボリュームで .DS_Store の作成を抑止しました"; +"Inactive memory released" = "非アクティブメモリを解放しました"; +"System responsiveness improved" = "システムの応答性が向上しました"; +"Network routing table refreshed" = "ネットワークのルーティングテーブルを更新しました"; +"ARP cache cleared" = "ARP キャッシュを消去しました"; +"User directory permissions repaired" = "ユーザーディレクトリのアクセス権を修復しました"; +"User directory permissions already optimal" = "ユーザーディレクトリのアクセス権はすでに最適です"; +"File access issues resolved" = "ファイルアクセスの問題を解決しました"; +"Spotlight index already optimal" = "Spotlight インデックスはすでに最適です"; +"Spotlight search rules already clean" = "Spotlight の検索ルールはすでに整理済みです"; +"Periodic maintenance skipped (not available on this macOS version)" = "定期メンテナンスをスキップしました(この macOS バージョンでは利用できません)"; +"Shared file lists all healthy" = "共有ファイルリストはすべて正常です"; +"Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)" = "ディスク検証をスキップしました(有効にするには MOLE_ENABLE_DISK_VERIFY=1 を設定)"; +"Login items all healthy (%@ checked)" = "ログイン項目はすべて正常です(確認: %@)"; +"Quarantine database already clean" = "検疫データベースはすでに整理済みです"; +"Launch Agents all healthy" = "起動エージェントはすべて正常です"; +"Notification Center database not found" = "通知センターのデータベースが見つかりません"; +"Knowledge database is healthy (%@)" = "Knowledge データベースは正常です(%@)"; +"%@ %@ items, %@ dry" = "%@ %@ 項目、%@ 削除可能"; +"%@ %@ old items, %@ dry" = "%@ 古い項目 %@ 件、%@ 削除可能"; +"%@, %@ dry" = "%@、%@ 削除可能"; +"User app cache" = "ユーザー App キャッシュ"; +"User app logs" = "ユーザー App ログ"; +"Darwin user cache files" = "Darwin ユーザーキャッシュファイル"; +"Media analysis cache" = "メディア解析キャッシュ"; +"Media analysis temp files" = "メディア解析の一時ファイル"; +"Wallpaper agent cache" = "壁紙エージェントのキャッシュ"; +"Trash · already empty" = "ゴミ箱 · すでに空です"; +"System caches need sudo, run sudo -v && mo clean --dry-run for full preview" = "システムキャッシュには sudo が必要です。完全なプレビューには sudo -v && mo clean --dry-run を実行してください"; +"Dry Run Mode, Preview only, no deletions" = "ドライランモード。プレビューのみで、削除は行いません"; + +/* Analyze */ +"Reveal in Finder" = "Finder に表示"; +"Open here" = "ここで開く"; +"Analyzing %@" = "%@ を分析中"; +"scan failed" = "スキャンに失敗しました"; + +/* Software */ +"Size" = "サイズ"; +"Name" = "名前"; +"Recent" = "最近"; +"Source" = "入手先"; +"Uninstall" = "削除"; +"Updates" = "アップデート"; +"Search apps" = "App を検索"; +"Reading installed apps…" = "インストール済みの App を読み込み中…"; +"%d apps" = "%d 個の App"; +"%d selected · %@" = "%d 個選択中 · %@"; +"Uninstall (%d)" = "削除 (%d)"; +"Uninstall %d app?" = "%d 個の App を削除しますか?"; +"Uninstall %d apps?" = "%d 個の App を削除しますか?"; +"Move to Trash" = "ゴミ箱に入れる"; +"Checking Homebrew…" = "Homebrew を確認中…"; +"Everything's up to date" = "すべて最新です"; +"Homebrew formulae & casks" = "Homebrew の formula と cask"; +"%d update" = "%d 件のアップデート"; +"%d updates" = "%d 件のアップデート"; +"Update all" = "すべてアップデート"; +"Updating…" = "アップデート中…"; +"Update" = "アップデート"; + +/* Settings */ +"Storage" = "ストレージ"; +"Currently using" = "現在の使用量"; +"Last maintenance" = "前回のメンテナンス"; +"Run maintenance now" = "今すぐメンテナンスを実行"; +"History lives at ~/Library/Application Support/Burrow/burrow.db. Rows past the retention window are pruned hourly." = "履歴は ~/Library/Application Support/Burrow/burrow.db に保存されます。保持期間を過ぎた行は 1 時間ごとに削除されます。"; +"History retention" = "履歴の保持"; +"Keep history for" = "履歴を保持する期間"; +"1 day" = "1 日"; +"7 days" = "7 日"; +"14 days" = "14 日"; +"30 days" = "30 日"; +"90 days" = "90 日"; +"180 days" = "180 日"; +"1 year" = "1 年"; +"Vacuum DB after large prunes" = "大量削除の後にデータベースを最適化"; +"Sampling" = "サンプリング"; +"Sample every" = "サンプリング間隔"; +"5 sec" = "5 秒"; +"15 sec" = "15 秒"; +"30 sec" = "30 秒"; +"60 sec" = "60 秒"; +"2 min" = "2 分"; +"5 min" = "5 分"; +"Burrow runs `mo status --json` at this cadence. 60 s is plenty for charts; tighter intervals give finer detail at the cost of more subprocess churn." = "Burrow はこの間隔で `mo status --json` を実行します。グラフには 60 秒で十分です。間隔を短くすると細かく記録できますが、サブプロセスの起動が増えます。"; +"MCP query server" = "MCP クエリサーバ"; +"Enable MCP query server" = "MCP クエリサーバを有効にする"; +"Endpoint" = "エンドポイント"; +"Toggle + port changes take effect after a relaunch. Exposes /health, /info, /snapshot, /metrics over localhost, plus the `Burrow --mcp` stdio server for Claude Code." = "オン・オフとポートの変更は再起動後に反映されます。localhost で /health、/info、/snapshot、/metrics を公開し、Claude Code 向けに `Burrow --mcp` の stdio サーバも提供します。"; +"%ds ago · pruned %d rows" = "%d 秒前 · 削除した行: %d"; +"not yet run" = "未実行"; + +/* History */ +"CPU usage" = "CPU 使用率"; +"usage" = "使用率"; +"CPU load" = "CPU 負荷"; +"1m avg" = "1 分平均"; +"load1" = "load1"; +"% used" = "% 使用中"; +"used" = "使用中"; +"Disk I/O" = "ディスク I/O"; +"MB/s" = "MB/s"; +"read" = "読み込み"; +"write" = "書き込み"; +"rx" = "受信"; +"tx" = "送信"; +"Thermal" = "温度"; +"cpu" = "cpu"; +"gpu" = "gpu"; +"Health score" = "状態スコア"; +"0–100" = "0–100"; +"No samples in this window" = "この期間のサンプルはありません"; +"peak across window" = "期間中のピーク"; +"No processes recorded" = "記録されたプロセスはありません"; +"%d samples" = "%d 件のサンプル"; +"· latest %ds ago" = "· 最新は %d 秒前"; + +/* Menus and alerts */ +"About Burrow" = "Burrow について"; +"Settings…" = "設定…"; +"Hide Burrow" = "Burrow を隠す"; +"Quit Burrow" = "Burrow を終了"; +"Edit" = "編集"; +"Undo" = "取り消す"; +"Redo" = "やり直す"; +"Cut" = "カット"; +"Copy" = "コピー"; +"Paste" = "ペースト"; +"Select All" = "すべてを選択"; +"Window" = "ウインドウ"; +"Minimize" = "しまう"; +"Close" = "閉じる"; +"Mole CLI not found" = "Mole CLI が見つかりません"; + +/* Home (Overview / History / Activity / Report) + Explain */ +"Overview" = "概要"; +"Report" = "レポート"; +"Doctor" = "診断"; +"Diagnostics" = "診断情報"; +"Dev hygiene" = "開発環境の整理"; +"No developer caches found." = "開発者キャッシュは見つかりませんでした。"; +"Clear" = "消去"; +"Move this cache to the Trash?" = "このキャッシュをゴミ箱に入れますか?"; +"ports" = "ポート"; +"Ports" = "ポート"; +"Listening ports" = "待ち受けポート"; +"See who's listening." = "何が待ち受けているかを確認。"; +"Quit this process?" = "このプロセスを終了しますか?"; +"tuneup" = "チューンアップ"; +"Tune-Up" = "チューンアップ"; +"One pass, a tidier den." = "ひと通りで、巣穴はすっきり。"; +"Safe to run" = "安全に実行できます"; +"Needs review" = "要確認"; +"Run safe set" = "安全な項目を実行"; +"Clear %@ cache" = "%@ のキャッシュを消去"; +"Review startup item: %@" = "起動項目を確認: %@"; +"Nothing to tune up — you're clean." = "チューンアップする項目はありません。きれいな状態です。"; +"restore" = "復元"; +"Restore" = "復元"; +"Put back what the last clean moved." = "前回のクリーンで移動したものを元に戻す。"; +"Restore last cleanup" = "前回のクリーンを元に戻す"; +"Only Trash-based removals can be restored — cache deletions are permanent." = "元に戻せるのはゴミ箱に移動したものだけです。キャッシュの削除は取り消せません。"; +"No restorable items found." = "復元できる項目はありません。"; +"Top processes in selection" = "選択範囲の上位プロセス"; +"No process samples in that window." = "この期間のプロセスサンプルはありません。"; +"Full in ~%@" = "約 %@ で満杯"; +"%d days" = "%d 日"; +"%d weeks" = "%d 週間"; +"%d months" = "%d か月"; +"Uncommitted or unpushed git changes in this repo" = "このリポジトリにコミットまたはプッシュしていない変更があります"; +"A new startup item appeared" = "新しい起動項目が追加されました"; +"“%@” now launches automatically. If you didn't add it, review it." = "「%@」が自動的に起動するようになりました。心当たりがない場合は確認してください。"; +"CPU usage is high" = "CPU 使用率が高くなっています"; +"CPU has been pegged at %.0f%%." = "CPU が %.0f%% に張りついています。"; +"Memory pressure is high" = "メモリ負荷が高くなっています"; +"Memory is at %.0f%%." = "メモリ使用率は %.0f%% です。"; +"Explain" = "解説"; + +/* Language switch */ +"Language" = "言語"; +"App language" = "App の言語"; +"System" = "システムに合わせる"; +"Relaunch to change language?" = "言語を変更するために再起動しますか?"; +"Burrow needs to relaunch to apply the new language." = "新しい言語を適用するには Burrow を再起動する必要があります。"; +"Relaunch Now" = "今すぐ再起動"; +"Later" = "あとで"; +"A language change takes effect after a relaunch." = "言語の変更は再起動後に反映されます。"; + +/* Analyze — move to Trash */ +"Move “%@” to Trash?" = "「%@」をゴミ箱に入れますか?"; +"This moves %@ (%@) to the Trash, where you can restore it." = "%@(%@)をゴミ箱に移動します。あとで元に戻せます。"; +"this folder" = "このフォルダ"; +"this file" = "このファイル"; +"Couldn't move to Trash" = "ゴミ箱に移動できませんでした"; + +/* Settings sections */ +"Engine" = "エンジン"; +"Menu bar" = "メニューバー"; +"Show menu bar icon" = "メニューバーアイコンを表示"; + +/* Tools — purge / installer labels + taglines */ +"purge" = "ディープクリーン"; +"installer" = "インストーラ"; +"Purge" = "ディープクリーン"; +"Installers" = "インストーラ"; +"Clear the diggings dev work leaves behind." = "開発作業が残した掘りくずを片づける。"; +"Sweep out the crates you unpacked." = "開けたあとの木箱を運び出す。"; + +/* Common actions / labels */ +"Scan" = "スキャン"; +"Rescan" = "再スキャン"; +"Back" = "戻る"; +"Stop" = "停止"; +"Stopped." = "停止しました。"; +"Go up" = "上の階層へ"; +"Fans" = "ファン"; +"Bluetooth" = "Bluetooth"; +"GPU usage" = "GPU 使用率"; +"RAM" = "RAM"; +"Version" = "バージョン"; +"incomplete" = "未完了"; +"Reading your Mac…" = "Mac を読み込み中…"; + +/* Activity (cleanup history) */ +"Recent Mole cleanup sessions" = "最近の Mole クリーン履歴"; +"No cleanup history yet" = "クリーンの履歴はまだありません"; +"Run a Clean or Optimize and it'll show up here." = "クリーンまたは最適化を実行すると、ここに表示されます。"; + +/* Settings — AI / MCP / server */ +"Burrow engine missing" = "Burrow エンジンが見つかりません"; +"Touch ID for sudo" = "sudo で Touch ID を使う"; +"Explain (AI) — experimental" = "解説(AI)— 実験的機能"; +"Ask your AI about your Mac (MCP)" = "AI に Mac のことを尋ねる(MCP)"; +"Local HTTP query server" = "ローカル HTTP クエリサーバ"; +"Enable the Explain lens" = "解説機能を有効にする"; +"Enable HTTP query server" = "HTTP クエリサーバを有効にする"; +"Let agents run cleanups for real" = "エージェントに実際のクリーンを許可する"; +"Backend" = "バックエンド"; +"Base URL" = "ベース URL"; +"Model" = "モデル"; +"API key (optional)" = "API キー(任意)"; +"Ollama model" = "Ollama モデル"; +"Local · Ollama" = "ローカル · Ollama"; +"LM Studio / API" = "LM Studio / API"; +"Read tools" = "読み取りツール"; +"Cleanup tools" = "クリーンツール"; +"Try asking" = "こう聞いてみてください"; +"Copy prompt" = "プロンプトをコピー"; +"Preview what a cleanup would free, then clean it up." = "クリーンでどれだけ空くかをプレビューして、そのまま実行して。"; +"Uninstall Slack and remove its leftovers." = "Slack を削除して、残ったファイルも片づけて。"; +"What's my Mac's CPU and memory usage right now?" = "いまの Mac の CPU とメモリの使用率は?"; +"What's taking up space in my home folder?" = "ホームフォルダの容量を使っているのは何?"; +"AI read of one snapshot — it can be wrong, and never acts on its own." = "スナップショット 1 件を AI が読んだ結果です。誤ることもあり、AI が勝手に操作することはありません。"; +"Adds an “Explain” button to Status that reads your latest snapshot and explains it in plain English, optionally suggesting Clean/Purge/Installers." = "ステータスに「解説」ボタンを追加します。最新のスナップショットを読んでわかりやすく説明し、必要に応じてクリーン/ディープクリーン/インストーラを提案します。"; +"Burrow exposes your Mac's recorded history to coding agents — Claude Code, Cursor, Codex, Cline — over MCP. Add the config below, then ask in plain language. The server starts on demand over stdio; there's no port and no always-on listener." = "Burrow は記録した Mac の履歴を、MCP 経由でコーディングエージェント(Claude Code、Cursor、Codex、Cline)に公開します。以下の設定を追加すれば、普通の言葉で質問できます。サーバは stdio で必要なときだけ起動し、ポートも常駐リスナーもありません。"; +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` / `uninstall` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "初期状態はオフです。エージェントはいつでも指標の読み取りとドライランのプレビューを実行できます。オンにすると、実際の `mo clean` / `optimize` / `uninstall` を実行できますが、明示的な確認フラグを併せて渡した場合に限ります。ひとことの行き違いで削除が起きることはありません。オフにすれば、エージェントは再び読み取り専用になります。データはこの Mac から出ません。"; +"Runs against a local Ollama model — nothing leaves this Mac. Start it with `ollama run `." = "ローカルの Ollama モデルを使うため、この Mac から何も送信されません。`ollama run ` で起動してください。"; +"Any OpenAI-compatible server. For LM Studio: load a model, open Developer ▸ Start Server, and leave the key blank — the default URL is already LM Studio's. A hosted endpoint (e.g. OpenAI) needs a key and sends the metrics summary off-device (never file contents)." = "OpenAI 互換のサーバであれば利用できます。LM Studio の場合は、モデルを読み込み、Developer ▸ Start Server を開き、キーは空のままにしてください。既定の URL はすでに LM Studio 用です。ホスト型のエンドポイント(OpenAI など)はキーが必要で、指標の要約が外部に送信されます(ファイルの内容は送信されません)。"; +"Sparkle checks Burrow's signed update feed after startup settles and about once a day. It asks before downloading or installing anything." = "Sparkle は起動が落ち着いたあとと、およそ 1 日に 1 回、Burrow の署名付きアップデートフィードを確認します。ダウンロードやインストールの前には必ず確認します。"; +"Check for updates automatically" = "自動的にアップデートを確認"; +"Check for Updates" = "アップデートを確認"; +"About Burrow" = "Burrow について"; +"Update didn't complete" = "アップデートが完了しませんでした"; +"Update external engine" = "外部エンジンをアップデート"; +"This source build is using an engine outside Burrow.app, so its own updater remains available." = "このソースビルドは Burrow.app の外にあるエンジンを使っているため、エンジン自身のアップデート機能を利用できます。"; +"Included with Burrow. Engine updates arrive through signed Burrow releases so the app's Developer ID seal stays valid." = "Burrow に同梱されています。エンジンのアップデートは署名付きの Burrow リリースとして配布されるため、App の Developer ID 署名は有効なままです。"; +"The bundled engine is missing. Reinstall Burrow to restore the signed app bundle." = "同梱エンジンが見つかりません。署名済みの App バンドルを復元するには Burrow を再インストールしてください。"; +"External engine is up to date" = "外部エンジンは最新です"; +"Now on %@." = "現在のバージョンは %@ です。"; +"The external engine updater exited non-zero. Try running `mo update` in a terminal." = "外部エンジンのアップデータが異常終了しました。ターミナルで `mo update` を実行してみてください。"; +"Disk analysis needs Mole %@ or newer (you have %@). %@" = "ディスク分析には Mole %@ 以降が必要です(現在は %@)。%@"; +"Update Burrow to get the current bundled engine." = "同梱エンジンを最新にするには Burrow をアップデートしてください。"; +"Use Settings › Engine › Update external engine, then try again." = "設定 › エンジン › 外部エンジンをアップデート を実行してから、もう一度お試しください。"; +"Reinstall Burrow to restore the bundled engine." = "同梱エンジンを復元するには Burrow を再インストールしてください。"; +"Lets `sudo` and admin prompts accept your fingerprint instead of a password, where macOS supports it. Configured via `mo touchid`; turning it on or off needs your password once." = "macOS が対応している場合に、`sudo` や管理者の確認でパスワードの代わりに指紋を使えるようにします。設定は `mo touchid` で行い、オン・オフの切り替えには一度だけパスワードが必要です。"; +"Authentication" = "認証"; +"Bearer token required" = "Bearer トークンが必要です"; +"Optional REST surface for dashboards or curl: /health, /info, /snapshot, /metrics over localhost. Every request needs the per-install token; retrieve it locally with `defaults read dev.caezium.Burrow query_auth_token`. Separate from the MCP stdio server above; toggle + port changes take effect after a relaunch." = "ダッシュボードや curl 向けの任意の REST インターフェイスです。localhost で /health、/info、/snapshot、/metrics を提供します。すべてのリクエストにインストールごとのトークンが必要で、`defaults read dev.caezium.Burrow query_auth_token` でローカルに取得できます。上記の MCP stdio サーバとは別のもので、オン・オフとポートの変更は再起動後に反映されます。"; +"Applies immediately. When off, Burrow shows a Dock icon instead so it stays reachable — a Dock click reopens the window." = "すぐに反映されます。オフのときは代わりに Dock アイコンを表示するので、Dock をクリックすればウインドウを開けます。"; + +/* Onboarding / Full Disk Access */ +"Official builds include the engine inside the signed app. Reinstall Burrow to restore it; source builds can also provide an external `mo` on PATH." = "公式ビルドは署名済み App の中にエンジンを同梱しています。復元するには Burrow を再インストールしてください。ソースからのビルドでは、PATH 上の外部 `mo` も利用できます。"; +"REINSTALL SIGNED APP" = "署名済み APP を再インストール"; +"View the bundled engine source →" = "同梱エンジンのソースを見る →"; +"The engine is still missing. Finish reinstalling Burrow, then recheck or relaunch the app." = "エンジンがまだ見つかりません。Burrow の再インストールを完了してから、再確認するか App を再起動してください。"; +"Grant Full Disk Access to scan" = "スキャンするにはフルディスクアクセスを許可してください"; +"Skip the macOS permission prompts" = "macOS の許可ダイアログを省く"; +"Open Full Disk Access settings" = "フルディスクアクセスの設定を開く"; +"Don't ask again" = "今後は確認しない"; +"Scan anyway" = "このままスキャン"; +"Scanning system & app caches makes macOS ask once per protected folder. Grant Burrow Full Disk Access to scan smoothly — it only reads sizes through Mole and never opens that data itself." = "システムと App のキャッシュをスキャンすると、macOS は保護されたフォルダごとに確認を求めます。Burrow にフルディスクアクセスを許可すると、確認なしでスキャンできます。Burrow は Mole を通じてサイズを読み取るだけで、データそのものを開くことはありません。"; +"Still blocked? macOS only applies Full Disk Access the next time Burrow launches. Quit and reopen, then scan." = "まだ許可されませんか? macOS がフルディスクアクセスを反映するのは、Burrow の次回起動時です。終了して開き直してから、もう一度スキャンしてください。"; +"Quit" = "終了"; + +/* ===== Anonymous usage (telemetry) — Settings section + first-launch consent ===== */ +"Anonymous usage" = "匿名の使用状況"; +"Share anonymous usage & crash reports" = "匿名の使用状況とクラッシュレポートを送信"; +"Share anonymous usage & diagnostics" = "匿名の使用状況と診断情報を送信"; +"Sends anonymous product analytics (PostHog) and crash reports (Sentry): a random install id (not tied to you or your hardware), the app + macOS version, CPU type, and which features you use — with sizes and counts bucketed. Never file names, contents, paths, or your metrics. It helps gauge retention and catch crashes. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "匿名のプロダクト分析(PostHog)とクラッシュレポート(Sentry)を送信します。内容は、ランダムなインストール ID(あなたやハードウェアとは結びつきません)、App と macOS のバージョン、CPU の種類、使用した機能で、サイズや件数は区間にまとめられます。ファイル名、内容、パス、あなたの指標は一切送信しません。継続利用の把握とクラッシュの検知に役立ちます。初期状態はオンで、オフにすると両方とも停止します。詳細は TELEMETRY.md をご覧ください。"; +"Sends anonymous product analytics (PostHog) plus crash, hang, startup, update, and sampled performance diagnostics (Sentry): random install IDs, app and exact macOS build, CPU type, screens and features used, and fixed-name diagnostic milestones. Never screenshots, screen recordings, your file names, contents, user paths, URLs, or metrics. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "匿名のプロダクト分析(PostHog)に加えて、クラッシュ・ハング・起動・アップデート・抽出されたパフォーマンスの診断情報(Sentry)を送信します。内容は、ランダムなインストール ID、App と macOS の正確なビルド、CPU の種類、表示した画面と使用した機能、固定名の診断マイルストーンです。スクリーンショット、画面収録、ファイル名、内容、ユーザーのパス、URL、指標は一切送信しません。初期状態はオンで、オフにすると両方とも停止します。詳細は TELEMETRY.md をご覧ください。"; +"Burrow started in compatibility mode" = "Burrow は互換モードで起動しました"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item is disabled on this build, and Burrow will stay available in the Dock. Updating macOS will automatically retry the normal menu bar mode." = "Burrow は、メニューバー項目の作成がこの macOS ビルドをフリーズさせる可能性を検出しました。このビルドではメニューバー項目を無効にし、Burrow は Dock から利用できます。macOS をアップデートすると、通常のメニューバーモードが自動的に再試行されます。"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item and automatic update checks are paused on this build, and Burrow will stay available in the Dock. Manual update checks remain available. Updating macOS will automatically retry the normal mode." = "Burrow は、メニューバー項目の作成がこの macOS ビルドをフリーズさせる可能性を検出しました。このビルドではメニューバー項目と自動アップデート確認を一時停止し、Burrow は Dock から利用できます。手動でのアップデート確認は引き続き行えます。macOS をアップデートすると、通常のモードが自動的に再試行されます。"; +"Burrow paused automatic update checks" = "Burrow は自動アップデート確認を一時停止しました"; +"Burrow detected that its automatic updater did not reach a stable state on the previous launch. Automatic checks are paused for this app and macOS build so the same startup problem cannot repeat. You can still check manually; updating Burrow or macOS will retry automatic checks." = "Burrow は、前回の起動時に自動アップデータが安定した状態に達しなかったことを検出しました。同じ起動時の問題が繰り返されないよう、この App と macOS ビルドでは自動確認を一時停止しています。手動での確認は引き続き行えます。Burrow または macOS をアップデートすると、自動確認が再試行されます。"; +"Menu bar item paused on this macOS build" = "この macOS ビルドではメニューバー項目を一時停止しています"; +"Creating it could freeze system input on this build, so Burrow runs from the Dock instead. It returns automatically once you update macOS." = "このビルドでは、作成するとシステムの入力がフリーズする可能性があるため、Burrow は代わりに Dock から動作します。macOS をアップデートすると自動的に元に戻ります。"; +"Paused on this macOS build. The setting is kept and applies again as soon as Burrow can create the menu bar item safely." = "この macOS ビルドでは一時停止しています。設定は保持され、Burrow が安全にメニューバー項目を作成できるようになり次第、再び適用されます。"; +"Copy Diagnostics" = "診断情報をコピー"; +"Share anonymous usage & crash reports?" = "匿名の使用状況とクラッシュレポートを送信しますか?"; +"Helps prioritize fixes: app/OS version, coarse bucketed feature counts, and crash traces. Never files, paths, file contents, or your metrics — the exact list is in TELEMETRY.md. You can change this anytime in Settings → Anonymous usage." = "修正の優先順位づけに役立ちます。送信するのは App と OS のバージョン、おおまかに区間化した機能の利用回数、クラッシュのトレースです。ファイル、パス、ファイルの内容、あなたの指標は一切送信しません。正確な一覧は TELEMETRY.md にあります。設定 → 匿名の使用状況 でいつでも変更できます。"; +"Share" = "送信する"; +"Don't Share" = "送信しない"; + +/* ===== Agent (MCP) gates ===== */ +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "初期状態はオフです。エージェントはいつでも指標の読み取りとドライランのプレビューを実行できます。オンにすると、実際の `mo clean` / `optimize` を実行できますが、明示的な確認フラグを併せて渡した場合に限ります。ひとことの行き違いで削除が起きることはありません。オフにすれば、エージェントは再び読み取り専用になります。データはこの Mac から出ません。"; +"Also allow uninstalls & permanent deletes" = "App の削除と完全削除も許可する"; +"A second key for what the Trash can't undo: real `mo uninstall`, and `permanent:true` deletes. Needs the cleanup switch above too; an uninstall also aborts unless mo matches exactly the requested apps." = "ゴミ箱では取り消せない操作のための 2 つめの鍵です。実際の `mo uninstall` と `permanent:true` の削除が対象になります。上のクリーンのスイッチも必要で、さらに mo が要求どおりの App に正確に一致しない限り、削除は中止されます。"; + +/* ===== Uninstall pre-flight verification ===== */ +"Uninstall aborted" = "削除を中止しました"; +"%1$@ would also remove: %2$@" = "%1$@ は次も削除します: %2$@"; +"%1$@ did not match: %2$@" = "%1$@ は一致しませんでした: %2$@"; +"The engine" = "エンジン"; +"mo" = "mo"; +"The dry run's output wasn't in a format Burrow can confirm a matched set from, so nothing was removed." = "ドライランの出力が、Burrow が対象の一致を確認できる形式ではなかったため、何も削除していません。"; +"The engine refused the dry run, so nothing was removed: %@" = "エンジンがドライランを拒否したため、何も削除していません: %@"; +"The engine matched no installed app for: %@" = "次に一致するインストール済みの App がありませんでした: %@"; +"“%1$@” resolves to %2$d applications (%3$@), so the engine refuses to act on it. Remove them one at a time." = "「%1$@」は %2$d 個の App(%3$@)に一致するため、エンジンは処理を拒否します。1 つずつ削除してください。"; +"The engine resolved %1$d applications for %2$d selected, so the sets don't line up." = "選択した %2$d 個に対してエンジンは %1$d 個の App を解決したため、対象が一致しません。"; +"The engine won't remove %1$@: %2$@" = "エンジンは %1$@ を削除しません: %2$@"; +"Needs an administrator: %@. Burrow doesn't elevate this run, so it may fail on the app itself." = "管理者権限が必要です: %@。Burrow はこの実行で権限を昇格しないため、App 本体の削除は失敗する可能性があります。"; +"one of these apps" = "これらの App のいずれか"; +"Homebrew removes %1$@: `%2$@`. `--zap` also deletes configuration and data the cask declares, which the preview can't list." = "%1$@ は Homebrew が削除します: `%2$@`。`--zap` は cask が宣言した設定やデータも削除しますが、それらはプレビューに表示できません。"; +"aborted — nothing removed" = "中止しました — 何も削除していません"; +"The engine reported: %@" = "エンジンの報告: %@"; +"uninstall failed" = "削除に失敗しました"; +"Uninstall failed" = "削除に失敗しました"; +"The engine reported a failure with no error output. Nothing was removed." = "エンジンはエラー出力なしで失敗を報告しました。何も削除していません。"; +"OK" = "OK"; + +/* ===== Uninstall outcomes (per app: removed / partial / refused) ===== */ +"Uninstall didn't finish" = "削除が完了しませんでした"; +"Uninstall finished partly" = "削除は一部だけ完了しました"; +"Uninstall finished" = "削除が完了しました"; +"%@ — the engine refused to remove the application." = "%@ — エンジンがこの App の削除を拒否しました。"; +"%@ — the application could not be removed." = "%@ — この App を削除できませんでした。"; +"%@ — the application was removed, but some of its support files were not." = "%@ — App は削除しましたが、関連ファイルの一部は残っています。"; +"%@ — the removal finished partly." = "%@ — 削除は一部だけ完了しました。"; +"Its support files were left alone, so the app is still installed rather than half-removed." = "関連ファイルはそのまま残したため、この App は中途半端に削除された状態ではなく、インストールされたままです。"; +"Next: %@" = "次: %@"; + +/* ===== i18n backfill (2026-06): legacy hardcoded strings ===== */ +/* Installer/purge chooser — clean (non-plural) labels */ +"done" = "完了"; +"failed" = "失敗"; +"select none" = "選択を解除"; +"select all" = "すべて選択"; +"Remove" = "削除"; +"Remove (%lld)" = "削除 (%lld)"; +"Show all %lld" = "%lld 件すべてを表示"; +"Showing the %lld biggest of %lld." = "%2$lld 件のうち、大きい順に %1$lld 件を表示しています。"; +"Loading all %lld… (%lld so far)" = "%lld 件すべてを読み込み中…(現在 %lld 件)"; +/* Elevated-run cancellation (OperationFlow) */ +"authorization cancelled" = "認証をキャンセルしました"; +/* Touch ID for sudo (Settings) */ +"Couldn't update Touch ID for sudo" = "sudo の Touch ID 設定を更新できませんでした"; +"`mo touchid %@` didn't complete (the password prompt may have been cancelled). You can also run it in a terminal." = "`mo touchid %@` が完了しませんでした(パスワードの入力がキャンセルされた可能性があります)。ターミナルから実行することもできます。"; +/* AI "Explain" lens errors (AIConfig) */ +"No Ollama model is set — pick one in Settings." = "Ollama のモデルが設定されていません。設定で選択してください。"; +"No model name is set for the OpenAI-compatible API — set one in Settings." = "OpenAI 互換 API のモデル名が設定されていません。設定で指定してください。"; +"The API base URL isn't a valid http(s) URL — check it in Settings." = "API のベース URL が有効な http(s) URL ではありません。設定で確認してください。"; + +/* i18n backfill (cont.) — running count + AI settings field labels */ +"%lld running" = "%lld 件が実行中"; +"blank for LM Studio" = "LM Studio では空欄"; + +/* ============================================================ + 2026-06 UI/UX redesign (plans/ui-ux-review-2026-06-10.md) + Onboarding · access banner · Clean review · result hero · + task ticker · Software (uninstall/updates/startup) · Settings + tabs · menu-bar tools · Status/popover · Analyze progress + ============================================================ */ + +/* Onboarding */ +"Step %d of %d" = "ステップ %1$d / %2$d"; +"Grant access to get started." = "始めるにはアクセスを許可してください。"; +"Optional — the safe scan works without it." = "任意です。安全なスキャンは許可がなくても動作します。"; +"Full Disk Access" = "フルディスクアクセス"; +"Unlocks the caches and leftovers Burrow needs to reach." = "Burrow が扱う必要のあるキャッシュや残存ファイルにアクセスできるようになります。"; +"Granted in Settings but still gray? macOS applies it at the next launch." = "設定で許可したのにグレーのままですか? macOS は次回の起動時に反映します。"; +"Relaunch to apply" = "再起動して適用"; +"Continue" = "続ける"; +"Burrow is free." = "Burrow は無料です。"; +"Open source, local-first. No license, no trial, no upsell." = "オープンソースで、ローカル優先。ライセンスも試用期間も追加販売もありません。"; +"forever" = "ずっと"; +"Every tool unlocked — Clean, Purge, Installers, Software, Optimize, Analyze" = "すべての機能が使えます — クリーン、ディープクリーン、インストーラ、ソフトウェア、最適化、分析"; +"Watches your Mac over weeks, not seconds — 30–90 day history" = "数秒ではなく数週間の視点で Mac を見守ります — 30〜90 日分の履歴"; +"Agent-ready — MCP tools for Claude, Cursor, Codex (off until you opt in)" = "エージェント対応 — Claude、Cursor、Codex 向けの MCP ツール(オンにするまで無効)"; +"Open source — read every line" = "オープンソース — すべての行を読めます"; +"Open the Burrow repository on GitHub" = "GitHub で Burrow のリポジトリを開く"; +"Start using Burrow" = "Burrow を使いはじめる"; +"Open Settings" = "設定を開く"; +"Check" = "確認"; +"Granted" = "許可済み"; +"Not granted" = "未許可"; + +/* Access banner */ +"Full Disk Access is off" = "フルディスクアクセスがオフです"; +"Without it, Burrow can't reach most system caches." = "許可がないと、Burrow はほとんどのシステムキャッシュにアクセスできません。"; +"Use Touch ID for admin operations" = "管理者操作で Touch ID を使う"; +"Install the signed helper and scan, clean, and optimize authenticate with a fingerprint instead of a password." = "署名済みヘルパーをインストールすると、スキャン・クリーン・最適化の認証をパスワードではなく指紋で行えます。"; +"Set up" = "設定する"; +"Dismiss" = "閉じる"; + +/* Clean — result hero & run */ +"Scan your Mac" = "Mac をスキャン"; +"%@ found" = "%@ を検出"; +"Scanning, %@ found so far" = "スキャン中、現在までに %@ を検出"; +"Stopped before the end — results are partial." = "途中で停止したため、結果は一部のみです。"; +"Review results" = "結果を確認"; +"Limited scan active · App Support and container caches are skipped" = "制限付きスキャン中 · App Support とコンテナのキャッシュはスキップされます"; +"Limited scan active. App Support and container caches are skipped. Open for options." = "制限付きスキャン中です。App Support とコンテナのキャッシュはスキップされます。開くと選択肢を確認できます。"; +"Why limited?" = "なぜ制限されるの?"; +"Without Full Disk Access, macOS hides most app and container caches from Burrow. Grant it once for full scans — or rerun this scan with administrator rights (one password)." = "フルディスクアクセスがないと、macOS はほとんどの App とコンテナのキャッシュを Burrow から隠します。一度許可すれば完全なスキャンができます。または、管理者権限(パスワード 1 回)でこのスキャンをやり直すこともできます。"; +"Scan with admin" = "管理者権限でスキャン"; +"This preview is stale" = "このプレビューは古くなっています"; +"The scan is more than a few minutes old — caches that appeared since wouldn't have been reviewed. Rescan to get current numbers, then clean." = "スキャンから数分以上が経過しています。その後に増えたキャッシュは確認されていません。再スキャンして最新の数値を確認してからクリーンしてください。"; +"Couldn't protect deselected items" = "選択を外した項目を保護できませんでした"; +"Writing the whitelist failed (%@), so the engine would clean everything it found. Nothing was cleaned." = "ホワイトリストの書き込みに失敗したため(%@)、エンジンは見つけたものをすべてクリーンしてしまいます。何もクリーンしていません。"; +"Move %d items (%@) to the Trash?" = "%1$d 項目(%2$@)をゴミ箱に入れますか?"; +"They stay recoverable until you empty the Trash. Space frees when it empties; this run won't appear in `mo history`." = "ゴミ箱を空にするまでは元に戻せます。容量が空くのはゴミ箱を空にしたときで、この実行は `mo history` には表示されません。"; +"Moving caches to Trash" = "キャッシュをゴミ箱に移動中"; +"%d moved · %d failed" = "移動: %1$d · 失敗: %2$d"; +"Moved %d items (%@) to the Trash." = "%1$d 項目(%2$@)をゴミ箱に移動しました。"; +"Moved %d items; %d were locked or already gone." = "%1$d 項目を移動しました。%2$d 項目はロックされているか、すでに存在しませんでした。"; +"Moved to Trash" = "ゴミ箱に移動しました"; +"Freed %@" = "%@ を解放"; +"Cleaned %@" = "%@ をクリーン"; +"%@ free now" = "現在 %@ が空き"; +"%@ items" = "%@ 項目"; +"Done" = "完了"; + +/* Clean — review screen */ +"Ready to clean" = "クリーンの準備ができました"; +"Close %@ to clean another %@ · %d items" = "%1$@ を終了すると、さらに %2$@ をクリーンできます · %3$d 項目"; +"Everything below came from the scan — untick anything you'd rather keep." = "以下はすべてスキャンの結果です。残しておきたいものはチェックを外してください。"; +"Back to results" = "結果に戻る"; +"Select all" = "すべて選択"; +"Deselect all" = "すべて選択解除"; +"%@, %d of %d selected, %@ of %@" = "%1$@、%3$d 項目中 %2$d 項目を選択、%5$@ 中 %4$@"; +"Toggle category" = "カテゴリを切り替え"; +"%d items" = "%d 項目"; +"Safe" = "安全"; +"App open" = "App が起動中"; +"System busy" = "システムが使用中"; +"The scan already excluded unsafe paths — everything here is removable cache data." = "スキャンの時点で安全でないパスは除外済みです。ここにあるのはすべて削除できるキャッシュデータです。"; +"This app is running; its cache is locked. Quit the app and rescan to clean it." = "この App は実行中で、キャッシュがロックされています。App を終了して再スキャンするとクリーンできます。"; +"A system service is using this path right now." = "システムサービスが現在このパスを使用しています。"; +"Always skip this" = "常にスキップする"; +"Permanently clean · %@" = "完全にクリーン · %@"; +"Move to Trash · %@" = "ゴミ箱に入れる · %@"; +"selected" = "選択中"; +"not selected" = "未選択"; +"User essentials" = "ユーザーの基本項目"; +"App caches" = "App キャッシュ"; +"Browsers" = "ブラウザ"; +"Cloud & Office" = "クラウドとオフィス"; +"Developer tools" = "開発ツール"; +"AI Tools" = "AI ツール"; +"Communication" = "コミュニケーション"; +"Applications" = "アプリケーション"; +"Virtualization" = "仮想化"; +"Application Support" = "Application Support"; +"App leftovers" = "App の残存ファイル"; +"System-managed caches and logs. Regenerated as macOS needs them." = "システムが管理するキャッシュとログです。macOS が必要に応じて作り直します。"; +"App temporary files. Regenerated next launch." = "App の一時ファイルです。次回の起動時に作り直されます。"; +"Page caches — sites load a touch slower on first visit." = "ページキャッシュです。次回の初回アクセスだけ、わずかに読み込みが遅くなります。"; +"Build and package caches. First build will be slower." = "ビルドとパッケージのキャッシュです。最初のビルドは遅くなります。"; +"Model and tool caches. Re-downloaded on next use." = "モデルとツールのキャッシュです。次に使うときに再ダウンロードされます。"; +"Message media caches. Re-fetched when you scroll back." = "メッセージのメディアキャッシュです。さかのぼって表示すると再取得されます。"; +"VM and container caches. Images re-pull on next run." = "仮想マシンとコンテナのキャッシュです。次の実行時にイメージを取得し直します。"; +"Sync caches. Files re-sync from the cloud." = "同期キャッシュです。ファイルはクラウドから同期し直されます。"; +"Files from apps that are no longer installed." = "すでにインストールされていない App のファイルです。"; +"Cache files. Regenerated as needed." = "キャッシュファイルです。必要に応じて作り直されます。"; + +/* Optimize — live ticker */ +"Refreshing…" = "更新中…"; +"Previewing…" = "プレビュー中…"; +"Working…" = "処理中…"; +"Working on %@, %d tasks done" = "%1$@ を処理中、完了したタスク: %2$d"; + +/* Software — uninstall review */ +"Startup" = "起動項目"; +"Last Used" = "最終使用日"; +"Refresh" = "更新"; +"Sort by %@" = "%@ で並べ替え"; +"ascending" = "昇順"; +"descending" = "降順"; +"%d files · %@" = "%1$d 個のファイル · %2$@"; +"Select %@" = "%@ を選択"; +"Enumerating files…" = "ファイルを列挙中…"; +"Auto selected" = "自動選択済み"; +"Needs review" = "要確認"; +"Not selected by default. Review these before removing." = "初期状態では選択されていません。削除する前に確認してください。"; +"Toggle %@ group" = "%@ グループを切り替え"; +"Couldn't enumerate this app's files — there's nothing to review here." = "この App のファイルを列挙できませんでした。確認できる項目はありません。"; +"Application" = "アプリケーション"; +"App Support" = "App Support"; +"Preferences" = "環境設定"; +"Container" = "コンテナ"; +"Group Container" = "グループコンテナ"; +"Helper" = "ヘルパー"; +"Login Item" = "ログイン項目"; +"Temporary Cache" = "一時キャッシュ"; +"Other" = "その他"; +"%@ · 1 app · %@" = "%1$@ · 1 個の App · %2$@"; +"%d apps · %@" = "%1$d 個の App · %2$@"; +"Remove %d" = "%d 件を削除"; +"Remove %d app?" = "%d 個の App を削除しますか?"; +"Remove %d apps?" = "%d 個の App を削除しますか?"; +"These move to the Trash — the app itself and the support files it keeps in your Library (containers, caches, preferences, saved state). You can put them back:\n\n%@" = "次の項目がゴミ箱に移動します。App 本体と、ライブラリ内の関連ファイル(コンテナ、キャッシュ、環境設定、保存された状態)です。あとで元に戻せます:\n\n%@"; +"Homebrew removes these by running `brew uninstall --cask --zap`. That doesn't use the Trash, and `--zap` also deletes configuration and data the cask declares — more than the file list can show:\n\n%@" = "次の項目は Homebrew が `brew uninstall --cask --zap` を実行して削除します。ゴミ箱は使われず、`--zap` は cask が宣言した設定やデータも削除するため、ファイル一覧に表示される範囲を超えます:\n\n%@"; +"If an app can't be removed, Burrow leaves its support files alone too, rather than half-removing it." = "App を削除できない場合、Burrow は関連ファイルもそのまま残し、中途半端な削除は行いません。"; +"Skipped — these have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "スキップしました。次の項目にはバンドル識別子がないため、Burrow はどの App を指すのかエンジンに伝えられません:\n\n%@"; +"Nothing Burrow can remove" = "Burrow が削除できる項目はありません"; +"These have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "次の項目にはバンドル識別子がないため、Burrow はどの App を指すのかエンジンに伝えられません:\n\n%@"; +"%d reviewed files" = "確認済みのファイル: %d"; +"Reviewed subsets are trashed by Burrow directly and appear in Burrow's Activity log, not `mo history`." = "確認して選んだ分は Burrow が直接ゴミ箱に移動し、`mo history` ではなく Burrow のアクティビティログに表示されます。"; +"Removing reviewed files" = "確認済みのファイルを削除中"; + +/* Software — startup segment */ +"Launch agent" = "起動エージェント"; +"Launch daemon" = "起動デーモン"; +"Unreadable configuration" = "読み取れない設定"; +"Program is missing" = "プログラムが見つかりません"; +"Bundled inside an app; review only" = "App に同梱されています。確認のみ"; +"System-wide; review only" = "システム全体の項目です。確認のみ"; +"Yours; remove the file to disable" = "あなたの項目です。ファイルを削除すると無効になります"; +"Your launch agents" = "あなたの起動エージェント"; +"System launch agents" = "システムの起動エージェント"; +"System launch daemons" = "システムの起動デーモン"; +"Reading startup items…" = "起動項目を読み込み中…"; +"Search items" = "項目を検索"; +"Error" = "エラー"; +"Review only — managed by its app or the system." = "確認のみ。App またはシステムが管理しています。"; +"Review only" = "確認のみ"; +"All" = "すべて"; +"Launch agents" = "起動エージェント"; +"Launch daemons" = "起動デーモン"; +"Problems" = "問題"; + +/* Software — updates */ +"App Store" = "App Store"; +"Sparkle" = "Sparkle"; +"Electron" = "Electron"; +"Homebrew" = "Homebrew"; +"Checking update sources…" = "アップデート元を確認中…"; +"Sources detected locally — checking versions contacts Apple and vendor servers." = "アップデート元はローカルで検出しました。バージョンの確認では Apple や各提供元のサーバに接続します。"; +"Check for updates" = "アップデートを確認"; +"Check again" = "もう一度確認"; +"Update all brews" = "Homebrew をすべてアップデート"; +"Updates available" = "アップデートがあります"; +"Up to date" = "最新です"; +"Not checkable" = "確認できません"; +"No App Store receipt, Sparkle feed, or known updater inside these bundles." = "これらのバンドルには App Store のレシート、Sparkle のフィード、既知のアップデータのいずれもありません。"; +"Apps with an update mechanism" = "アップデート機能のある App"; +"active now" = "現在使用中"; +"opened %@" = "%@ に起動"; +"never opened" = "未起動"; + +/* Settings — tabs & general */ +"General" = "一般"; +"Maintenance" = "メンテナンス"; +"Menu Bar" = "メニューバー"; +"Advanced" = "詳細"; +"Close settings" = "設定を閉じる"; +"Permissions" = "アクセス権"; +"On. Burrow can reach system and app caches." = "オンです。Burrow はシステムと App のキャッシュにアクセスできます。"; +"Off. Safe scan in use — most system caches stay out of reach." = "オフです。安全なスキャンを使用中で、ほとんどのシステムキャッシュにはアクセスできません。"; +"Startup & window" = "起動とウインドウ"; +"Launch at Login" = "ログイン時に起動"; +"Starts Burrow quietly at login so sampling and the menu-bar monitor are always on." = "ログイン時に Burrow を静かに起動し、サンプリングとメニューバーの監視を常に有効にします。"; +"Hide Dock Icon when window closes" = "ウインドウを閉じたら Dock アイコンを隠す"; +"On: Burrow retreats to the menu bar when you close the window. Off: it stays in the Dock. With the menu-bar icon hidden, the Dock icon always stays — otherwise the app would be unreachable." = "オン: ウインドウを閉じると Burrow はメニューバーに退避します。オフ: Dock に残ります。メニューバーアイコンを非表示にしている場合、Dock アイコンは常に残ります。そうしないと App を開けなくなるためです。"; +"Skip Intro Screens" = "紹介画面をスキップ"; +"Jumps past the tools' idle screens where a read-only preview can start right away (Clean starts its scan when you open the tab)." = "読み取り専用のプレビューをすぐ開始できるツールで、待機画面を飛ばします(クリーンはタブを開いた時点でスキャンを始めます)。"; +"About" = "情報"; +"Source on GitHub" = "GitHub のソース"; + +/* Settings — maintenance */ +"Protected Items" = "保護する項目"; +"Paths and glob patterns Mole never cleans — `mo clean` and `mo optimize` skip anything matching them. “Always skip this” in the Clean review writes here too." = "Mole が決してクリーンしないパストと glob パターンです。`mo clean` と `mo optimize` は一致するものをスキップします。クリーンの確認画面にある「常にスキップする」も、ここに書き込みます。"; +"No protected items yet." = "保護する項目はまだありません。"; +"Add a path or glob pattern" = "パスまたは glob パターンを追加"; +"Add" = "追加"; +"Remove %@ from protected items" = "%@ を保護する項目から削除"; +"Cache removal" = "キャッシュの削除"; +"Removal mode" = "削除の方法"; +"Permanent" = "完全に削除"; +"Trash" = "ゴミ箱"; +"Permanent (default): the engine removes caches outright — freed space is real, immediately. Trash: reviewed, ticked paths go to the Trash instead — recoverable, but space frees only when Trash empties, and the run won't appear in `mo history`." = "完全に削除(初期設定): エンジンがキャッシュをそのまま削除します。容量はすぐに実際に空きます。ゴミ箱: 確認してチェックしたパスをゴミ箱に移動します。元に戻せますが、容量が空くのはゴミ箱を空にしたときで、この実行は `mo history` には表示されません。"; + +/* Settings — menu bar */ +"Display" = "表示"; +"Icon" = "アイコン"; +"Metrics" = "指標"; +"Metrics shows live CPU and memory next to the mark, refreshed with the sampler." = "指標を選ぶと、マークの横に CPU とメモリの現在値を表示し、サンプリングに合わせて更新します。"; +"Keyboard shortcuts" = "キーボードショートカット"; +"Keep Screen On" = "画面をつけたままにする"; +"Clean Screen" = "画面の掃除"; +"System-wide. Click a chip, press a combination with ⌃, ⌥ or ⌘; Esc cancels, × clears." = "システム全体で有効です。チップをクリックし、⌃、⌥、⌘ を含む組み合わせを押してください。Esc でキャンセル、× で消去します。"; +"Block keys while wiping" = "拭いている間はキー入力を無効にする"; +"Accessibility" = "アクセシビリティ"; +"Needed to swallow key presses while you wipe. Esc always exits." = "拭いている間のキー入力を無視するために必要です。Esc はいつでも終了します。"; +"Off: Clean Screen still works, keys just aren't blocked. Esc always exits either way." = "オフ: 画面の掃除は使えますが、キー入力は無効になりません。どちらの場合も Esc で終了します。"; +"Press keys…" = "キーを押してください…"; +"Record" = "記録"; +"Record shortcut" = "ショートカットを記録"; +"Clear shortcut" = "ショートカットを消去"; +"None" = "なし"; + +/* Menu-bar tools */ +"15 minutes" = "15 分"; +"30 minutes" = "30 分"; +"1 hour" = "1 時間"; +"2 hours" = "2 時間"; +"Until turned off" = "オフにするまで"; +"Turn Off" = "オフにする"; +"Check for Updates…" = "アップデートを確認…"; +"Couldn't check for updates" = "アップデートを確認できませんでした"; +"GitHub didn't answer. Try again later, or open the releases page." = "GitHub から応答がありませんでした。しばらくしてからもう一度試すか、リリースページを開いてください。"; +"Update available" = "アップデートがあります"; +"Burrow %@ is available (you have %@). Update with `brew upgrade --cask burrow`, or open the release page." = "Burrow %1$@ が公開されています(現在は %2$@)。`brew upgrade --cask burrow` でアップデートするか、リリースページを開いてください。"; +"Burrow %@ is available (you have %@). Download it from the release page." = "Burrow %1$@ が公開されています(現在は %2$@)。リリースページからダウンロードしてください。"; +"You're up to date" = "最新の状態です"; +"Burrow %@ is the latest release." = "Burrow %@ が最新のリリースです。"; +"Open Release Page" = "リリースページを開く"; +"Engine: %@" = "エンジン: %@"; +"not found" = "見つかりません"; +"Releases" = "リリース"; +"What telemetry is collected" = "収集する情報について"; +"Licenses" = "ライセンス"; +"Wipe away — press Esc when you're done." = "画面を拭いてください。終わったら Esc を押します。"; + +/* Status dashboard */ +"%d fans" = "%d 基のファン"; +"macOS manages speed" = "回転数は macOS が管理します"; +"No fan data on this Mac" = "この Mac にはファンのデータがありません"; +"Fan" = "ファン"; +"%d%% Health" = "状態 %d%%"; +"%d cyc" = "%d 回"; +"Mac" = "Mac"; +"%d percent" = "%d パーセント"; +"PWR" = "電力"; +"Energy billed since launch (mWh)" = "起動後の積算消費電力(mWh)"; +"Actions for %@" = "%@ の操作"; +"Pin" = "固定"; +"Unpin" = "固定を解除"; +"Copy name" = "名前をコピー"; +"Copy PID" = "PID をコピー"; +"Quit…" = "終了…"; +"Force Kill…" = "強制終了…"; +"Force kill %@?" = "%@ を強制終了しますか?"; +"Quit %@?" = "%@ を終了しますか?"; +"SIGKILL ends it immediately — unsaved work in this process is lost." = "SIGKILL は直ちに終了させます。このプロセスの保存していない作業は失われます。"; +"Sends a polite quit (SIGTERM). The process may save and exit, or ignore it." = "穏やかな終了要求(SIGTERM)を送ります。プロセスは保存して終了することも、無視することもあります。"; +"Force Kill" = "強制終了"; +"Quit Process" = "プロセスを終了"; + +/* Menu-bar popover */ +"%@ free" = "%@ 空き"; +"Health %d. Open Burrow." = "状態 %d。Burrow を開きます。"; +"up %@" = "稼働 %@"; +"%@ used · %.0f%%" = "%@ 使用中 · %.0f%%"; +"No fan data" = "ファンのデータなし"; +"Top drain — %@ · avg %.0f%% CPU over the last hour" = "消費が最大 — %@ · 直近 1 時間の平均 CPU %.0f%%"; +"Stay Awake" = "スリープさせない"; +"Wipe" = "拭く"; +"Eject" = "取り出す"; +"on" = "オン"; +"Ejecting external volumes" = "外部ボリュームを取り出し中"; +"%d ejected · %d busy" = "取り出し: %1$d · 使用中: %2$d"; +"%@ cleaned · %d uninstalled · %d optimized" = "クリーン %1$@ · 削除 %2$d 件 · 最適化 %3$d 件"; +"Clean Watch" = "クリーンの見守り"; + +/* Analyze progress */ +"Mapping your folders" = "フォルダの構成を調べています"; +"Measuring…" = "計測中…"; +"Scanning %@, %d of %d" = "%1$@ をスキャン中、%3$d 件中 %2$d 件"; +"Scanning" = "スキャン中"; + +/* ===== Uninstall pre-flight: identity of the resolved app ===== */ +"“%@” isn't an identifier that names one app — it resolves to whichever app the engine happens to match first, so nothing was removed. Use the app's bundle id or its exact name." = "「%@」は 1 つの App を特定する識別子ではありません。エンジンが最初に一致した App が対象になってしまうため、何も削除していません。App のバンドル ID か正確な名前を指定してください。"; +"The engine didn't say which application “%@” resolves to, so Burrow can't confirm it's the right one and nothing was removed." = "エンジンは「%@」がどの App に対応するかを示さなかったため、Burrow は対象が正しいことを確認できず、何も削除していません。"; +"The engine resolved %@ twice, so the run wouldn't act on the set it reported." = "エンジンは %@ を 2 回解決したため、この実行は報告された対象どおりには動作しません。"; +"“%1$@” isn't %2$@'s name or bundle id — the engine matched it by substring, so it may not be the app you meant. Nothing was removed; ask for it by name: %3$@." = "「%1$@」は %2$@ の名前でもバンドル ID でもありません。エンジンは部分一致で見つけたため、意図した App ではない可能性があります。何も削除していません。名前で指定してください: %3$@。"; +"The engine resolved an argument Burrow didn't send (“%@”), so nothing was removed." = "エンジンは Burrow が送っていない引数(「%@」)を解決したため、何も削除していません。"; +"“%1$@” resolves to %2$@ (%3$@), not the %4$@ you picked (%5$@), so nothing was removed." = "「%1$@」が対応するのは %2$@(%3$@)で、選択した %4$@(%5$@)ではないため、何も削除していません。"; +"“%1$@” resolves to an app whose bundle id is %2$@, not the %3$@ you picked, so nothing was removed." = "「%1$@」が対応する App のバンドル ID は %2$@ で、選択した %3$@ ではないため、何も削除していません。"; + +/* ===== Uninstall: the plan disagrees with the confirm sheet ===== */ +"This isn't quite what Burrow just told you" = "Burrow の説明と少し違う結果になりました"; +"Remove anyway" = "このまま削除"; +"cancelled — nothing removed" = "キャンセルしました — 何も削除していません"; +"Homebrew removes these after all, with `brew uninstall --cask --zap` — that doesn't use the Trash, so you can't put them back: %@" = "次の項目は結局 Homebrew が `brew uninstall --cask --zap` で削除します。ゴミ箱は使われないため、元に戻せません: %@"; +"These aren't Homebrew's after all — Burrow moves them to the Trash itself: %@" = "次の項目は結局 Homebrew の管理ではありません。Burrow が自分でゴミ箱に移動します: %@"; + +/* ===== Uninstall review: what Burrow may not remove by hand ===== */ +"Homebrew installed %1$@ — it has to be removed with `brew uninstall --cask --zap %2$@`. Trashing the app on its own would leave Homebrew still believing it's installed." = "%1$@ は Homebrew でインストールされているため、`brew uninstall --cask --zap %2$@` で削除する必要があります。App だけをゴミ箱に入れると、Homebrew はまだインストール済みだと認識したままになります。"; +"Burrow won't remove these itself" = "Burrow はこれらを自分では削除しません"; +"These stay installed — only the reviewed support files move to the Trash, and you can put them back:\n\n%@" = "次の App はインストールされたままです。確認した関連ファイルだけがゴミ箱に移動し、あとで元に戻せます:\n\n%@"; +"Remove data from %d app?" = "%d 個の App のデータを削除しますか?"; +"Remove data from %d apps?" = "%d 個の App のデータを削除しますか?"; diff --git a/macos/Resources/ko.lproj/Localizable.strings b/macos/Resources/ko.lproj/Localizable.strings new file mode 100644 index 00000000..ee6eeaee --- /dev/null +++ b/macos/Resources/ko.lproj/Localizable.strings @@ -0,0 +1,869 @@ +/* Tools */ +"clean" = "정리"; +"apps" = "소프트웨어"; +"optimize" = "최적화"; +"analyze" = "분석"; +"status" = "상태"; +"Clean" = "정리"; +"Software" = "소프트웨어"; +"Optimize" = "최적화"; +"Analyze" = "분석"; +"Status" = "상태"; +"Settings" = "설정"; +"History" = "기록"; +"Fresh air through old tunnels." = "오래된 굴에 신선한 바람을."; +"Shed what you've outgrown." = "이제 필요 없는 것은 벗어 두세요."; +"Small turns, a smoother run." = "작은 손질로, 더 매끄럽게."; +"Map every chamber below." = "아래의 모든 공간을 지도로."; +"Every pulse of the den." = "굴의 모든 맥박까지."; + +/* Shared */ +"Burrow" = "Burrow"; +"Couldn't open Burrow's history database" = "Burrow의 기록 데이터베이스를 열 수 없습니다"; +"%@\n\nThe app will quit." = "%@\n\n앱을 종료합니다."; +"Mole CLI (`mo`) not found on PATH." = "PATH에서 Mole CLI(`mo`)를 찾을 수 없습니다."; +"mo analyze exited %d: %@" = "mo analyze가 코드 %d(으)로 종료되었습니다: %@"; +"Couldn't parse mo analyze output: %@" = "mo analyze의 출력을 해석할 수 없습니다: %@"; +"CPU" = "CPU"; +"GPU" = "GPU"; +"Memory" = "메모리"; +"Network" = "네트워크"; +"Disk" = "디스크"; +"Battery" = "배터리"; +"Power" = "전원"; +"Health" = "상태"; +"Activity" = "활동"; +"Top processes" = "상위 프로세스"; +"Open Burrow" = "Burrow 열기"; +"Preview" = "미리보기"; +"Cancel" = "취소"; +"Failed: %@" = "실패: %@"; +"%d items · %@" = "%d개 항목 · %@"; +"%@ in %d items" = "%2$d개 항목에서 %1$@"; +"Scanning…" = "검사 중…"; +"Home" = "홈"; +"Homebrew (`brew`) not found on this Mac." = "이 Mac에서 Homebrew(`brew`)를 찾을 수 없습니다."; +"formula" = "formula"; +"cask" = "cask"; + +/* Status and HUD */ +"Waiting for the first sample…" = "첫 번째 표본을 기다리는 중…"; +"Burrow runs `mo status --json` on a timer; the first row lands within a tick." = "Burrow는 일정한 간격으로 `mo status --json`을 실행합니다. 첫 번째 행은 다음 주기에 들어옵니다."; +"%d cores" = "%d코어"; +"load %.2f · %.2f · %.2f" = "부하 %.2f · %.2f · %.2f"; +"%.1f / %.1f GB · swap %.1f GB" = "%.1f / %.1f GB · 스왑 %.1f GB"; +"normal" = "정상"; +"warning" = "경고"; +"Good" = "양호"; +"Excellent" = "매우 좋음"; +"Fair" = "보통"; +"Poor" = "나쁨"; +"Critical" = "위험"; +"All checks passed" = "모든 점검을 통과했습니다"; +"up %@ · since %@" = "%@ 가동 · %@부터"; +"%@ · %@ · up %@" = "%@ · %@ · %@ 가동"; +"GB free" = "GB 여유"; +"%.0f%% used · R %.0f · W %.0f MB/s" = "%.0f%% 사용 중 · 읽기 %.0f · 쓰기 %.0f MB/s"; +"AC Power" = "전원 어댑터"; +"charging" = "충전 중"; +"%@ left" = "%@ 남음"; +"%@ left · %d cyc · %d%% cap" = "%@ 남음 · %d회 · 용량 %d%%"; +"NAME (%d)" = "이름 (%d)"; +"PID" = "PID"; +"MEM" = "메모리"; +"↓ %d ↑ %d KB/s" = "↓ %d ↑ %d KB/s"; +"%.0f%% used" = "%.0f%% 사용 중"; +"%ds ago" = "%d초 전"; +"no samples yet" = "아직 표본이 없습니다"; + +/* Clean */ +"Clean Now" = "지금 정리"; +"Cleaned" = "정리 완료"; +"Freed up to %@ · %@ items" = "최대 %@ 확보 · %@개 항목"; +"Re-scan" = "다시 검사"; +"Clean for real" = "실제로 정리하기"; +"to free" = "확보 가능"; +"· %@ items · %@ categories" = "· %@개 항목 · %@개 분류"; +"Scanning your Mac…" = "Mac을 검사하는 중…"; +"Cleaning… don't quit." = "정리 중입니다. 종료하지 마세요."; +"Preview — review, then clean for real." = "미리보기입니다. 확인한 뒤 실제로 정리하세요."; +"Done — caches cleared." = "완료했습니다. 캐시를 비웠습니다."; +"Scanning caches" = "캐시 검사 중"; +"Cleaning caches" = "캐시 정리 중"; +"Clean caches for real?" = "캐시를 실제로 정리할까요?"; +"Burrow will run `mo clean` with administrator rights. Cache files are removed permanently; Mole's whitelist and safety rules still apply." = "Burrow가 관리자 권한으로 `mo clean`을 실행합니다. 캐시 파일은 영구적으로 삭제되지만, Mole의 허용 목록과 안전 규칙은 그대로 적용됩니다."; + +/* Optimize */ +"Run again" = "다시 실행"; +"Maintenance complete" = "유지 관리 완료"; +"%d areas refreshed" = "갱신한 영역: %d개"; +"Optimizing" = "최적화 중"; +"Optimize preview" = "최적화 미리보기"; +"Previewing maintenance…" = "유지 관리를 미리 확인하는 중…"; +"Running maintenance…" = "유지 관리를 실행하는 중…"; +"Maintenance complete." = "유지 관리를 완료했습니다."; +"Preview complete." = "미리보기를 완료했습니다."; + +/* Task reports from mo */ +"Summary" = "요약"; +"Performance Diagnosis" = "성능 진단"; +"DNS & Spotlight Check" = "DNS 및 Spotlight 점검"; +"Finder Cache Refresh" = "Finder 캐시 갱신"; +"App State Cleanup" = "앱 저장 상태 정리"; +"Broken Config Repair" = "손상된 설정 복구"; +"Network Cache Refresh" = "네트워크 캐시 갱신"; +"Database Optimization" = "데이터베이스 최적화"; +"LaunchServices Repair" = "LaunchServices 복구"; +"Dock Refresh" = "Dock 갱신"; +"Prevent Finder .DS_Store" = ".DS_Store 생성 방지"; +"Memory Optimization" = "메모리 최적화"; +"Network Stack Refresh" = "네트워크 스택 갱신"; +"Permission Repair" = "권한 복구"; +"Spotlight Optimization" = "Spotlight 최적화"; +"Spotlight Orphan Rules" = "Spotlight 고아 규칙"; +"Periodic Maintenance" = "정기 유지 관리"; +"Shared File Lists" = "공유 파일 목록"; +"Disk Health" = "디스크 상태"; +"Login Items" = "로그인 항목"; +"Quarantine Database Cleanup" = "격리 데이터베이스 정리"; +"Launch Agents Cleanup" = "실행 에이전트 정리"; +"Notifications" = "알림"; +"Usage Data" = "사용 데이터"; +"User Essentials" = "사용자 기본 항목"; +"App Caches" = "앱 캐시"; +"System Caches" = "시스템 캐시"; +"Developer Caches" = "개발자 캐시"; +"Browser Caches" = "브라우저 캐시"; +"Logs" = "로그"; +"DRY RUN MODE, No files will be modified" = "모의 실행 모드. 파일은 변경되지 않습니다"; +"Likely bottleneck: %@" = "병목으로 보이는 항목: %@"; +"Gatekeeper and code-signature assessment activity is elevated." = "Gatekeeper의 코드 서명 검사 활동이 평소보다 많습니다."; +"Gatekeeper status: assessments enabled" = "Gatekeeper 상태: 검사 활성화됨"; +"Only system-managed CoreSimulator images are mounted, informational only, not a detach target" = "시스템이 관리하는 CoreSimulator 이미지만 마운트되어 있습니다. 참고 정보일 뿐 분리 대상은 아닙니다"; +"DNS cache flushed" = "DNS 캐시를 비웠습니다"; +"Spotlight index verified" = "Spotlight 색인을 확인했습니다"; +"QuickLook thumbnails refreshed" = "QuickLook 미리보기를 갱신했습니다"; +"Icon services cache rebuilt" = "아이콘 서비스 캐시를 다시 만들었습니다"; +"App saved states optimized" = "앱의 저장 상태를 최적화했습니다"; +"All preference files valid" = "모든 환경설정 파일이 정상입니다"; +"DNS cache already refreshed" = "DNS 캐시는 이미 갱신되어 있었습니다"; +"mDNSResponder already restarted" = "mDNSResponder는 이미 다시 시작되어 있었습니다"; +"All databases already optimized" = "모든 데이터베이스가 이미 최적화되어 있었습니다"; +"LaunchServices repaired" = "LaunchServices를 복구했습니다"; +"File associations refreshed" = "파일 연결을 갱신했습니다"; +"Dock refreshed" = "Dock을 갱신했습니다"; +".DS_Store prevention enabled on network & USB volumes" = "네트워크 및 USB 볼륨에서 .DS_Store 생성을 막았습니다"; +"Inactive memory released" = "비활성 메모리를 해제했습니다"; +"System responsiveness improved" = "시스템 반응 속도가 개선되었습니다"; +"Network routing table refreshed" = "네트워크 라우팅 테이블을 갱신했습니다"; +"ARP cache cleared" = "ARP 캐시를 비웠습니다"; +"User directory permissions repaired" = "사용자 디렉터리 권한을 복구했습니다"; +"User directory permissions already optimal" = "사용자 디렉터리 권한은 이미 최적 상태였습니다"; +"File access issues resolved" = "파일 접근 문제를 해결했습니다"; +"Spotlight index already optimal" = "Spotlight 색인은 이미 최적 상태였습니다"; +"Spotlight search rules already clean" = "Spotlight 검색 규칙은 이미 정리되어 있었습니다"; +"Periodic maintenance skipped (not available on this macOS version)" = "정기 유지 관리를 건너뛰었습니다(이 macOS 버전에서는 사용할 수 없음)"; +"Shared file lists all healthy" = "공유 파일 목록이 모두 정상입니다"; +"Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)" = "디스크 검사를 건너뛰었습니다(사용하려면 MOLE_ENABLE_DISK_VERIFY=1 설정)"; +"Login items all healthy (%@ checked)" = "로그인 항목이 모두 정상입니다(%@개 확인)"; +"Quarantine database already clean" = "격리 데이터베이스는 이미 정리되어 있었습니다"; +"Launch Agents all healthy" = "실행 에이전트가 모두 정상입니다"; +"Notification Center database not found" = "알림 센터 데이터베이스를 찾을 수 없습니다"; +"Knowledge database is healthy (%@)" = "Knowledge 데이터베이스가 정상입니다(%@)"; +"%@ %@ items, %@ dry" = "%@ %@개 항목, %@ 정리 가능"; +"%@ %@ old items, %@ dry" = "%@ 오래된 항목 %@개, %@ 정리 가능"; +"%@, %@ dry" = "%@, %@ 정리 가능"; +"User app cache" = "사용자 앱 캐시"; +"User app logs" = "사용자 앱 로그"; +"Darwin user cache files" = "Darwin 사용자 캐시 파일"; +"Media analysis cache" = "미디어 분석 캐시"; +"Media analysis temp files" = "미디어 분석 임시 파일"; +"Wallpaper agent cache" = "배경화면 에이전트 캐시"; +"Trash · already empty" = "휴지통 · 이미 비어 있음"; +"System caches need sudo, run sudo -v && mo clean --dry-run for full preview" = "시스템 캐시에는 sudo가 필요합니다. 전체 미리보기를 보려면 sudo -v && mo clean --dry-run을 실행하세요"; +"Dry Run Mode, Preview only, no deletions" = "모의 실행 모드. 미리보기만 하고 삭제하지 않습니다"; + +/* Analyze */ +"Reveal in Finder" = "Finder에서 보기"; +"Open here" = "여기서 열기"; +"Analyzing %@" = "%@ 분석 중"; +"scan failed" = "검사에 실패했습니다"; + +/* Software */ +"Size" = "크기"; +"Name" = "이름"; +"Recent" = "최근"; +"Source" = "출처"; +"Uninstall" = "삭제"; +"Updates" = "업데이트"; +"Search apps" = "앱 검색"; +"Reading installed apps…" = "설치된 앱을 읽는 중…"; +"%d apps" = "앱 %d개"; +"%d selected · %@" = "%d개 선택됨 · %@"; +"Uninstall (%d)" = "삭제 (%d)"; +"Uninstall %d app?" = "앱 %d개를 삭제할까요?"; +"Uninstall %d apps?" = "앱 %d개를 삭제할까요?"; +"Move to Trash" = "휴지통으로 이동"; +"Checking Homebrew…" = "Homebrew를 확인하는 중…"; +"Everything's up to date" = "모두 최신입니다"; +"Homebrew formulae & casks" = "Homebrew formula 및 cask"; +"%d update" = "업데이트 %d개"; +"%d updates" = "업데이트 %d개"; +"Update all" = "모두 업데이트"; +"Updating…" = "업데이트 중…"; +"Update" = "업데이트"; + +/* Settings */ +"Storage" = "저장 공간"; +"Currently using" = "현재 사용량"; +"Last maintenance" = "마지막 유지 관리"; +"Run maintenance now" = "지금 유지 관리 실행"; +"History lives at ~/Library/Application Support/Burrow/burrow.db. Rows past the retention window are pruned hourly." = "기록은 ~/Library/Application Support/Burrow/burrow.db에 저장됩니다. 보관 기간이 지난 행은 한 시간마다 삭제됩니다."; +"History retention" = "기록 보관"; +"Keep history for" = "기록 보관 기간"; +"1 day" = "1일"; +"7 days" = "7일"; +"14 days" = "14일"; +"30 days" = "30일"; +"90 days" = "90일"; +"180 days" = "180일"; +"1 year" = "1년"; +"Vacuum DB after large prunes" = "대량 삭제 후 데이터베이스 압축"; +"Sampling" = "표본 수집"; +"Sample every" = "수집 주기"; +"5 sec" = "5초"; +"15 sec" = "15초"; +"30 sec" = "30초"; +"60 sec" = "60초"; +"2 min" = "2분"; +"5 min" = "5분"; +"Burrow runs `mo status --json` at this cadence. 60 s is plenty for charts; tighter intervals give finer detail at the cost of more subprocess churn." = "Burrow는 이 주기로 `mo status --json`을 실행합니다. 차트에는 60초로 충분하며, 주기를 짧게 하면 더 세밀해지는 대신 하위 프로세스가 더 자주 실행됩니다."; +"MCP query server" = "MCP 질의 서버"; +"Enable MCP query server" = "MCP 질의 서버 사용"; +"Endpoint" = "엔드포인트"; +"Toggle + port changes take effect after a relaunch. Exposes /health, /info, /snapshot, /metrics over localhost, plus the `Burrow --mcp` stdio server for Claude Code." = "켜고 끄기와 포트 변경은 다시 실행한 뒤에 적용됩니다. localhost에서 /health, /info, /snapshot, /metrics를 제공하며, Claude Code용 `Burrow --mcp` stdio 서버도 함께 제공합니다."; +"%ds ago · pruned %d rows" = "%1$d초 전 · %2$d개 행 삭제"; +"not yet run" = "아직 실행하지 않음"; + +/* History */ +"CPU usage" = "CPU 사용률"; +"usage" = "사용률"; +"CPU load" = "CPU 부하"; +"1m avg" = "1분 평균"; +"load1" = "load1"; +"% used" = "% 사용 중"; +"used" = "사용 중"; +"Disk I/O" = "디스크 I/O"; +"MB/s" = "MB/s"; +"read" = "읽기"; +"write" = "쓰기"; +"rx" = "수신"; +"tx" = "송신"; +"Thermal" = "온도"; +"cpu" = "cpu"; +"gpu" = "gpu"; +"Health score" = "상태 점수"; +"0–100" = "0–100"; +"No samples in this window" = "이 구간에는 표본이 없습니다"; +"peak across window" = "구간 내 최고치"; +"No processes recorded" = "기록된 프로세스가 없습니다"; +"%d samples" = "표본 %d개"; +"· latest %ds ago" = "· 최근 표본 %d초 전"; + +/* Menus and alerts */ +"About Burrow" = "Burrow에 관하여"; +"Settings…" = "설정…"; +"Hide Burrow" = "Burrow 가리기"; +"Quit Burrow" = "Burrow 종료"; +"Edit" = "편집"; +"Undo" = "실행 취소"; +"Redo" = "다시 실행"; +"Cut" = "오려두기"; +"Copy" = "복사하기"; +"Paste" = "붙여넣기"; +"Select All" = "전체 선택"; +"Window" = "윈도우"; +"Minimize" = "최소화"; +"Close" = "닫기"; +"Mole CLI not found" = "Mole CLI를 찾을 수 없음"; + +/* Home (Overview / History / Activity / Report) + Explain */ +"Overview" = "개요"; +"Report" = "보고서"; +"Doctor" = "진단"; +"Diagnostics" = "진단 정보"; +"Dev hygiene" = "개발 환경 정리"; +"No developer caches found." = "개발자 캐시를 찾지 못했습니다."; +"Clear" = "비우기"; +"Move this cache to the Trash?" = "이 캐시를 휴지통으로 옮길까요?"; +"ports" = "포트"; +"Ports" = "포트"; +"Listening ports" = "수신 대기 포트"; +"See who's listening." = "무엇이 대기 중인지 확인하세요."; +"Quit this process?" = "이 프로세스를 종료할까요?"; +"tuneup" = "정비"; +"Tune-Up" = "정비"; +"One pass, a tidier den." = "한 번의 손질로 굴이 말끔해집니다."; +"Safe to run" = "안전하게 실행 가능"; +"Needs review" = "확인 필요"; +"Run safe set" = "안전한 항목 실행"; +"Clear %@ cache" = "%@ 캐시 비우기"; +"Review startup item: %@" = "시동 항목 확인: %@"; +"Nothing to tune up — you're clean." = "정비할 항목이 없습니다. 이미 깨끗합니다."; +"restore" = "복원"; +"Restore" = "복원"; +"Put back what the last clean moved." = "마지막 정리에서 옮긴 항목을 되돌립니다."; +"Restore last cleanup" = "마지막 정리 되돌리기"; +"Only Trash-based removals can be restored — cache deletions are permanent." = "휴지통을 거친 항목만 되돌릴 수 있습니다. 삭제된 캐시는 복구할 수 없습니다."; +"No restorable items found." = "되돌릴 수 있는 항목이 없습니다."; +"Top processes in selection" = "선택 구간의 상위 프로세스"; +"No process samples in that window." = "해당 구간에는 프로세스 표본이 없습니다."; +"Full in ~%@" = "약 %@ 후 가득 참"; +"%d days" = "%d일"; +"%d weeks" = "%d주"; +"%d months" = "%d개월"; +"Uncommitted or unpushed git changes in this repo" = "이 저장소에 커밋하지 않았거나 푸시하지 않은 git 변경 사항이 있습니다"; +"A new startup item appeared" = "새로운 시동 항목이 생겼습니다"; +"“%@” now launches automatically. If you didn't add it, review it." = "이제 「%@」이(가) 자동으로 실행됩니다. 직접 추가한 것이 아니라면 확인해 보세요."; +"CPU usage is high" = "CPU 사용률이 높습니다"; +"CPU has been pegged at %.0f%%." = "CPU가 %.0f%%에 머물러 있습니다."; +"Memory pressure is high" = "메모리 사용 압박이 큽니다"; +"Memory is at %.0f%%." = "메모리 사용률이 %.0f%%입니다."; +"Explain" = "설명"; + +/* Language switch */ +"Language" = "언어"; +"App language" = "앱 언어"; +"System" = "시스템"; +"Relaunch to change language?" = "언어를 바꾸려면 다시 실행할까요?"; +"Burrow needs to relaunch to apply the new language." = "새 언어를 적용하려면 Burrow를 다시 실행해야 합니다."; +"Relaunch Now" = "지금 다시 실행"; +"Later" = "나중에"; +"A language change takes effect after a relaunch." = "언어 변경은 다시 실행한 뒤에 적용됩니다."; + +/* Analyze — move to Trash */ +"Move “%@” to Trash?" = "「%@」을(를) 휴지통으로 옮길까요?"; +"This moves %@ (%@) to the Trash, where you can restore it." = "%@(%@)을(를) 휴지통으로 옮깁니다. 나중에 되돌릴 수 있습니다."; +"this folder" = "이 폴더"; +"this file" = "이 파일"; +"Couldn't move to Trash" = "휴지통으로 옮길 수 없습니다"; + +/* Settings sections */ +"Engine" = "엔진"; +"Menu bar" = "메뉴 막대"; +"Show menu bar icon" = "메뉴 막대 아이콘 보기"; + +/* Tools — purge / installer labels + taglines */ +"purge" = "심층 정리"; +"installer" = "설치 파일"; +"Purge" = "심층 정리"; +"Installers" = "설치 파일"; +"Clear the diggings dev work leaves behind." = "개발 작업이 남긴 부스러기를 치웁니다."; +"Sweep out the crates you unpacked." = "다 뜯은 상자를 치워 냅니다."; + +/* Common actions / labels */ +"Scan" = "검사"; +"Rescan" = "다시 검사"; +"Back" = "뒤로"; +"Stop" = "중단"; +"Stopped." = "중단했습니다."; +"Go up" = "상위로"; +"Fans" = "팬"; +"Bluetooth" = "Bluetooth"; +"GPU usage" = "GPU 사용률"; +"RAM" = "RAM"; +"Version" = "버전"; +"incomplete" = "미완료"; +"Reading your Mac…" = "Mac을 읽는 중…"; + +/* Activity (cleanup history) */ +"Recent Mole cleanup sessions" = "최근 Mole 정리 기록"; +"No cleanup history yet" = "아직 정리 기록이 없습니다"; +"Run a Clean or Optimize and it'll show up here." = "정리나 최적화를 실행하면 여기에 표시됩니다."; + +/* Settings — AI / MCP / server */ +"Burrow engine missing" = "Burrow 엔진 없음"; +"Touch ID for sudo" = "sudo에 Touch ID 사용"; +"Explain (AI) — experimental" = "설명(AI) — 실험적 기능"; +"Ask your AI about your Mac (MCP)" = "AI에게 Mac에 대해 물어보기(MCP)"; +"Local HTTP query server" = "로컬 HTTP 질의 서버"; +"Enable the Explain lens" = "설명 기능 사용"; +"Enable HTTP query server" = "HTTP 질의 서버 사용"; +"Let agents run cleanups for real" = "에이전트가 실제로 정리하도록 허용"; +"Backend" = "백엔드"; +"Base URL" = "기본 URL"; +"Model" = "모델"; +"API key (optional)" = "API 키(선택 사항)"; +"Ollama model" = "Ollama 모델"; +"Local · Ollama" = "로컬 · Ollama"; +"LM Studio / API" = "LM Studio / API"; +"Read tools" = "읽기 도구"; +"Cleanup tools" = "정리 도구"; +"Try asking" = "이렇게 물어보세요"; +"Copy prompt" = "프롬프트 복사"; +"Preview what a cleanup would free, then clean it up." = "정리하면 얼마나 확보되는지 미리 보여 주고, 그대로 정리해 줘."; +"Uninstall Slack and remove its leftovers." = "Slack을 삭제하고 남은 파일도 지워 줘."; +"What's my Mac's CPU and memory usage right now?" = "지금 내 Mac의 CPU와 메모리 사용률은 얼마야?"; +"What's taking up space in my home folder?" = "홈 폴더에서 공간을 차지하는 게 뭐야?"; +"AI read of one snapshot — it can be wrong, and never acts on its own." = "스냅샷 하나를 AI가 읽은 결과입니다. 틀릴 수 있으며, AI가 스스로 무언가를 실행하지는 않습니다."; +"Adds an “Explain” button to Status that reads your latest snapshot and explains it in plain English, optionally suggesting Clean/Purge/Installers." = "상태 화면에 「설명」 버튼을 추가합니다. 최근 스냅샷을 읽어 쉬운 말로 설명하고, 필요하면 정리·심층 정리·설치 파일을 제안합니다."; +"Burrow exposes your Mac's recorded history to coding agents — Claude Code, Cursor, Codex, Cline — over MCP. Add the config below, then ask in plain language. The server starts on demand over stdio; there's no port and no always-on listener." = "Burrow는 기록한 Mac의 이력을 MCP를 통해 코딩 에이전트(Claude Code, Cursor, Codex, Cline)에 제공합니다. 아래 설정을 추가한 뒤 평소 쓰는 말로 물어보세요. 서버는 필요할 때만 stdio로 시작하며, 포트도 상시 대기하는 서비스도 없습니다."; +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` / `uninstall` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "기본값은 꺼짐입니다. 에이전트는 언제든지 지표를 읽고 모의 실행 미리보기를 할 수 있습니다. 이 설정을 켜면 실제 `mo clean` / `optimize` / `uninstall`을 실행할 수 있지만, 명시적인 확인 플래그를 함께 전달한 경우에만 가능합니다. 말 한마디가 잘못되어 삭제가 일어나는 일은 없습니다. 끄면 에이전트는 다시 읽기 전용이 됩니다. 데이터는 이 Mac을 벗어나지 않습니다."; +"Runs against a local Ollama model — nothing leaves this Mac. Start it with `ollama run `." = "로컬 Ollama 모델을 사용하므로 이 Mac을 벗어나는 데이터가 없습니다. `ollama run `로 시작하세요."; +"Any OpenAI-compatible server. For LM Studio: load a model, open Developer ▸ Start Server, and leave the key blank — the default URL is already LM Studio's. A hosted endpoint (e.g. OpenAI) needs a key and sends the metrics summary off-device (never file contents)." = "OpenAI 호환 서버라면 무엇이든 사용할 수 있습니다. LM Studio를 쓴다면 모델을 불러오고 Developer ▸ Start Server를 연 뒤 키는 비워 두세요. 기본 URL이 이미 LM Studio용입니다. 호스팅된 엔드포인트(예: OpenAI)는 키가 필요하며, 지표 요약이 기기 밖으로 전송됩니다(파일 내용은 전송되지 않습니다)."; +"Sparkle checks Burrow's signed update feed after startup settles and about once a day. It asks before downloading or installing anything." = "Sparkle은 실행이 안정된 뒤와 하루에 한 번 정도 Burrow의 서명된 업데이트 피드를 확인합니다. 내려받거나 설치하기 전에는 항상 묻습니다."; +"Check for updates automatically" = "자동으로 업데이트 확인"; +"Check for Updates" = "업데이트 확인"; +"About Burrow" = "Burrow에 관하여"; +"Update didn't complete" = "업데이트를 완료하지 못했습니다"; +"Update external engine" = "외부 엔진 업데이트"; +"This source build is using an engine outside Burrow.app, so its own updater remains available." = "이 소스 빌드는 Burrow.app 바깥의 엔진을 사용하므로, 엔진 자체의 업데이트 기능을 계속 쓸 수 있습니다."; +"Included with Burrow. Engine updates arrive through signed Burrow releases so the app's Developer ID seal stays valid." = "Burrow에 포함되어 있습니다. 엔진 업데이트는 서명된 Burrow 릴리스로 제공되므로 앱의 Developer ID 서명이 계속 유효합니다."; +"The bundled engine is missing. Reinstall Burrow to restore the signed app bundle." = "포함된 엔진이 없습니다. 서명된 앱 번들을 복구하려면 Burrow를 다시 설치하세요."; +"External engine is up to date" = "외부 엔진이 최신입니다"; +"Now on %@." = "현재 버전은 %@입니다."; +"The external engine updater exited non-zero. Try running `mo update` in a terminal." = "외부 엔진 업데이터가 오류로 종료되었습니다. 터미널에서 `mo update`를 실행해 보세요."; +"Disk analysis needs Mole %@ or newer (you have %@). %@" = "디스크 분석에는 Mole %@ 이상이 필요합니다(현재 %@). %@"; +"Update Burrow to get the current bundled engine." = "최신 포함 엔진을 사용하려면 Burrow를 업데이트하세요."; +"Use Settings › Engine › Update external engine, then try again." = "설정 › 엔진 › 외부 엔진 업데이트를 실행한 뒤 다시 시도하세요."; +"Reinstall Burrow to restore the bundled engine." = "포함된 엔진을 복구하려면 Burrow를 다시 설치하세요."; +"Lets `sudo` and admin prompts accept your fingerprint instead of a password, where macOS supports it. Configured via `mo touchid`; turning it on or off needs your password once." = "macOS가 지원하는 경우 `sudo`와 관리자 확인에서 암호 대신 지문을 사용할 수 있게 합니다. `mo touchid`로 설정하며, 켜거나 끌 때 암호가 한 번 필요합니다."; +"Authentication" = "인증"; +"Bearer token required" = "Bearer 토큰이 필요합니다"; +"Optional REST surface for dashboards or curl: /health, /info, /snapshot, /metrics over localhost. Every request needs the per-install token; retrieve it locally with `defaults read dev.caezium.Burrow query_auth_token`. Separate from the MCP stdio server above; toggle + port changes take effect after a relaunch." = "대시보드나 curl을 위한 선택적 REST 인터페이스입니다. localhost에서 /health, /info, /snapshot, /metrics를 제공합니다. 모든 요청에는 설치별 토큰이 필요하며, `defaults read dev.caezium.Burrow query_auth_token`으로 로컬에서 확인할 수 있습니다. 위의 MCP stdio 서버와는 별개이며, 켜고 끄기와 포트 변경은 다시 실행한 뒤에 적용됩니다."; +"Applies immediately. When off, Burrow shows a Dock icon instead so it stays reachable — a Dock click reopens the window." = "즉시 적용됩니다. 꺼져 있으면 Burrow가 대신 Dock 아이콘을 표시해 계속 접근할 수 있습니다. Dock을 클릭하면 윈도우가 다시 열립니다."; + +/* Onboarding / Full Disk Access */ +"Official builds include the engine inside the signed app. Reinstall Burrow to restore it; source builds can also provide an external `mo` on PATH." = "공식 빌드는 서명된 앱 안에 엔진을 포함합니다. 복구하려면 Burrow를 다시 설치하세요. 소스 빌드에서는 PATH에 있는 외부 `mo`를 사용할 수도 있습니다."; +"REINSTALL SIGNED APP" = "서명된 앱 다시 설치"; +"View the bundled engine source →" = "포함된 엔진의 소스 보기 →"; +"The engine is still missing. Finish reinstalling Burrow, then recheck or relaunch the app." = "엔진이 여전히 없습니다. Burrow 재설치를 마친 뒤 다시 확인하거나 앱을 다시 실행하세요."; +"Grant Full Disk Access to scan" = "검사하려면 전체 디스크 접근 권한을 허용하세요"; +"Skip the macOS permission prompts" = "macOS 권한 요청 창 건너뛰기"; +"Open Full Disk Access settings" = "전체 디스크 접근 권한 설정 열기"; +"Don't ask again" = "다시 묻지 않기"; +"Scan anyway" = "그래도 검사"; +"Scanning system & app caches makes macOS ask once per protected folder. Grant Burrow Full Disk Access to scan smoothly — it only reads sizes through Mole and never opens that data itself." = "시스템과 앱 캐시를 검사하면 macOS가 보호된 폴더마다 한 번씩 권한을 묻습니다. Burrow에 전체 디스크 접근 권한을 허용하면 중단 없이 검사할 수 있습니다. Burrow는 Mole을 통해 크기만 읽을 뿐, 그 데이터를 직접 열지는 않습니다."; +"Still blocked? macOS only applies Full Disk Access the next time Burrow launches. Quit and reopen, then scan." = "여전히 막혀 있나요? macOS는 전체 디스크 접근 권한을 Burrow가 다음에 실행될 때 적용합니다. 종료 후 다시 연 다음 검사하세요."; +"Quit" = "종료"; + +/* ===== Anonymous usage (telemetry) — Settings section + first-launch consent ===== */ +"Anonymous usage" = "익명 사용 정보"; +"Share anonymous usage & crash reports" = "익명 사용 정보 및 충돌 보고서 보내기"; +"Share anonymous usage & diagnostics" = "익명 사용 정보 및 진단 정보 보내기"; +"Sends anonymous product analytics (PostHog) and crash reports (Sentry): a random install id (not tied to you or your hardware), the app + macOS version, CPU type, and which features you use — with sizes and counts bucketed. Never file names, contents, paths, or your metrics. It helps gauge retention and catch crashes. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "익명 제품 분석(PostHog)과 충돌 보고서(Sentry)를 보냅니다. 보내는 항목은 임의의 설치 ID(사용자나 하드웨어와 연결되지 않음), 앱과 macOS 버전, CPU 종류, 사용한 기능이며 크기와 횟수는 구간으로 묶습니다. 파일 이름, 내용, 경로, 사용자의 지표는 절대 보내지 않습니다. 이용 지속률을 파악하고 충돌을 찾는 데 도움이 됩니다. 기본값은 켜짐이며, 끄면 둘 다 중단됩니다. 전체 목록은 TELEMETRY.md에 있습니다."; +"Sends anonymous product analytics (PostHog) plus crash, hang, startup, update, and sampled performance diagnostics (Sentry): random install IDs, app and exact macOS build, CPU type, screens and features used, and fixed-name diagnostic milestones. Never screenshots, screen recordings, your file names, contents, user paths, URLs, or metrics. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "익명 제품 분석(PostHog)과 함께 충돌·멈춤·시동·업데이트 및 표본 성능 진단 정보(Sentry)를 보냅니다. 보내는 항목은 임의의 설치 ID, 앱과 정확한 macOS 빌드, CPU 종류, 사용한 화면과 기능, 이름이 고정된 진단 지점입니다. 스크린샷, 화면 기록, 파일 이름, 내용, 사용자 경로, URL, 지표는 절대 보내지 않습니다. 기본값은 켜짐이며, 끄면 둘 다 중단됩니다. 전체 목록은 TELEMETRY.md에 있습니다."; +"Burrow started in compatibility mode" = "Burrow가 호환 모드로 시작되었습니다"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item is disabled on this build, and Burrow will stay available in the Dock. Updating macOS will automatically retry the normal menu bar mode." = "Burrow는 메뉴 막대 항목을 만들면 이 macOS 빌드가 멈출 수 있다는 것을 확인했습니다. 이 빌드에서는 메뉴 막대 항목을 비활성화했으며, Burrow는 Dock에서 계속 사용할 수 있습니다. macOS를 업데이트하면 일반 메뉴 막대 모드를 자동으로 다시 시도합니다."; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item and automatic update checks are paused on this build, and Burrow will stay available in the Dock. Manual update checks remain available. Updating macOS will automatically retry the normal mode." = "Burrow는 메뉴 막대 항목을 만들면 이 macOS 빌드가 멈출 수 있다는 것을 확인했습니다. 이 빌드에서는 메뉴 막대 항목과 자동 업데이트 확인을 중단했으며, Burrow는 Dock에서 계속 사용할 수 있습니다. 수동 업데이트 확인은 그대로 쓸 수 있습니다. macOS를 업데이트하면 일반 모드를 자동으로 다시 시도합니다."; +"Burrow paused automatic update checks" = "Burrow가 자동 업데이트 확인을 중단했습니다"; +"Burrow detected that its automatic updater did not reach a stable state on the previous launch. Automatic checks are paused for this app and macOS build so the same startup problem cannot repeat. You can still check manually; updating Burrow or macOS will retry automatic checks." = "Burrow는 이전 실행에서 자동 업데이터가 안정적인 상태에 이르지 못했음을 확인했습니다. 같은 시동 문제가 되풀이되지 않도록 이 앱과 macOS 빌드에서는 자동 확인을 중단했습니다. 수동 확인은 계속 가능하며, Burrow나 macOS를 업데이트하면 자동 확인을 다시 시도합니다."; +"Menu bar item paused on this macOS build" = "이 macOS 빌드에서는 메뉴 막대 항목이 중단되었습니다"; +"Creating it could freeze system input on this build, so Burrow runs from the Dock instead. It returns automatically once you update macOS." = "이 빌드에서는 항목을 만들면 시스템 입력이 멈출 수 있어, Burrow는 대신 Dock에서 실행됩니다. macOS를 업데이트하면 자동으로 돌아옵니다."; +"Paused on this macOS build. The setting is kept and applies again as soon as Burrow can create the menu bar item safely." = "이 macOS 빌드에서는 중단되었습니다. 설정은 그대로 유지되며, Burrow가 메뉴 막대 항목을 안전하게 만들 수 있게 되면 다시 적용됩니다."; +"Copy Diagnostics" = "진단 정보 복사"; +"Share anonymous usage & crash reports?" = "익명 사용 정보와 충돌 보고서를 보낼까요?"; +"Helps prioritize fixes: app/OS version, coarse bucketed feature counts, and crash traces. Never files, paths, file contents, or your metrics — the exact list is in TELEMETRY.md. You can change this anytime in Settings → Anonymous usage." = "문제 해결의 우선순위를 정하는 데 도움이 됩니다. 앱과 OS 버전, 구간으로 묶은 기능 사용 횟수, 충돌 기록을 보냅니다. 파일, 경로, 파일 내용, 사용자의 지표는 절대 보내지 않으며, 정확한 목록은 TELEMETRY.md에 있습니다. 설정 → 익명 사용 정보에서 언제든지 바꿀 수 있습니다."; +"Share" = "보내기"; +"Don't Share" = "보내지 않기"; + +/* ===== Agent (MCP) gates ===== */ +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "기본값은 꺼짐입니다. 에이전트는 언제든지 지표를 읽고 모의 실행 미리보기를 할 수 있습니다. 이 설정을 켜면 실제 `mo clean` / `optimize`를 실행할 수 있지만, 명시적인 확인 플래그를 함께 전달한 경우에만 가능합니다. 말 한마디가 잘못되어 삭제가 일어나는 일은 없습니다. 끄면 에이전트는 다시 읽기 전용이 됩니다. 데이터는 이 Mac을 벗어나지 않습니다."; +"Also allow uninstalls & permanent deletes" = "앱 삭제와 영구 삭제도 허용"; +"A second key for what the Trash can't undo: real `mo uninstall`, and `permanent:true` deletes. Needs the cleanup switch above too; an uninstall also aborts unless mo matches exactly the requested apps." = "휴지통으로 되돌릴 수 없는 작업을 위한 두 번째 열쇠입니다. 실제 `mo uninstall`과 `permanent:true` 삭제가 여기에 해당합니다. 위의 정리 스위치도 함께 켜져 있어야 하며, mo가 요청한 앱과 정확히 일치하지 않으면 삭제는 중단됩니다."; + +/* ===== Uninstall pre-flight verification ===== */ +"Uninstall aborted" = "삭제를 중단했습니다"; +"%1$@ would also remove: %2$@" = "%1$@은(는) 다음도 삭제합니다: %2$@"; +"%1$@ did not match: %2$@" = "%1$@은(는) 다음과 일치하지 않았습니다: %2$@"; +"The engine" = "엔진"; +"mo" = "mo"; +"The dry run's output wasn't in a format Burrow can confirm a matched set from, so nothing was removed." = "모의 실행의 출력이 Burrow가 대상 목록을 확인할 수 있는 형식이 아니어서 아무것도 삭제하지 않았습니다."; +"The engine refused the dry run, so nothing was removed: %@" = "엔진이 모의 실행을 거부해 아무것도 삭제하지 않았습니다: %@"; +"The engine matched no installed app for: %@" = "다음에 해당하는 설치된 앱을 찾지 못했습니다: %@"; +"“%1$@” resolves to %2$d applications (%3$@), so the engine refuses to act on it. Remove them one at a time." = "「%1$@」은(는) 응용 프로그램 %2$d개(%3$@)에 해당하므로 엔진이 실행을 거부합니다. 하나씩 삭제하세요."; +"The engine resolved %1$d applications for %2$d selected, so the sets don't line up." = "선택한 %2$d개에 대해 엔진이 응용 프로그램 %1$d개를 찾아 대상이 서로 맞지 않습니다."; +"The engine won't remove %1$@: %2$@" = "엔진이 %1$@을(를) 삭제하지 않습니다: %2$@"; +"Needs an administrator: %@. Burrow doesn't elevate this run, so it may fail on the app itself." = "관리자 권한이 필요합니다: %@. Burrow는 이번 실행에서 권한을 올리지 않으므로 앱 자체는 삭제하지 못할 수 있습니다."; +"one of these apps" = "이 앱들 중 하나"; +"Homebrew removes %1$@: `%2$@`. `--zap` also deletes configuration and data the cask declares, which the preview can't list." = "%1$@은(는) Homebrew가 삭제합니다: `%2$@`. `--zap`은 cask가 선언한 설정과 데이터까지 지우며, 미리보기에는 그 목록이 나오지 않습니다."; +"aborted — nothing removed" = "중단했습니다 — 아무것도 삭제하지 않음"; +"The engine reported: %@" = "엔진의 보고: %@"; +"uninstall failed" = "삭제에 실패했습니다"; +"Uninstall failed" = "삭제에 실패했습니다"; +"The engine reported a failure with no error output. Nothing was removed." = "엔진이 오류 메시지 없이 실패를 보고했습니다. 아무것도 삭제하지 않았습니다."; +"OK" = "확인"; + +/* ===== Uninstall outcomes (per app: removed / partial / refused) ===== */ +"Uninstall didn't finish" = "삭제를 마치지 못했습니다"; +"Uninstall finished partly" = "삭제가 일부만 완료되었습니다"; +"Uninstall finished" = "삭제를 완료했습니다"; +"%@ — the engine refused to remove the application." = "%@ — 엔진이 이 응용 프로그램의 삭제를 거부했습니다."; +"%@ — the application could not be removed." = "%@ — 이 응용 프로그램을 삭제할 수 없었습니다."; +"%@ — the application was removed, but some of its support files were not." = "%@ — 응용 프로그램은 삭제했지만 관련 파일 일부가 남았습니다."; +"%@ — the removal finished partly." = "%@ — 삭제가 일부만 완료되었습니다."; +"Its support files were left alone, so the app is still installed rather than half-removed." = "관련 파일을 그대로 두었으므로, 이 앱은 어중간하게 지워진 상태가 아니라 설치된 상태로 남아 있습니다."; +"Next: %@" = "다음: %@"; + +/* ===== i18n backfill (2026-06): legacy hardcoded strings ===== */ +/* Installer/purge chooser — clean (non-plural) labels */ +"done" = "완료"; +"failed" = "실패"; +"select none" = "선택 해제"; +"select all" = "모두 선택"; +"Remove" = "삭제"; +"Remove (%lld)" = "삭제 (%lld)"; +"Show all %lld" = "%lld개 모두 보기"; +"Showing the %lld biggest of %lld." = "%2$lld개 중 큰 순서로 %1$lld개를 표시하고 있습니다."; +"Loading all %lld… (%lld so far)" = "%lld개를 모두 불러오는 중… (현재 %lld개)"; +/* Elevated-run cancellation (OperationFlow) */ +"authorization cancelled" = "인증을 취소했습니다"; +/* Touch ID for sudo (Settings) */ +"Couldn't update Touch ID for sudo" = "sudo의 Touch ID 설정을 변경할 수 없습니다"; +"`mo touchid %@` didn't complete (the password prompt may have been cancelled). You can also run it in a terminal." = "`mo touchid %@`을(를) 마치지 못했습니다(암호 입력이 취소되었을 수 있습니다). 터미널에서 직접 실행할 수도 있습니다."; +/* AI "Explain" lens errors (AIConfig) */ +"No Ollama model is set — pick one in Settings." = "Ollama 모델이 설정되어 있지 않습니다. 설정에서 선택하세요."; +"No model name is set for the OpenAI-compatible API — set one in Settings." = "OpenAI 호환 API의 모델 이름이 설정되어 있지 않습니다. 설정에서 지정하세요."; +"The API base URL isn't a valid http(s) URL — check it in Settings." = "API 기본 URL이 올바른 http(s) URL이 아닙니다. 설정에서 확인하세요."; + +/* i18n backfill (cont.) — running count + AI settings field labels */ +"%lld running" = "%lld개 실행 중"; +"blank for LM Studio" = "LM Studio에서는 비워 두세요"; + +/* ============================================================ + 2026-06 UI/UX redesign (plans/ui-ux-review-2026-06-10.md) + Onboarding · access banner · Clean review · result hero · + task ticker · Software (uninstall/updates/startup) · Settings + tabs · menu-bar tools · Status/popover · Analyze progress + ============================================================ */ + +/* Onboarding */ +"Step %d of %d" = "%2$d단계 중 %1$d단계"; +"Grant access to get started." = "시작하려면 접근 권한을 허용하세요."; +"Optional — the safe scan works without it." = "선택 사항입니다. 안전 검사는 없어도 작동합니다."; +"Full Disk Access" = "전체 디스크 접근 권한"; +"Unlocks the caches and leftovers Burrow needs to reach." = "Burrow가 접근해야 하는 캐시와 남은 파일을 열어 줍니다."; +"Granted in Settings but still gray? macOS applies it at the next launch." = "설정에서 허용했는데도 회색인가요? macOS는 다음 실행 때 적용합니다."; +"Relaunch to apply" = "다시 실행하여 적용"; +"Continue" = "계속"; +"Burrow is free." = "Burrow는 무료입니다."; +"Open source, local-first. No license, no trial, no upsell." = "오픈 소스이며 로컬 우선입니다. 라이선스도, 체험 기간도, 추가 판매도 없습니다."; +"forever" = "언제까지나"; +"Every tool unlocked — Clean, Purge, Installers, Software, Optimize, Analyze" = "모든 도구 사용 가능 — 정리, 심층 정리, 설치 파일, 소프트웨어, 최적화, 분석"; +"Watches your Mac over weeks, not seconds — 30–90 day history" = "몇 초가 아니라 몇 주에 걸쳐 Mac을 지켜봅니다 — 30~90일 기록"; +"Agent-ready — MCP tools for Claude, Cursor, Codex (off until you opt in)" = "에이전트 지원 — Claude, Cursor, Codex용 MCP 도구(직접 켜기 전에는 꺼져 있음)"; +"Open source — read every line" = "오픈 소스 — 모든 코드를 직접 확인하세요"; +"Open the Burrow repository on GitHub" = "GitHub에서 Burrow 저장소 열기"; +"Start using Burrow" = "Burrow 시작하기"; +"Open Settings" = "설정 열기"; +"Check" = "확인"; +"Granted" = "허용됨"; +"Not granted" = "허용되지 않음"; + +/* Access banner */ +"Full Disk Access is off" = "전체 디스크 접근 권한이 꺼져 있습니다"; +"Without it, Burrow can't reach most system caches." = "권한이 없으면 Burrow는 대부분의 시스템 캐시에 접근할 수 없습니다."; +"Use Touch ID for admin operations" = "관리자 작업에 Touch ID 사용"; +"Install the signed helper and scan, clean, and optimize authenticate with a fingerprint instead of a password." = "서명된 도우미를 설치하면 검사·정리·최적화를 암호 대신 지문으로 승인할 수 있습니다."; +"Set up" = "설정하기"; +"Dismiss" = "닫기"; + +/* Clean — result hero & run */ +"Scan your Mac" = "Mac 검사하기"; +"%@ found" = "%@ 발견"; +"Scanning, %@ found so far" = "검사 중, 현재까지 %@ 발견"; +"Stopped before the end — results are partial." = "도중에 중단되어 결과가 일부만 있습니다."; +"Review results" = "결과 확인"; +"Limited scan active · App Support and container caches are skipped" = "제한된 검사 중 · App Support와 컨테이너 캐시는 건너뜁니다"; +"Limited scan active. App Support and container caches are skipped. Open for options." = "제한된 검사가 진행 중입니다. App Support와 컨테이너 캐시는 건너뜁니다. 열어서 선택지를 확인하세요."; +"Why limited?" = "왜 제한되나요?"; +"Without Full Disk Access, macOS hides most app and container caches from Burrow. Grant it once for full scans — or rerun this scan with administrator rights (one password)." = "전체 디스크 접근 권한이 없으면 macOS는 대부분의 앱과 컨테이너 캐시를 Burrow에게 숨깁니다. 한 번 허용하면 전체 검사를 할 수 있고, 관리자 권한(암호 한 번)으로 이 검사를 다시 실행할 수도 있습니다."; +"Scan with admin" = "관리자 권한으로 검사"; +"This preview is stale" = "이 미리보기는 오래되었습니다"; +"The scan is more than a few minutes old — caches that appeared since wouldn't have been reviewed. Rescan to get current numbers, then clean." = "검사한 지 몇 분이 넘었습니다. 그 사이에 생긴 캐시는 확인되지 않았습니다. 다시 검사해 최신 수치를 확인한 뒤 정리하세요."; +"Couldn't protect deselected items" = "선택 해제한 항목을 보호할 수 없습니다"; +"Writing the whitelist failed (%@), so the engine would clean everything it found. Nothing was cleaned." = "허용 목록을 저장하지 못해(%@) 엔진이 찾은 항목을 모두 정리하게 됩니다. 아무것도 정리하지 않았습니다."; +"Move %d items (%@) to the Trash?" = "%1$d개 항목(%2$@)을 휴지통으로 옮길까요?"; +"They stay recoverable until you empty the Trash. Space frees when it empties; this run won't appear in `mo history`." = "휴지통을 비우기 전까지는 되돌릴 수 있습니다. 공간은 휴지통을 비울 때 확보되며, 이번 실행은 `mo history`에 나타나지 않습니다."; +"Moving caches to Trash" = "캐시를 휴지통으로 옮기는 중"; +"%d moved · %d failed" = "이동 %1$d개 · 실패 %2$d개"; +"Moved %d items (%@) to the Trash." = "%1$d개 항목(%2$@)을 휴지통으로 옮겼습니다."; +"Moved %d items; %d were locked or already gone." = "%1$d개 항목을 옮겼습니다. %2$d개는 잠겨 있거나 이미 없었습니다."; +"Moved to Trash" = "휴지통으로 옮김"; +"Freed %@" = "%@ 확보"; +"Cleaned %@" = "%@ 정리"; +"%@ free now" = "현재 %@ 여유"; +"%@ items" = "%@개 항목"; +"Done" = "완료"; + +/* Clean — review screen */ +"Ready to clean" = "정리할 준비가 되었습니다"; +"Close %@ to clean another %@ · %d items" = "%1$@을(를) 종료하면 %2$@을(를) 더 정리할 수 있습니다 · %3$d개 항목"; +"Everything below came from the scan — untick anything you'd rather keep." = "아래는 모두 검사 결과입니다. 남겨 두고 싶은 항목은 선택을 해제하세요."; +"Back to results" = "결과로 돌아가기"; +"Select all" = "모두 선택"; +"Deselect all" = "모두 선택 해제"; +"%@, %d of %d selected, %@ of %@" = "%1$@, %3$d개 중 %2$d개 선택됨, %5$@ 중 %4$@"; +"Toggle category" = "분류 펼치기/접기"; +"%d items" = "%d개 항목"; +"Safe" = "안전"; +"App open" = "앱 실행 중"; +"System busy" = "시스템 사용 중"; +"The scan already excluded unsafe paths — everything here is removable cache data." = "검사 단계에서 안전하지 않은 경로는 이미 제외했습니다. 여기 있는 것은 모두 삭제해도 되는 캐시입니다."; +"This app is running; its cache is locked. Quit the app and rescan to clean it." = "이 앱이 실행 중이어서 캐시가 잠겨 있습니다. 앱을 종료하고 다시 검사하면 정리할 수 있습니다."; +"A system service is using this path right now." = "시스템 서비스가 지금 이 경로를 사용하고 있습니다."; +"Always skip this" = "항상 건너뛰기"; +"Permanently clean · %@" = "영구 정리 · %@"; +"Move to Trash · %@" = "휴지통으로 이동 · %@"; +"selected" = "선택됨"; +"not selected" = "선택 안 됨"; +"User essentials" = "사용자 기본 항목"; +"App caches" = "앱 캐시"; +"Browsers" = "브라우저"; +"Cloud & Office" = "클라우드 및 오피스"; +"Developer tools" = "개발 도구"; +"AI Tools" = "AI 도구"; +"Communication" = "커뮤니케이션"; +"Applications" = "응용 프로그램"; +"Virtualization" = "가상화"; +"Application Support" = "Application Support"; +"App leftovers" = "앱 잔여 파일"; +"System-managed caches and logs. Regenerated as macOS needs them." = "시스템이 관리하는 캐시와 로그입니다. macOS가 필요할 때 다시 만듭니다."; +"App temporary files. Regenerated next launch." = "앱의 임시 파일입니다. 다음 실행 때 다시 만들어집니다."; +"Page caches — sites load a touch slower on first visit." = "페이지 캐시입니다. 다음에 처음 방문할 때만 조금 느리게 열립니다."; +"Build and package caches. First build will be slower." = "빌드와 패키지 캐시입니다. 첫 빌드가 느려집니다."; +"Model and tool caches. Re-downloaded on next use." = "모델과 도구 캐시입니다. 다음에 사용할 때 다시 내려받습니다."; +"Message media caches. Re-fetched when you scroll back." = "메시지의 미디어 캐시입니다. 지난 대화를 다시 볼 때 새로 받아옵니다."; +"VM and container caches. Images re-pull on next run." = "가상 머신과 컨테이너 캐시입니다. 이미지는 다음 실행 때 다시 받습니다."; +"Sync caches. Files re-sync from the cloud." = "동기화 캐시입니다. 파일은 클라우드에서 다시 동기화됩니다."; +"Files from apps that are no longer installed." = "더 이상 설치되어 있지 않은 앱의 파일입니다."; +"Cache files. Regenerated as needed." = "캐시 파일입니다. 필요할 때 다시 만들어집니다."; + +/* Optimize — live ticker */ +"Refreshing…" = "새로 고치는 중…"; +"Previewing…" = "미리보는 중…"; +"Working…" = "처리 중…"; +"Working on %@, %d tasks done" = "%1$@ 처리 중, 완료한 작업 %2$d개"; + +/* Software — uninstall review */ +"Startup" = "시동 항목"; +"Last Used" = "마지막 사용"; +"Refresh" = "새로 고침"; +"Sort by %@" = "%@ 기준 정렬"; +"ascending" = "오름차순"; +"descending" = "내림차순"; +"%d files · %@" = "파일 %1$d개 · %2$@"; +"Select %@" = "%@ 선택"; +"Enumerating files…" = "파일을 확인하는 중…"; +"Auto selected" = "자동 선택됨"; +"Needs review" = "확인 필요"; +"Not selected by default. Review these before removing." = "기본적으로 선택되지 않습니다. 삭제하기 전에 확인하세요."; +"Toggle %@ group" = "%@ 그룹 펼치기/접기"; +"Couldn't enumerate this app's files — there's nothing to review here." = "이 앱의 파일을 확인할 수 없어 검토할 항목이 없습니다."; +"Application" = "응용 프로그램"; +"App Support" = "App Support"; +"Preferences" = "환경설정"; +"Container" = "컨테이너"; +"Group Container" = "그룹 컨테이너"; +"Helper" = "도우미"; +"Login Item" = "로그인 항목"; +"Temporary Cache" = "임시 캐시"; +"Other" = "기타"; +"%@ · 1 app · %@" = "%1$@ · 앱 1개 · %2$@"; +"%d apps · %@" = "앱 %1$d개 · %2$@"; +"Remove %d" = "%d개 삭제"; +"Remove %d app?" = "앱 %d개를 삭제할까요?"; +"Remove %d apps?" = "앱 %d개를 삭제할까요?"; +"These move to the Trash — the app itself and the support files it keeps in your Library (containers, caches, preferences, saved state). You can put them back:\n\n%@" = "다음 항목이 휴지통으로 이동합니다. 앱 자체와 라이브러리에 있는 관련 파일(컨테이너, 캐시, 환경설정, 저장 상태)입니다. 나중에 되돌릴 수 있습니다:\n\n%@"; +"Homebrew removes these by running `brew uninstall --cask --zap`. That doesn't use the Trash, and `--zap` also deletes configuration and data the cask declares — more than the file list can show:\n\n%@" = "다음 항목은 Homebrew가 `brew uninstall --cask --zap`을 실행해 삭제합니다. 휴지통을 거치지 않으며, `--zap`은 cask가 선언한 설정과 데이터까지 지우므로 파일 목록에 보이는 것보다 범위가 넓습니다:\n\n%@"; +"If an app can't be removed, Burrow leaves its support files alone too, rather than half-removing it." = "앱을 삭제할 수 없으면 Burrow는 관련 파일도 그대로 두어, 어중간하게 지워지는 일이 없도록 합니다."; +"Skipped — these have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "건너뛰었습니다. 다음 항목에는 번들 식별자가 없어 Burrow가 어떤 앱인지 엔진에 알려 줄 수 없습니다:\n\n%@"; +"Nothing Burrow can remove" = "Burrow가 삭제할 수 있는 항목이 없습니다"; +"These have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "다음 항목에는 번들 식별자가 없어 Burrow가 어떤 앱인지 엔진에 알려 줄 수 없습니다:\n\n%@"; +"%d reviewed files" = "확인한 파일 %d개"; +"Reviewed subsets are trashed by Burrow directly and appear in Burrow's Activity log, not `mo history`." = "확인해서 고른 항목은 Burrow가 직접 휴지통으로 옮기며, `mo history`가 아니라 Burrow의 활동 기록에 표시됩니다."; +"Removing reviewed files" = "확인한 파일을 삭제하는 중"; + +/* Software — startup segment */ +"Launch agent" = "실행 에이전트"; +"Launch daemon" = "실행 데몬"; +"Unreadable configuration" = "읽을 수 없는 설정"; +"Program is missing" = "프로그램이 없습니다"; +"Bundled inside an app; review only" = "앱에 포함되어 있음, 확인만 가능"; +"System-wide; review only" = "시스템 전체 항목, 확인만 가능"; +"Yours; remove the file to disable" = "사용자 항목, 파일을 삭제하면 비활성화됩니다"; +"Your launch agents" = "사용자 실행 에이전트"; +"System launch agents" = "시스템 실행 에이전트"; +"System launch daemons" = "시스템 실행 데몬"; +"Reading startup items…" = "시동 항목을 읽는 중…"; +"Search items" = "항목 검색"; +"Error" = "오류"; +"Review only — managed by its app or the system." = "확인만 가능합니다. 해당 앱이나 시스템이 관리합니다."; +"Review only" = "확인만 가능"; +"All" = "전체"; +"Launch agents" = "실행 에이전트"; +"Launch daemons" = "실행 데몬"; +"Problems" = "문제"; + +/* Software — updates */ +"App Store" = "App Store"; +"Sparkle" = "Sparkle"; +"Electron" = "Electron"; +"Homebrew" = "Homebrew"; +"Checking update sources…" = "업데이트 출처를 확인하는 중…"; +"Sources detected locally — checking versions contacts Apple and vendor servers." = "출처는 로컬에서 확인했습니다. 버전을 확인하면 Apple과 각 제작사의 서버에 연결합니다."; +"Check for updates" = "업데이트 확인"; +"Check again" = "다시 확인"; +"Update all brews" = "Homebrew 전체 업데이트"; +"Updates available" = "업데이트가 있습니다"; +"Up to date" = "최신"; +"Not checkable" = "확인 불가"; +"No App Store receipt, Sparkle feed, or known updater inside these bundles." = "이 번들에는 App Store 영수증도, Sparkle 피드도, 알려진 업데이터도 없습니다."; +"Apps with an update mechanism" = "업데이트 기능이 있는 앱"; +"active now" = "현재 사용 중"; +"opened %@" = "%@에 열림"; +"never opened" = "연 적 없음"; + +/* Settings — tabs & general */ +"General" = "일반"; +"Maintenance" = "유지 관리"; +"Menu Bar" = "메뉴 막대"; +"Advanced" = "고급"; +"Close settings" = "설정 닫기"; +"Permissions" = "권한"; +"On. Burrow can reach system and app caches." = "켜짐. Burrow가 시스템과 앱 캐시에 접근할 수 있습니다."; +"Off. Safe scan in use — most system caches stay out of reach." = "꺼짐. 안전 검사를 사용 중이며, 대부분의 시스템 캐시에는 접근할 수 없습니다."; +"Startup & window" = "시동 및 윈도우"; +"Launch at Login" = "로그인 시 열기"; +"Starts Burrow quietly at login so sampling and the menu-bar monitor are always on." = "로그인할 때 Burrow를 조용히 실행해 표본 수집과 메뉴 막대 감시가 항상 켜져 있도록 합니다."; +"Hide Dock Icon when window closes" = "윈도우를 닫으면 Dock 아이콘 가리기"; +"On: Burrow retreats to the menu bar when you close the window. Off: it stays in the Dock. With the menu-bar icon hidden, the Dock icon always stays — otherwise the app would be unreachable." = "켜짐: 윈도우를 닫으면 Burrow가 메뉴 막대로 물러납니다. 꺼짐: Dock에 남습니다. 메뉴 막대 아이콘을 숨긴 경우에는 Dock 아이콘이 항상 유지됩니다. 그렇지 않으면 앱을 열 방법이 없기 때문입니다."; +"Skip Intro Screens" = "소개 화면 건너뛰기"; +"Jumps past the tools' idle screens where a read-only preview can start right away (Clean starts its scan when you open the tab)." = "읽기 전용 미리보기를 바로 시작할 수 있는 도구에서는 대기 화면을 건너뜁니다(정리는 탭을 열면 곧바로 검사를 시작합니다)."; +"About" = "정보"; +"Source on GitHub" = "GitHub 소스"; + +/* Settings — maintenance */ +"Protected Items" = "보호할 항목"; +"Paths and glob patterns Mole never cleans — `mo clean` and `mo optimize` skip anything matching them. “Always skip this” in the Clean review writes here too." = "Mole이 절대 정리하지 않는 경로와 glob 패턴입니다. `mo clean`과 `mo optimize`는 여기에 해당하는 항목을 건너뜁니다. 정리 확인 화면의 「항상 건너뛰기」도 여기에 기록됩니다."; +"No protected items yet." = "아직 보호할 항목이 없습니다."; +"Add a path or glob pattern" = "경로 또는 glob 패턴 추가"; +"Add" = "추가"; +"Remove %@ from protected items" = "보호할 항목에서 %@ 제거"; +"Cache removal" = "캐시 삭제"; +"Removal mode" = "삭제 방식"; +"Permanent" = "영구 삭제"; +"Trash" = "휴지통"; +"Permanent (default): the engine removes caches outright — freed space is real, immediately. Trash: reviewed, ticked paths go to the Trash instead — recoverable, but space frees only when Trash empties, and the run won't appear in `mo history`." = "영구 삭제(기본값): 엔진이 캐시를 바로 삭제하므로 공간이 즉시 실제로 확보됩니다. 휴지통: 확인해서 선택한 경로가 휴지통으로 이동합니다. 되돌릴 수 있지만 공간은 휴지통을 비울 때만 확보되며, 이 실행은 `mo history`에 나타나지 않습니다."; + +/* Settings — menu bar */ +"Display" = "표시"; +"Icon" = "아이콘"; +"Metrics" = "지표"; +"Metrics shows live CPU and memory next to the mark, refreshed with the sampler." = "「지표」를 선택하면 기호 옆에 CPU와 메모리를 실시간으로 표시하며, 표본 수집 주기에 맞춰 갱신됩니다."; +"Keyboard shortcuts" = "키보드 단축키"; +"Keep Screen On" = "화면 켜 두기"; +"Clean Screen" = "화면 닦기"; +"System-wide. Click a chip, press a combination with ⌃, ⌥ or ⌘; Esc cancels, × clears." = "시스템 전체에 적용됩니다. 칩을 클릭한 뒤 ⌃, ⌥, ⌘이 포함된 조합을 누르세요. Esc는 취소, ×는 지우기입니다."; +"Block keys while wiping" = "닦는 동안 키 입력 차단"; +"Accessibility" = "손쉬운 사용"; +"Needed to swallow key presses while you wipe. Esc always exits." = "화면을 닦는 동안 키 입력을 무시하는 데 필요합니다. Esc로는 언제든지 빠져나올 수 있습니다."; +"Off: Clean Screen still works, keys just aren't blocked. Esc always exits either way." = "꺼짐: 「화면 닦기」는 그대로 작동하며 키 입력만 차단되지 않습니다. 어느 경우든 Esc로 빠져나올 수 있습니다."; +"Press keys…" = "키를 누르세요…"; +"Record" = "기록"; +"Record shortcut" = "단축키 기록"; +"Clear shortcut" = "단축키 지우기"; +"None" = "없음"; + +/* Menu-bar tools */ +"15 minutes" = "15분"; +"30 minutes" = "30분"; +"1 hour" = "1시간"; +"2 hours" = "2시간"; +"Until turned off" = "끌 때까지"; +"Turn Off" = "끄기"; +"Check for Updates…" = "업데이트 확인…"; +"Couldn't check for updates" = "업데이트를 확인할 수 없습니다"; +"GitHub didn't answer. Try again later, or open the releases page." = "GitHub가 응답하지 않았습니다. 나중에 다시 시도하거나 릴리스 페이지를 열어 보세요."; +"Update available" = "업데이트가 있습니다"; +"Burrow %@ is available (you have %@). Update with `brew upgrade --cask burrow`, or open the release page." = "Burrow %1$@이(가) 나왔습니다(현재 %2$@). `brew upgrade --cask burrow`로 업데이트하거나 릴리스 페이지를 여세요."; +"Burrow %@ is available (you have %@). Download it from the release page." = "Burrow %1$@이(가) 나왔습니다(현재 %2$@). 릴리스 페이지에서 내려받으세요."; +"You're up to date" = "최신 상태입니다"; +"Burrow %@ is the latest release." = "Burrow %@이(가) 최신 릴리스입니다."; +"Open Release Page" = "릴리스 페이지 열기"; +"Engine: %@" = "엔진: %@"; +"not found" = "찾을 수 없음"; +"Releases" = "릴리스"; +"What telemetry is collected" = "수집하는 정보 안내"; +"Licenses" = "라이선스"; +"Wipe away — press Esc when you're done." = "마음껏 닦으세요. 끝나면 Esc를 누르면 됩니다."; + +/* Status dashboard */ +"%d fans" = "팬 %d개"; +"macOS manages speed" = "속도는 macOS가 관리합니다"; +"No fan data on this Mac" = "이 Mac에는 팬 데이터가 없습니다"; +"Fan" = "팬"; +"%d%% Health" = "상태 %d%%"; +"%d cyc" = "%d회"; +"Mac" = "Mac"; +"%d percent" = "%d 퍼센트"; +"PWR" = "전력"; +"Energy billed since launch (mWh)" = "실행 후 누적 소비 전력(mWh)"; +"Actions for %@" = "%@ 관련 작업"; +"Pin" = "고정"; +"Unpin" = "고정 해제"; +"Copy name" = "이름 복사"; +"Copy PID" = "PID 복사"; +"Quit…" = "종료…"; +"Force Kill…" = "강제 종료…"; +"Force kill %@?" = "%@을(를) 강제 종료할까요?"; +"Quit %@?" = "%@을(를) 종료할까요?"; +"SIGKILL ends it immediately — unsaved work in this process is lost." = "SIGKILL은 즉시 종료시킵니다. 이 프로세스에서 저장하지 않은 작업은 사라집니다."; +"Sends a polite quit (SIGTERM). The process may save and exit, or ignore it." = "정중한 종료 요청(SIGTERM)을 보냅니다. 프로세스는 저장 후 종료할 수도, 무시할 수도 있습니다."; +"Force Kill" = "강제 종료"; +"Quit Process" = "프로세스 종료"; + +/* Menu-bar popover */ +"%@ free" = "%@ 여유"; +"Health %d. Open Burrow." = "상태 %d. Burrow 열기."; +"up %@" = "%@ 가동"; +"%@ used · %.0f%%" = "%@ 사용 중 · %.0f%%"; +"No fan data" = "팬 데이터 없음"; +"Top drain — %@ · avg %.0f%% CPU over the last hour" = "소모 1위 — %@ · 최근 1시간 평균 CPU %.0f%%"; +"Stay Awake" = "잠자기 방지"; +"Wipe" = "닦기"; +"Eject" = "추출"; +"on" = "켜짐"; +"Ejecting external volumes" = "외장 볼륨을 추출하는 중"; +"%d ejected · %d busy" = "추출 %1$d개 · 사용 중 %2$d개"; +"%@ cleaned · %d uninstalled · %d optimized" = "정리 %1$@ · 삭제 %2$d개 · 최적화 %3$d개"; +"Clean Watch" = "정리 지켜보기"; + +/* Analyze progress */ +"Mapping your folders" = "폴더 구조를 파악하는 중"; +"Measuring…" = "측정 중…"; +"Scanning %@, %d of %d" = "%1$@ 검사 중, %3$d개 중 %2$d개"; +"Scanning" = "검사 중"; + +/* ===== Uninstall pre-flight: identity of the resolved app ===== */ +"“%@” isn't an identifier that names one app — it resolves to whichever app the engine happens to match first, so nothing was removed. Use the app's bundle id or its exact name." = "「%@」은(는) 앱 하나를 특정하는 식별자가 아닙니다. 엔진이 먼저 찾은 앱이 대상이 되어 버리므로 아무것도 삭제하지 않았습니다. 앱의 번들 ID나 정확한 이름을 사용하세요."; +"The engine didn't say which application “%@” resolves to, so Burrow can't confirm it's the right one and nothing was removed." = "엔진이 「%@」이(가) 어떤 응용 프로그램에 해당하는지 알려 주지 않아, Burrow가 올바른 대상인지 확인할 수 없어 아무것도 삭제하지 않았습니다."; +"The engine resolved %@ twice, so the run wouldn't act on the set it reported." = "엔진이 %@을(를) 두 번 해석해, 이번 실행은 보고된 대상과 다르게 동작하게 됩니다."; +"“%1$@” isn't %2$@'s name or bundle id — the engine matched it by substring, so it may not be the app you meant. Nothing was removed; ask for it by name: %3$@." = "「%1$@」은(는) %2$@의 이름도 번들 ID도 아닙니다. 엔진이 부분 일치로 찾았으므로 의도한 앱이 아닐 수 있습니다. 아무것도 삭제하지 않았습니다. 이름으로 지정하세요: %3$@."; +"The engine resolved an argument Burrow didn't send (“%@”), so nothing was removed." = "엔진이 Burrow가 보내지 않은 인자(「%@」)를 해석해 아무것도 삭제하지 않았습니다."; +"“%1$@” resolves to %2$@ (%3$@), not the %4$@ you picked (%5$@), so nothing was removed." = "「%1$@」은(는) 선택한 %4$@(%5$@)이(가) 아니라 %2$@(%3$@)에 해당하므로 아무것도 삭제하지 않았습니다."; +"“%1$@” resolves to an app whose bundle id is %2$@, not the %3$@ you picked, so nothing was removed." = "「%1$@」은(는) 번들 ID가 %2$@인 앱에 해당하며, 선택한 %3$@이(가) 아니므로 아무것도 삭제하지 않았습니다."; + +/* ===== Uninstall: the plan disagrees with the confirm sheet ===== */ +"This isn't quite what Burrow just told you" = "방금 Burrow가 안내한 내용과 조금 다릅니다"; +"Remove anyway" = "그래도 삭제"; +"cancelled — nothing removed" = "취소했습니다 — 아무것도 삭제하지 않음"; +"Homebrew removes these after all, with `brew uninstall --cask --zap` — that doesn't use the Trash, so you can't put them back: %@" = "다음 항목은 결국 Homebrew가 `brew uninstall --cask --zap`으로 삭제합니다. 휴지통을 거치지 않으므로 되돌릴 수 없습니다: %@"; +"These aren't Homebrew's after all — Burrow moves them to the Trash itself: %@" = "다음 항목은 결국 Homebrew의 관리 대상이 아닙니다. Burrow가 직접 휴지통으로 옮깁니다: %@"; + +/* ===== Uninstall review: what Burrow may not remove by hand ===== */ +"Homebrew installed %1$@ — it has to be removed with `brew uninstall --cask --zap %2$@`. Trashing the app on its own would leave Homebrew still believing it's installed." = "%1$@은(는) Homebrew로 설치되어 `brew uninstall --cask --zap %2$@`으로 삭제해야 합니다. 앱만 휴지통에 넣으면 Homebrew는 여전히 설치된 것으로 인식합니다."; +"Burrow won't remove these itself" = "Burrow가 직접 삭제하지 않는 항목입니다"; +"These stay installed — only the reviewed support files move to the Trash, and you can put them back:\n\n%@" = "다음 앱은 설치된 상태로 남습니다. 확인한 관련 파일만 휴지통으로 이동하며, 나중에 되돌릴 수 있습니다:\n\n%@"; +"Remove data from %d app?" = "앱 %d개의 데이터를 삭제할까요?"; +"Remove data from %d apps?" = "앱 %d개의 데이터를 삭제할까요?"; diff --git a/macos/Resources/pt-BR.lproj/Localizable.strings b/macos/Resources/pt-BR.lproj/Localizable.strings new file mode 100644 index 00000000..7f9b40df --- /dev/null +++ b/macos/Resources/pt-BR.lproj/Localizable.strings @@ -0,0 +1,869 @@ +/* Tools */ +"clean" = "Limpeza"; +"apps" = "Software"; +"optimize" = "Otimização"; +"analyze" = "Análise"; +"status" = "Status"; +"Clean" = "Limpeza"; +"Software" = "Software"; +"Optimize" = "Otimização"; +"Analyze" = "Análise"; +"Status" = "Status"; +"Settings" = "Ajustes"; +"History" = "Histórico"; +"Fresh air through old tunnels." = "Ar fresco nos túneis antigos."; +"Shed what you've outgrown." = "Solte o que já não serve mais."; +"Small turns, a smoother run." = "Pequenos ajustes, tudo mais macio."; +"Map every chamber below." = "Mapeie cada câmara lá embaixo."; +"Every pulse of the den." = "Cada batida da toca."; + +/* Shared */ +"Burrow" = "Burrow"; +"Couldn't open Burrow's history database" = "Não foi possível abrir o banco de dados de histórico do Burrow"; +"%@\n\nThe app will quit." = "%@\n\nO app será encerrado."; +"Mole CLI (`mo`) not found on PATH." = "Mole CLI (`mo`) não foi encontrado no PATH."; +"mo analyze exited %d: %@" = "mo analyze terminou com o código %d: %@"; +"Couldn't parse mo analyze output: %@" = "Não foi possível interpretar a saída do mo analyze: %@"; +"CPU" = "CPU"; +"GPU" = "GPU"; +"Memory" = "Memória"; +"Network" = "Rede"; +"Disk" = "Disco"; +"Battery" = "Bateria"; +"Power" = "Energia"; +"Health" = "Saúde"; +"Activity" = "Atividade"; +"Top processes" = "Principais processos"; +"Open Burrow" = "Abrir o Burrow"; +"Preview" = "Prévia"; +"Cancel" = "Cancelar"; +"Failed: %@" = "Falhou: %@"; +"%d items · %@" = "%d itens · %@"; +"%@ in %d items" = "%1$@ em %2$d itens"; +"Scanning…" = "Verificando…"; +"Home" = "Início"; +"Homebrew (`brew`) not found on this Mac." = "Homebrew (`brew`) não foi encontrado neste Mac."; +"formula" = "formula"; +"cask" = "cask"; + +/* Status and HUD */ +"Waiting for the first sample…" = "Aguardando a primeira amostra…"; +"Burrow runs `mo status --json` on a timer; the first row lands within a tick." = "O Burrow executa `mo status --json` em intervalos regulares; a primeira linha chega no próximo ciclo."; +"%d cores" = "%d núcleos"; +"load %.2f · %.2f · %.2f" = "carga %.2f · %.2f · %.2f"; +"%.1f / %.1f GB · swap %.1f GB" = "%.1f / %.1f GB · swap %.1f GB"; +"normal" = "normal"; +"warning" = "aviso"; +"Good" = "Bom"; +"Excellent" = "Ótimo"; +"Fair" = "Razoável"; +"Poor" = "Ruim"; +"Critical" = "Crítico"; +"All checks passed" = "Todas as verificações passaram"; +"up %@ · since %@" = "ativo há %@ · desde %@"; +"%@ · %@ · up %@" = "%@ · %@ · ativo há %@"; +"GB free" = "GB livres"; +"%.0f%% used · R %.0f · W %.0f MB/s" = "%.0f%% em uso · L %.0f · E %.0f MB/s"; +"AC Power" = "Energia elétrica"; +"charging" = "carregando"; +"%@ left" = "%@ restante"; +"%@ left · %d cyc · %d%% cap" = "%@ restante · %d ciclos · %d%% de capacidade"; +"NAME (%d)" = "NOME (%d)"; +"PID" = "PID"; +"MEM" = "MEM"; +"↓ %d ↑ %d KB/s" = "↓ %d ↑ %d KB/s"; +"%.0f%% used" = "%.0f%% em uso"; +"%ds ago" = "há %d s"; +"no samples yet" = "ainda sem amostras"; + +/* Clean */ +"Clean Now" = "Limpar agora"; +"Cleaned" = "Limpo"; +"Freed up to %@ · %@ items" = "Até %@ liberados · %@ itens"; +"Re-scan" = "Verificar de novo"; +"Clean for real" = "Limpar de verdade"; +"to free" = "a liberar"; +"· %@ items · %@ categories" = "· %@ itens · %@ categorias"; +"Scanning your Mac…" = "Verificando seu Mac…"; +"Cleaning… don't quit." = "Limpando… não encerre o app."; +"Preview — review, then clean for real." = "Prévia: revise e depois limpe de verdade."; +"Done — caches cleared." = "Pronto: caches esvaziados."; +"Scanning caches" = "Verificando os caches"; +"Cleaning caches" = "Limpando os caches"; +"Clean caches for real?" = "Limpar os caches de verdade?"; +"Burrow will run `mo clean` with administrator rights. Cache files are removed permanently; Mole's whitelist and safety rules still apply." = "O Burrow executará `mo clean` com privilégios de administrador. Os arquivos de cache são removidos permanentemente; a lista de permissões e as regras de segurança do Mole continuam valendo."; + +/* Optimize */ +"Run again" = "Executar de novo"; +"Maintenance complete" = "Manutenção concluída"; +"%d areas refreshed" = "Áreas atualizadas: %d"; +"Optimizing" = "Otimizando"; +"Optimize preview" = "Prévia da otimização"; +"Previewing maintenance…" = "Gerando a prévia da manutenção…"; +"Running maintenance…" = "Executando a manutenção…"; +"Maintenance complete." = "Manutenção concluída."; +"Preview complete." = "Prévia concluída."; + +/* Task reports from mo */ +"Summary" = "Resumo"; +"Performance Diagnosis" = "Diagnóstico de desempenho"; +"DNS & Spotlight Check" = "Verificação de DNS e Spotlight"; +"Finder Cache Refresh" = "Atualização do cache do Finder"; +"App State Cleanup" = "Limpeza dos estados salvos"; +"Broken Config Repair" = "Reparo de configurações quebradas"; +"Network Cache Refresh" = "Atualização do cache de rede"; +"Database Optimization" = "Otimização dos bancos de dados"; +"LaunchServices Repair" = "Reparo do LaunchServices"; +"Dock Refresh" = "Atualização do Dock"; +"Prevent Finder .DS_Store" = "Evitar arquivos .DS_Store"; +"Memory Optimization" = "Otimização de memória"; +"Network Stack Refresh" = "Atualização da pilha de rede"; +"Permission Repair" = "Reparo de permissões"; +"Spotlight Optimization" = "Otimização do Spotlight"; +"Spotlight Orphan Rules" = "Regras órfãs do Spotlight"; +"Periodic Maintenance" = "Manutenção periódica"; +"Shared File Lists" = "Listas de arquivos compartilhadas"; +"Disk Health" = "Saúde do disco"; +"Login Items" = "Itens de início"; +"Quarantine Database Cleanup" = "Limpeza do banco de dados de quarentena"; +"Launch Agents Cleanup" = "Limpeza dos agentes de inicialização"; +"Notifications" = "Notificações"; +"Usage Data" = "Dados de uso"; +"User Essentials" = "Dados do usuário"; +"App Caches" = "Caches de apps"; +"System Caches" = "Caches do sistema"; +"Developer Caches" = "Caches de desenvolvimento"; +"Browser Caches" = "Caches de navegadores"; +"Logs" = "Registros"; +"DRY RUN MODE, No files will be modified" = "MODO DE SIMULAÇÃO: nenhum arquivo será modificado"; +"Likely bottleneck: %@" = "Provável gargalo: %@"; +"Gatekeeper and code-signature assessment activity is elevated." = "O Gatekeeper está avaliando um número incomum de assinaturas de código."; +"Gatekeeper status: assessments enabled" = "Status do Gatekeeper: avaliações ativadas"; +"Only system-managed CoreSimulator images are mounted, informational only, not a detach target" = "Só há imagens do CoreSimulator gerenciadas pelo sistema montadas; é apenas informativo, não algo a ejetar"; +"DNS cache flushed" = "Cache de DNS esvaziado"; +"Spotlight index verified" = "Índice do Spotlight verificado"; +"QuickLook thumbnails refreshed" = "Miniaturas do QuickLook atualizadas"; +"Icon services cache rebuilt" = "Cache dos serviços de ícones reconstruído"; +"App saved states optimized" = "Estados salvos dos apps otimizados"; +"All preference files valid" = "Todos os arquivos de preferências são válidos"; +"DNS cache already refreshed" = "O cache de DNS já estava atualizado"; +"mDNSResponder already restarted" = "O mDNSResponder já havia sido reiniciado"; +"All databases already optimized" = "Todos os bancos de dados já estavam otimizados"; +"LaunchServices repaired" = "LaunchServices reparado"; +"File associations refreshed" = "Associações de arquivos atualizadas"; +"Dock refreshed" = "Dock atualizado"; +".DS_Store prevention enabled on network & USB volumes" = "Criação de .DS_Store desativada em volumes de rede e USB"; +"Inactive memory released" = "Memória inativa liberada"; +"System responsiveness improved" = "Capacidade de resposta do sistema melhorada"; +"Network routing table refreshed" = "Tabela de roteamento de rede atualizada"; +"ARP cache cleared" = "Cache ARP esvaziado"; +"User directory permissions repaired" = "Permissões da pasta do usuário reparadas"; +"User directory permissions already optimal" = "As permissões da pasta do usuário já estavam ideais"; +"File access issues resolved" = "Problemas de acesso a arquivos resolvidos"; +"Spotlight index already optimal" = "O índice do Spotlight já estava ideal"; +"Spotlight search rules already clean" = "As regras de busca do Spotlight já estavam limpas"; +"Periodic maintenance skipped (not available on this macOS version)" = "Manutenção periódica ignorada (indisponível nesta versão do macOS)"; +"Shared file lists all healthy" = "Todas as listas de arquivos compartilhadas estão em ordem"; +"Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)" = "Verificação do disco ignorada (defina MOLE_ENABLE_DISK_VERIFY=1 para ativar)"; +"Login items all healthy (%@ checked)" = "Todos os itens de início estão em ordem (%@ verificados)"; +"Quarantine database already clean" = "O banco de dados de quarentena já estava limpo"; +"Launch Agents all healthy" = "Todos os agentes de inicialização estão em ordem"; +"Notification Center database not found" = "Banco de dados da Central de Notificações não encontrado"; +"Knowledge database is healthy (%@)" = "O banco de dados Knowledge está em ordem (%@)"; +"%@ %@ items, %@ dry" = "%@ %@ itens, %@ a limpar"; +"%@ %@ old items, %@ dry" = "%@ %@ itens antigos, %@ a limpar"; +"%@, %@ dry" = "%@, %@ a limpar"; +"User app cache" = "Cache de apps do usuário"; +"User app logs" = "Registros de apps do usuário"; +"Darwin user cache files" = "Arquivos de cache de usuário do Darwin"; +"Media analysis cache" = "Cache de análise de mídia"; +"Media analysis temp files" = "Arquivos temporários da análise de mídia"; +"Wallpaper agent cache" = "Cache do agente de imagem de fundo"; +"Trash · already empty" = "Lixeira · já está vazia"; +"System caches need sudo, run sudo -v && mo clean --dry-run for full preview" = "Os caches do sistema exigem sudo; execute sudo -v && mo clean --dry-run para ver a prévia completa"; +"Dry Run Mode, Preview only, no deletions" = "Modo de simulação: apenas prévia, sem exclusões"; + +/* Analyze */ +"Reveal in Finder" = "Mostrar no Finder"; +"Open here" = "Abrir aqui"; +"Analyzing %@" = "Analisando %@"; +"scan failed" = "a verificação falhou"; + +/* Software */ +"Size" = "Tamanho"; +"Name" = "Nome"; +"Recent" = "Recentes"; +"Source" = "Origem"; +"Uninstall" = "Desinstalação"; +"Updates" = "Atualizações"; +"Search apps" = "Buscar apps"; +"Reading installed apps…" = "Lendo os apps instalados…"; +"%d apps" = "%d apps"; +"%d selected · %@" = "%d selecionados · %@"; +"Uninstall (%d)" = "Desinstalar (%d)"; +"Uninstall %d app?" = "Desinstalar %d app?"; +"Uninstall %d apps?" = "Desinstalar %d apps?"; +"Move to Trash" = "Mover para o Lixo"; +"Checking Homebrew…" = "Verificando o Homebrew…"; +"Everything's up to date" = "Está tudo atualizado"; +"Homebrew formulae & casks" = "Formulae e casks do Homebrew"; +"%d update" = "%d atualização"; +"%d updates" = "%d atualizações"; +"Update all" = "Atualizar tudo"; +"Updating…" = "Atualizando…"; +"Update" = "Atualizar"; + +/* Settings */ +"Storage" = "Armazenamento"; +"Currently using" = "Em uso no momento"; +"Last maintenance" = "Última manutenção"; +"Run maintenance now" = "Executar a manutenção agora"; +"History lives at ~/Library/Application Support/Burrow/burrow.db. Rows past the retention window are pruned hourly." = "O histórico fica em ~/Library/Application Support/Burrow/burrow.db. As linhas fora do período de retenção são removidas a cada hora."; +"History retention" = "Retenção do histórico"; +"Keep history for" = "Manter o histórico por"; +"1 day" = "1 dia"; +"7 days" = "7 dias"; +"14 days" = "14 dias"; +"30 days" = "30 dias"; +"90 days" = "90 dias"; +"180 days" = "180 dias"; +"1 year" = "1 ano"; +"Vacuum DB after large prunes" = "Compactar o banco após grandes remoções"; +"Sampling" = "Amostragem"; +"Sample every" = "Medir a cada"; +"5 sec" = "5 s"; +"15 sec" = "15 s"; +"30 sec" = "30 s"; +"60 sec" = "60 s"; +"2 min" = "2 min"; +"5 min" = "5 min"; +"Burrow runs `mo status --json` at this cadence. 60 s is plenty for charts; tighter intervals give finer detail at the cost of more subprocess churn." = "O Burrow executa `mo status --json` nesse ritmo. Para os gráficos, 60 s bastam; intervalos mais curtos dão mais detalhe ao custo de iniciar mais subprocessos."; +"MCP query server" = "Servidor de consultas MCP"; +"Enable MCP query server" = "Ativar o servidor de consultas MCP"; +"Endpoint" = "Endpoint"; +"Toggle + port changes take effect after a relaunch. Exposes /health, /info, /snapshot, /metrics over localhost, plus the `Burrow --mcp` stdio server for Claude Code." = "O interruptor e as mudanças de porta passam a valer depois de reiniciar. Expõe /health, /info, /snapshot e /metrics no localhost, além do servidor stdio `Burrow --mcp` para o Claude Code."; +"%ds ago · pruned %d rows" = "há %1$d s · %2$d linhas removidas"; +"not yet run" = "ainda não executada"; + +/* History */ +"CPU usage" = "Uso de CPU"; +"usage" = "uso"; +"CPU load" = "Carga de CPU"; +"1m avg" = "média de 1 min"; +"load1" = "load1"; +"% used" = "% em uso"; +"used" = "em uso"; +"Disk I/O" = "E/S de disco"; +"MB/s" = "MB/s"; +"read" = "leitura"; +"write" = "escrita"; +"rx" = "rx"; +"tx" = "tx"; +"Thermal" = "Temperatura"; +"cpu" = "cpu"; +"gpu" = "gpu"; +"Health score" = "Pontuação de saúde"; +"0–100" = "0–100"; +"No samples in this window" = "Nenhuma amostra neste período"; +"peak across window" = "pico do período"; +"No processes recorded" = "Nenhum processo registrado"; +"%d samples" = "%d amostras"; +"· latest %ds ago" = "· a última há %d s"; + +/* Menus and alerts */ +"About Burrow" = "Sobre o Burrow"; +"Settings…" = "Ajustes…"; +"Hide Burrow" = "Ocultar o Burrow"; +"Quit Burrow" = "Encerrar o Burrow"; +"Edit" = "Editar"; +"Undo" = "Desfazer"; +"Redo" = "Refazer"; +"Cut" = "Recortar"; +"Copy" = "Copiar"; +"Paste" = "Colar"; +"Select All" = "Selecionar Tudo"; +"Window" = "Janela"; +"Minimize" = "Minimizar"; +"Close" = "Fechar"; +"Mole CLI not found" = "Mole CLI não encontrado"; + +/* Home (Overview / History / Activity / Report) + Explain */ +"Overview" = "Visão geral"; +"Report" = "Relatório"; +"Doctor" = "Diagnóstico"; +"Diagnostics" = "Dados de diagnóstico"; +"Dev hygiene" = "Higiene de desenvolvimento"; +"No developer caches found." = "Nenhum cache de desenvolvimento encontrado."; +"Clear" = "Esvaziar"; +"Move this cache to the Trash?" = "Mover este cache para o Lixo?"; +"ports" = "portas"; +"Ports" = "Portas"; +"Listening ports" = "Portas em escuta"; +"See who's listening." = "Veja quem está escutando."; +"Quit this process?" = "Encerrar este processo?"; +"tuneup" = "Ajuste fino"; +"Tune-Up" = "Ajuste fino"; +"One pass, a tidier den." = "Uma passada e a toca fica em ordem."; +"Safe to run" = "Seguro para executar"; +"Needs review" = "Precisa de revisão"; +"Run safe set" = "Executar as ações seguras"; +"Clear %@ cache" = "Esvaziar o cache do %@"; +"Review startup item: %@" = "Revisar o item de início: %@"; +"Nothing to tune up — you're clean." = "Nada a ajustar: está tudo limpo."; +"restore" = "Restaurar"; +"Restore" = "Restaurar"; +"Put back what the last clean moved." = "Devolva o que a última limpeza moveu."; +"Restore last cleanup" = "Restaurar a última limpeza"; +"Only Trash-based removals can be restored — cache deletions are permanent." = "Só dá para restaurar o que passou pelo Lixo; caches excluídos não voltam."; +"No restorable items found." = "Nenhum item restaurável encontrado."; +"Top processes in selection" = "Principais processos da seleção"; +"No process samples in that window." = "Nenhuma amostra de processo nesse período."; +"Full in ~%@" = "Cheio em ~%@"; +"%d days" = "%d dias"; +"%d weeks" = "%d semanas"; +"%d months" = "%d meses"; +"Uncommitted or unpushed git changes in this repo" = "Alterações do git sem commit ou sem push neste repositório"; +"A new startup item appeared" = "Apareceu um novo item de início"; +"“%@” now launches automatically. If you didn't add it, review it." = "“%@” agora abre automaticamente. Se não foi você que adicionou, dê uma olhada."; +"CPU usage is high" = "O uso de CPU está alto"; +"CPU has been pegged at %.0f%%." = "A CPU está travada em %.0f%%."; +"Memory pressure is high" = "A pressão de memória está alta"; +"Memory is at %.0f%%." = "A memória está em %.0f%%."; +"Explain" = "Explicar"; + +/* Language switch */ +"Language" = "Idioma"; +"App language" = "Idioma do app"; +"System" = "Sistema"; +"Relaunch to change language?" = "Reiniciar para trocar de idioma?"; +"Burrow needs to relaunch to apply the new language." = "O Burrow precisa reiniciar para aplicar o novo idioma."; +"Relaunch Now" = "Reiniciar agora"; +"Later" = "Depois"; +"A language change takes effect after a relaunch." = "A troca de idioma passa a valer depois de reiniciar."; + +/* Analyze — move to Trash */ +"Move “%@” to Trash?" = "Mover “%@” para o Lixo?"; +"This moves %@ (%@) to the Trash, where you can restore it." = "Isso move %@ (%@) para o Lixo, de onde você pode restaurar."; +"this folder" = "esta pasta"; +"this file" = "este arquivo"; +"Couldn't move to Trash" = "Não foi possível mover para o Lixo"; + +/* Settings sections */ +"Engine" = "Motor"; +"Menu bar" = "Barra de menus"; +"Show menu bar icon" = "Mostrar o ícone na barra de menus"; + +/* Tools — purge / installer labels + taglines */ +"purge" = "Limpeza profunda"; +"installer" = "Instaladores"; +"Purge" = "Limpeza profunda"; +"Installers" = "Instaladores"; +"Clear the diggings dev work leaves behind." = "Tire o entulho que o trabalho de desenvolvimento deixa."; +"Sweep out the crates you unpacked." = "Varra as caixas que você já desempacotou."; + +/* Common actions / labels */ +"Scan" = "Verificar"; +"Rescan" = "Verificar de novo"; +"Back" = "Voltar"; +"Stop" = "Parar"; +"Stopped." = "Parado."; +"Go up" = "Subir um nível"; +"Fans" = "Ventoinhas"; +"Bluetooth" = "Bluetooth"; +"GPU usage" = "Uso de GPU"; +"RAM" = "RAM"; +"Version" = "Versão"; +"incomplete" = "incompleto"; +"Reading your Mac…" = "Lendo seu Mac…"; + +/* Activity (cleanup history) */ +"Recent Mole cleanup sessions" = "Limpezas recentes do Mole"; +"No cleanup history yet" = "Ainda não há histórico de limpezas"; +"Run a Clean or Optimize and it'll show up here." = "Execute uma limpeza ou otimização e ela aparecerá aqui."; + +/* Settings — AI / MCP / server */ +"Burrow engine missing" = "Motor do Burrow ausente"; +"Touch ID for sudo" = "Touch ID para o sudo"; +"Explain (AI) — experimental" = "Explicar (IA) — experimental"; +"Ask your AI about your Mac (MCP)" = "Pergunte à sua IA sobre o seu Mac (MCP)"; +"Local HTTP query server" = "Servidor de consultas HTTP local"; +"Enable the Explain lens" = "Ativar o recurso Explicar"; +"Enable HTTP query server" = "Ativar o servidor de consultas HTTP"; +"Let agents run cleanups for real" = "Permitir que agentes limpem de verdade"; +"Backend" = "Backend"; +"Base URL" = "URL base"; +"Model" = "Modelo"; +"API key (optional)" = "Chave de API (opcional)"; +"Ollama model" = "Modelo do Ollama"; +"Local · Ollama" = "Local · Ollama"; +"LM Studio / API" = "LM Studio / API"; +"Read tools" = "Ferramentas de leitura"; +"Cleanup tools" = "Ferramentas de limpeza"; +"Try asking" = "Experimente perguntar"; +"Copy prompt" = "Copiar o prompt"; +"Preview what a cleanup would free, then clean it up." = "Mostre quanto uma limpeza liberaria e depois faça a limpeza."; +"Uninstall Slack and remove its leftovers." = "Desinstale o Slack e remova o que ficar para trás."; +"What's my Mac's CPU and memory usage right now?" = "Qual é o uso de CPU e memória do meu Mac agora?"; +"What's taking up space in my home folder?" = "O que está ocupando espaço na minha pasta pessoal?"; +"AI read of one snapshot — it can be wrong, and never acts on its own." = "Leitura de um único instantâneo feita por uma IA: pode errar e nunca age por conta própria."; +"Adds an “Explain” button to Status that reads your latest snapshot and explains it in plain English, optionally suggesting Clean/Purge/Installers." = "Adiciona um botão “Explicar” ao Status: ele lê seu instantâneo mais recente, explica em linguagem simples e, quando fizer sentido, sugere Limpeza, Limpeza profunda ou Instaladores."; +"Burrow exposes your Mac's recorded history to coding agents — Claude Code, Cursor, Codex, Cline — over MCP. Add the config below, then ask in plain language. The server starts on demand over stdio; there's no port and no always-on listener." = "O Burrow expõe o histórico registrado do seu Mac a agentes de programação — Claude Code, Cursor, Codex, Cline — via MCP. Adicione a configuração abaixo e pergunte em linguagem natural. O servidor sobe sob demanda via stdio; não há porta nem serviço em escuta permanente."; +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` / `uninstall` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Desativado por padrão. Os agentes sempre podem ler métricas e gerar prévias em simulação. Com isso ativado, um agente pode executar um `mo clean` / `optimize` / `uninstall` de verdade — mas SOMENTE se também enviar um sinalizador de confirmação explícito, para que uma exclusão nunca dependa de uma frase solta. Desative e os agentes voltam a ser somente leitura. Os dados ficam neste Mac."; +"Runs against a local Ollama model — nothing leaves this Mac. Start it with `ollama run `." = "Usa um modelo local do Ollama — nada sai deste Mac. Inicie com `ollama run `."; +"Any OpenAI-compatible server. For LM Studio: load a model, open Developer ▸ Start Server, and leave the key blank — the default URL is already LM Studio's. A hosted endpoint (e.g. OpenAI) needs a key and sends the metrics summary off-device (never file contents)." = "Qualquer servidor compatível com OpenAI. No LM Studio: carregue um modelo, abra Developer ▸ Start Server e deixe a chave em branco — a URL padrão já é a do LM Studio. Um endpoint hospedado (a OpenAI, por exemplo) exige uma chave e envia o resumo das métricas para fora do dispositivo (nunca o conteúdo dos arquivos)."; +"Sparkle checks Burrow's signed update feed after startup settles and about once a day. It asks before downloading or installing anything." = "O Sparkle consulta o feed de atualizações assinado do Burrow quando a inicialização se estabiliza e cerca de uma vez por dia. Ele pergunta antes de baixar ou instalar qualquer coisa."; +"Check for updates automatically" = "Buscar atualizações automaticamente"; +"Check for Updates" = "Buscar atualizações"; +"About Burrow" = "Sobre o Burrow"; +"Update didn't complete" = "A atualização não foi concluída"; +"Update external engine" = "Atualizar o motor externo"; +"This source build is using an engine outside Burrow.app, so its own updater remains available." = "Esta compilação a partir do código-fonte usa um motor fora do Burrow.app, então o atualizador dele continua disponível."; +"Included with Burrow. Engine updates arrive through signed Burrow releases so the app's Developer ID seal stays valid." = "Incluído com o Burrow. As atualizações do motor chegam em versões assinadas do Burrow para que a assinatura Developer ID do app continue válida."; +"The bundled engine is missing. Reinstall Burrow to restore the signed app bundle." = "O motor incluído está faltando. Reinstale o Burrow para restaurar o pacote assinado do app."; +"External engine is up to date" = "O motor externo está atualizado"; +"Now on %@." = "Agora na %@."; +"The external engine updater exited non-zero. Try running `mo update` in a terminal." = "O atualizador do motor externo terminou com erro. Tente executar `mo update` em um terminal."; +"Disk analysis needs Mole %@ or newer (you have %@). %@" = "A análise de disco precisa do Mole %@ ou mais recente (você tem %@). %@"; +"Update Burrow to get the current bundled engine." = "Atualize o Burrow para obter o motor incluído atual."; +"Use Settings › Engine › Update external engine, then try again." = "Vá em Ajustes › Motor › Atualizar o motor externo e tente de novo."; +"Reinstall Burrow to restore the bundled engine." = "Reinstale o Burrow para restaurar o motor incluído."; +"Lets `sudo` and admin prompts accept your fingerprint instead of a password, where macOS supports it. Configured via `mo touchid`; turning it on or off needs your password once." = "Faz o `sudo` e os pedidos de administrador aceitarem sua digital em vez da senha, onde o macOS permitir. É configurado com `mo touchid`; ativar ou desativar pede sua senha uma vez."; +"Authentication" = "Autenticação"; +"Bearer token required" = "É necessário um token Bearer"; +"Optional REST surface for dashboards or curl: /health, /info, /snapshot, /metrics over localhost. Every request needs the per-install token; retrieve it locally with `defaults read dev.caezium.Burrow query_auth_token`. Separate from the MCP stdio server above; toggle + port changes take effect after a relaunch." = "Interface REST opcional para painéis ou curl: /health, /info, /snapshot e /metrics no localhost. Toda requisição exige o token desta instalação; obtenha-o localmente com `defaults read dev.caezium.Burrow query_auth_token`. É separado do servidor stdio MCP acima; o interruptor e as mudanças de porta passam a valer depois de reiniciar."; +"Applies immediately. When off, Burrow shows a Dock icon instead so it stays reachable — a Dock click reopens the window." = "Vale na hora. Quando está desativado, o Burrow mostra um ícone no Dock para continuar acessível — um clique no Dock reabre a janela."; + +/* Onboarding / Full Disk Access */ +"Official builds include the engine inside the signed app. Reinstall Burrow to restore it; source builds can also provide an external `mo` on PATH." = "As versões oficiais trazem o motor dentro do app assinado. Reinstale o Burrow para restaurá-lo; compilações a partir do código-fonte também podem usar um `mo` externo no PATH."; +"REINSTALL SIGNED APP" = "REINSTALAR O APP ASSINADO"; +"View the bundled engine source →" = "Ver o código do motor incluído →"; +"The engine is still missing. Finish reinstalling Burrow, then recheck or relaunch the app." = "O motor continua faltando. Conclua a reinstalação do Burrow e depois verifique de novo ou reinicie o app."; +"Grant Full Disk Access to scan" = "Conceda Acesso Total ao Disco para verificar"; +"Skip the macOS permission prompts" = "Evite os pedidos de permissão do macOS"; +"Open Full Disk Access settings" = "Abrir os ajustes de Acesso Total ao Disco"; +"Don't ask again" = "Não perguntar de novo"; +"Scan anyway" = "Verificar mesmo assim"; +"Scanning system & app caches makes macOS ask once per protected folder. Grant Burrow Full Disk Access to scan smoothly — it only reads sizes through Mole and never opens that data itself." = "Ao verificar os caches do sistema e dos apps, o macOS pergunta uma vez por pasta protegida. Conceda Acesso Total ao Disco ao Burrow para que a verificação corra sem interrupções — ele só lê tamanhos por meio do Mole e nunca abre esses dados."; +"Still blocked? macOS only applies Full Disk Access the next time Burrow launches. Quit and reopen, then scan." = "Ainda bloqueado? O macOS só aplica o Acesso Total ao Disco na próxima vez que o Burrow abrir. Encerre, abra de novo e verifique."; +"Quit" = "Encerrar"; + +/* ===== Anonymous usage (telemetry) — Settings section + first-launch consent ===== */ +"Anonymous usage" = "Dados de uso anônimos"; +"Share anonymous usage & crash reports" = "Enviar dados de uso e relatórios de falha anônimos"; +"Share anonymous usage & diagnostics" = "Enviar dados de uso e diagnóstico anônimos"; +"Sends anonymous product analytics (PostHog) and crash reports (Sentry): a random install id (not tied to you or your hardware), the app + macOS version, CPU type, and which features you use — with sizes and counts bucketed. Never file names, contents, paths, or your metrics. It helps gauge retention and catch crashes. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Envia análises de produto anônimas (PostHog) e relatórios de falha (Sentry): um identificador de instalação aleatório (sem ligação com você nem com seu hardware), a versão do app e do macOS, o tipo de CPU e quais recursos você usa — com tamanhos e contagens agrupados em faixas. Nunca nomes de arquivo, conteúdos, caminhos ou suas métricas. Isso ajuda a medir a retenção e a detectar falhas. Ativado por padrão; se você desativar, os dois param. Lista completa em TELEMETRY.md."; +"Sends anonymous product analytics (PostHog) plus crash, hang, startup, update, and sampled performance diagnostics (Sentry): random install IDs, app and exact macOS build, CPU type, screens and features used, and fixed-name diagnostic milestones. Never screenshots, screen recordings, your file names, contents, user paths, URLs, or metrics. On by default; turn it off and both stop. Full list in TELEMETRY.md." = "Envia análises de produto anônimas (PostHog) e diagnósticos de falha, travamento, inicialização, atualização e desempenho amostrado (Sentry): identificadores de instalação aleatórios, o app e a compilação exata do macOS, o tipo de CPU, as telas e recursos usados e marcos de diagnóstico com nomes fixos. Nunca capturas de tela, gravações de tela, nomes de arquivo, conteúdos, caminhos do usuário, URLs ou métricas. Ativado por padrão; se você desativar, os dois param. Lista completa em TELEMETRY.md."; +"Burrow started in compatibility mode" = "O Burrow iniciou em modo de compatibilidade"; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item is disabled on this build, and Burrow will stay available in the Dock. Updating macOS will automatically retry the normal menu bar mode." = "O Burrow detectou que criar o item na barra de menus poderia travar esta compilação do macOS. Nela, o item está desativado e o Burrow continua disponível no Dock. Ao atualizar o macOS, o modo normal da barra de menus será tentado de novo automaticamente."; +"Burrow detected that creating its menu bar item could freeze this macOS build. The menu bar item and automatic update checks are paused on this build, and Burrow will stay available in the Dock. Manual update checks remain available. Updating macOS will automatically retry the normal mode." = "O Burrow detectou que criar o item na barra de menus poderia travar esta compilação do macOS. Nela, o item e a busca automática de atualizações estão pausados, e o Burrow continua disponível no Dock. A busca manual continua funcionando. Ao atualizar o macOS, o modo normal será tentado de novo automaticamente."; +"Burrow paused automatic update checks" = "O Burrow pausou a busca automática de atualizações"; +"Burrow detected that its automatic updater did not reach a stable state on the previous launch. Automatic checks are paused for this app and macOS build so the same startup problem cannot repeat. You can still check manually; updating Burrow or macOS will retry automatic checks." = "O Burrow detectou que o atualizador automático não chegou a um estado estável na inicialização anterior. A busca automática está pausada para este app e esta compilação do macOS para que o mesmo problema de inicialização não se repita. Você ainda pode buscar manualmente; atualizar o Burrow ou o macOS faz a busca automática ser tentada de novo."; +"Menu bar item paused on this macOS build" = "Item da barra de menus pausado nesta compilação do macOS"; +"Creating it could freeze system input on this build, so Burrow runs from the Dock instead. It returns automatically once you update macOS." = "Criá-lo poderia travar a entrada do sistema nesta compilação, então o Burrow funciona pelo Dock. Ele volta automaticamente quando você atualizar o macOS."; +"Paused on this macOS build. The setting is kept and applies again as soon as Burrow can create the menu bar item safely." = "Pausado nesta compilação do macOS. O ajuste é mantido e volta a valer assim que o Burrow puder criar o item da barra de menus com segurança."; +"Copy Diagnostics" = "Copiar os dados de diagnóstico"; +"Share anonymous usage & crash reports?" = "Enviar dados de uso e relatórios de falha anônimos?"; +"Helps prioritize fixes: app/OS version, coarse bucketed feature counts, and crash traces. Never files, paths, file contents, or your metrics — the exact list is in TELEMETRY.md. You can change this anytime in Settings → Anonymous usage." = "Ajuda a priorizar as correções: versão do app e do sistema, contagens de uso agrupadas em faixas amplas e rastros de falha. Nunca arquivos, caminhos, conteúdos ou suas métricas — a lista exata está em TELEMETRY.md. Você pode mudar isso quando quiser em Ajustes → Dados de uso anônimos."; +"Share" = "Enviar"; +"Don't Share" = "Não enviar"; + +/* ===== Agent (MCP) gates ===== */ +"OFF by default. Agents can always read metrics and run dry-run previews. With this on, an agent can run a real `mo clean` / `optimize` — but ONLY when it also passes an explicit confirm flag, so a deletion is never one stray sentence away. Turn it off and agents are read-only again. Data stays on this Mac." = "Desativado por padrão. Os agentes sempre podem ler métricas e gerar prévias em simulação. Com isso ativado, um agente pode executar um `mo clean` / `optimize` de verdade — mas SOMENTE se também enviar um sinalizador de confirmação explícito, para que uma exclusão nunca dependa de uma frase solta. Desative e os agentes voltam a ser somente leitura. Os dados ficam neste Mac."; +"Also allow uninstalls & permanent deletes" = "Permitir também desinstalações e exclusões permanentes"; +"A second key for what the Trash can't undo: real `mo uninstall`, and `permanent:true` deletes. Needs the cleanup switch above too; an uninstall also aborts unless mo matches exactly the requested apps." = "Uma segunda chave para o que o Lixo não desfaz: o `mo uninstall` de verdade e as exclusões com `permanent:true`. Também exige o interruptor de limpeza acima; além disso, uma desinstalação é cancelada se o mo não corresponder exatamente aos apps solicitados."; + +/* ===== Uninstall pre-flight verification ===== */ +"Uninstall aborted" = "Desinstalação cancelada"; +"%1$@ would also remove: %2$@" = "%1$@ também removeria: %2$@"; +"%1$@ did not match: %2$@" = "%1$@ não correspondeu a: %2$@"; +"The engine" = "O motor"; +"mo" = "mo"; +"The dry run's output wasn't in a format Burrow can confirm a matched set from, so nothing was removed." = "A saída da simulação não veio em um formato que permita ao Burrow confirmar o conjunto correspondente, então nada foi removido."; +"The engine refused the dry run, so nothing was removed: %@" = "O motor recusou a simulação, então nada foi removido: %@"; +"The engine matched no installed app for: %@" = "O motor não encontrou nenhum app instalado para: %@"; +"“%1$@” resolves to %2$d applications (%3$@), so the engine refuses to act on it. Remove them one at a time." = "“%1$@” corresponde a %2$d aplicativos (%3$@), então o motor se recusa a agir. Remova um de cada vez."; +"The engine resolved %1$d applications for %2$d selected, so the sets don't line up." = "O motor encontrou %1$d aplicativos para %2$d selecionados, então os conjuntos não batem."; +"The engine won't remove %1$@: %2$@" = "O motor não vai remover %1$@: %2$@"; +"Needs an administrator: %@. Burrow doesn't elevate this run, so it may fail on the app itself." = "Requer um administrador: %@. O Burrow não eleva os privilégios nesta execução, então pode falhar no próprio app."; +"one of these apps" = "um destes apps"; +"Homebrew removes %1$@: `%2$@`. `--zap` also deletes configuration and data the cask declares, which the preview can't list." = "O Homebrew remove %1$@: `%2$@`. O `--zap` também apaga a configuração e os dados declarados pelo cask, que a prévia não consegue listar."; +"aborted — nothing removed" = "cancelado — nada removido"; +"The engine reported: %@" = "O motor informou: %@"; +"uninstall failed" = "a desinstalação falhou"; +"Uninstall failed" = "A desinstalação falhou"; +"The engine reported a failure with no error output. Nothing was removed." = "O motor informou uma falha sem nenhuma mensagem de erro. Nada foi removido."; +"OK" = "OK"; + +/* ===== Uninstall outcomes (per app: removed / partial / refused) ===== */ +"Uninstall didn't finish" = "A desinstalação não terminou"; +"Uninstall finished partly" = "A desinstalação foi concluída só em parte"; +"Uninstall finished" = "Desinstalação concluída"; +"%@ — the engine refused to remove the application." = "%@ — o motor se recusou a remover o aplicativo."; +"%@ — the application could not be removed." = "%@ — não foi possível remover o aplicativo."; +"%@ — the application was removed, but some of its support files were not." = "%@ — o aplicativo foi removido, mas nem todos os arquivos de apoio."; +"%@ — the removal finished partly." = "%@ — a remoção foi concluída só em parte."; +"Its support files were left alone, so the app is still installed rather than half-removed." = "Os arquivos de apoio ficaram intactos, então o app continua instalado em vez de ficar pela metade."; +"Next: %@" = "A seguir: %@"; + +/* ===== i18n backfill (2026-06): legacy hardcoded strings ===== */ +/* Installer/purge chooser — clean (non-plural) labels */ +"done" = "concluído"; +"failed" = "falhou"; +"select none" = "não selecionar nada"; +"select all" = "selecionar tudo"; +"Remove" = "Remover"; +"Remove (%lld)" = "Remover (%lld)"; +"Show all %lld" = "Mostrar todos os %lld"; +"Showing the %lld biggest of %lld." = "Mostrando os %1$lld maiores de %2$lld."; +"Loading all %lld… (%lld so far)" = "Carregando todos os %lld… (%lld até agora)"; +/* Elevated-run cancellation (OperationFlow) */ +"authorization cancelled" = "autorização cancelada"; +/* Touch ID for sudo (Settings) */ +"Couldn't update Touch ID for sudo" = "Não foi possível alterar o Touch ID para o sudo"; +"`mo touchid %@` didn't complete (the password prompt may have been cancelled). You can also run it in a terminal." = "`mo touchid %@` não foi concluído (o pedido de senha pode ter sido cancelado). Você também pode executá-lo em um terminal."; +/* AI "Explain" lens errors (AIConfig) */ +"No Ollama model is set — pick one in Settings." = "Nenhum modelo do Ollama definido — escolha um nos ajustes."; +"No model name is set for the OpenAI-compatible API — set one in Settings." = "Nenhum nome de modelo definido para a API compatível com OpenAI — informe um nos ajustes."; +"The API base URL isn't a valid http(s) URL — check it in Settings." = "A URL base da API não é uma URL http(s) válida — confira nos ajustes."; + +/* i18n backfill (cont.) — running count + AI settings field labels */ +"%lld running" = "%lld em execução"; +"blank for LM Studio" = "em branco para o LM Studio"; + +/* ============================================================ + 2026-06 UI/UX redesign (plans/ui-ux-review-2026-06-10.md) + Onboarding · access banner · Clean review · result hero · + task ticker · Software (uninstall/updates/startup) · Settings + tabs · menu-bar tools · Status/popover · Analyze progress + ============================================================ */ + +/* Onboarding */ +"Step %d of %d" = "Passo %1$d de %2$d"; +"Grant access to get started." = "Conceda acesso para começar."; +"Optional — the safe scan works without it." = "Opcional — a verificação segura funciona sem isso."; +"Full Disk Access" = "Acesso Total ao Disco"; +"Unlocks the caches and leftovers Burrow needs to reach." = "Libera os caches e sobras que o Burrow precisa alcançar."; +"Granted in Settings but still gray? macOS applies it at the next launch." = "Concedido nos Ajustes mas ainda cinza? O macOS aplica na próxima abertura."; +"Relaunch to apply" = "Reiniciar para aplicar"; +"Continue" = "Continuar"; +"Burrow is free." = "O Burrow é gratuito."; +"Open source, local-first. No license, no trial, no upsell." = "Código aberto e local em primeiro lugar. Sem licença, sem período de teste, sem venda casada."; +"forever" = "para sempre"; +"Every tool unlocked — Clean, Purge, Installers, Software, Optimize, Analyze" = "Todas as ferramentas liberadas — Limpeza, Limpeza profunda, Instaladores, Software, Otimização, Análise"; +"Watches your Mac over weeks, not seconds — 30–90 day history" = "Acompanha seu Mac por semanas, não por segundos — 30 a 90 dias de histórico"; +"Agent-ready — MCP tools for Claude, Cursor, Codex (off until you opt in)" = "Pronto para agentes — ferramentas MCP para Claude, Cursor e Codex (desativadas até você permitir)"; +"Open source — read every line" = "Código aberto — leia cada linha"; +"Open the Burrow repository on GitHub" = "Abrir o repositório do Burrow no GitHub"; +"Start using Burrow" = "Começar a usar o Burrow"; +"Open Settings" = "Abrir os Ajustes"; +"Check" = "Verificar"; +"Granted" = "Concedido"; +"Not granted" = "Não concedido"; + +/* Access banner */ +"Full Disk Access is off" = "O Acesso Total ao Disco está desativado"; +"Without it, Burrow can't reach most system caches." = "Sem ele, o Burrow não alcança a maioria dos caches do sistema."; +"Use Touch ID for admin operations" = "Usar o Touch ID nas operações de administrador"; +"Install the signed helper and scan, clean, and optimize authenticate with a fingerprint instead of a password." = "Instale o auxiliar assinado e a verificação, a limpeza e a otimização passam a ser autorizadas pela digital em vez da senha."; +"Set up" = "Configurar"; +"Dismiss" = "Fechar"; + +/* Clean — result hero & run */ +"Scan your Mac" = "Verificar seu Mac"; +"%@ found" = "%@ encontrados"; +"Scanning, %@ found so far" = "Verificando, %@ encontrados até agora"; +"Stopped before the end — results are partial." = "Interrompido antes do fim — os resultados são parciais."; +"Review results" = "Revisar os resultados"; +"Limited scan active · App Support and container caches are skipped" = "Verificação limitada · os caches de App Support e de contêineres são ignorados"; +"Limited scan active. App Support and container caches are skipped. Open for options." = "Verificação limitada em andamento. Os caches de App Support e de contêineres são ignorados. Abra para ver as opções."; +"Why limited?" = "Por que limitada?"; +"Without Full Disk Access, macOS hides most app and container caches from Burrow. Grant it once for full scans — or rerun this scan with administrator rights (one password)." = "Sem o Acesso Total ao Disco, o macOS esconde do Burrow a maioria dos caches de apps e contêineres. Conceda uma vez para verificações completas — ou repita esta verificação com privilégios de administrador (uma senha)."; +"Scan with admin" = "Verificar como administrador"; +"This preview is stale" = "Esta prévia está desatualizada"; +"The scan is more than a few minutes old — caches that appeared since wouldn't have been reviewed. Rescan to get current numbers, then clean." = "A verificação tem mais de alguns minutos — os caches que surgiram desde então não foram revisados. Verifique de novo para ter números atuais e depois limpe."; +"Couldn't protect deselected items" = "Não foi possível proteger os itens desmarcados"; +"Writing the whitelist failed (%@), so the engine would clean everything it found. Nothing was cleaned." = "A gravação da lista de permissões falhou (%@), então o motor limparia tudo o que encontrou. Nada foi limpo."; +"Move %d items (%@) to the Trash?" = "Mover %1$d itens (%2$@) para o Lixo?"; +"They stay recoverable until you empty the Trash. Space frees when it empties; this run won't appear in `mo history`." = "Eles continuam recuperáveis até você esvaziar o Lixo. O espaço é liberado no esvaziamento, e esta execução não aparecerá em `mo history`."; +"Moving caches to Trash" = "Movendo os caches para o Lixo"; +"%d moved · %d failed" = "%1$d movidos · %2$d com falha"; +"Moved %d items (%@) to the Trash." = "%1$d itens (%2$@) movidos para o Lixo."; +"Moved %d items; %d were locked or already gone." = "%1$d itens movidos; %2$d estavam bloqueados ou já não existiam."; +"Moved to Trash" = "Movidos para o Lixo"; +"Freed %@" = "%@ liberados"; +"Cleaned %@" = "%@ limpos"; +"%@ free now" = "%@ livres agora"; +"%@ items" = "%@ itens"; +"Done" = "Pronto"; + +/* Clean — review screen */ +"Ready to clean" = "Pronto para limpar"; +"Close %@ to clean another %@ · %d items" = "Feche o %1$@ para limpar mais %2$@ · %3$d itens"; +"Everything below came from the scan — untick anything you'd rather keep." = "Tudo abaixo veio da verificação — desmarque o que preferir manter."; +"Back to results" = "Voltar aos resultados"; +"Select all" = "Selecionar tudo"; +"Deselect all" = "Desmarcar tudo"; +"%@, %d of %d selected, %@ of %@" = "%1$@, %2$d de %3$d selecionados, %4$@ de %5$@"; +"Toggle category" = "Mostrar ou ocultar a categoria"; +"%d items" = "%d itens"; +"Safe" = "Seguro"; +"App open" = "App aberto"; +"System busy" = "Sistema ocupado"; +"The scan already excluded unsafe paths — everything here is removable cache data." = "A verificação já excluiu os caminhos arriscados — tudo aqui é cache que pode ser removido."; +"This app is running; its cache is locked. Quit the app and rescan to clean it." = "Este app está em execução e o cache dele está bloqueado. Encerre o app e verifique de novo para limpá-lo."; +"A system service is using this path right now." = "Um serviço do sistema está usando este caminho agora."; +"Always skip this" = "Sempre ignorar"; +"Permanently clean · %@" = "Limpar permanentemente · %@"; +"Move to Trash · %@" = "Mover para o Lixo · %@"; +"selected" = "selecionado"; +"not selected" = "não selecionado"; +"User essentials" = "Dados do usuário"; +"App caches" = "Caches de apps"; +"Browsers" = "Navegadores"; +"Cloud & Office" = "Nuvem e escritório"; +"Developer tools" = "Ferramentas de desenvolvimento"; +"AI Tools" = "Ferramentas de IA"; +"Communication" = "Comunicação"; +"Applications" = "Aplicativos"; +"Virtualization" = "Virtualização"; +"Application Support" = "Application Support"; +"App leftovers" = "Sobras de apps"; +"System-managed caches and logs. Regenerated as macOS needs them." = "Caches e registros gerenciados pelo sistema. O macOS os recria conforme precisa."; +"App temporary files. Regenerated next launch." = "Arquivos temporários de apps. Recriados na próxima abertura."; +"Page caches — sites load a touch slower on first visit." = "Caches de páginas — os sites carregam um pouco mais devagar na primeira visita."; +"Build and package caches. First build will be slower." = "Caches de compilação e de pacotes. A primeira compilação será mais lenta."; +"Model and tool caches. Re-downloaded on next use." = "Caches de modelos e ferramentas. Baixados de novo no próximo uso."; +"Message media caches. Re-fetched when you scroll back." = "Caches de mídia de mensagens. Buscados de novo quando você volta na conversa."; +"VM and container caches. Images re-pull on next run." = "Caches de máquinas virtuais e contêineres. As imagens são baixadas de novo na próxima execução."; +"Sync caches. Files re-sync from the cloud." = "Caches de sincronização. Os arquivos são sincronizados de novo a partir da nuvem."; +"Files from apps that are no longer installed." = "Arquivos de apps que não estão mais instalados."; +"Cache files. Regenerated as needed." = "Arquivos de cache. Recriados conforme necessário."; + +/* Optimize — live ticker */ +"Refreshing…" = "Atualizando…"; +"Previewing…" = "Gerando a prévia…"; +"Working…" = "Trabalhando…"; +"Working on %@, %d tasks done" = "Trabalhando em %1$@, %2$d tarefas concluídas"; + +/* Software — uninstall review */ +"Startup" = "Início"; +"Last Used" = "Último uso"; +"Refresh" = "Atualizar"; +"Sort by %@" = "Ordenar por %@"; +"ascending" = "crescente"; +"descending" = "decrescente"; +"%d files · %@" = "%1$d arquivos · %2$@"; +"Select %@" = "Selecionar %@"; +"Enumerating files…" = "Enumerando os arquivos…"; +"Auto selected" = "Selecionado automaticamente"; +"Needs review" = "Precisa de revisão"; +"Not selected by default. Review these before removing." = "Não selecionado por padrão. Revise estes itens antes de remover."; +"Toggle %@ group" = "Mostrar ou ocultar o grupo %@"; +"Couldn't enumerate this app's files — there's nothing to review here." = "Não foi possível enumerar os arquivos deste app — não há nada para revisar aqui."; +"Application" = "Aplicativo"; +"App Support" = "App Support"; +"Preferences" = "Preferências"; +"Container" = "Contêiner"; +"Group Container" = "Contêiner de grupo"; +"Helper" = "Auxiliar"; +"Login Item" = "Item de início"; +"Temporary Cache" = "Cache temporário"; +"Other" = "Outros"; +"%@ · 1 app · %@" = "%1$@ · 1 app · %2$@"; +"%d apps · %@" = "%1$d apps · %2$@"; +"Remove %d" = "Remover %d"; +"Remove %d app?" = "Remover %d app?"; +"Remove %d apps?" = "Remover %d apps?"; +"These move to the Trash — the app itself and the support files it keeps in your Library (containers, caches, preferences, saved state). You can put them back:\n\n%@" = "Isto vai para o Lixo — o próprio app e os arquivos de apoio que ele guarda na sua Biblioteca (contêineres, caches, preferências, estados salvos). Você pode devolver tudo:\n\n%@"; +"Homebrew removes these by running `brew uninstall --cask --zap`. That doesn't use the Trash, and `--zap` also deletes configuration and data the cask declares — more than the file list can show:\n\n%@" = "O Homebrew remove estes executando `brew uninstall --cask --zap`. Isso não passa pelo Lixo, e o `--zap` também apaga a configuração e os dados declarados pelo cask — mais do que a lista de arquivos consegue mostrar:\n\n%@"; +"If an app can't be removed, Burrow leaves its support files alone too, rather than half-removing it." = "Se um app não puder ser removido, o Burrow também deixa os arquivos de apoio intactos, em vez de removê-lo pela metade."; +"Skipped — these have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Ignorados — estes não têm identificador de pacote, então o Burrow não consegue dizer ao motor de qual app se trata:\n\n%@"; +"Nothing Burrow can remove" = "Não há nada que o Burrow possa remover"; +"These have no bundle identifier, so Burrow can't tell the engine which app it means:\n\n%@" = "Estes não têm identificador de pacote, então o Burrow não consegue dizer ao motor de qual app se trata:\n\n%@"; +"%d reviewed files" = "%d arquivos revisados"; +"Reviewed subsets are trashed by Burrow directly and appear in Burrow's Activity log, not `mo history`." = "Os subconjuntos revisados vão para o Lixo pelo próprio Burrow e aparecem no registro de atividade dele, não em `mo history`."; +"Removing reviewed files" = "Removendo os arquivos revisados"; + +/* Software — startup segment */ +"Launch agent" = "Agente de inicialização"; +"Launch daemon" = "Daemon de inicialização"; +"Unreadable configuration" = "Configuração ilegível"; +"Program is missing" = "O programa está faltando"; +"Bundled inside an app; review only" = "Incluído dentro de um app; apenas revisão"; +"System-wide; review only" = "De todo o sistema; apenas revisão"; +"Yours; remove the file to disable" = "Seu; apague o arquivo para desativar"; +"Your launch agents" = "Seus agentes de inicialização"; +"System launch agents" = "Agentes de inicialização do sistema"; +"System launch daemons" = "Daemons de inicialização do sistema"; +"Reading startup items…" = "Lendo os itens de início…"; +"Search items" = "Buscar itens"; +"Error" = "Erro"; +"Review only — managed by its app or the system." = "Apenas revisão — gerenciado pelo app dele ou pelo sistema."; +"Review only" = "Apenas revisão"; +"All" = "Todos"; +"Launch agents" = "Agentes de inicialização"; +"Launch daemons" = "Daemons de inicialização"; +"Problems" = "Problemas"; + +/* Software — updates */ +"App Store" = "App Store"; +"Sparkle" = "Sparkle"; +"Electron" = "Electron"; +"Homebrew" = "Homebrew"; +"Checking update sources…" = "Verificando as fontes de atualização…"; +"Sources detected locally — checking versions contacts Apple and vendor servers." = "As fontes foram detectadas localmente — verificar as versões entra em contato com os servidores da Apple e dos fabricantes."; +"Check for updates" = "Buscar atualizações"; +"Check again" = "Verificar de novo"; +"Update all brews" = "Atualizar todos os pacotes do Homebrew"; +"Updates available" = "Há atualizações disponíveis"; +"Up to date" = "Atualizado"; +"Not checkable" = "Não verificável"; +"No App Store receipt, Sparkle feed, or known updater inside these bundles." = "Nestes pacotes não há recibo da App Store, feed do Sparkle nem atualizador conhecido."; +"Apps with an update mechanism" = "Apps com mecanismo de atualização"; +"active now" = "ativo agora"; +"opened %@" = "aberto %@"; +"never opened" = "nunca aberto"; + +/* Settings — tabs & general */ +"General" = "Geral"; +"Maintenance" = "Manutenção"; +"Menu Bar" = "Barra de menus"; +"Advanced" = "Avançado"; +"Close settings" = "Fechar os ajustes"; +"Permissions" = "Permissões"; +"On. Burrow can reach system and app caches." = "Ativado. O Burrow alcança os caches do sistema e dos apps."; +"Off. Safe scan in use — most system caches stay out of reach." = "Desativado. A verificação segura está em uso — a maioria dos caches do sistema fica fora de alcance."; +"Startup & window" = "Início e janela"; +"Launch at Login" = "Abrir ao iniciar a sessão"; +"Starts Burrow quietly at login so sampling and the menu-bar monitor are always on." = "Abre o Burrow discretamente ao iniciar a sessão, para que a amostragem e o monitor da barra de menus fiquem sempre ativos."; +"Hide Dock Icon when window closes" = "Ocultar o ícone do Dock ao fechar a janela"; +"On: Burrow retreats to the menu bar when you close the window. Off: it stays in the Dock. With the menu-bar icon hidden, the Dock icon always stays — otherwise the app would be unreachable." = "Ativado: o Burrow recolhe para a barra de menus quando você fecha a janela. Desativado: ele fica no Dock. Com o ícone da barra de menus oculto, o ícone do Dock permanece sempre — caso contrário, não haveria como abrir o app."; +"Skip Intro Screens" = "Pular as telas de introdução"; +"Jumps past the tools' idle screens where a read-only preview can start right away (Clean starts its scan when you open the tab)." = "Pula as telas de espera das ferramentas quando uma prévia somente leitura pode começar de imediato (a limpeza inicia a verificação assim que você abre a aba)."; +"About" = "Sobre"; +"Source on GitHub" = "Código no GitHub"; + +/* Settings — maintenance */ +"Protected Items" = "Itens protegidos"; +"Paths and glob patterns Mole never cleans — `mo clean` and `mo optimize` skip anything matching them. “Always skip this” in the Clean review writes here too." = "Caminhos e padrões glob que o Mole nunca limpa — `mo clean` e `mo optimize` ignoram tudo o que corresponder. O “Sempre ignorar”, na revisão da limpeza, também grava aqui."; +"No protected items yet." = "Ainda não há itens protegidos."; +"Add a path or glob pattern" = "Adicionar um caminho ou padrão glob"; +"Add" = "Adicionar"; +"Remove %@ from protected items" = "Remover %@ dos itens protegidos"; +"Cache removal" = "Remoção de caches"; +"Removal mode" = "Modo de remoção"; +"Permanent" = "Permanente"; +"Trash" = "Lixo"; +"Permanent (default): the engine removes caches outright — freed space is real, immediately. Trash: reviewed, ticked paths go to the Trash instead — recoverable, but space frees only when Trash empties, and the run won't appear in `mo history`." = "Permanente (padrão): o motor remove os caches direto — o espaço é liberado de verdade, na hora. Lixo: os caminhos revisados e marcados vão para o Lixo — dá para recuperar, mas o espaço só é liberado ao esvaziar, e a execução não aparecerá em `mo history`."; + +/* Settings — menu bar */ +"Display" = "Exibição"; +"Icon" = "Ícone"; +"Metrics" = "Métricas"; +"Metrics shows live CPU and memory next to the mark, refreshed with the sampler." = "“Métricas” mostra CPU e memória ao vivo ao lado do símbolo, atualizados junto com a amostragem."; +"Keyboard shortcuts" = "Atalhos de teclado"; +"Keep Screen On" = "Manter a tela ligada"; +"Clean Screen" = "Limpar a tela"; +"System-wide. Click a chip, press a combination with ⌃, ⌥ or ⌘; Esc cancels, × clears." = "Vale em todo o sistema. Clique em uma etiqueta e pressione uma combinação com ⌃, ⌥ ou ⌘; Esc cancela e × apaga."; +"Block keys while wiping" = "Bloquear as teclas enquanto limpa"; +"Accessibility" = "Acessibilidade"; +"Needed to swallow key presses while you wipe. Esc always exits." = "Necessário para engolir as teclas enquanto você limpa a tela. Esc sempre sai."; +"Off: Clean Screen still works, keys just aren't blocked. Esc always exits either way." = "Desativado: “Limpar a tela” continua funcionando, só que as teclas não são bloqueadas. Nos dois casos, Esc sai."; +"Press keys…" = "Pressione as teclas…"; +"Record" = "Gravar"; +"Record shortcut" = "Gravar o atalho"; +"Clear shortcut" = "Apagar o atalho"; +"None" = "Nenhum"; + +/* Menu-bar tools */ +"15 minutes" = "15 minutos"; +"30 minutes" = "30 minutos"; +"1 hour" = "1 hora"; +"2 hours" = "2 horas"; +"Until turned off" = "Até desativar"; +"Turn Off" = "Desativar"; +"Check for Updates…" = "Buscar atualizações…"; +"Couldn't check for updates" = "Não foi possível buscar atualizações"; +"GitHub didn't answer. Try again later, or open the releases page." = "O GitHub não respondeu. Tente de novo mais tarde ou abra a página de versões."; +"Update available" = "Atualização disponível"; +"Burrow %@ is available (you have %@). Update with `brew upgrade --cask burrow`, or open the release page." = "O Burrow %1$@ está disponível (você tem o %2$@). Atualize com `brew upgrade --cask burrow` ou abra a página da versão."; +"Burrow %@ is available (you have %@). Download it from the release page." = "O Burrow %1$@ está disponível (você tem o %2$@). Baixe na página da versão."; +"You're up to date" = "Você está em dia"; +"Burrow %@ is the latest release." = "O Burrow %@ é a versão mais recente."; +"Open Release Page" = "Abrir a página da versão"; +"Engine: %@" = "Motor: %@"; +"not found" = "não encontrado"; +"Releases" = "Versões"; +"What telemetry is collected" = "Quais dados de telemetria são coletados"; +"Licenses" = "Licenças"; +"Wipe away — press Esc when you're done." = "Pode limpar à vontade — pressione Esc quando terminar."; + +/* Status dashboard */ +"%d fans" = "%d ventoinhas"; +"macOS manages speed" = "O macOS controla a velocidade"; +"No fan data on this Mac" = "Sem dados de ventoinha neste Mac"; +"Fan" = "Ventoinha"; +"%d%% Health" = "%d%% de saúde"; +"%d cyc" = "%d ciclos"; +"Mac" = "Mac"; +"%d percent" = "%d por cento"; +"PWR" = "POT"; +"Energy billed since launch (mWh)" = "Energia consumida desde a abertura (mWh)"; +"Actions for %@" = "Ações para %@"; +"Pin" = "Fixar"; +"Unpin" = "Desafixar"; +"Copy name" = "Copiar o nome"; +"Copy PID" = "Copiar o PID"; +"Quit…" = "Encerrar…"; +"Force Kill…" = "Forçar o encerramento…"; +"Force kill %@?" = "Forçar o encerramento de %@?"; +"Quit %@?" = "Encerrar %@?"; +"SIGKILL ends it immediately — unsaved work in this process is lost." = "O SIGKILL encerra na hora — o trabalho não salvo nesse processo se perde."; +"Sends a polite quit (SIGTERM). The process may save and exit, or ignore it." = "Envia um pedido educado de encerramento (SIGTERM). O processo pode salvar e sair, ou ignorar."; +"Force Kill" = "Forçar o encerramento"; +"Quit Process" = "Encerrar o processo"; + +/* Menu-bar popover */ +"%@ free" = "%@ livres"; +"Health %d. Open Burrow." = "Saúde %d. Abrir o Burrow."; +"up %@" = "ativo há %@"; +"%@ used · %.0f%%" = "%@ em uso · %.0f%%"; +"No fan data" = "Sem dados de ventoinha"; +"Top drain — %@ · avg %.0f%% CPU over the last hour" = "Maior consumo — %@ · média de %.0f%% de CPU na última hora"; +"Stay Awake" = "Manter acordado"; +"Wipe" = "Limpar"; +"Eject" = "Ejetar"; +"on" = "ativado"; +"Ejecting external volumes" = "Ejetando os volumes externos"; +"%d ejected · %d busy" = "%1$d ejetados · %2$d ocupados"; +"%@ cleaned · %d uninstalled · %d optimized" = "%1$@ limpos · %2$d desinstalados · %3$d otimizados"; +"Clean Watch" = "Acompanhamento da limpeza"; + +/* Analyze progress */ +"Mapping your folders" = "Mapeando suas pastas"; +"Measuring…" = "Medindo…"; +"Scanning %@, %d of %d" = "Verificando %1$@, %2$d de %3$d"; +"Scanning" = "Verificando"; + +/* ===== Uninstall pre-flight: identity of the resolved app ===== */ +"“%@” isn't an identifier that names one app — it resolves to whichever app the engine happens to match first, so nothing was removed. Use the app's bundle id or its exact name." = "“%@” não é um identificador que designe um único app — ele corresponde ao primeiro que o motor encontrar, então nada foi removido. Use o identificador de pacote do app ou o nome exato."; +"The engine didn't say which application “%@” resolves to, so Burrow can't confirm it's the right one and nothing was removed." = "O motor não informou a qual aplicativo “%@” corresponde, então o Burrow não pode confirmar que é o certo e nada foi removido."; +"The engine resolved %@ twice, so the run wouldn't act on the set it reported." = "O motor resolveu %@ duas vezes, então a execução não agiria sobre o conjunto que ele informou."; +"“%1$@” isn't %2$@'s name or bundle id — the engine matched it by substring, so it may not be the app you meant. Nothing was removed; ask for it by name: %3$@." = "“%1$@” não é o nome nem o identificador de pacote de %2$@ — o motor encontrou por correspondência parcial, então pode não ser o app que você queria. Nada foi removido; peça pelo nome: %3$@."; +"The engine resolved an argument Burrow didn't send (“%@”), so nothing was removed." = "O motor resolveu um argumento que o Burrow não enviou (“%@”), então nada foi removido."; +"“%1$@” resolves to %2$@ (%3$@), not the %4$@ you picked (%5$@), so nothing was removed." = "“%1$@” corresponde a %2$@ (%3$@), e não ao %4$@ que você escolheu (%5$@), então nada foi removido."; +"“%1$@” resolves to an app whose bundle id is %2$@, not the %3$@ you picked, so nothing was removed." = "“%1$@” corresponde a um app cujo identificador de pacote é %2$@, e não ao %3$@ que você escolheu, então nada foi removido."; + +/* ===== Uninstall: the plan disagrees with the confirm sheet ===== */ +"This isn't quite what Burrow just told you" = "Isto não bate exatamente com o que o Burrow acabou de dizer"; +"Remove anyway" = "Remover mesmo assim"; +"cancelled — nothing removed" = "cancelado — nada removido"; +"Homebrew removes these after all, with `brew uninstall --cask --zap` — that doesn't use the Trash, so you can't put them back: %@" = "No fim das contas é o Homebrew que remove estes, com `brew uninstall --cask --zap` — isso não passa pelo Lixo, então não dá para devolver: %@"; +"These aren't Homebrew's after all — Burrow moves them to the Trash itself: %@" = "No fim das contas estes não são do Homebrew — o próprio Burrow move para o Lixo: %@"; + +/* ===== Uninstall review: what Burrow may not remove by hand ===== */ +"Homebrew installed %1$@ — it has to be removed with `brew uninstall --cask --zap %2$@`. Trashing the app on its own would leave Homebrew still believing it's installed." = "%1$@ foi instalado pelo Homebrew — precisa ser removido com `brew uninstall --cask --zap %2$@`. Mandar só o app para o Lixo deixaria o Homebrew achando que ele ainda está instalado."; +"Burrow won't remove these itself" = "O Burrow não vai remover estes por conta própria"; +"These stay installed — only the reviewed support files move to the Trash, and you can put them back:\n\n%@" = "Estes continuam instalados — só os arquivos de apoio revisados vão para o Lixo, e você pode devolvê-los:\n\n%@"; +"Remove data from %d app?" = "Remover os dados de %d app?"; +"Remove data from %d apps?" = "Remover os dados de %d apps?"; diff --git a/macos/Resources/ru.lproj/Localizable.strings b/macos/Resources/ru.lproj/Localizable.strings index c162558f..f951cd7d 100644 --- a/macos/Resources/ru.lproj/Localizable.strings +++ b/macos/Resources/ru.lproj/Localizable.strings @@ -339,7 +339,7 @@ "Burrow needs to relaunch to apply the new language." = "Burrow необходимо перезапустить, чтобы применить новый язык."; "Relaunch Now" = "Перезапустить сейчас"; "Later" = "Позже"; -"Burrow ships English, 简体中文, 繁體中文, and Русский. A language change takes effect after a relaunch." = "Burrow поддерживает английский, упрощённый китайский, традиционный китайский и русский. Смена языка вступает в силу после перезапуска."; +"A language change takes effect after a relaunch." = "Изменение языка вступит в силу после перезапуска."; /* Analyze — move to Trash */ "Move “%@” to Trash?" = "Переместить «%@» в Корзину?"; diff --git a/macos/Resources/zh-Hans.lproj/Localizable.strings b/macos/Resources/zh-Hans.lproj/Localizable.strings index 5e7b7a7d..86b5e5d5 100644 --- a/macos/Resources/zh-Hans.lproj/Localizable.strings +++ b/macos/Resources/zh-Hans.lproj/Localizable.strings @@ -339,7 +339,7 @@ "Burrow needs to relaunch to apply the new language." = "Burrow 需要重新启动以应用新语言。"; "Relaunch Now" = "立即重启"; "Later" = "稍后"; -"Burrow ships English, 简体中文, 繁體中文, and Русский. A language change takes effect after a relaunch." = "Burrow 提供英文、简体中文、繁体中文和俄语。语言更改将在重新启动后生效。"; +"A language change takes effect after a relaunch." = "语言更改将在重新启动后生效。"; /* Analyze — move to Trash */ "Move “%@” to Trash?" = "将“%@”移到废纸篓?"; diff --git a/macos/Resources/zh-Hant.lproj/Localizable.strings b/macos/Resources/zh-Hant.lproj/Localizable.strings index 56cd66cd..4945ae68 100644 --- a/macos/Resources/zh-Hant.lproj/Localizable.strings +++ b/macos/Resources/zh-Hant.lproj/Localizable.strings @@ -339,7 +339,7 @@ "Burrow needs to relaunch to apply the new language." = "Burrow 需要重新啟動才能套用新語言。"; "Relaunch Now" = "立即重新啟動"; "Later" = "稍後"; -"Burrow ships English, 简体中文, 繁體中文, and Русский. A language change takes effect after a relaunch." = "Burrow 提供英文、簡體中文、繁體中文與俄文。語言變更會在重新啟動後生效。"; +"A language change takes effect after a relaunch." = "語言變更會在重新啟動後生效。"; /* Analyze — move to Trash */ "Move “%@” to Trash?" = "要將「%@」移到垃圾桶嗎?"; diff --git a/macos/Sources/AppLanguage.swift b/macos/Sources/AppLanguage.swift new file mode 100644 index 00000000..05873f51 --- /dev/null +++ b/macos/Sources/AppLanguage.swift @@ -0,0 +1,72 @@ +// +// AppLanguage.swift +// Burrow +// + +import Foundation + +/// One shipped UI language. +/// +/// This list is the only place a language code appears. The Settings picker, +/// the Explain prompt and the localization tests all read it, so adding a +/// language is one row here plus `.lproj/Localizable.strings` — nothing +/// else has to learn the new code, and nothing can be updated in one place and +/// forgotten in another. +struct AppLanguage: Equatable { + /// The `.lproj` directory name, which is also the value written to + /// `AppleLanguages` for the bundle loader to read at the next launch. + let code: String + + /// The language's own name. A picker that offers "German" to a German + /// speaker is labelling the one option they can already read, so every + /// entry stays in its own language and is never localized. + let endonym: String + + /// How to name this language to the Explain model. `nil` means English, + /// where the base prompt already answers in English and needs no clause. + let explainDescription: String? + + /// In picker order: English first, then by when each was added. + static let all: [AppLanguage] = [ + .init(code: "en", endonym: "English", explainDescription: nil), + .init(code: "zh-Hans", endonym: "简体中文", explainDescription: "Simplified Chinese (简体中文)"), + .init(code: "zh-Hant", endonym: "繁體中文", explainDescription: "Traditional Chinese as used in Taiwan (繁體中文,台灣用語)"), + .init(code: "ru", endonym: "Русский", explainDescription: "Russian (русский)"), + .init(code: "ja", endonym: "日本語", explainDescription: "Japanese (日本語)"), + .init(code: "de", endonym: "Deutsch", explainDescription: "German (Deutsch)"), + .init(code: "fr", endonym: "Français", explainDescription: "French (français)"), + .init(code: "es", endonym: "Español", explainDescription: "Spanish (español)"), + .init(code: "ko", endonym: "한국어", explainDescription: "Korean (한국어)"), + .init(code: "pt-BR", endonym: "Português (Brasil)", explainDescription: "Brazilian Portuguese (português do Brasil)"), + ] + + /// Every language that carries a `.strings` table — i.e. all of them but + /// English, whose strings are the keys themselves. + static var translated: [AppLanguage] { all.filter { $0.code != "en" } } + + static func named(_ code: String) -> AppLanguage? { all.first { $0.code == code } } + + /// The language the UI is actually running in: the explicit override when + /// the user set one, otherwise whatever the bundle picked for the system. + /// + /// `preferred` is a full locale id like `de-DE` or `zh-Hant-TW`, so an + /// exact hit is the exception and prefix matching is the rule. + static func resolved(override: String, preferred: String?) -> AppLanguage? { + if !override.isEmpty { return named(override) } + guard let preferred, !preferred.isEmpty else { return nil } + if let exact = named(preferred) { return exact } + + // Chinese is the one script split we ship, and macOS hands back region + // ids like "zh-TW" that never mention Hant — so the Traditional + // regions have to be named outright rather than pattern-matched. + if preferred.hasPrefix("zh") { + let traditional = ["Hant", "TW", "HK", "MO"].contains { preferred.contains($0) } + return named(traditional ? "zh-Hant" : "zh-Hans") + } + + // "pt-PT" lands on pt-BR and "es-419" on es: a near neighbour reads far + // better than falling all the way back to English. + return all.first { preferred.hasPrefix($0.code) } + ?? all.first { $0.code.hasPrefix(String(preferred.prefix(2))) } + } +} diff --git a/macos/Sources/Explain.swift b/macos/Sources/Explain.swift index 7833a7fb..1d2e7769 100644 --- a/macos/Sources/Explain.swift +++ b/macos/Sources/Explain.swift @@ -198,31 +198,15 @@ enum ExplainPrompt { /// paragraph of English wedged between Russian labels reads as a broken /// translation rather than a deliberate choice. `nil` is the English UI, /// where the base prompt already answers in English unprompted. - static func replyLanguage() -> String? { - switch Store.appLanguage { - case "zh-Hans", "zh-Hant", "ru": return Store.appLanguage - case "en": return nil - default: - let lang = Bundle.main.preferredLocalizations.first ?? Locale.current.identifier - if lang.hasPrefix("ru") { return "ru" } - guard lang.hasPrefix("zh") else { return nil } - let traditional = lang.contains("Hant") || lang.contains("TW") || lang.contains("HK") || lang.contains("MO") - return traditional ? "zh-Hant" : "zh-Hans" - } + static func replyLanguage() -> AppLanguage? { + AppLanguage.resolved(override: Store.appLanguage, + preferred: Bundle.main.preferredLocalizations.first ?? Locale.current.identifier) } static func make(_ ctx: ExplainContext) -> (system: String, user: String) { - let language: String - switch replyLanguage() { - case "zh-Hans": - language = "\n\nWrite the explanation in Simplified Chinese (简体中文). Keep the final ACTION line exactly as specified, in English." - case "zh-Hant": - language = "\n\nWrite the explanation in Traditional Chinese as used in Taiwan (繁體中文,台灣用語). Keep the final ACTION line exactly as specified, in English." - case "ru": - language = "\n\nWrite the explanation in Russian (русский). Keep the final ACTION line exactly as specified, in English." - default: - language = "" - } + let language = replyLanguage().flatMap(\.explainDescription).map { + "\n\nWrite the explanation in \($0). Keep the final ACTION line exactly as specified, in English." + } ?? "" let system = """ You are Burrow's assistant. Explain a macOS user's system health in plain, \ calm English from the data below — a live snapshot, a short recent trend, and \ diff --git a/macos/Sources/SettingsView.swift b/macos/Sources/SettingsView.swift index ef15c30b..2e6005c6 100644 --- a/macos/Sources/SettingsView.swift +++ b/macos/Sources/SettingsView.swift @@ -269,10 +269,9 @@ struct SettingsView: View { Spacer() Picker("", selection: $appLanguage) { Text(NSLocalizedString("System", comment: "")).tag("") - Text(verbatim: "English").tag("en") - Text(verbatim: "简体中文").tag("zh-Hans") - Text(verbatim: "繁體中文").tag("zh-Hant") - Text(verbatim: "Русский").tag("ru") + ForEach(AppLanguage.all, id: \.code) { language in + Text(verbatim: language.endonym).tag(language.code) + } } .labelsHidden().pickerStyle(.menu).tint(Brand.textSecondary).fixedSize() .onChange(of: appLanguage) { _, v in @@ -280,7 +279,10 @@ struct SettingsView: View { promptRelaunch() } } - footnote("Burrow ships English, 简体中文, 繁體中文, and Русский. A language change takes effect after a relaunch.") + // The picker already spells out what ships, and naming the + // languages here again would put a key that churns on every + // addition into all ten tables. + footnote("A language change takes effect after a relaunch.") } section("Startup & window", "macwindow") { diff --git a/macos/Tests/LocalizationTests.swift b/macos/Tests/LocalizationTests.swift index a7bfac04..e8cd619b 100644 --- a/macos/Tests/LocalizationTests.swift +++ b/macos/Tests/LocalizationTests.swift @@ -7,6 +7,17 @@ import XCTest @testable import Burrow final class LocalizationTests: XCTestCase { + /// The table every other table is measured against. It is the oldest and + /// most complete one, so it is the reference rather than anything special. + private static let canonicalLanguage = "zh-Hans" + + /// Core keys a language may legitimately leave identical to English. + /// "Software", "Status" and "Updates" are the native spelling in German, + /// Spanish and Brazilian Portuguese — forcing a difference here would buy + /// the assertion nothing and cost the translation its accuracy. Every + /// other core value matching its key is an untranslated string. + private static let mayMatchEnglish: Set = ["Software", "Status", "Updates"] + private static let coreInterfaceKeys = [ "Clean", "Software", @@ -65,35 +76,49 @@ final class LocalizationTests: XCTestCase { XCTAssertEqual(TaskReportText.item("Wallpaper agent cache, 33.0MB dry", bundle: bundle), "桌面背景代理程式快取,33.0MB 可清理") } - func testSimplifiedChineseStringsCoverCoreInterface() throws { - try assertCoversCoreInterface(language: "zh-Hans") - } - - func testTraditionalChineseStringsCoverCoreInterface() throws { - try assertCoversCoreInterface(language: "zh-Hant") - } - - func testRussianStringsCoverCoreInterface() throws { - try assertCoversCoreInterface(language: "ru") + /// Every shipped language has to translate the surfaces a user cannot + /// avoid — including the consent dialog and the destructive-action gates, + /// which must never fall back to English in a localized build. + func testEveryLanguageCoversCoreInterface() throws { + for language in AppLanguage.translated { + try assertCoversCoreInterface(language: language.code) + } } - /// Both Chinese variants should translate the same set of keys, so a key - /// added to one file isn't silently missing from the other. - func testChineseVariantsShareTheSameKeys() throws { - let hans = Set(try localizedStrings("zh-Hans").keys) - let hant = Set(try localizedStrings("zh-Hant").keys) - XCTAssertEqual(hans.subtracting(hant).sorted(), [], "keys missing from zh-Hant") - XCTAssertEqual(hant.subtracting(hans).sorted(), [], "keys missing from zh-Hans") + /// Every table translates exactly the same key set as the canonical one, + /// so a key added to any single table can't go silently missing from the + /// other nine. This is also what stops English copy from being edited + /// without the translations following: the key *is* the English string, so + /// changing it orphans every table at once and fails right here. + func testEveryLanguageSharesTheCanonicalKeySet() throws { + let canonical = Set(try localizedStrings(Self.canonicalLanguage).keys) + for language in AppLanguage.translated where language.code != Self.canonicalLanguage { + let keys = Set(try localizedStrings(language.code).keys) + XCTAssertEqual(keys.subtracting(canonical).sorted(), [], + "keys in \(language.code) missing from \(Self.canonicalLanguage)") + XCTAssertEqual(canonical.subtracting(keys).sorted(), [], + "keys missing from \(language.code)") + } } - /// Russian should translate exactly the same key set as Simplified - /// Chinese, so a key added to the canonical table isn't silently missing - /// from the Russian table. - func testRussianSharesKeysWithChinese() throws { - let hans = Set(try localizedStrings("zh-Hans").keys) - let ru = Set(try localizedStrings("ru").keys) - XCTAssertEqual(ru.subtracting(hans).sorted(), [], "keys in ru missing from zh-Hans") - XCTAssertEqual(hans.subtracting(ru).sorted(), [], "keys missing from ru") + /// `AppLanguage.translated` and the `.lproj` folders in the bundle have to + /// agree in both directions. A row without a table ships a picker entry + /// that silently renders English; a table without a row ships a + /// translation no one can select. Neither fails anywhere else. + /// + /// English is compared out: its strings *are* the keys, so it ships no + /// table and never will. + func testShippedLanguagesMatchTheBundle() throws { + let declared = Set(AppLanguage.translated.map(\.code)) + let bundled = Set( + (Bundle.main.urls(forResourcesWithExtension: "lproj", subdirectory: nil) ?? []) + .map { $0.deletingPathExtension().lastPathComponent } + .filter { $0 != "Base" } + ) + XCTAssertEqual(declared.subtracting(bundled).sorted(), [], + "declared in AppLanguage.all but no .lproj ships") + XCTAssertEqual(bundled.subtracting(declared).sorted(), [], + ".lproj ships but is missing from AppLanguage.all") } /// A translation that retypes or *plainly* reorders `%` placeholders is a @@ -121,7 +146,7 @@ final class LocalizationTests: XCTestCase { } return byPosition.keys.sorted().map { byPosition[$0]! } } - for language in ["zh-Hans", "zh-Hant", "ru"] { + for language in AppLanguage.translated.map(\.code) { for (key, value) in try localizedStrings(language) { XCTAssertEqual(argTypes(key), argTypes(value), "format argument types drifted in \(language) translation of \"\(key)\"") @@ -134,7 +159,9 @@ final class LocalizationTests: XCTestCase { for key in Self.coreInterfaceKeys { let value = try XCTUnwrap(strings[key], "missing \(language) translation for \(key)") XCTAssertFalse(value.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty) - XCTAssertNotEqual(value, key) + if !Self.mayMatchEnglish.contains(key) { + XCTAssertNotEqual(value, key, "\(language) leaves \"\(key)\" untranslated") + } } } diff --git a/scripts/site-i18n.py b/scripts/site-i18n.py new file mode 100644 index 00000000..47dde426 --- /dev/null +++ b/scripts/site-i18n.py @@ -0,0 +1,335 @@ +#!/usr/bin/env python3 +"""Generate the landing site's translated pages from the English source. + +The English pages are rendered by scripts/site-release.py from JSON. This +script reads them, pulls out every user-visible string, and writes the +translated copies to docs//. Nothing under docs// is ever edited by +hand — it is build output. + +Run order matters: site-release.py first (it owns the English pages, their +language picker and their hreflang links), then this. Running it the other way +round leaves the copies rendered from a stale English source. + +That is the whole point: five hand-maintained copies per language would go +stale on the first copy edit and nothing would notice. Here a new English +string simply shows up as untranslated in the catalog, `--check` fails, and +the page falls back to English until someone fills it in. + + python3 scripts/site-i18n.py --extract # refresh docs/i18n/.json + python3 scripts/site-i18n.py # write docs//*.html + python3 scripts/site-i18n.py --check # exit 1 if output would change (CI) + +Stdlib only. Keep it that way, this runs in the Pages deploy job. +""" + +import argparse +import json +import re +import sys +from html.parser import HTMLParser +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +DOCS = ROOT / "docs" +CATALOGS = DOCS / "i18n" + +# Everything except blog/: the posts are long-form and are not machine-drafted. +PAGES = ["index.html", "docs.html", "compare.html", "roadmap.html", "releases.html"] + +# Mirrors AppLanguage.all minus English. Keep the two in step — see +# docs/localization.md. +LANGUAGES = { + "zh-Hans": "简体中文", + "zh-Hant": "繁體中文", + "ru": "Русский", + "ja": "日本語", + "de": "Deutsch", + "fr": "Français", + "es": "Español", + "ko": "한국어", + "pt-BR": "Português (Brasil)", +} + +# Text inside these never reaches a reader as prose. +OPAQUE = {"script", "style", "code", "pre", "kbd", "samp"} + +# Attributes worth translating, by tag. +ATTRS = { + "meta": ("content",), + "img": ("alt",), + "a": ("title", "aria-label"), + "button": ("title", "aria-label"), + "input": ("placeholder", "aria-label"), + "html": (), +} +# …but only these carry prose; the rest are machine values. +META_PROSE = {"description", "og:title", "og:description", "twitter:title", + "twitter:description", "apple-mobile-web-app-title"} + +# A string that is only punctuation, digits, or a bare token isn't prose. +NOT_PROSE = re.compile(r"^[\s\d\W_]*$") + + +class Slots(HTMLParser): + """Collect every translatable span in document order, with source offsets. + + Each HTMLParser event reports where it starts, so consecutive starts + delimit each event's source span. That lets the document be rebuilt + byte-for-byte and one span swapped without a serializer of our own — + which matters, because these pages carry hand-written JSON-LD and inline + CSS that no round-trip should touch. + """ + + def __init__(self, src): + super().__init__(convert_charrefs=False) + self.src = src + self.lines = src.splitlines(keepends=True) + self.offsets = [0] + for line in self.lines: + self.offsets.append(self.offsets[-1] + len(line)) + self.events = [] # (start_offset, kind, payload) + self.opaque_depth = 0 + + def _pos(self): + line, col = self.getpos() + return self.offsets[line - 1] + col + + def handle_starttag(self, tag, attrs): + # The language picker is generated, and its entries are endonyms + # that stay in their own language — never catalog them. + if tag in OPAQUE or "langpick" in dict(attrs).get("class", ""): + self.opaque_depth += 1 + wanted = ATTRS.get(tag, ()) + found = [] + adict = dict(attrs) + for name in wanted: + value = adict.get(name) + if not value or NOT_PROSE.match(value): + continue + if tag == "meta": + key = adict.get("name") or adict.get("property") or "" + if key not in META_PROSE: + continue + found.append((name, value)) + if found: + self.events.append((self._pos(), "attrs", found)) + + def handle_startendtag(self, tag, attrs): + self.handle_starttag(tag, attrs) + + def handle_endtag(self, tag): + if (tag in OPAQUE or tag == "details") and self.opaque_depth: + self.opaque_depth -= 1 + + def handle_data(self, data): + if self.opaque_depth or NOT_PROSE.match(data): + return + self.events.append((self._pos(), "text", data)) + + +def slots(src): + """[(start, end, kind, payload)] for every translatable span.""" + p = Slots(src) + p.feed(src) + p.close() + out = [] + for start, kind, payload in p.events: + if kind == "text": + end = start + len(payload) + out.append((start, end, kind, payload)) + else: + out.append((start, None, kind, payload)) + return out + + +def strings_in(src): + """Every translatable string in a page, deduplicated, in document order.""" + seen, order = set(), [] + for _, _, kind, payload in slots(src): + values = [payload.strip()] if kind == "text" else [v for _, v in payload] + for v in values: + if v and v not in seen: + seen.add(v) + order.append(v) + return order + + +def render(src, table, lang, page_name="index.html"): + """The English page with every known string swapped for its translation. + + The English pages are rendered by site-release.py, picker and alternates + included; this only ever writes docs//. + """ + out, cursor = [], 0 + for start, end, kind, payload in slots(src): + if kind == "text": + translated = table.get(payload.strip()) + if not translated: + continue + # Keep the original surrounding whitespace: it is load-bearing for + # inline elements, where collapsing it would glue words together. + lead = payload[: len(payload) - len(payload.lstrip())] + tail = payload[len(payload.rstrip()):] + out.append(src[cursor:start]) + out.append(lead + translated + tail) + cursor = end + else: + tag_end = src.index(">", start) + chunk = src[start:tag_end] + for name, value in payload: + translated = table.get(value) + if not translated: + continue + for quote in ('"', "'"): + needle = f'{name}={quote}{value}{quote}' + if needle in chunk: + chunk = chunk.replace( + needle, f'{name}={quote}{translated}{quote}', 1) + break + out.append(src[cursor:start]) + out.append(chunk) + cursor = tag_end + out.append(src[cursor:]) + page = "".join(out) + + if lang != "en": + # The copy lives one directory deeper, so relative links need care in + # two directions. Routes that exist per-language must stay relative, or + # a reader clicking "Docs" on the Japanese page lands back in English. + # Everything else — assets, and the pages that only exist in English — + # has to climb back out. + translated_routes = {"./", "./#tools", ""} | { + p.removesuffix(".html") for p in PAGES} + + def rebase(m): + target = m.group(2) + base = target.split("#", 1)[0].split("?", 1)[0] + if base in translated_routes or base.rstrip("/") in translated_routes: + return f'{m.group(1)}{target}' + return f'{m.group(1)}../{target}' + + page = re.sub(r'((?:href|src)=")(?!https?:|/|#|mailto:)([^"]*)"', + lambda m: rebase(m) + '"', page) + page = page.replace('', f'') + + # Point canonical at this copy, then list every sibling. Without both, the + # nine translations read as duplicates of the English page. + path = "" if page_name == "index.html" else page_name.removesuffix(".html") + prefix = "" if lang == "en" else f"{lang}/" + page = re.sub(r'', + f'' + + "\n" + hreflang_block(page_name), + page, count=1) + # Replaced between markers, not at a one-shot placeholder: the English + # page is regenerated in place, so the substitution has to be idempotent. + page = re.sub(r".*?", + lambda _: "" + switcher(lang, page_name) + + "", + page, count=1, flags=re.S) + return page + + +def hreflang_block(page_name): + """Alternate-language links, so search engines pair the copies up.""" + base = "https://burrow.computer" + path = "" if page_name == "index.html" else page_name.removesuffix(".html") + lines = [f'', + f''] + for code in LANGUAGES: + lines.append( + f'') + return "\n".join(lines) + + +def switcher(current, page_name): + """A plain
menu — no script, so it works before JS and without. + + Every link is absolute from the site root: the copies sit at two different + depths, and relative hops between them are the kind of thing that breaks + silently on one page and nowhere else. + """ + path = "" if page_name == "index.html" else page_name.removesuffix(".html") + here = LANGUAGES.get(current, "English") + items = [] + for code, name in [("en", "English"), *LANGUAGES.items()]: + target = f'/{path}' if code == "en" else f'/{code}/{path}' + mark = ' aria-current="page"' if code == current else "" + items.append(f'{name}') + return ('
' + f'{here}
') + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--extract", action="store_true", + help="refresh the catalogs from the English pages") + ap.add_argument("--check", action="store_true", + help="exit 1 if any generated page or catalog is stale") + args = ap.parse_args() + + def source(name): + """The English page with any previously generated picker emptied out. + + The English copy is regenerated in place, so without this the last + run's switcher becomes this run's input and the nine translations get + rendered from a different source than the English page was. + """ + text = (DOCS / name).read_text(encoding="utf-8") + text = re.sub(r".*?", + "", + text, count=1, flags=re.S) + # Drop a previous run's alternates too, or each run stacks another set. + return re.sub(r'\n?', + "", text) + + sources = {name: source(name) for name in PAGES} + wanted = {} + for name, src in sources.items(): + for s in strings_in(src): + wanted.setdefault(s, []).append(name) + + if args.extract: + CATALOGS.mkdir(parents=True, exist_ok=True) + for code in LANGUAGES: + path = CATALOGS / f"{code}.json" + table = json.loads(path.read_text(encoding="utf-8")) if path.exists() else {} + merged = {s: table.get(s, "") for s in wanted} + path.write_text( + json.dumps(merged, ensure_ascii=False, indent=1) + "\n", encoding="utf-8") + missing = sum(1 for v in merged.values() if not v) + print(f"{code}: {len(merged)} strings, {missing} untranslated") + return 0 + + stale, missing_total = [], {} + for code in LANGUAGES: + path = CATALOGS / f"{code}.json" + if not path.exists(): + print(f"no catalog for {code} — run --extract", file=sys.stderr) + return 1 + table = {k: v for k, v in + json.loads(path.read_text(encoding="utf-8")).items() if v} + missing_total[code] = len(wanted) - len(table) + for name, src in sources.items(): + page = render(src, table, code, name) + out = DOCS / code / name + if args.check: + if not out.exists() or out.read_text(encoding="utf-8") != page: + stale.append(f"{code}/{name}") + else: + out.parent.mkdir(parents=True, exist_ok=True) + out.write_text(page, encoding="utf-8") + + for code, n in missing_total.items(): + if n: + print(f"{code}: {n} strings still untranslated (they render in English)") + if args.check and stale: + print("stale generated pages: " + ", ".join(stale), file=sys.stderr) + print("run: python3 scripts/site-i18n.py", file=sys.stderr) + return 1 + if not args.check: + print(f"wrote {len(LANGUAGES) * len(PAGES)} pages under docs//") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/site-release.py b/scripts/site-release.py index 78c8da47..41c70d88 100644 --- a/scripts/site-release.py +++ b/scripts/site-release.py @@ -129,6 +129,11 @@ def link(href, label, key): on = ' class="on"' if active == key else "" return f'{label}' count = f'{compact(stars)}' if stars else "" + # Which translated page this nav sits on. Pages that exist only in English + # (install, blog) point the picker at each language's home rather than at a + # path that would 404 in nine languages. + page_path = {"tools": "", "docs": "docs", "compare": "compare", + "changelog": "releases", "roadmap": "roadmap"}.get(active, "") return f"""
{logo_img(base)}Burrow @@ -140,6 +145,7 @@ def link(href, label, key): {link("releases", "Changelog", "changelog")}\ {link("roadmap", "Roadmap", "roadmap")} @@ -195,6 +201,30 @@ def icon_svg(name): .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
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; } @@ -354,6 +384,7 @@ def page_html(*, title, desc, og_url, hero_h1, hero_p, hero_extra, main_html, +{lang_alternates(og_url.removeprefix(SITE + "/"))} {head_extra} @@ -1163,6 +1194,34 @@ def breadcrumb_ld(trail): }, separators=(",", ":")) +# Languages the site is published in. scripts/site-i18n.py renders the copies +# under docs//; this script owns the English pages, so it renders their +# picker and alternates itself. Keep the two lists in step — docs/localization.md. +SITE_LANGUAGES = { + "zh-Hans": "简体中文", "zh-Hant": "繁體中文", "ru": "Русский", + "ja": "日本語", "de": "Deutsch", "fr": "Français", + "es": "Español", "ko": "한국어", "pt-BR": "Português (Brasil)", +} + + +def lang_picker(page_path): + """The English page's language menu, marked so site-i18n.py can swap it.""" + items = [f'English'] + items += [f'{name}' + for code, name in SITE_LANGUAGES.items()] + return ('
' + 'English' + f'
') + + +def lang_alternates(page_path): + """hreflang links pairing the English page with its translated copies.""" + rows = [f'', + f''] + rows += [f'' + for code in SITE_LANGUAGES] + return "\n".join(rows) + def render_sitemap(posts): today = max(p["date"] for p in posts) urls = [(f"{SITE}/", "1.0", today), (f"{SITE}/install", "0.9", today), @@ -1170,6 +1229,13 @@ def render_sitemap(posts): (f"{SITE}/compare", "0.8", today), (f"{SITE}/blog/", "0.8", today), (f"{SITE}/releases", "0.6", today), (f"{SITE}/roadmap", "0.6", today)] urls += [(post_url(p), "0.7", p["date"]) for p in posts] + # Every translated copy, a notch below its English original. The language + # list is duplicated from site-i18n.py rather than imported: this script is + # the one that must keep running if that one is ever dropped. + for code in ("zh-Hans", "zh-Hant", "ru", "ja", "de", "fr", "es", "ko", "pt-BR"): + for path, pr in (("", "0.9"), ("docs", "0.8"), ("compare", "0.7"), + ("releases", "0.5"), ("roadmap", "0.5")): + urls.append((f"{SITE}/{code}/{path}", pr, today)) body = "\n".join(f' {u}{d}' f'{pr}' for u, pr, d in urls) return ('\n'