awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
shelljs avatar

shelljs/shelljs

0
View on GitHub↗
14,402 stars·746 forks·JavaScript·BSD-3-Clause·21 viewswww.npmjs.com/package/shelljs↗

Shelljs

ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system automation. It serves as a cross-platform filesystem API and a process wrapper for spawning and controlling external system subprocesses.

The project translates Unix shell commands into equivalent operations for the host operating system, allowing scripts to run consistently across different platforms. It supports the registration of custom commands and the integration of third-party plugins to extend its portable shell capabilities.

The library covers broad capability areas including filesystem management, where it handles file and directory operations, metadata inspection, and in-place text modification. It also provides tools for external process execution, command piping, and text stream processing using regular expressions.

Features

  • System Automation Libraries - Implements a portable shell-like syntax for automating system tasks and file operations within Node.js.
  • Portable Unix Utilities - Provides a portable Unix-like utility suite for executing system-level tasks across different operating systems.
  • Command Piping - Allows passing the output of one command as the input to another in a sequence to process data incrementally.
  • Cross-Platform Filesystem APIs - Offers a set of filesystem tools that ensure consistent file and directory management across different operating systems.
  • Filesystem Management Tools - Provides a set of commands for standard filesystem operations like copying, moving, and deleting files across platforms.
  • Portable Unix Utility Suites - Provides portable implementations of common Unix utilities for text manipulation and system tasks.
  • Shell Command Execution - Triggers and controls operating system shell commands while capturing output and exit codes.
  • Shell Scripting Utilities - Enables writing Node.js scripts that run Unix shell commands consistently across different operating systems.
  • Subprocess Management - Provides utilities for spawning and controlling external system processes to run specific commands.
  • Process Execution Wrappers - Wraps external system command execution to provide control over synchronous and asynchronous subprocess lifecycles.
  • Standard Stream Piping - Connects the standard output of one subprocess to the standard input of another using Node.js streams.
  • External Process Management - Running and managing external system commands from Node.js while capturing output and controlling execution flow.
  • Filesystem and Text Processing - Provides utilities for manipulating text streams through filtering, sorting, and shell-style piping.
  • Filesystem Operations - Provides low-level operations for managing files and directories, including copying, moving, and removing.
  • Process Lifecycle Wrapping - Executes system commands by wrapping native Node.js spawn and exec functions to manage external process lifecycles.
  • Shell Command Libraries - Provides a collection of portable Unix shell commands implemented natively in Node.js.
  • Command Mapping - Translates Unix-style shell commands into equivalent operations for the host operating system to ensure script portability.
  • Text Manipulation - Provides tools for transforming, encoding, and formatting text via line-based replacements.
  • Regex-Based File Search - Enables searching through files using regular expressions to filter and extract specific text data.
  • Global Command Registration - Allows adding custom commands to the environment by registering functions as callable system-wide utilities.
  • CLI Process Controls - Provides runtime control over external system commands, including timeouts, buffers, and environment variables.
  • Path Type Evaluators - Evaluates whether a path exists and identifies its type as a directory, regular file, or symbolic link.
  • In-Place File Mutators - Performs search-and-replace operations that modify source files directly on disk.
  • Line-Based Text Filters - Provides capabilities to extract, sort, and filter text from files using regular expressions and line-based limits.
  • Output Redirection - Includes operators for routing the output of commands directly to files or appending them.
  • Regular Expressions - Provides text processing and file content manipulation using JavaScript regular expression patterns.
  • Synchronous Execution Controls - Blocks the JavaScript event loop during command execution to mimic sequential shell script behavior.
  • Filesystem Metadata Retrievers - Queries operating system primitives to retrieve file properties such as existence, size, and permissions.
  • Command Registries - Implements a system for mapping shell commands to executable JavaScript functions to decouple triggers from logic.
  • Third-Party Plugins - Supports integrating third-party plugins to add new custom commands and portable shell capabilities.
  • Shell and Scripting - Cross-platform Unix shell commands.
  • Shell and Execution - Portable Unix shell commands for Node.js.

Star history

Star history chart for shelljs/shelljsStar history chart for shelljs/shelljs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Shelljs

These projects share indexed features with Shelljs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sindresorhus/execasindresorhus avatar

    sindresorhus/execa

    7,517View on GitHub↗

    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

    JavaScript
    View on GitHub↗7,517
  • bitfield/scriptbitfield avatar

    bitfield/script

    6,991View on GitHub↗

    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

    Gocatcurlcut
    View on GitHub↗6,991
  • elves/elvishelves avatar

    elves/elvish

    6,325View on GitHub↗

    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

    Gogoprogramming-languageshell
    View on GitHub↗6,325
  • uutils/coreutilsuutils avatar

    uutils/coreutils

    23,621View on GitHub↗

    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

    Rust
    View on GitHub↗23,621
Compare all 30 related projects→

Frequently asked questions

What does shelljs/shelljs do?

ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system automation. It serves as a cross-platform filesystem API and a process wrapper for spawning and controlling external system subprocesses.

What are the main features of shelljs/shelljs?

The main features of shelljs/shelljs are: System Automation Libraries, Portable Unix Utilities, Command Piping, Cross-Platform Filesystem APIs, Filesystem Management Tools, Portable Unix Utility Suites, Shell Command Execution, Shell Scripting Utilities.

Which projects share features with shelljs/shelljs?

Projects with overlapping indexed features include: sindresorhus/execa — Execa is a promise-based process execution library that serves as a wrapper for the Node.js child process module. It… bitfield/script — This project is a Go shell scripting library and framework designed for writing automation scripts and CLI tools. It… elves/elvish — Elvish is a shell that combines interactive command-line use with a structured scripting language, designed to make… uutils/coreutils — This project is a suite of basic command line utilities rewritten in Rust, providing a cross-platform implementation… peco/peco — Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection… pyinvoke/invoke — Invoke is a Python task automation library used to define and run named Python functions as command-line tasks. It…