DEV Community

ke jia
ke jia

Posted on

Why I Built 4 CLI Tools Instead of Taking a Job

Last year I had a choice: take a well-paying software engineering job, or spend my free time building CLI tools nobody asked for. I chose the latter. Here is why, and what happened.

The Starting Point

I was working as a developer who constantly faced the same frustrations:

  • Setting up a new project took hours of config file wrangling
  • .env files with API keys accidentally committed to GitHub (again)
  • Git commit history was a wall of text I never read
  • Reusing code snippets across projects meant copy-pasting from old repos

So I built four tools to solve these exact problems:

1. ScaffoldX — Stop Starting From Scratch

Every project template I found was either outdated, bloated, or both. ScaffoldX ships with 12 templates for Node.js, React, Python, and more — and creates them in one command.

```npx scaffoldx my-app --template react




Zero config. No prompts. Just a project ready to go.

### 2. DotGuard — Your Secrets Before They Leak

I lost a weekend recovering from an API key I accidentally pushed to a public repo. DotGuard scans your entire project for exposed secrets — API keys, tokens, passwords — before they ever hit git.



```npm i -g @wuchunjie/dotguard
dotguard
Enter fullscreen mode Exit fullscreen mode

It runs in under 2 seconds. No dependencies. No config file needed.

3. GitPulse — Actually Read Your Commit History

```git log




That is what everyone runs. Nobody actually reads the output. GitPulse turns your commit history into a readable dashboard right in your terminal:



```npm i -g @wuchunjie/gitpulse
gitpulse --weeks 12
Enter fullscreen mode Exit fullscreen mode

See which days you are most productive, which files you touch most, and how your coding habits changed over time.

4. SnippetX — Stop Losing Your Best Code

We all have those brilliant one-liners we wrote six months ago and forgot where we put them. SnippetX lets you save, tag, and search code snippets from the terminal.

```npm i -g @wuchunjie/snippetx
snippetx save "fix timezone bug" --tags javascript,datetime
snippetx search "timezone"




Markdown support, tags, instant search. Everything stays in your terminal.

## The Rules I Set for Myself

I did not want to build a startup. I set three rules:

1. **No dependencies** — Each tool works standalone, no framework baggage
2. **MIT licensed** — Free forever, no paywalls, no "pro" version
3. **Terminal-first** — If it cannot work in a terminal, it does not count

## The Results After 8 Months

| Tool | npm Downloads/Week | GitHub Stars | Active Users |
|------|-------------------|--------------|-------------|
| ScaffoldX | 2 | 1 | ~10 |
| DotGuard | 6 | 0 | ~25 |
| GitPulse | 5 | 0 | ~15 |
| SnippetX | 6 | 0 | ~20 |

Total: roughly 19 weekly downloads across all four tools. That is not a lot. But it is real usage — real people finding these tools through npm search, GitHub discoverability, and Dev.to articles.

## What I Learned

### 1. Building Is Easier Than Marketing

Getting the code right took me about a week per tool. Getting people to find them has taken months. If you build it, you must also tell people it exists.

### 2. npm Deserve Better Discovery

The npm registry has basically zero search optimization. Your package name is your SEO. Picking descriptive names matters more than clever names.

### 3. Dev.to Is Still the Best Free Audience

I published articles on Dev.to targeting each tool, and those articles consistently drive more traffic than any other channel. Even a single article can bring in 50+ targeted visitors over its lifetime.

### 4. Open Source Can Pay — Just Not the Way You Expect

My tools themselves do not make money directly. But they opened doors: affiliate revenue from hosting referrals, sponsorship conversations, and a portfolio that helped me land better contract work.

## What Is Next

I am working on:
- More templates in ScaffoldX (Deno, Bun, ESM-only)
- CI/CD integration for DotGuard (GitHub Actions, GitLab CI)
- Real-time collaboration in SnippetX (shared snippet boards)
- A unified dashboard connecting all four tools

## Why I Would Keep Doing This

Because every time someone finds my tool and it saves them even 10 minutes, I know the time I spent was worth it. Not for money. For the feeling that something I built is actually useful.

If you are a developer who has ever felt the same frustrations, try one of these tools. If it helps, let me know. If not, build your own — that is what I did.

---

**Try them now:**
- [ScaffoldX](https://github.com/wuchunjie00/scaffoldx) — 12 project templates in one CLI
- [DotGuard](https://github.com/wuchunjie00/dotguard) — Secret scanning for your projects
- [GitPulse](https://github.com/wuchunjie00/gitpulse) — Git analytics in your terminal
- [SnippetX](https://github.com/wuchunjie00/snippetx) — CLI code snippet manager

*If these save you time, [buy me a coffee](https://ko-fi.com/wuchunjie) ☕*
Enter fullscreen mode Exit fullscreen mode

Top comments (0)