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.

*This is a donation. No goods or services are expected in return. Any requests for refunds for those purposes will be rejected.

Backers

Thanks to all these individuals who have backed this project.

*This is a donation. No goods or services are expected in return. Any requests for refunds for those purposes will be rejected.

Pinned Loading

  1. cucumber-jvm Public

    Cucumber for the JVM

    Java 2.7k 2k

  2. cucumber-js Public

    Cucumber for JavaScript

    TypeScript 5.1k 1.1k

  3. cucumber-ruby Public

    Cucumber for Ruby. It's amazing!

    Ruby 5.2k 1.1k

  4. godog Public

    Cucumber for golang

    Go 2.4k 256

  5. website Public

    The website for Cucumber

    MDX 5 5

  6. common Public

    A home for issues that are common to multiple cucumber repositories

    3.4k 688

Repositories

Showing 10 of 122 repositories
  • language-service Public

    Cucumber Language Service

    TypeScript 21 MIT 31 19 11 Updated Mar 4, 2025
  • Java 2 MIT 0 0 3 Updated Mar 4, 2025
  • cucumber-json-converter Public

    Parse Cucumber JSON from most Cucumber implementations and versions

    TypeScript 6 MIT 9 0 1 Updated Mar 4, 2025
  • screenplay.js.examples Public

    Examples using @cucumber/screenplay

    TypeScript 7 MIT 1 0 7 Updated Mar 4, 2025
  • try-cucumber-expressions Public

    Try Cucumber Expressions in your browser

    TypeScript 3 MIT 3 0 1 Updated Mar 4, 2025
  • screenplay.js Public

    Library to ease implementation of the Screenplay pattern with CucumberJS

    TypeScript 57 MIT 8 1 4 Updated Mar 4, 2025
  • tag-expressions Public

    Cucumber tag expression parser

    Python 13 MIT 8 1 3 Updated Mar 4, 2025
  • gherkin-utils Public

    API for working with Gherkin documents

    TypeScript 13 MIT 5 5 4 Updated Mar 4, 2025
  • cucumber-expressions Public

    Human friendly alternative to Regular Expressions

    Java 167 MIT 52 20 (4 issues need help) 3 Updated Mar 4, 2025
  • cucumber-jvm-scala Public

    Cucumber Scala

    Scala 48 MIT 29 6 (1 issue needs help) 1 Updated Mar 4, 2025