<?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: arik mozharovsky</title>
    <description>The latest articles on DEV Community by arik mozharovsky (@arik_mozharovsky_a971d895).</description>
    <link>https://dev.to/arik_mozharovsky_a971d895</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%2F3812767%2F9d01a2b4-fef3-4426-b907-0aaea093eefa.png</url>
      <title>DEV Community: arik mozharovsky</title>
      <link>https://dev.to/arik_mozharovsky_a971d895</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arik_mozharovsky_a971d895"/>
    <language>en</language>
    <item>
      <title>I freed 12GB of disk space in 10 seconds with one CLI command</title>
      <dc:creator>arik mozharovsky</dc:creator>
      <pubDate>Sun, 08 Mar 2026 12:12:12 +0000</pubDate>
      <link>https://dev.to/arik_mozharovsky_a971d895/i-freed-12gb-of-disk-space-in-10-seconds-with-one-cli-command-3ap1</link>
      <guid>https://dev.to/arik_mozharovsky_a971d895/i-freed-12gb-of-disk-space-in-10-seconds-with-one-cli-command-3ap1</guid>
      <description>&lt;p&gt;You know that "disk almost full" notification that pops up right when you're in the middle of something important? Yeah. That one.&lt;/p&gt;

&lt;p&gt;I used to spend 20 minutes hunting down what was eating my disk. Turns out, the answer was almost always the same: &lt;strong&gt;my own dev tools&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your dev machine is silently hoarding gigabytes of junk
&lt;/h2&gt;

&lt;p&gt;Here is a dirty secret nobody talks about at standup: every project you have ever cloned, built, and forgotten about is still sitting on your disk, quietly consuming space.&lt;/p&gt;

&lt;p&gt;That side project from January? Its &lt;code&gt;node_modules&lt;/code&gt; is still there. That Rust experiment you tried for a weekend? The &lt;code&gt;target/&lt;/code&gt; folder is 800MB. Those three Docker tutorials? Dangling images galore.&lt;/p&gt;

&lt;p&gt;And the worst part is that &lt;strong&gt;every tool has its own cleanup command&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm -rf node_modules          # per project, manually
docker system prune           # Docker
brew cleanup --prune=all      # Homebrew
pip cache purge               # Python
cargo clean                   # Rust, per project
rm -rf ~/Library/Developer/Xcode/DerivedData  # Xcode
npm cache clean --force       # npm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seven different commands. Some need to be run per-project. Some you forget exist. None of them give you a clear picture of how much space you are actually wasting.&lt;/p&gt;

&lt;p&gt;I got tired of this, so I built something.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet devclean: one CLI that scans and cleans everything
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/arikmozh/devclean" rel="noopener noreferrer"&gt;devclean&lt;/a&gt; is a single command that finds all the reclaimable space across your entire dev environment and lets you clean it in one shot.&lt;/p&gt;

&lt;p&gt;Install it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; devclean-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run a scan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean scan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is it. No config, no setup, no flags required. It walks your home directory and finds everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a real scan looks like
&lt;/h2&gt;

&lt;p&gt;Here is what I saw the first time I ran it on my machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ devclean scan

  devclean — scanning /Users/you

  Scanning node_modules... found 23 (4.7 GB)
      1.2 GB  142d ago  ~/old-client-project/node_modules
    891.0 MB   98d ago  ~/freelance-2024/node_modules
    620.3 MB   67d ago  ~/hackathon-app/node_modules
    ... 20 more

  Scanning Cargo targets... found 2 (1.2 GB)
      803.4 MB  ~/rust-playground/target
      421.1 MB  ~/cli-tool-experiment/target

  Scanning package manager caches... found 2 (890.0 MB)
      540.2 MB  npm cache — ~/.npm
      349.8 MB  yarn cache — ~/Library/Caches/Yarn

  Scanning Docker... found 3 item(s)
      5 dangling image(s)
      2 stopped container(s)
      Docker system (use docker system prune)

  Scanning Homebrew cache... 2.1 GB
        2.1 GB  ~/Library/Caches/Homebrew

  Scanning Xcode DerivedData... 3.4 GB
        3.4 GB  ~/Library/Developer/Xcode/DerivedData

  Total reclaimable: 12.3 GB
  Run devclean clean to free this space
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;12.3 GB.&lt;/strong&gt; Just sitting there. Doing nothing.&lt;/p&gt;

&lt;p&gt;Twenty-three &lt;code&gt;node_modules&lt;/code&gt; folders from projects I had not touched in months. Cargo build artifacts from a language I was "just trying out." Homebrew downloads for packages I installed six months ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preview before you delete
&lt;/h2&gt;

&lt;p&gt;Not ready to pull the trigger? Use &lt;code&gt;--dry-run&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;devclean clean &lt;span class="nt"&gt;--dry-run&lt;/span&gt;

  devclean — dry run

  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would delete 1.2 GB  ~/old-client-project/node_modules
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would delete 891.0 MB  ~/freelance-2024/node_modules
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would delete 620.3 MB  ~/hackathon-app/node_modules
  ...
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would delete 803.4 MB  ~/rust-playground/target
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would clean npm cache
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would run docker system prune
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would clean Homebrew cache
  &lt;span class="o"&gt;[&lt;/span&gt;dry-run] Would delete 3.4 GB  ~/Library/Developer/Xcode/DerivedData

  Dry run complete. No files were deleted.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nothing gets touched. You see exactly what would happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clean only what you want
&lt;/h2&gt;

&lt;p&gt;Maybe you only care about &lt;code&gt;node_modules&lt;/code&gt; right now. No problem:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean clean &lt;span class="nt"&gt;--node-modules&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or just Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean clean &lt;span class="nt"&gt;--docker&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or a specific directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean clean &lt;span class="nt"&gt;-p&lt;/span&gt; ~/projects/2024
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every target has its own flag, so you stay in control.&lt;/p&gt;

&lt;h2&gt;
  
  
  Protect active projects with --older-than
&lt;/h2&gt;

&lt;p&gt;This is my favorite flag. If you are worried about cleaning &lt;code&gt;node_modules&lt;/code&gt; for a project you are actively working on, just add an age filter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean clean &lt;span class="nt"&gt;--older-than&lt;/span&gt; 30
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This only deletes items that have not been modified in 30+ days. Your current projects are untouched. That project from three months ago that you will "definitely get back to"? Gone. You can always &lt;code&gt;npm install&lt;/code&gt; again in 15 seconds.&lt;/p&gt;

&lt;p&gt;I run this on a cron job every week:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean clean &lt;span class="nt"&gt;--older-than&lt;/span&gt; 60
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set it and forget it. My disk never fills up anymore.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it cleans
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;th&gt;What it finds&lt;/th&gt;
&lt;th&gt;How it cleans&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;node_modules&lt;/td&gt;
&lt;td&gt;All &lt;code&gt;node_modules/&lt;/code&gt; folders across your projects&lt;/td&gt;
&lt;td&gt;&lt;code&gt;rm -rf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;Dangling images, stopped containers, build cache&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker system prune&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Homebrew&lt;/td&gt;
&lt;td&gt;Downloaded package cache&lt;/td&gt;
&lt;td&gt;&lt;code&gt;brew cleanup --prune=all&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pip&lt;/td&gt;
&lt;td&gt;Python package download cache&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pip cache purge&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cargo&lt;/td&gt;
&lt;td&gt;Rust &lt;code&gt;target/&lt;/code&gt; build directories&lt;/td&gt;
&lt;td&gt;&lt;code&gt;rm -rf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Xcode&lt;/td&gt;
&lt;td&gt;DerivedData build cache&lt;/td&gt;
&lt;td&gt;&lt;code&gt;rm -rf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;npm/yarn&lt;/td&gt;
&lt;td&gt;Package manager download caches&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;npm cache clean&lt;/code&gt; / &lt;code&gt;yarn cache clean&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Important: &lt;code&gt;devclean scan&lt;/code&gt; is always &lt;strong&gt;read-only&lt;/strong&gt;. It never deletes anything. You have to explicitly run &lt;code&gt;devclean clean&lt;/code&gt; to remove files. And it only touches well-known cache and build directories, never your source code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; devclean-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;devclean scan             &lt;span class="c"&gt;# see what's eating your disk&lt;/span&gt;
devclean clean &lt;span class="nt"&gt;--dry-run&lt;/span&gt;  &lt;span class="c"&gt;# preview the cleanup&lt;/span&gt;
devclean clean            &lt;span class="c"&gt;# free the space&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Works on macOS and Linux. Requires Node.js 16+.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built this
&lt;/h2&gt;

&lt;p&gt;I have been a developer for years and I still catch myself running out of disk space every few months. The fix is always the same: delete a bunch of &lt;code&gt;node_modules&lt;/code&gt;, prune Docker, clear some caches. It takes 10-20 minutes of typing commands I have to look up every time.&lt;/p&gt;

&lt;p&gt;devclean turns that into one command that takes 10 seconds.&lt;/p&gt;

&lt;p&gt;If this sounds useful to you, give it a try. And if you like it, a star on &lt;a href="https://github.com/arikmozh/devclean" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; goes a long way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/arikmozh/devclean" rel="noopener noreferrer"&gt;github.com/arikmozh/devclean&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/devclean-cli" rel="noopener noreferrer"&gt;npmjs.com/package/devclean-cli&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;How much space did &lt;code&gt;devclean scan&lt;/code&gt; find on your machine? Drop the number in the comments. I bet it is more than you think.&lt;/p&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>devtools</category>
    </item>
    <item>
      <title>deploy-logv: View Vercel &amp; Netlify deployment logs from your terminal</title>
      <dc:creator>arik mozharovsky</dc:creator>
      <pubDate>Sun, 08 Mar 2026 10:46:39 +0000</pubDate>
      <link>https://dev.to/arik_mozharovsky_a971d895/deploy-logv-view-vercel-netlify-deployment-logs-from-your-terminal-4ch3</link>
      <guid>https://dev.to/arik_mozharovsky_a971d895/deploy-logv-view-vercel-netlify-deployment-logs-from-your-terminal-4ch3</guid>
      <description>&lt;p&gt;When you have multiple deployments failing, clicking through the Vercel/Netlify dashboard gets old fast.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;deploy-logv&lt;/strong&gt; — a simple CLI that pulls deployment logs directly via API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; deploy-logv
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;VERCEL_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_token
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# List recent deployments&lt;/span&gt;
logv vercel &lt;span class="nt"&gt;--list&lt;/span&gt;

&lt;span class="c"&gt;# View logs for a specific deployment&lt;/span&gt;
logv vercel &lt;span class="nt"&gt;-d&lt;/span&gt; dpl_xxxxx

&lt;span class="c"&gt;# Show only errors&lt;/span&gt;
logv vercel &lt;span class="nt"&gt;-d&lt;/span&gt; dpl_xxxxx &lt;span class="nt"&gt;--filter&lt;/span&gt; error

&lt;span class="c"&gt;# Netlify too&lt;/span&gt;
logv netlify &lt;span class="nt"&gt;-d&lt;/span&gt; abc123 &lt;span class="nt"&gt;--filter&lt;/span&gt; warning
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fast&lt;/strong&gt; — direct API calls, no browser needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filter&lt;/strong&gt; — see only errors or warnings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private&lt;/strong&gt; — runs locally, tokens stay on your machine&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simple&lt;/strong&gt; — one install, set token, done&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/arikmozh/logv" rel="noopener noreferrer"&gt;github.com/arikmozh/logv&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/deploy-logv" rel="noopener noreferrer"&gt;npmjs.com/package/deploy-logv&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Landing page: &lt;a href="https://arikmozh.github.io/logv/" rel="noopener noreferrer"&gt;arikmozh.github.io/logv&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback welcome — what features would you want to see?&lt;/p&gt;

</description>
      <category>devtools</category>
      <category>node</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
