Migrating from maid
ordr is a complete rewrite of the maid CLI. The core concept is the same — rules move files — but the config format and features have changed.
Config format comparison
maid .maidrc:
{ "cleanRules": [ { "dirName": "documents", "fileExtension": [".pdf"], "pattern": "", "applyInDir": [] }, { "dirName": "images", "fileExtension": [".png", ".jpg"], "applyInDir": ["/Users/you/Desktop"] } ]}ordr .ordrrc:
version: 1
rules: - name: "Documents" target: "documents" match: extensions: [".pdf"]
- name: "Images" target: "images" match: extensions: [".png", ".jpg"] scope: dirs: ["~/Desktop"]Field mapping
| maid field | ordr field |
|---|---|
dirName | target |
fileExtension | match.extensions |
pattern | match.pattern |
applyInDir | scope.dirs |
New features in ordr
- Dry-run / preview —
ordr previewbefore you move anything - Undo —
ordr undoreverses the last clean - Size matchers —
min_size,max_size - Age matchers —
older_than,newer_than - Conflict handling —
rename,skip, oroverwriteper rule - Local + global configs — project-level
.ordrrcmerges with~/.ordrrc ordr rules test— debug why a file isn’t matched- Single binary — no Node.js runtime needed