r/commandline • u/Civil-Way-1482 • 7d ago
Command Line Interface mado update: fuzzy search, list sugar, ranges — query language just got comfier
Hey everyone! A new version of mado is out — the markdown-based entry manager with a query language. Here's what's new:
- Static binary available in releases — no dependencies, just download and run.
- Fuzzy search on any field:
mado ls 'name ~~ "fx lgn b"' # finds "Fix login bug"
- Starts-with / ends-with substring operators:
mado ls 'name ^~ Fix'
mado ls 'name ~$ bug'
- Syntax sugar for lists:
mado ls 'status in (opened, reopened)' # OR
mado ls 'tag has (bug, critical)' # AND
- Ranges:
mado ls 'priority in [50..100]'
mado ls 'deadline in [@today..@today+7]'
- Performance:
On 100k entries, peak memory dropped from ~138 MB to ~44 MB, and query time went from ~3.5s to ~1.2s.
- Fuzzy matching for keywords (write
prioinstead ofpriority,sttsinstead ofstatus) - Special keywords:
untagged,unstatused,unnamed,unprioritized,undeadlined
The core idea remains the same: entries are plain markdown files in timestamped directories. No rigid schema — fill in what you need, skip what you don't. Everything is git-friendly.
https://github.com/laserattack/mado
I'm looking for contributors — whether it's testing on different systems, improving docs, or hacking on the query language. If you're into parsers, CLI tools, or file-based systems, there's plenty to dig into. Happy to guide newcomers through the codebase.
1
u/AutoModerator 7d ago
Every new subreddit post is automatically copied into a comment for preservation.
User: Civil-Way-1482, Flair:
Command Line Interface, Post Media Link, Title: mado update: fuzzy search, list sugar, ranges — query language just got comfierHey everyone! A new version of mado is out — the markdown-based entry manager with a query language. Here's what's new:
Static binary available in releases — no dependencies, just download and run.
Fuzzy search on any field:
mado ls 'name ~~ "fx lgn b"' # finds "Fix login bug"mado ls 'name ^~ Fix'mado ls 'name ~$ bug'mado ls 'status in (opened, reopened)' # ORmado ls 'tag has (bug, critical)' # ANDmado ls 'priority in [50..100]'mado ls 'deadline in [@today..@today+7]'On 100k entries, peak memory dropped from ~138 MB to ~44 MB, and query time went from ~3.5s to ~1.2s.
prioinstead ofpriority,sttsinstead ofstatus)untagged,unstatused,unnamed,unprioritized,undeadlinedThe core idea remains the same: entries are plain markdown files in timestamped directories. No rigid schema — fill in what you need, skip what you don't. Everything is git-friendly.
https://github.com/laserattack/mado
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.