explaingit

mcmuellermilch/ordr

Analysis updated 2026-05-18

8GoAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A command line tool that automatically moves files into the right folders based on rules you define, like extension, name, size, or age.

Mindmap

mindmap
  root((ordr))
    What it does
      Moves files by rule
      Previews before acting
      Undo last cleanup
      Watches folders live
    Tech stack
      Go
      Cobra CLI
      YAML config
      FSEvents
    Use cases
      Clean up Desktop
      Auto-file screenshots
      Archive old large videos
    Audience
      Mac and Linux users
      Developers
      Power users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically clean up a messy Desktop or Downloads folder using custom rules.

USE CASE 2

Set up a background watcher on macOS that files new downloads or screenshots away instantly.

USE CASE 3

Preview exactly what a cleanup would do before committing to it.

USE CASE 4

Undo a file organization run if it moved something you did not want moved.

What is it built with?

GoCobraYAMLFSEventsHomebrewGoReleaser

How does it compare?

mcmuellermilch/ordrd4l3k/turtlejakecoffman/rest
Stars888
LanguageGoGoGo
Last pushed2018-01-272021-05-21
MaintenanceDormantDormant
Setup difficultyeasymoderateeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Install via Homebrew and write a small YAML rules file, watch mode is macOS only.

In plain English

ordr is a command line tool for macOS and Linux that automatically organizes messy folders like your Desktop or Downloads. You write simple rules describing where certain kinds of files should go, based on things like their extension, name pattern, size, or age, and ordr moves matching files into the right place for you. Before anything actually moves, ordr shows a preview of exactly what would happen, so you can check it looks right. Once you approve a cleanup, every action is logged, which means you can undo the entire operation with a single command if something goes wrong. There is also a background watch mode for macOS that keeps an eye on chosen folders in real time and moves new files the instant they appear, so you never have to run the tool manually. Rules live in a plain text configuration file called .ordrrc, written in YAML. A rule can match files by extension, by a name pattern like screenshots that start with a certain word, by minimum file size, or by how old the file is. Each rule points to a target folder the matching files should be moved into. The project is written in Go and organized so the core rule matching logic has no dependencies on the file system or outside tools, keeping it simple to test on its own. Installation on macOS is done through Homebrew. Building from source requires Go 1.22 or newer, and the project includes its own test scripts as well as a documentation website built with Astro Starlight. Commands cover the basics you would expect: cleaning a directory, previewing changes, undoing the last cleanup, listing and editing rules, checking status, and installing or managing the background watch agent on macOS. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Help me write an .ordrrc config file to organize my Downloads folder by file type.
Prompt 2
Explain how ordr's preview and undo commands work together to make cleanup safe.
Prompt 3
Show me how to install ordr with Homebrew and set up a watch agent on macOS.
Prompt 4
Walk me through building ordr from source with Go 1.22.

Frequently asked questions

What is ordr?

A command line tool that automatically moves files into the right folders based on rules you define, like extension, name, size, or age.

What language is ordr written in?

Mainly Go. The stack also includes Go, Cobra, YAML.

How hard is ordr to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is ordr for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.