<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tyooughtul</title>
    <description>The latest articles on DEV Community by Tyooughtul (@tyooughtul).</description>
    <link>https://dev.to/tyooughtul</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3797734%2Fecc6007a-6788-4f17-bf04-82eddaf3db7c.jpeg</url>
      <title>DEV Community: Tyooughtul</title>
      <link>https://dev.to/tyooughtul</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tyooughtul"/>
    <language>en</language>
    <item>
      <title>When Full Autopilot Goes Wrong: How I Let AI Turn a 2K Line Feature into 8.5K Lines of Technical Debt</title>
      <dc:creator>Tyooughtul</dc:creator>
      <pubDate>Fri, 06 Mar 2026 01:53:40 +0000</pubDate>
      <link>https://dev.to/tyooughtul/when-full-autopilot-goes-wrong-how-i-let-ai-turn-a-2k-line-feature-into-85k-lines-of-technical-2lco</link>
      <guid>https://dev.to/tyooughtul/when-full-autopilot-goes-wrong-how-i-let-ai-turn-a-2k-line-feature-into-85k-lines-of-technical-2lco</guid>
      <description>&lt;p&gt;I recently handed an entire feature to AI—zero review, full trust, "you got this" energy. &lt;/p&gt;

&lt;p&gt;Three days later, I had 8,500 lines of code that technically worked, architecturally "made sense" when read file-by-file, and collectively formed a system I no longer understood. &lt;/p&gt;

&lt;p&gt;Here's what went wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Scope Creep Was Silent
&lt;/h2&gt;

&lt;p&gt;The task was straightforward: add an audit log for user permission changes. In my head, that's a controller, a service, a DB table, some frontend forms—maybe 2,000 lines total.&lt;/p&gt;

&lt;p&gt;I used Cursor in agent mode. I watched it scaffold. I watched it "think" about edge cases. I watched it create an &lt;code&gt;AbstractPermissionAuditEventStrategyFactory&lt;/code&gt; and a &lt;code&gt;PermissionAuditOrchestrator&lt;/code&gt; and something called a &lt;code&gt;LogCompactionPipeline&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I didn't stop it because, individually, each file looked &lt;em&gt;correct&lt;/em&gt;. Good separation of concerns. SOLID principles. Nice docstrings.&lt;/p&gt;

&lt;p&gt;What I missed: &lt;strong&gt;No human was balancing completeness against necessity.&lt;/strong&gt; AI doesn't feel cognitive load. It doesn't know that "you could abstract this" doesn't mean "you should." &lt;/p&gt;

&lt;p&gt;By the time I checked &lt;code&gt;wc -l&lt;/code&gt;, I had 4x the code with 10x the indirection.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Testing Mirage
&lt;/h2&gt;

&lt;p&gt;I asked AI to "ensure high test coverage." It delivered 90%+ coverage and a green CI pipeline.&lt;/p&gt;

&lt;p&gt;The problem? &lt;strong&gt;It tested what passes, not what should pass.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I found tests like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;AuditService&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;should work as expected&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toBe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;should handle audit events correctly&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mockEvent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;PERMISSION_CHANGE&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="c1"&gt;// ... 20 lines of setup ...&lt;/span&gt;
    &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toBeDefined&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Coverage: ✅ &lt;br&gt;
Confidence: ❌&lt;/p&gt;

&lt;p&gt;When I tried to refactor a field name, 40 tests broke—not because they were testing behavior, but because they were testing implementation details that AI copy-pasted from the source code. The tests weren't a safety net; they were a mirror.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Local Optimum Trap
&lt;/h2&gt;

&lt;p&gt;Here's the strangest part: every single file, in isolation, looked good. Clean code. Proper types. Good naming.&lt;/p&gt;

&lt;p&gt;But tracing a single user action through the system required jumping through 6 abstraction layers, 3 adapter patterns, and 2 "middleware pipelines." The AI had optimized each component locally while creating a global mess.&lt;/p&gt;

&lt;p&gt;I realized I was reading the output of an entity that doesn't &lt;em&gt;read&lt;/em&gt;—it generates. It doesn't understand the codebase; it predicts tokens based on context. When you let it architect, you get maximally "correct" code that minimizes comprehension.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Reckoning
&lt;/h2&gt;

&lt;p&gt;I spent a day trying to "fix" the 8.5K lines. Then I spent two hours reverting to a clean slate and rewriting it myself—2,100 lines, boring code, works perfectly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tab completion was probably the sweet spot.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When AI acts as a pair programmer—suggesting the next line, filling boilerplate, offering alternatives—it augments my decision-making.&lt;/p&gt;

&lt;p&gt;When AI acts as the primary author—making architectural choices I don't review—it creates debt at machine speed. Debt that looks deceptively professional.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My new rules:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;AI writes functions, not systems.&lt;/strong&gt; I'll design the architecture; it can implement the utilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review everything.&lt;/strong&gt; If I can't explain a line in code review, it doesn't ship—even if the AI wrote it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write your own tests.&lt;/strong&gt; Or at least, write the test cases and let AI fill the syntax. AI doesn't know what behavior &lt;em&gt;matters&lt;/em&gt;; it knows what syntax &lt;em&gt;compiles&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complexity budget.&lt;/strong&gt; If AI generates more than 200 lines I didn't explicitly ask for, that's a red flag, not a feature.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;The 8,500-line revert commit is staying in my git history. &lt;/p&gt;

&lt;p&gt;It's a reminder that "AI-generated" isn't a synonym for "well-engineered"—it's just fast. And fast technical debt is still debt, just with better syntax highlighting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have you hit similar walls with AI autonomy? Or am I just bad at prompting?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>codequality</category>
      <category>developer</category>
    </item>
    <item>
      <title>I Built a Mac Cleaner That Never Deletes Files Permanently</title>
      <dc:creator>Tyooughtul</dc:creator>
      <pubDate>Sat, 28 Feb 2026 12:11:50 +0000</pubDate>
      <link>https://dev.to/tyooughtul/i-built-a-mac-cleaner-that-never-deletes-files-permanently-5i</link>
      <guid>https://dev.to/tyooughtul/i-built-a-mac-cleaner-that-never-deletes-files-permanently-5i</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0ge9144vd66srwlany3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0ge9144vd66srwlany3.png" alt=" " width="800" height="336"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with "Cleaners"
&lt;/h2&gt;

&lt;p&gt;Last month, I almost lost a week of work. I was using a popular Mac cleaning tool (you know the one) to free up some disk space, clicked "Clean System Cache," and watched as my entire Docker development environment vanished into thin air.&lt;/p&gt;

&lt;p&gt;The tool had used &lt;code&gt;rm -rf&lt;/code&gt;. No confirmation. No Trash. Just... gone.&lt;/p&gt;

&lt;p&gt;Sure, I should have had backups. But here's the thing: &lt;strong&gt;why do cleaning apps treat user files like they're disposable?&lt;/strong&gt; macOS has a perfectly good Trash system. Why not use it?&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing Lume
&lt;/h2&gt;

&lt;p&gt;So I built &lt;a href="https://github.com/Tyooughtul/lume" rel="noopener noreferrer"&gt;Lume&lt;/a&gt; — a macOS cleanup tool with one simple rule: &lt;strong&gt;Move, don't remove.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every file Lume "deletes" actually gets moved to your Trash first. You can open Trash, verify what was removed, and restore anything you need. If Lume's cleanup fails for any reason, your files stay exactly where they are. We never, ever fall back to &lt;code&gt;rm -rf&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here's what that looks like in practice:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0rwt6lcoldd74m1b31j8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0rwt6lcoldd74m1b31j8.gif" alt="System Junk Cleanup" width="787" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scanning for junk files, selecting targets, and cleaning — all with the safety net of Trash.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for Developers
&lt;/h2&gt;

&lt;p&gt;Most Mac cleaners are designed for "general users," which means they miss the caches that actually eat up developers' disk space. Lume recognizes &lt;strong&gt;55+ scan targets&lt;/strong&gt;, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IDEs&lt;/strong&gt;: JetBrains family (IntelliJ, PyCharm, GoLand, etc.), VS Code, Android Studio — auto-discovered&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build tools&lt;/strong&gt;: Gradle, Maven, npm, yarn, pnpm, Cargo, Go modules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Containers&lt;/strong&gt;: Docker, Kubernetes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual environments&lt;/strong&gt;: Conda, virtualenv&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browsers&lt;/strong&gt;: Safari, Chrome, Firefox, Edge, plus dynamic detection of Brave, Arc, Opera&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Electron apps&lt;/strong&gt;: Spotify, Discord, Slack, Teams, Zoom, Notion, Postman, and more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And it scans concurrently using &lt;code&gt;NumCPU&lt;/code&gt; workers (max 8), so it finishes in seconds, not minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  It Looks Good, Too
&lt;/h2&gt;

&lt;p&gt;I spend a lot of time in the terminal. Why shouldn't my tools look nice?&lt;/p&gt;

&lt;p&gt;Lume uses &lt;a href="https://github.com/charmbracelet/bubbletea" rel="noopener noreferrer"&gt;Bubble Tea&lt;/a&gt; for its TUI and supports &lt;strong&gt;8 color themes&lt;/strong&gt; out of the box:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F422dwyhfdpuiiy19h4rt.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F422dwyhfdpuiiy19h4rt.gif" alt="Theme Switching" width="787" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;modern&lt;/code&gt; (default) — Neon cyberpunk vibes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;retro&lt;/code&gt; — Matrix terminal green&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;amber&lt;/code&gt; — Vintage CRT warmth&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ocean&lt;/code&gt; — Deep sea blue&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dracula&lt;/code&gt;, &lt;code&gt;solarized&lt;/code&gt;, &lt;code&gt;monokai&lt;/code&gt;, &lt;code&gt;highcontrast&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Press &lt;code&gt;t&lt;/code&gt; to cycle through them instantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Diagnose Mode for Automation
&lt;/h2&gt;

&lt;p&gt;Sometimes you just want a quick report without the interactive UI — maybe for CI/CD, or a daily cron job:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;lume &lt;span class="nt"&gt;-diagnose&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives you a terminal report of disk usage and reclaimable space, no interaction required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcmd1z4v0j58au84mkhps.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcmd1z4v0j58au84mkhps.gif" alt="Diagnose Mode" width="979" height="1120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How the Safety Mechanism Works
&lt;/h2&gt;

&lt;p&gt;I want to emphasize this because it's the whole reason Lume exists. When you delete something:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Delete request
  ├─ Tier 1: osascript → Finder moves to Trash     ← Native macOS
  ├─ Tier 2: os.Rename → ~/.Trash/                 ← Same filesystem
  ├─ Tier 3: Copy to ~/.Trash/ → remove source     ← Cross filesystem
  └─ All tiers fail? → ERROR. File untouched.
                        ↑
                We NEVER fall back to rm.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Three tiers of safety.&lt;/strong&gt; And if all three somehow fail, we report an error and leave your file alone. There's no "force delete" button. There's no hidden preference to bypass Trash. &lt;/p&gt;

&lt;h2&gt;
  
  
  Duplicate Detection That Doesn't Lie
&lt;/h2&gt;

&lt;p&gt;Lume uses a 3-stage SHA-256 pipeline to find actual duplicates (not just files with the same name):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;100,000 files
  → Stage 1: Group by size              [instant]         → 5,000
  → Stage 2: Quick hash (16KB samples)  [parallel]        → 200
  → Stage 3: Full SHA-256               [parallel]        → 50 true duplicates
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;100GB scanned in ~10 seconds on Apple Silicon. Zero false positives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;One binary, zero dependencies, no sudo required:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Tyooughtul/lume/main/install.sh | bash

lume              &lt;span class="c"&gt;# Interactive TUI&lt;/span&gt;
lume &lt;span class="nt"&gt;-diagnose&lt;/span&gt;    &lt;span class="c"&gt;# Quick report&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or grab a release from &lt;a href="https://github.com/Tyooughtul/lume/releases" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Not Just Use CleanMyMac?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Lume&lt;/th&gt;
&lt;th&gt;CleanMyMac&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Price&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free, MIT licensed&lt;/td&gt;
&lt;td&gt;$35+/year&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Deletion method&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Moves to Trash (undoable)&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;rm&lt;/code&gt; (permanent)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scan targets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;55+ (developer-focused)&lt;/td&gt;
&lt;td&gt;~10-20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Duplicate detection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SHA-256, 3-stage&lt;/td&gt;
&lt;td&gt;Single-pass&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Source code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;Closed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Disk cleaners shouldn't make you anxious. You shouldn't have to triple-check what you're about to delete, or maintain a manual backup "just in case" the cleaner makes a mistake.&lt;/p&gt;

&lt;p&gt;Lume treats your files with respect. If you remove something by accident, it's in Trash. Go get it back.&lt;/p&gt;

&lt;p&gt;If Lume saves you from one "oh no" moment, I've done my job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Tyooughtul/lume" rel="noopener noreferrer"&gt;Star Lume on GitHub →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have you had a close call with a cleaning tool? Horror stories welcome in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>opensource</category>
      <category>macbook</category>
      <category>go</category>
    </item>
  </channel>
</rss>
