Last Friday night I decided to stop being a consumer and start being a builder. By Sunday midnight, I had 4 CLI tools live on npm and GitHub. Here's exactly how I did it.
The Rules I Set
-
Zero dependencies — no
node_modulesblack hole - Single file per tool — no build step, no config
-
npx-ready — no install required - Actually useful — no todo apps
Tool #1: ScaffoldX
Problem: Every new project = 30 minutes of boilerplate.
Solution: npx scaffoldx-cli → pick template → start coding in 3 seconds.
12 templates. React, Next.js, Express, FastAPI, Chrome Extensions, Discord Bots. Every single one compiles with zero errors out of the box.
npx scaffoldx-cli
Tool #2: dotguard
Problem: Accidentally committed .env with real keys. We've all done it.
Solution: npx @wuchunjie/dotguard scans every .env for API keys, private keys, passwords, and database URLs.
npx @wuchunjie/dotguard .
Tool #3: gitpulse
Problem: "What did I even do this week?"
Solution: Terminal dashboard with contributor bars, file type breakdown, daily heatmap.
npx @wuchunjie/gitpulse
Tool #4: snippetx
Problem: I've written the same Express boilerplate 100 times and I keep Googling it.
Solution: Save it once, search it forever.
echo 'app.get("/api", (req, res) => res.json({ok: true}))' | npx @wuchunjie/snippetx add route js
npx @wuchunjie/snippetx search express
The Stack
- Language: Node.js (no TypeScript build step needed for small tools)
- Editor: VS Code
- Publishing: npm + git push
- Promotion: Dev.to, GitHub, word of mouth
What I Learned
- Ship ugly. My first versions were 50 lines. I improved them after publishing.
-
npm is instant.
npm publishtakes 2 seconds. Stop overthinking. - Zero-deps ages well. No security alerts, no breaking changes, no maintenance burden.
- GitHub stars come slowly. But every star = one real person who found it useful.
What's Next
More templates for ScaffoldX. More scanning rules for dotguard. More analytics for gitpulse.
And maybe a 5th tool. Got an idea? Drop a comment.
Building in public. Buy me a coffee if these tools saved you time ☕
Top comments (0)