macOS
brew install bats-corelocal Homebrew formula metadata
sudo port install bats-coreMacPorts ports tree · sysutils/bats-core/Portfile · source: api.github.com
brew
Bash Automated Testing System. Version 1.13.0 via Homebrew; verified from local package data.
install
brew install bats-corelocal Homebrew formula metadata
sudo port install bats-coreMacPorts ports tree · sysutils/bats-core/Portfile · source: api.github.com
sudo apk add bats-coreAlpine Linux edge package indexes · bats-core · source: dl-cdn.alpinelinux.org
sudo pacman -S batsArch Linux sync databases · bats · source: geo.mirror.pkgbuild.com
sudo apt install batsDebian stable package indexes · bats · source: deb.debian.org
sudo dnf install batsFedora Rawhide package metadata · bats · source: dl.fedoraproject.org
nix profile install nixpkgs#batsnixpkgs package indexes · pkgs/by-name/ba/bats/package.nix · source: api.github.com
sudo zypper install batsopenSUSE Tumbleweed package metadata · bats · source: download.opensuse.org
overview
Bash Automated Testing System
history
bats-core is the community-maintained continuation of Bats, the Bash Automated Testing System: a TAP-compliant testing framework where test files are Bash scripts and each test case runs normal shell commands.
The original Bats project dates to Sam Stephenson's 2011-2016 copyright era. The current README says bats-core was forked from the original Bats repository on Tuesday, September 19, 2017 at commit 0360811 after development had stalled and write access to the original repository could not be obtained.
bats-core released Bats 1.0.0 on June 8, 2018. That release emphasized compatibility with 0.4.0 while adding Bash compatibility work, Docker support, better Windows and macOS stability, TAP fixes, and major performance improvements.
The original Bats repository was archived read-only by its owner as of April 29, 2021, and the bats-core README identifies bats-core as the community-maintained Bats project.
Bats-core is widely packaged as the practical shell-testing tool for Unix projects. The input metadata lists apk, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and zypper packages, while the upstream README points users to GitHub issues, tested pull requests, examples of projects using Bats, and Read the Docs documentation.
The repository page showed about 6.1k stars, roughly 2,004 commits, and 24 releases at enrichment time, with v1.13.0 shown as the latest release on November 7, 2025.
A Bats test file is a Bash script with special syntax for test cases. Under the hood, each test is a function with a description, and ordinary shell commands become assertions through exit status and Bash errexit behavior.
Bats is most useful for testing Bash software, but the README explicitly notes it can test any Unix program. That makes it popular for CLI packages, install scripts, dotfiles, shell libraries, and smoke tests around command-line behavior.
bats-core is one of the package-nerd standards for testing shell-facing software because it sits exactly where many package bugs happen: command names, exit statuses, stdout/stderr, file effects, and portable shell behavior.
Its history also matters culturally. It shows a successful community-maintained fork preserving a small but widely depended-on developer tool when the original repository stalled, while keeping compatibility with existing Bats tests.
Because it emits TAP and uses shell syntax, bats-core fits neatly into old and new CI systems, distro packaging tests, and language-agnostic build pipelines without demanding a heavier test framework.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
bats | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/bats-core/bats-core
install metadata
| Package key | brew:bats-core |
|---|---|
| Version | 1.13.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/bats-core |
| Homepage | https://github.com/bats-core/bats-core |
| Repository | https://github.com/bats-core/bats-core |
| Upstream docs | https://bats-core.readthedocs.io/en/stable |
| License | MIT |
| Source archive | https://github.com/bats-core/bats-core/archive/refs/tags/v1.13.0.tar.gz |
| Bottle | available (on all) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | bats-core |
| Aliases |
|
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
bats-core 1.13.0-r0
Bash Automated Testing System
https://github.com/bats-core/bats-core
sudo apk add bats-corebats-core-doc 1.13.0-r0
Bash Automated Testing System (documentation)
https://github.com/bats-core/bats-core
sudo apk add bats-core-docbats 1.13.0-1
Bash Automated Testing System
https://github.com/bats-core/bats-core
sudo pacman -S batsbats-core
sudo port install bats-corebats 1.11.1-1
bash automated testing system
https://github.com/bats-core/bats-core
sudo apt install batsbats
nix profile install nixpkgs#batsbats 1.10.0-1
bash automated testing system
https://github.com/bats-core/bats-core
sudo apt install batsbats 1.13.0-r1
Meta package for Bats
https://bats-core.readthedocs.io/
sudo apk add batsbats 1.13.0-3.fc44
Bash Automated Testing System
https://github.com/bats-core/bats-core
sudo dnf install batsbats 1.13.0-1.1
Bash Automated Testing System
https://github.com/bats-core/bats-core/
sudo zypper install batssource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.