>_Skillful
Need help with advanced AI agent engineering?Contact FirmAdapt
Gleb Bahmutov

Gleb Bahmutov

@bahmutov

JavaScript ninja, image processing expert, software quality fanatic. Sr Director of Engineering at Mercari US. MS MVP for OSS work, GitHub Star.

Boston, MA glebbahmutov.com/ On GitHub since August 2012

138

Published Tools

7,944

Total Stars

23,532,785

Weekly Downloads

4,952

GitHub Followers

1,280

Public Repos

100/100

Avg Security

Published Tools

138 Skillsacross 2 categories

GitHub Actions

Starts server, waits for URL, then runs test command; when the tests end, shuts down server

SkillAI Tool
1.6K2.5M/wk1 dir

A JSONSchema validator that uses code generation to be extremely fast

SkillAI Tool
9631 dir

bahmutov

Convenient BDD specs for Angular

SkillAI Tool
4231 dir

GitHub Actions

Split Cypress specs across parallel CI machines for speed

SkillAI Tool
287384K/wk1 dir

GitHub Actions

Custom command cy.api

SkillAI Tool
2101 dir

bahmutov

Checks if the current version of your package would break dependent projects

SkillAI Tool
2081 dir

Gets you the Cypress test command log as JSON on failure

SkillAI Tool
1951 dir

bahmutov

Jest-like snapshot feature for the rest of us + data-driven testing

SkillAI Tool
1701 dir

bahmutov

Automatically install pre-commit / pre-git hooks for your npm modules.

SkillAI Tool
1691 dir

bahmutov

Smarter snapshot utility for Mocha and BDD test runners

SkillAI Tool
16629K/wk1 dir

bahmutov

Dark mode for Cypress test runner from user space

SkillAI Tool
1511 dir

Quickly run NPM script by prefix without typing the full name

SkillAI Tool
1481 dir

Adds console.table method that prints an array of objects as a table in console

SkillAI Tool
1393.3M/wk1 dir

bahmutov

Single CI command to deploy new version to Zeit Now, including e2e tests and alias switch

SkillAI Automation
1391 dir

Client-side buttons to run a single test or skip it for Cypress test runner

SkillAI Tool
1331 dir

GitHub Actions

A way to re-run Cypress commands until a predicate function returns true

SkillAI Tool
1301 dir

Caches resolved paths in module require to avoid Node hunting for right module. Speeds up app load.

SkillAI Tool
1264K/wk1 dir

Cypress.io command examples

SkillAI Tool
1191 dir

Quickly adds TypeScript spec support to Cypress

SkillAI Tool
1071 dir

bahmutov

Easy conditional if-else logic for your Cypress tests

SkillAI Tool
10198K/wk1 dir

Exploring how one can generate product demo videos from Cypress tests

SkillAI Tool
981 dir

My custom eslint rules in addition to the ones provided at http://eslint.org/

SkillAI Tool
979.8K/wk1 dir

User space solution for picking Cypress tests to run

SkillAI Tool
961 dir

Bundle Cypress specs using esbuild

SkillAI Tool
841 dir

bahmutov

Lazy assertions without performance penalty

SkillAI Tool
716.8M/wk1 dir

A little Cypress.io plugin for waiting for network to be idle before continuing with the test

SkillAI Tool
70150K/wk1 dir

Checks filenames to be committed against a library of filename rules to prevent sensitive files in Git

SkillAI Tool
691 dir

bahmutov

Runs a given command with additional environment settings for simple local development

SkillAI Tool
676.3K/wk1 dir

GitHub Actions

Cypress command for flexible test data setup

SkillAI Tool
6636K/wk1 dir

bahmutov

Run source transform function on Node require

SkillAI Tool
661 dir

Large collection of predicates.

SkillAI Tool
656M/wk1 dir

GitHub Actions

Extra Cypress query commands for v12+

SkillAI Tool
601 dir

bahmutov

Returns all commit messages between 2 versions of an NPM module

SkillAI Tool
571 dir

Reloads Cypress when one of the watched files changes

SkillAI Tool
5710K/wk1 dir

Slow down your Cypress tests

SkillAI Tool
5046K/wk1 dir

Run Cypress tests using Playwright and Playwright tests using Cypress

SkillAI Tool
491 dir

Quickly chain method calls, property access and functions in natural left to right expression

SkillAI Automation
49283/wk1 dir

bahmutov

Easy way to mock process.env during BDD testing

SkillAI Tool
45128K/wk1 dir

Run Cypress multiple times in a row

SkillAI Tool
3971K/wk1 dir

GitHub Actions

Find Cypress spec files using the config settings

SkillAI Tool
381 dir

Checks CircleCI environment before publishing successful build using semantic-release

SkillAI Tool
332.6K/wk1 dir

Cypress plugin that adds "extends" support to the configuration file

SkillAI Tool
331 dir

Use Cypress without global objects

SkillAI Tool
331 dir

bahmutov

Poor man's semantic release utility. Let the CI do the `npm publish` step after the build passes

SkillAI Tool
313.3K/wk1 dir

Parse a GitHub URL for user/project@version

SkillAI Tool
311M/wk1 dir

bahmutov

Stream terminal output with ansi codes into nicely formatted HTML

SkillAI Tool
272.3K/wk1 dir

bahmutov

Little utility D3 functions

SkillAI Tool
261 dir

Utilities for checking the coverage produced by NYC against extra or missing files

SkillAI Tool
251 dir

GitHub Actions

Filter Cypress tests using title or tags

SkillAI Tool
251 dir

bahmutov

Local promise-returning git command wrappers

SkillAI Tool
2515K/wk1 dir

Simple commit message wizard and validator; works with commitizen and pre-git

SkillAI Tool
251 dir

A Cypress plugin for reporting individual command timings

SkillAI Tool
241 dir

bahmutov

Simple implementation for describe.each and it.each

SkillAI Tool
221 dir

Rebuilds node-sass but only if needed

SkillAI Tool
211 dir

Cypress async await magic 🪄

SkillAI Tool
201 dir

bahmutov

Delaying responses for resources by URL RegExp, for Koa server

SkillAI Tool
201 dir

Returns a promise with new versions higher than given for a npm module

SkillAI Tool
191 dir

bahmutov

A custom Cypress command to wrap the remote debugger protocol low level command

SkillAI Tool
1941K/wk1 dir

bahmutov

Fast checking of top level dependencies based on version numbers

SkillAI Tool
181.4K/wk1 dir

Safely update your dependencies using TravisCI cron jobs

SkillAI Tool
181 dir

Easily email the test results after Cypress is done

SkillAI Tool
174.3K/wk1 dir

Set LaunchDarkly feature flags from Cypress tests

SkillAI Tool
1722K/wk1 dir

Forms release changelog and posts a note to each referenced issues after semantic release publishes a new module version

SkillAI Tool
171 dir

It is like a real backend but magically faster and better

SkillAI Tool
161 dir

bahmutov

Cypress DOM snapshots and consistent image diffing in the cloud

SkillAI Tool
157K/wk1 dir

bahmutov

semantic-release plugin checking if the new semantic release is breaking dependent projects

SkillAI Tool
151 dir

My version of Cypress code coverage plugin

SkillAI Tool
1411K/wk2 dirs

bahmutov

Finds an installed tool in node_modules/.bin folders from current up to the git root

SkillAI Tool
142.4K/wk1 dir

A plugin to increase the video resolution for cypress run

SkillAI Tool
1419K/wk1 dir

Save / load named snapshots, useful for tests

SkillAI Tool
141 dir

Check if the package is being installed by another package

SkillAI Tool
131 dir

Sync loading of a small .csv file

SkillAI Tool
134.5K/wk1 dir

Given a Mocha / Cypress spec file, returns the list of suite and test names

SkillAI Tool
131 dir

Reset middleware for json-server

SkillAI Tool
121 dir

Conventional commit message wizard and validator; works with commitizen and pre-git

SkillAI Tool
111 dir

How to test HTTP form submission with file input using Cypress - a hack

SkillAI Tool
111 dir

Fixes multiple Cypress plugins subscribing to "on" events

SkillAI Tool
111 dir

Create Cypress tests using your own AI

SkillAI Automation
111 dir

Makes a new empty commit on GitHub using API

SkillAI Tool
111 dir

bahmutov

Detects '.only' left in the code accidentally

SkillAI Tool
1129K/wk1 dir

bahmutov

Async NPM shell commands

SkillAI Tool
101 dir

bahmutov

Tiny library for JavaScript only message popups

SkillAI Tool
101 dir

bahmutov

Search Cypress documentation from the terminal

SkillAI Tool
91 dir

Cypress CLI wrapper where you can specify the total number of expected tests

SkillAI Tool
91 dir

Picks best comparison / diff for snapshot value

SkillAI Tool
91 dir

Overwrite the cy.log command to print to both the Command Log and to the terminal

SkillAI Tool
81 dir

A better `cy.wait` command

SkillAI Tool
810K/wk1 dir

A little script to update README file with dependency version badge

SkillAI Tool
83.9K/wk1 dir

bahmutov

Fetches any property from package.json using short prefix `jso dep` is same as `cat package.json | grep dependencies`

SkillAI Tool
81 dir

Post messages in Slack channels when specific Cypress tests and specs fail

SkillAI Tool
76.6K/wk1 dir

Custom Cypress commands to measure elapsed time

SkillAI Tool
71 dir

GitHub Actions

Add timestamps to Cypress tests, error screenshots, and Command Log

SkillAI Tool
71 dir

Prints all environment variables that start with given string

SkillAI Tool
71 dir

A little Cypress plugin for setting GitHub commit status

SkillAI Tool
61 dir

A simple local visual testing for Cypress users

SkillAI Tool
61 dir

bahmutov

Utility to find webpack settings in react-scripts and other situations

SkillAI Tool
61 dir

Adds package version to the built file before semantic release publishes it

SkillAI Tool
61 dir

bahmutov

Returns all environment variables with sensitive values hidden, great for logs

SkillAI Tool
62.6K/wk1 dir

Plugin for semantic-release that only allows publishing from a specific NodeJS version

SkillAI Tool
51 dir

bahmutov

Wraps execa and makes output suitable for snapshot testing

SkillAI Tool
51 dir

Cypress utility for mocking a module inside a Webpack bundle

SkillAI Tool
51 dir

bahmutov

Launch on CI a particular Cypress test using grep or grep tags

SkillAI Tool
51 dir

Simple GitHub release changelog from public semantic commits

SkillAI Tool
51 dir

Derives a JSON schema from an object and then uses it to validate other objects

SkillAI Tool
51 dir

bahmutov

Add quotes to given string unless it already has them

SkillAI Tool
4365K/wk1 dir

Banner text across your terminal. Great separator for tests or long running operations.

SkillAI Tool
45.4K/wk1 dir

A little utility for triggering CircleCI pipelines for a given branch with fallback to the default branch

SkillAI Automation
4480/wk1 dir

bahmutov

Orders tests for a source code change based on code coverage analysis.

SkillAI Tool
41 dir

Given an object returns list of all possible paths to its properties

SkillAI Tool
31 dir

Require Node module and immediately remove it from module cache to force loading again next time

SkillAI Tool
3903K/wk1 dir

Stubs child_process.spawn for a single command; cleans up afterwards. Perfect for testing.

SkillAI Tool
31 dir

TodoMVC app rendering function implemented using virtual-dom

SkillAI Tool
31 dir

Change working dir and return a promise, a stack of folders is maintained to jump back

SkillAI Tool
21 dir

GitHub Actions

Utilities for making Cypress plugin configuration easier

SkillAI Tool
2144K/wk1 dir

Finds the first existing file from a list of choices

SkillAI Tool
21 dir

bahmutov

Given (Mocha) test object, walks it up to give you list of context names

SkillAI Tool
21 dir

Given a list of semantic commit changes, returns the largest one

SkillAI Tool
21 dir

Converts Markdown text to Algolia records

SkillAI Tool
23/wk1 dir

bahmutov

Terminal-wide banner with test name before each Mocha test

SkillAI Tool
21 dir

bahmutov

Ensure the argument is an instance of Error or convert it

SkillAI Tool
11 dir

bahmutov

Checks if the NPM script commands in the package.json are all colon separated

SkillAI Tool
11 dir

bahmutov

Returns true if CI is building a pull request from a remote fork

SkillAI Tool
11 dir

bahmutov

Cross-platform print platform and architecture

SkillAI Tool
11 dir

Simple help and sanity checks for Node CLI bin scripts

SkillAI Tool
11.4M/wk1 dir

bahmutov

Computes specs to re-run when files change

SkillAI Tool
11 dir

bahmutov

Returns current stack as call sites

SkillAI Tool
11 dir

bahmutov

Exits with non-zero code if there are modified Git files

SkillAI Tool
1509/wk1 dir

Transforms BDD input into data-driven snapshot

SkillAI Tool
1 dir

Finds the caller test function that called this library by inspecting the source file

SkillAI Tool
1 dir

bahmutov

Tells if the current Mocha execution is running only some tests that use .only

SkillAI Tool
1 dir

Returns list of commits since last tag with types relevant to users: major, minor, etc

SkillAI Tool
1 dir

Optional color or plain logger initialization

SkillAI Tool
216/wk1 dir

Given a list of strings, finds common prefix and returns shorter string `prefix[foo, bar, baz]`

SkillAI Tool
1 dir

Snapshots saved against an object

SkillAI Tool
41K/wk1 dir

Checks a given object against a given set of specifications to keep you from writing boilerplate tests.

SkillAI Tool
1 dir

Test project showing how to semantically publish multiple commits to NPM from GitLab

SkillAI Tool
1 dir

Set GitHub commit status

SkillAI Tool
1 dir

bahmutov

Wrapper for spok assertion

SkillAI Tool
1 dir