r/commandline 14d ago

Command Line Interface Dirplot 0.5.0 – Local and remote directory treemaps, as snapshots and animations

Dirplot creates clean, squarified treemaps where rectangle area is proportional to file/folder size, with smart per-extension coloring. This started as a vibe-coding experiment to replicate the functionality of tools like GrandPerspective, but then evolved to work far beyond a local disk.

Key Features

  • Supports local dirs, archives (zip/tar/7z/...), SSH, AWS S3, GitHub repos (public + private), Docker containers, Kubernetes pods, and Google Drive.
  • Inline terminal display (iTerm2, Kitty, Ghostty, WezTerm, Warp), no separate image window needed, but can also open the system's image viewer.
  • Git & Mercurial history animation → MP4 / APNG / MOV timelapses.
  • Live watch mode + event recording + replay.
  • diff between any two sources (including two git tags/commits) with color-coded added/removed/changed borders.
  • dirplot metrics for detailed stats (top extensions, largest files, JSON output).
  • Outputs: PNG, SVG (slightly interactive), APNG, MP4, MOV. Custom canvas size and --log-scale supported.

Quick Start

Bash

# Recommended install
uv tool install dirplot

# Basic usage
dirplot map .                     # current directory → opens in viewer
dirplot map . --inline            # beautiful inline in terminal
dirplot map github://pallets/flask
dirplot git . -o history.mp4      # animate your repo's growth
dirplot diff .                    # see uncommitted changes as treemap

Usecases

  • Understand large codebases or monorepos at a glance.
  • Visualize cloud storage or container images without downloading everything.
  • Create compelling git history growth animations.
  • Compare directory versions or releses.
  • Monitor live filesystem changes.

Links

Would love to get feedback and ideas for new use cases!

2 Upvotes

18 comments sorted by

7

u/Western_Guitar_9007 14d ago

Could you at least add a disclaimer for the 24,000+ lines of AI code used to make this tool? Screenshots look neat though.

1

u/do-un-to 14d ago

Where's the AI statement? And contributor guidelines for AI?

Frankly, lack of statement is worse than simply using some AI.

3

u/Western_Guitar_9007 14d ago

In general one of the big red flags is commits to main.

r/commandline prohibits largely AI-generated code, and requires a disclaimer if any code was written with AI. This repo looks to fall into the “largely ai-generated” category with just a cursory glance. If you’ve written python before and just blindly go to any part of the repo, you will see all of the AI-generated comments. If you’ve written 25,000 lines of python before, go to the commit history and check the errors being fixed. None make any sense at all in the context of the repo unless the AI was just spewing out slop and fixing the errors later, nobody commits code and then immediately fixes the error after committing to main.

1

u/do-un-to 14d ago

u/Deepluck, anything response?

Would love to get feedback

Here's some feedback.

2

u/Deepluk 14d ago

Thanks for the feedback! First, according to cloc it's 9261 lines of effective LOC in src/dirplot and 7179 in tests (81% coverage). Given the feature set I think it's not excessively huge. And, yes, it's "largely AI generated".
The process would deserve writing an article, perhaps. So, here's a little bit of the gist. The initial post says it started as an experiment over brunch. And as the dopamine kicks kept coming it eventually has become more than I had expected, adding feature after feature.
The guiding process was quite involved and took 3.5 months as the commits can tell. It's the kind of project that would not happen without AI leverage, but it still took more time than people imagine who think we live in a AI single-shotting paradise (we don't).
Also, I think that taking the presence of docstrings and comments as a proof for slop is somewhat sad. I have always insisted in a helpful amount of docstrings in all projects I've touched. I do agree though, that I didn't care to have a clean commit history.
I have only recently joined Reddit, and have read the r/commandline rules, and I'm happy to add more of the background above to the repo, but I don't see a precise requirement apart from the sentence "This software's code is partially AI-generated."
I'm aware of many discussions about AI slop in many software communities which are often painful because there is no precise definition. And without that we might soon have to stick this label to most if not all software written or generated.

1

u/do-un-to 14d ago

We're going to have to come up with shorthand for different levels or kinds of AI involvement, I think. Or maybe some kind of measurement for degree of human direction v. AI work?

I think an important point here is that your repo should contain (a perhaps more succinct) explanation of how AI is involved. People want to know.

Maybe updating your CONTRIBUTING doc to expressly limit or shape kinds of AI contributions would incidentally serve as that explanation?

2

u/Deepluk 14d ago

Absolutely reasonable, will do tomorrow. Regarding the levels, I think it's many shades of gray. The genie is out of the bottle.

1

u/Western_Guitar_9007 14d ago

This is so silly, there's no gray area at all lol, it is so easy to say "There's like 500 lines that AI wrote in foo.c," or "like half of my code was written in AI," or "I wrote the code but had to use AI to help me debug some stuff." These are clearly different levels of slop and present different levels of risk for the end user, of whom the statement is for to begin with.

Even if there was a gray area it wouldn't apply remotely here. I don't believe any of the code shown here was written by a human given that AI was used to fix the errors after they were already in main. High schoolers, university students, people watching YouTube tutorials, and professionals do not exhibit any behavior like this because it's not the natural progression for a codebase when a human is in charge of the code being written.

1

u/do-un-to 13d ago

Sorry, what grey area was suggested?

You mean levels of AI involvement? I think kinds and degrees mean different, practical effects on the project.

These are clearly different levels of slop and present different levels of risk for the end user

Yeah, like that.

1

u/Western_Guitar_9007 13d ago

OP mentioned shades of gray and I thought that was such a stupid thing to bring up when their entire code base is AI generated.

1

u/do-un-to 13d ago

Ah. Well, you were replying to me and my comment. So that had me confused.

My point wasn't about his codebase per se, but mainly about methods for dealing with AI contribution. Any thoughts on that?

→ More replies (0)

1

u/Western_Guitar_9007 14d ago

This straw man argument is bad that it borders funny. We look for artifacts that indicate that it was AI generated because there are structural mistakes and behaviors that are simply non-existent among actual humans that know what the hell they are doing. The commit history and comments are so wildly bad and such a far-cry from useful that whether or not you find it "sad" is neither here nor there, the fact that comments CAN be useful does not mean any of yours are remotely close!

You did not read the rules. If you had, you would not have posted this, because you would have read the clearly labeled AI code policy which provides the aforementioned guidelines and specifically bans "largely AI generated" code.

> it still took more time than people imagine who think we live in a AI single-shotting paradise

Who even says that or imagines that? I don't know anyone that does. AI code is notoriously bad, that's why there is so much criticism! Otherwise, I'd be happy to see your AI-generated code! That's why the disclaimer is so important. I want to know, structurally, what the hell I am getting in bed with and whether or not you, the one claiming to have written it, knows what the hell you've made! Since you do not, please add a disclaimer at the top of the readme to indicate "All code was generated with AI." Was it 50%? Unlikely since you said "largely," hell, I don't even believe you've read all the code, let alone understood or wrote any. So please, just say it was all generated with AI so that people have a fair warning before they jump in.

1

u/AutoModerator 14d ago

Every new subreddit post is automatically copied into a comment for preservation.

User: Deepluk, Flair: Command Line Interface, Title: Dirplot 0.5.0 – Local and remote directory treemaps, as snapshots and animations

Dirplot creates clean, squarified treemaps where rectangle area is proportional to file/folder size, with smart per-extension coloring. This started as a vibe-coding experiment to replicate the functionality of tools like GrandPerspective, but then evolved to work far beyond a local disk.

Key Features

  • Supports local dirs, archives (zip/tar/7z/...), SSH, AWS S3, GitHub repos (public + private), Docker containers, Kubernetes pods, and Google Drive.
  • Inline terminal display (iTerm2, Kitty, Ghostty, WezTerm, Warp), no separate image window needed, but can also open the system's image viewer.
  • Git & Mercurial history animation → MP4 / APNG / MOV timelapses.
  • Live watch mode + event recording + replay.
  • diff between any two sources (including two git tags/commits) with color-coded added/removed/changed borders.
  • dirplot metrics for detailed stats (top extensions, largest files, JSON output).
  • Outputs: PNG, SVG (slightly interactive), APNG, MP4, MOV. Custom canvas size and --log-scale supported.

Quick Start

Bash

# Recommended install
uv tool install dirplot

# Basic usage
dirplot map .                     # current directory → opens in viewer
dirplot map . --inline            # beautiful inline in terminal
dirplot map github://pallets/flask
dirplot git . -o history.mp4      # animate your repo's growth
dirplot diff .                    # see uncommitted changes as treemap

Usecases

  • Understand large codebases or monorepos at a glance.
  • Visualize cloud storage or container images without downloading everything.
  • Create compelling git history growth animations.
  • Compare directory versions or releses.
  • Monitor live filesystem changes.

Links

Would love to get feedback and ideas for new use cases!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/dvhh 14d ago

Too bad there is no full text view

1

u/TomHale 14d ago

Linux terminal WinDirStat!