Skip to content
@cucumber

Cucumber

Open source tool for running plain-language automated acceptance tests.

OpenCollective OpenCollective

Cucumber

Welcome to Cucumber 👋

Cucumber is a tool for running automated acceptance tests, written in plain language. Because they're written in plain language, they can be read by anyone on your team. Because they can be read by anyone, they help improve communication, collaboration and trust on your team. 💖

Cucumber Gherkin Example

Cucumber was built to support Behaviour-Driven Development (BDD).

If you want to get started using Cucumber, you should head over to the docs or watch our Cucumber School video series.

Cucumber is open source, built and maintained by people just like you! All of the source code for Cucumber is under this GitHub organization.

Everyone interacting in these codebases and issue trackers is expected to follow the Cucumber Community Code of Conduct.

Get in touch

If you have questions about using Cucumber, or ideas for how we could improve it, head over to our GitHub Discussions forum. If you want chat with the maintainers, the best place for that is to join the Community Discord.

If you've found a bug in Cucumber, or have an idea for a new feature, you can raise an issue on GitHub.

We currently support four official versions of Cucumber:

Other popular Cucumber implementations, maintained by other organisations, are:

If you're not sure where to raise your issue, you can use our common repository, or come and chat with us in the Community Discord.

Get involved 🌈

The Cucumber team is committed to tackling the structural racism and sexism in open source, and providing a fun and welcoming environment for new contributors.

Contributions don't have to be code. If you think you'd like to help, book some time with our project lead @mattwynne and have a chat about what you're interested in. We can find something useful for you to do!

Sponsors

Thanks to all these companies who sponsor this project. [Become a sponsor]

Backers

Thanks to all these individuals who have backed this project. [Become a backer]

Pinned Loading

  1. cucumber-jvm cucumber-jvm Public

    Cucumber for the JVM

    Java 2.7k 2k

  2. cucumber-js cucumber-js Public

    Cucumber for JavaScript

    TypeScript 5.1k 1.1k

  3. cucumber-ruby cucumber-ruby Public

    Cucumber for Ruby. It's amazing!

    Ruby 5.2k 1.1k

  4. godog godog Public

    Cucumber for golang

    Go 2.4k 258

  5. docs docs Public archive

    Cucumber user documentation

    CSS 151 530

  6. common common Public

    A home for issues that are common to multiple cucumber repositories

    3.4k 689

Repositories

Showing 10 of 121 repositories
  • messages Public

    A message protocol for representing results and other information from Cucumber

    cucumber/messages’s past year of commit activity
    C# 22 MIT 19 24 8 Updated Jan 9, 2025
  • microdata Public

    Extract WHATWG microdata from a DOM

    cucumber/microdata’s past year of commit activity
    TypeScript 22 MIT 6 1 3 Updated Jan 9, 2025
  • screenplay.js Public

    Library to ease implementation of the Screenplay pattern with CucumberJS

    cucumber/screenplay.js’s past year of commit activity
    TypeScript 57 MIT 8 1 4 Updated Jan 9, 2025
  • language-server Public

    Cucumber Language Server

    cucumber/language-server’s past year of commit activity
    TypeScript 36 MIT 22 3 6 Updated Jan 9, 2025
  • gherkin-utils Public

    API for working with Gherkin documents

    cucumber/gherkin-utils’s past year of commit activity
    TypeScript 13 MIT 5 5 7 Updated Jan 9, 2025
  • cucumber-expressions Public

    Human friendly alternative to Regular Expressions

    cucumber/cucumber-expressions’s past year of commit activity
    Java 164 MIT 52 19 (4 issues need help) 8 Updated Jan 9, 2025
  • cucumber-json-converter Public

    Parse Cucumber JSON from most Cucumber implementations and versions

    cucumber/cucumber-json-converter’s past year of commit activity
    TypeScript 6 MIT 9 0 6 Updated Jan 9, 2025
  • screenplay.js.examples Public

    Examples using @cucumber/screenplay

    cucumber/screenplay.js.examples’s past year of commit activity
    TypeScript 7 MIT 1 0 7 Updated Jan 9, 2025
  • monaco Public

    Configure Monaco editor to use cucumber-language-service

    cucumber/monaco’s past year of commit activity
    TypeScript 16 MIT 4 1 3 Updated Jan 9, 2025
  • gherkin Public

    A parser and compiler for the Gherkin language.

    cucumber/gherkin’s past year of commit activity
    C 198 MIT 68 45 18 Updated Jan 9, 2025