close

DEV Community

Muhammad Kashif Ilyas
Muhammad Kashif Ilyas

Posted on

How I made Omarchy a 22+ command CLI

The Problem That Started It All
I was tired of switching between multiple commands just to understand what was happening in my projects:

bash
git status
find . -name "*.go" | wc -l
grep -r "TODO" .
du -sh .

Every time I wanted a quick overview, I'd have to remember and type all these commands. It was annoying, and I knew there had to be a better way.

So I built one.

Introducing Omarchy
Omarchy is a single Go binary that gives you instant insights into your project:

bash
omarchy info
And it outputs:

text
šŸ“Š Project Info
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
šŸ“ Files: 127
🧮 Lines: 8,452
šŸ› TODOs: 3
🌿 Branch: main
ā° Last commit: 2 hours ago
That's it. One command, instant clarity.

What Else Can It Do?
I kept adding features as I found more annoyances:

omarchy sync – Safe git orchestration with auto-commit and push

bash
omarchy sync -a # auto-commit + push
omarchy sync --tag v1.0 # commit + tag + push
omarchy cleanup – Recursive purge of build artifacts and logs

bash
omarchy cleanup --docker # remove dangling images too
omarchy doctor – Environment health diagnostics

bash
omarchy doctor # checks PATH, Go version, git config, etc.
omarchy use/save – Project templates

bash
omarchy save my-starter # save current project as template
omarchy use my-starter new-project # create new project from template
Why I Built It This Way

  1. It's fast – Written in Go, runs everywhere, no dependencies

  2. It's safe – Won't let you commit your home folder or drop a production DB without confirmation

  3. It's zero config – Works out of the box

  4. It's cross-platform – Windows, macOS, Linux

The Open-Core Model
Omarchy v1 is completely free and open source (MIT license). I believe good tools should be accessible to everyone.

But I also added a paid upgrade (Omarchy v2) for power users. It costs $5 one-time and adds a cross-shell shortcut manager:

bash
tap add dbreset "docker-compose down -v && docker-compose up -d"
tap add push "git add . && git commit -m '$1' && git push"
Now I can type dbreset instead of that long Docker command, and push "fix bug" instead of the whole git dance.

What I Learned Building This

  1. Go is perfect for CLIs The standard library is fantastic, cross-compilation is trivial, and the resulting binary is tiny. Here's how I structure my projects:

text
pkg/
cmd/ # command implementations
core/ # business logic
utils/ # helpers

  1. Start with a single command
    My first version of Omarchy only had info. Once that worked well, I added more commands. Don't try to build everything at once.

  2. Safety features matter
    Adding safety checks was the best decision I made. Users trust tools that won't accidentally delete their work.

  3. Open source is powerful
    I open-sourced v1 and got feedback that made v2 better. Users also contributed ideas I hadn't thought of.

The Tech Stack
Language: Go

Build: go build -o omarchy

Dependencies: None (uses Go standard library)

Cross-compilation: GOOS=windows GOARCH=amd64 go build

Distribution: GitHub Releases

Try It Out
Install Omarchy v1 (free):

bash
go install github.com/Taha95-dev/Omarchy-CLI-tool@latest
Or download from releases: https://github.com/Taha95-dev/Omarchy-CLI-tool/releases

Upgrade to v2 ($5): [Link to your Gumroad]

What's Next?
I'm working on:

More template commands (React, Next.js, Go projects)

A web dashboard for project analytics

Plugin support for custom commands

Questions for You
I'm genuinely curious:

What commands do you type most often that could be shortcuts?

What would make a CLI tool like this essential for your workflow?

What's the most annoying part of your dev setup right now?

I'm 13 and still learning. I'd love to hear your thoughts and feedback. Thanks for reading!

GitHub: https://github.com/Taha95-dev/Omarchy-CLI-Tool

Top comments (2)

Collapse
 
muhammad_kashifilyas_87b profile image
Muhammad Kashif Ilyas

Hi!, thanks for reading this post and possibly commenting on it šŸ˜„.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.