Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises Learn more →
Top 23 CLI Open-Source Projects
-
ohmyzsh
🙃 A delightful community-driven (with 2,100+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
-
The results are piped to fzf-tmux (ships with fzf), where I can fuzzy search for one or more directories
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
Bat is a cat clone with syntax highlighting and Git integration. It has helped me iimmensely when I want to view the contents of a file. It is a drop in replacement for cat and it has syntax highlighting for a lot of languages. It also has a pager mode which is enabled by default when output is piped to another command. It also has a lot of other features which you can read about in the documentation. In my case I have aliased it to cat in my .fish config file.
-
Project mention: Looking for an old video game buddy who lived in Dublin | reddit.com/r/Dublin | 2023-05-03
If you're tech savy, you could try running their Internet handles through a software called Sherlock. It will search different social media platforms. I'm not sure if there is a web alternate tp Sherlock, but using different search engines is also worth a shot (like bing).
-
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
Its fairly obvious to find really good projects in Rust using github, if nothing else, look for the number of stars on each repo, and one might stumble on "ripgrep"which is nicely done by the legendary burntsushi
-
Project mention: Is Node.js a good way to implement a CLI app with persistence? | reddit.com/r/node | 2023-06-02
It looks like you want just a script. Check if https://github.com/google/zx is sufficient for your needs.
-
Project mention: Machine Learning Containers Are Bloated and Vulnerable | news.ycombinator.com | 2023-05-10
I very much enjoy dive[1] for this purpose, though it doesn't seem to be maintained anymore...
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
lazygit - A simple terminal UI for git commands, written in Go with the gocui library.
-
I like what you're doing with this, never used cheat.sh before but had a little look around and great idea :) I've not tested everything, i seen something about find and thought i could help.
-
Ah, the automation! As I mentioned earlier, I kept it simple for the first iteration. I created a bash script that clones the candidate's project, uses Git to commit files and create branches, and leverages the GH CLI tool to create the PRs (among other things). I named this script "Autodev." It may not be much, but I absolutely loved using it. Now, let's take a closer look at what it does.
-
Project mention: [OpenSource] I am building high performance Plex alternative in Go for Movies and TV Show | reddit.com/r/golang | 2023-06-02
Can I try to rewrite it using the following? I'll just hand you the code I don't care about credit, I just enjoy cleaning things up. - https://github.com/spf13/cobra - https://echo.labstack.com/ - SQLite - and not a bunch of if statements
-
n8n
Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
Project mention: Automatisierter Assistent für Tagesausflüge mit Kind | reddit.com/r/Eltern | 2023-05-29 -
httpie
🥧 HTTPie for Terminal — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.
HTTPie for Terminal v3.2.2 is now available 🎉 This version fixes compatibility with urllib3 2.0.
-
Fd, the efficient and user-friendly filesystem search tool that offers a simple and fast alternative to the traditional "find" command. Designed to provide a streamlined search experience, fd prioritizes speed and ease of use while offering sensible defaults for most common use cases. While it may not encompass all the advanced features of "find," fd's optimized approach delivers quick and intuitive file searching. Discover fd on GitHub and enhance your filesystem search capabilities with this lightweight and versatile tool that meets the majority of user requirements.
-
awesome-shell
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
-
Project mention: My 2023 Terminal, Shell and Command-Line Toolbox | reddit.com/r/programming | 2023-05-09
A lot of the tools in the post build on top of standard unix tools and are like for like (better) replacements. Many of them have been pulled from the Modern Unix repo on Github.
-
Project mention: Set base href from an environment variable with ng build | reddit.com/r/codehunter | 2023-06-01
I thought maybe if I named my environment variable the same as the --base-href build option used in the build command that the cli might pick it up, but no dice there either.
-
Project mention: I have this function I have written that shows how much of a percentage is done given progress in a loop..so..if you are iterating through a loop that is 500 long, at 200 it says "40%",240 "48%", and so on, but, how do you just change the value on the screen, not print a new one on a new line? | reddit.com/r/learnpython | 2023-04-11
I can recommend you the package tqdm (https://github.com/tqdm/tqdm) You can replace the standard for statement with it, or use it with any other iterable. By default, it gives you a progress bar with a percentage and ETA, but you can also configure it to only print the percentage, if you want that. If you want to use print statements, adding \r at the beginning and not putting a line end should also do the trick.
-
Python Fire
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
-
Project mention: Is Node.js a good way to implement a CLI app with persistence? | reddit.com/r/node | 2023-06-02
Due to Node's asynchronous behavior, it makes Node great for long-running processes that make a lot of HTTP requests, database calls, and other async ops, like a web server or a REST API. However, if I am making a CLI tool for pretty much personal use only, with very minimal async operations, then blocking the event loop with a synchronous function that will resolve almost immediately will make no difference perceivable to a human brain or have any speed benefits that someone can actually observe (think `fs.readFileSync` or `require('dotenv') of 10 line config file, or a quick embedded db (sqlite) query with only ~100 records. I'm wondering what the best way to implement the database part of the app synchronous. I can read/write to JSON files but it would be tricky because the data is relational, and some complex joins and other data wrangling operations are required (complex to perform in JS but are easy to implement in a SQL statement). It's not important what the operations are, that's not the point of this post. This is mostly a personal project of interest: making this CLI tool completely avoiding any async operations/using no promises. I would like to use node tho, as I said this is just out of interest and I also want to experiment with several CLI libraries such as Ink or Cliffy.
-
Project mention: Bun v0.6.0 – Bun's new JavaScript bundler and minifier | news.ycombinator.com | 2023-05-16
-
After using Warp for over a couple of months (and collecting feedback from colleagues already using it), the time has come. Is it better than Fig?
-
Project mention: Ask HN: What's your favorite software testing framework and why? | news.ycombinator.com | 2023-05-21
You might want to give ava a spin:
It has a TAP reporter, but more importantly, as opposed to the more popular solutions, like Jest, the way it achieves parallelism is explained in the docs and won't change anytime soon, thus preventing wonky, hard to debug errors which occur when this part is abstracted away.
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
CLI related posts
- Is Node.js a good way to implement a CLI app with persistence?
- How to manage terraform code for large projects?
- Suggestions for web building and web hosting platforms
- ? - The only cheat sheet you need
- Any success generating art with AI?
- Auger: A CLI tool for making tunnels to localhost
- pulling out the old "american website" card on an r/Birmingham post about this sub
-
A note from our sponsor - ONLYOFFICE
www.onlyoffice.com | 2 Jun 2023
Index
What are some of the best open-source CLI projects? This list will help you:
Project | Stars | |
---|---|---|
1 | ohmyzsh | 159,355 |
2 | fzf | 52,477 |
3 | bat | 41,461 |
4 | sherlock | 41,444 |
5 | ripgrep | 38,123 |
6 | zx | 37,530 |
7 | dive | 36,946 |
8 | lazygit | 35,421 |
9 | cheat.sh | 35,359 |
10 | cli | 32,455 |
11 | cobra | 32,030 |
12 | n8n | 30,850 |
13 | httpie | 27,944 |
14 | fd | 27,653 |
15 | awesome-shell | 27,455 |
16 | modern-unix | 26,788 |
17 | angular-cli | 26,122 |
18 | tqdm | 24,928 |
19 | Python Fire | 24,614 |
20 | Ink | 23,377 |
21 | pkg | 23,325 |
22 | autocomplete | 22,000 |
23 | ava | 20,369 |