Command-line projects teach input handling, files, APIs and tests in a weekend. Build a task tracker, an expense tracker and one API client, then add undo, tests, a package release and a helpful --help. Publish the tool to PyPI or npm so people can install it.
Small tools finish quickly, which makes them ideal for building the habit of shipping.
- 1Parsearguments and flags
- 2Actfiles, APIs, logic
- 3Showclear output and errors
- 4Testunit and snapshot tests
- 5Publishpackage and README
Everyday CLIs
Task tracker
BeginnerPython or Node, JSON file
DataLocal file
Stand-outUndo, filters and a clean --help
Expense tracker
BeginnerPython or Node
DataLocal file
Stand-outMonthly summary and CSV export
Number guessing game
BeginnerPython or Node
DataNone
Stand-outDifficulty levels and a persistent high-score file
Unit converter
BeginnerPython or Node
DataNone
Stand-outTests for edge cases and clear errors
File and folder counter
BeginnerPython or Node
DataLocal files
Stand-outHandles permissions errors and huge directories
JSON formatter and validator
BeginnerPython or Node
DataLocal files
Stand-outPoints to the exact line of a syntax error
Environment variable checker
BeginnerPython or Node
DataYour project
Stand-outNever prints secret values
Pomodoro timer with statistics
BeginnerPython or Node
DataLocal file
Stand-outWeekly focus report
API-powered CLIs
GitHub user activity viewer
BeginnerAny language
DataGitHub REST API
Stand-outCaches responses and respects rate limits
GitHub trending viewer
BeginnerAny language
DataGitHub API or a public trending endpoint
Stand-outFilters by language and period
Movie info lookup
BeginnerAny language
DataTMDB API (free key)
Stand-outOffline cache of recent searches
Caching proxy
IntermediateNode or Go
DataAny public API
Stand-outTTL, cache headers and a hit-ratio command
Automation
Bulk file renamer with dry-run
BeginnerPython
DataLocal files
Stand-outPreview, undo and a log of every change
PDF merge and split tool
BeginnerPython, pypdf
DataLocal PDFs
Stand-outPage ranges and a progress bar
RSS to email digest
IntermediatePython, SMTP
DataPublic RSS feeds
Stand-outDeduplicates items and schedules itself with cron
Web page change detector
IntermediatePython, requests
DataA public page you may monitor
Stand-outSends a Telegram message with a readable diff
Password manager CLI
IntermediatePython, cryptography
DataLocal file
Stand-outArgon2 key derivation and a short threat model
Broadcast server
IntermediateNode.js
DataNone
Stand-outClients connect over TCP or WebSockets with reconnect
Turn any idea into a portfolio piece
- Pick one idea and write the one-line goal first.
- Build the smallest version that works end to end.
- Add tests for the rules that could silently break.
- Deploy it so there is a live link or a one-command run.
- Write the README: what it does, how to run it, one number, one limit.
Frequently asked questions
What CLI projects are good for beginners?
A task tracker, an expense tracker and a unit converter, each with a JSON or CSV file for storage.
Python or Node for CLI projects?
Either. Python has a gentler start; Node suits people who already write JavaScript.
How do I publish a CLI tool?
Package it with pyproject.toml and upload to PyPI, or add a bin entry and publish to npm; add a README with install and usage.
What upgrades make a CLI project look professional?
Tests, helpful --help text, clear error messages, a changelog and a published package.
Learn this with mentors
Programmes for builders and engineers with admissions open: live classes, mentors and project work.


