30 open-source projects similar to shelljs/shelljs, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Shelljs alternative.
Execa is a promise-based process execution library that serves as a wrapper for the Node.js child process module. It functions as a shell command runner and subprocess management tool, simplifying the execution of external commands and binaries. The library distinguishes itself through automatic argument escaping to prevent shell injection and the use of abort signals for graceful process termination. It also provides an inter-process communication wrapper for exchanging structured JSON data and messages between parent and child processes. Its capabilities cover a broad range of process I/O
This project is a Go shell scripting library and framework designed for writing automation scripts and CLI tools. It provides a concurrent data pipeline system for chaining sources, filters, and sinks to process text and JSON streams. The library distinguishes itself through a comprehensive toolkit for shell-like operations, including a text processing engine for regular expression filtering and frequency analysis, a filesystem utility toolkit for recursive search and path manipulation, and an integrated HTTP client wrapper for building data pipelines that fetch web content. The capability s
Elvish is a shell that combines interactive command-line use with a structured scripting language, designed to make both everyday terminal work and automation tasks more predictable and readable. It parses, compiles, and executes code in three phases, catching syntax and variable errors before any code runs, and it aborts execution on command failure by default to prevent silent errors. The shell introduces value-oriented pipelines that pass structured data like lists, maps, and closures between commands, preserving types without serialization. It also mixes traditional byte streams with thes
This project is a suite of basic command line utilities rewritten in Rust, providing a cross-platform implementation of POSIX shell utilities. It serves as a portable CLI toolset designed to run across different operating systems and architectures. The implementation includes a WebAssembly shell environment, which allows these essential command line tools to be executed directly within a web browser without requiring a local installation. The toolset covers a broad range of system capabilities, including filesystem operations, text processing and stream editing, and system administration too
Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec
Invoke is a Python task automation library used to define and run named Python functions as command-line tasks. It provides a system for mapping functions to executable commands, enabling the automation of repetitive development workflows and the orchestration of build pipelines. The project implements a namespace-based task hierarchy, allowing related tasks to be grouped into nested collections for a structured command-line interface. It utilizes a layered configuration resolution system to merge settings from environment variables, configuration files, and defaults. The toolset includes sh
This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
Apache JMeter is a Java-based performance testing tool and multi-protocol traffic simulator used to analyze the stability and scalability of servers and networks. It functions as a distributed load testing framework that coordinates remote worker nodes from a single controller to generate high volumes of concurrent traffic. The project is distinguished by its ability to simulate traffic across diverse backend systems, including HTTP, JDBC, LDAP, JMS, FTP, and TCP. It provides a headless command-line interface for automated execution and a reporting system that transforms raw sample logs into
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
This project is a shell scripting environment and task automation toolset that enables the execution of system commands directly within JavaScript. It functions as a process execution wrapper, providing a unified interface for spawning external utilities, managing system processes, and orchestrating complex workflows. The tool distinguishes itself by using tagged template literals to automatically escape shell arguments, which prevents command injection vulnerabilities during execution. It supports both synchronous and asynchronous command execution, allowing developers to choose between bloc
CliWrap is an asynchronous process manager and child process wrapper library used to execute external commands and integrate command line interfaces into applications. It provides a framework for launching external programs using asynchronous patterns, managing child processes, and validating exit codes. The library distinguishes itself through its ability to route standard input, output, and error streams to memory buffers or real-time event streams. It enables real-time monitoring of process output lines and supports process termination via cancellation tokens. The project covers a broad r
Cash is a JavaScript implementation of Unix shell utilities and command-line interfaces. It provides a collection of standard system-level text processing and file manipulation tools written in ES6 that run without native compilation or external dependencies. The project allows for the programmatic execution of shell operations using function calls and tagged templates. It implements a system for chaining multiple commands together to filter and transform data through programmatic pipelines, mimicking standard shell pipe behavior. These capabilities enable the execution of Unix-style command
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and Bash compatibility. It functions as a structured data shell, integrating JSON and J8 formats to manage complex data without relying on string parsing. The system is distinguished by a C++ transpiled interpreter that converts a subset of Python source code into strongly typed C++ for high-performance execution. It features a garbage-collected typed runtime that supports prototype-based polymorphism, lexical closures, and reference-based variable mutation. To decouple shell logic
Gow is a collection of tools designed to install Unix-based system utilities on Windows and extend the Windows shell with custom context menu options. It provides a suite of open source binary applications that bring common Unix system administration and file manipulation tools to the Windows operating system. The project integrates these utilities into the Windows environment by managing system environment paths and distributing static, portable binaries. It further extends the Windows File Explorer by adding context menu options that allow users to launch command and terminal prompts direct
Cerebro is a desktop application launcher and search interface that provides a minimalist overlay for finding files, launching software, and executing web queries. It functions as a centralized command bar designed for desktop productivity and rapid system navigation. The project features an extensible plugin framework and a modular architecture, allowing third-party add-ons to integrate new tools and capabilities through a standardized API. It also includes a customizable theme engine that enables users to adjust the visual appearance and styles of the workspace interface. The interface sup
This project is a cross-platform mobile filesystem API that provides a native bridge for direct read and write access to the device filesystem. It functions as a storage management library and a native asset access layer, allowing applications to interact with local files and system-level document directories. The library includes a mobile file transfer client for downloading and uploading files between remote servers and local device storage. These transfers support progress tracking and multipart data transmission. Broad capabilities cover local file and directory management, including the
This repository contains the comprehensive documentation for a code editor focused on AI-assisted software development and remote development workflows. It covers the implementation of AI agents and language models used for autonomous code generation, large-scale refactoring, and task iteration. The project is distinguished by its deep integration of autonomous AI agents capable of web navigation, application logic validation, and orchestrating multi-step development processes. It provides specialized frameworks for tailoring AI behavior through custom instructions, model context protocols, a
Streamlink is a command line video stream extractor that retrieves direct stream URLs from online services for use in external media players. It functions as a local media stream pipe, redirecting raw video data from web services into local files or players via standard input or HTTP. The project includes a headless browser stream scraper to intercept network requests and extract media data from script-heavy websites, alongside a dedicated processor for HLS and DASH segmented media streams. The tool utilizes a modular video plugin framework, allowing support for new streaming platforms to be
The Command Line Mystery (clmystery) is an interactive terminal-based game that transforms the command line into a detective investigation engine. The entire murder mystery narrative is encoded within the file system's directory structure and plain text files, making standard shell commands the primary gameplay mechanic. Players navigate folders, inspect evidence files, and verify suspect answers through hash-based validation, with no graphical user interface involved. The project teaches core command-line skills through a structured investigation workflow. Players practice directory navigati
ripgrep-all is a command-line utility that extends ripgrep to perform regular expression searches across binary files, compressed archives, and media formats. It functions as a universal text extractor that converts non-plain-text formats, such as PDFs, E-books, and Office documents, into searchable text. The tool uses a system of adapters to transform binary data into plain text and utilizes a local database to cache these extracted versions, accelerating repeated search operations. It identifies file types by analyzing header magic bytes rather than relying on file extensions. The project
This project is a comprehensive technical reference and programming cheatsheet for the Python language. It serves as a curated catalog of language features, syntax patterns, and standard library functions designed to help developers identify and apply correct coding patterns. The documentation covers a broad range of functional areas, including language fundamentals such as object-oriented structuring, functional logic, and list comprehensions. It also provides guidance on utilizing the standard library for data analysis, file management, networking, and concurrent execution. The reference e
lnav is a terminal-based log viewer and analyzer designed for aggregating, filtering, and analyzing multiple log files in a single chronological view. It functions as a console application that can replace the system pager, providing syntax highlighting and document navigation for system or application logs. The project distinguishes itself by mapping unstructured log data to virtual SQLite tables, enabling the use of SQL and PRQL for structured data analysis, aggregations, and relational queries. It further differentiates its capability set through native integration for retrieving and taili
This project is a container-native runtime designed for building, orchestrating, and executing autonomous AI agents. It provides a framework for managing multi-agent teams and complex workflows by packaging agent configurations as portable container images. By leveraging declarative configuration files, the system allows users to define agent personas, model routing, and tool access without requiring changes to application code. The platform distinguishes itself through its deep integration with container infrastructure, ensuring that agent tasks and external tools run within isolated environ
ReactPHP is an asynchronous runtime and event-driven I/O framework for PHP. It provides an environment for executing concurrent tasks through a central event loop implementation and reactor pattern, allowing applications to handle multiple operations without pausing the main execution thread. The project includes a specialized asynchronous socket library for TCP, UDP, and TLS communication, alongside a non-blocking HTTP server and client for streaming web requests and responses. Its capability surface covers asynchronous control flow via promises and fibers, non-blocking network connectivity
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server
vim-rails is a set of editor enhancements for navigating, testing, and managing Ruby on Rails applications within Vim. It provides a project navigator for jumping between related controllers, models, and views, a dedicated test runner for executing specs, and an interface for running framework generators and commands directly from the editor. The plugin enables the extraction of code blocks into separate partials or concerns and automatically replaces the original content with render calls. It also includes a specialized syntax highlighter that applies color coding to framework-specific metho
Amber is a transpiler that translates high-level source code into executable shell scripts for Bash, Zsh, and Ksh. It provides a type-safe environment for shell script generation, allowing for static type validation and the creation of standalone executable scripts. The project distinguishes itself through a compilation process that includes tree-shaking import optimization to reduce output size and template-based script wrapping for custom headers and footers. It utilizes a module-based dependency resolution system with visibility controls to manage code reuse across multiple files. The lan