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
-
.envfiles 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
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
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) ☕*
Top comments (0)