# Install ngs with Homebrew, apk, MacPorts

Powerful programming language and shell designed specifically for Ops. Version 0.2.17 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:ngs
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ngs
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ngs
```

  Evidence: MacPorts ports tree: shells/ngs/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ngs
```

  Evidence: Alpine Linux edge package indexes: ngs from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

## Package facts

- **Package key:** brew:ngs
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ngs>
- **Version:** 0.2.17
- **Source summary:** Powerful programming language and shell designed specifically for Ops
- **Homepage:** <https://ngs-lang.org/>
- **Repository:** <https://github.com/ngs-lang/ngs>
- **Upstream docs:** <https://ngs-lang.org/doc/latest/index.html>
- **License:** GPL-3.0-only
- **Source archive:** <https://github.com/ngs-lang/ngs/archive/refs/tags/v0.2.17.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ngs (cli)
- ngs (alias)

## Dependencies

- bdw-gc
- gnu-sed
- json-c
- pcre
- peg

## Build dependencies

- cmake
- pandoc
- pkgconf

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.2.17
- Local data: ok
- Upstream repository: https://github.com/ngs-lang/ngs
- Upstream latest detected: v0.2.17 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

NGS, or Next Generation Shell, is a GPL-3.0 language and shell project aimed at operations and DevOps scripting. The project positions itself between traditional shells and general-purpose languages: keep convenient process execution, but add structured data handling, exceptions, multimethods, patterns, and libraries for automation tasks.

### Project history

The public project is source-first and documentation-heavy rather than release-history-heavy. Its README states that the creator built NGS to reduce the pain of using Bash or Python for common Ops work, and the documentation set for version 0.2.17 includes language reference, tutorial, motivation, internals, style guide, CLI manual, and AWS command documentation.

The repository records roughly three thousand commits and a 0.2.x release line; Homebrew packaged version 0.2.17 from the upstream GitHub tag. NGS also carries installation paths through Homebrew, MacPorts, Snap, Docker, GitHub Actions, and helper projects for AWS Lambda and IPython/Jupyter.

### Adoption history

Adoption evidence is visible but niche. The GitHub repository shows about 1.5k stars, while Homebrew analytics on July 1, 2026 reported 35 installs on request over 365 days. The package is also present in Alpine and MacPorts, which suggests packaging interest beyond Homebrew but not broad ecosystem pull.

The upstream README gives one concrete production-ish adoption note: NGS is used at Beame.io for miscellaneous scripting, CLI testing, performance-test orchestration, and cloud manipulation. That is stronger than a toy example, but there are few independent adoption writeups.

### How it is used

Package nerds use NGS as an experiment in replacing shell scripts for automation with a language that treats JSON, tables, command exit codes, retries, logging, status output, and external-program pipelines as first-class Ops concerns. The practical workflow is to install `ngs`, run scripts with `ngs SCRIPT_NAME.ngs`, or use one-liners such as `ngs -pi 'sum(0..10)'`.

The interesting packaging detail is that NGS is not only a CLI binary; it is also distributed as a GitHub Action and has integrations for container and serverless runtimes. That makes it a small but coherent language-runtime package rather than just another shell helper.

### Timeline

- {'date': '2026-07-01', 'event': 'Homebrew API listed stable version 0.2.17 and 35 install-on-request events over 365 days.'}

### Related projects

- Bash
- Python
- Rash
- ngs-aws-lambda
- ngs-ipython-extension

### Sources

- <https://formulae.brew.sh/api/formula/ngs.json>
- <https://github.com/ngs-lang/ngs>
- <https://ngs-lang.org/>
- <https://ngs-lang.org/doc/latest/index.html>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ngs
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- apk - ngs - 0.2.14-r0: normalized package name match | Alpine Linux edge package indexes: ngs from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Next Generation Shell | https://ngs-lang.org
- apk - ngs-aws - 0.2.14-r0: normalized package name match | Alpine Linux edge package indexes: ngs-aws from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Next Generation Shell - experimental AWS library | https://ngs-lang.org
- apk - ngs-vim - 0.2.14-r0: normalized package name match | Alpine Linux edge package indexes: ngs-vim from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Next Generation Shell (vim syntax) | https://ngs-lang.org
- MacPorts - ngs: normalized package name match | MacPorts ports tree: shells/ngs/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Runtime dependency declared by Homebrew.
- [pcre](https://www.automicvault.com/pkg/brew/pcre/) - Runtime dependency declared by Homebrew.
- [peg](https://www.automicvault.com/pkg/brew/peg/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pandoc](https://www.automicvault.com/pkg/brew/pandoc/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [min-lang](https://www.automicvault.com/pkg/brew/min-lang/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, shell.
- [rad](https://www.automicvault.com/pkg/brew/rad/) - Shares av.db curated category or tags: automation, cli, language-runtime, programming-language.
- [agda](https://www.automicvault.com/pkg/brew/agda/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [alda](https://www.automicvault.com/pkg/brew/alda/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [ballerina](https://www.automicvault.com/pkg/brew/ballerina/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [befunge93](https://www.automicvault.com/pkg/brew/befunge93/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [crystal](https://www.automicvault.com/pkg/brew/crystal/) - Local package facts share a topical domain. Shared terms: bdw, bdw-gc, cli, language, language-runtime.
- [neko](https://www.automicvault.com/pkg/brew/neko/) - Local package facts share a topical domain. Shared terms: bdw, bdw-gc, cli, language, language-runtime.
- [sagittarius-scheme](https://www.automicvault.com/pkg/brew/sagittarius-scheme/) - Local package facts share a topical domain. Shared terms: bdw, bdw-gc, cli, language, language-runtime.

## Combined YAML source

View the package source record on GitHub. [combined/ngs.yml](https://github.com/automic-vault/db/blob/main/combined/ngs.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
