explaingit

antithesishq/bombadil-action

Analysis updated 2026-05-18

0TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A GitHub Action that runs Bombadil property based tests, against either a live browser session or a command line program's output, inside a CI workflow.

Mindmap

mindmap
  root((bombadil-action))
    What it does
      Runs Bombadil tests in CI
      Browser driver
      Terminal driver
      Reports exit code
    Tech stack
      TypeScript
      GitHub Actions
      Chrome for Testing
    Use cases
      Web app CI testing
      CLI output testing
      Property based testing
    Audience
      CI pipeline authors
      QA engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically test a web app for rule violations by driving a real Chrome browser against it in CI.

USE CASE 2

Test a command line program's output against defined rules using the terminal driver.

USE CASE 3

Catch bugs before merge by running property based tests on every pull request.

USE CASE 4

Save traces and screenshots as build artifacts to inspect failures after a CI run.

What is it built with?

TypeScriptGitHub ActionsChromeNode.js

How does it compare?

antithesishq/bombadil-action0xradioac7iv/tempfsabboskhonov/hermium
Stars000
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires writing a specification file and configuring a running app or command to test against.

No license information is stated in the README.

In plain English

bombadil-action is a GitHub Action that runs Bombadil property based tests as part of a continuous integration workflow. Bombadil itself is a separate tool that checks whether an application behaves correctly by exploring it and looking for violations of rules you define, and this action wires that tool into a GitHub Actions job so it runs automatically on every push or pull request. The action supports two drivers. The browser driver, which is the default, opens a real Chrome browser and points it at a URL you provide, then tests the running application against a specification file you write in TypeScript or JavaScript. The terminal driver instead runs a command line program and checks its text output against the same kind of specification. You choose which driver to use with a simple input setting. For the browser driver, you set an origin URL, a specification file path, and a time limit so the test does not run forever. You can also pass custom HTTP headers, such as an authorization token, and adjust settings like viewport size. The action installs Chrome for Testing automatically and caches the download so later runs are faster. If your workflow already has Chrome installed, you can point the action at it instead and skip the download. The terminal driver needs a command to run, how many test cases to generate, and an optional random seed so results can be repeated later. After a run, the action reports an exit code showing whether everything passed, a rule was violated, or something else went wrong. You can save the output as a build artifact and inspect it afterward to see exactly what happened during testing. The README shows examples for testing a locally started server and for testing an application running in Docker containers, including how to wait for the app to be ready before the test begins. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Write a GitHub Actions workflow step that uses antithesishq/bombadil-action to test my app running at localhost:3000 with a 5 minute time limit.
Prompt 2
How do I write a Bombadil specification file in TypeScript to test a web application's login flow?
Prompt 3
Set up bombadil-action with the terminal driver to test a CLI program's output with 100 test cases and a fixed seed.
Prompt 4
Add custom authorization headers to a bombadil-action step using GitHub Actions secrets.

Frequently asked questions

What is bombadil-action?

A GitHub Action that runs Bombadil property based tests, against either a live browser session or a command line program's output, inside a CI workflow.

What language is bombadil-action written in?

Mainly TypeScript. The stack also includes TypeScript, GitHub Actions, Chrome.

What license does bombadil-action use?

No license information is stated in the README.

How hard is bombadil-action to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is bombadil-action for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.