cucumber-ruby-core
Core library for the Ruby flavour of Cucumber
Cucumber core is the engine behind Ruby acceptance tests
cucumber-core is the Ruby gem that holds the domain logic for executing Cucumber features, with no user interface of its own.
What the library is
Cucumber is a tool for running automated tests written in plain language. Because the tests are written in plain language, anyone on the team can read them, and the README argues that readable tests improve communication, collaboration, and trust. Cucumber Core is the inner hexagon for the Ruby flavour of Cucumber. It contains the core domain logic needed to execute Cucumber features and has no user interface, just a Ruby API. If you want to understand how Cucumber works internally, or if you are building other tools that operate on Gherkin documents, this gem is the layer you use. The project links to the hexagonal architecture pattern to explain why the core is separated from the outside world. Keeping the engine free of UI means the same logic can be driven by a command line, a plugin, or a custom harness without duplication. Contributors are pointed to CONTRIBUTING.md for issues and pull requests, and everyone in the codebase is expected to follow the Cucumber code of conduct. The README also carries a Stand With Ukraine badge and OpenCollective backing, which tells you the project is community funded and socially engaged. For someone learning the tool, the core gem is where the abstraction between plain-language features and execution is made explicit.
Installing and supported platforms
cucumber-core is a Ruby gem, so you install it the usual way. The README shows adding cucumber-core to your Gemfile and running bundle, or installing the gem directly with the gem install command. That is the whole setup for using the library as a dependency. Supported platforms are detailed in the main cucumber-ruby repository rather than repeated here, and the README links there so you can confirm your Ruby version and operating system are covered. The gem targets people who already work in the Ruby ecosystem and want the execution engine without the full Cucumber front end. Because it ships as a normal gem, it fits into existing Bundler workflows and CI without special handling. The badges in the README show active testing and code-climate tracking, which is a reasonable signal that the core stays maintained alongside the broader Cucumber project. The copyright and license sections confirm the MIT license. For library authors the value is that you depend only on the engine, not on the CLI or the reporting layer, so your tool stays small. That is the point of publishing the core as its own gem instead of burying it inside the larger distribution. Pinning the version in your Gemfile keeps the engine behavior stable across every machine your team uses.
Using the API
The usage section gives an example meant to show how the cucumber-core gem works and to confirm it runs in your environment. The snippet is a cucumber_core_example.rb file that drives the core API directly rather than through the CLI. The point is to illustrate the public surface: you feed Gherkin-style features into the core and let it execute them, then observe results through your own code. For most users the higher-level Cucumber tools are the right entry point, but the core is where the real work happens. Building on it makes sense if you are writing a formatter, a runner, or an integration that the standard tooling does not cover. The README keeps this part brief and refers you to the broader Cucumber documentation for deeper explanation. It also notes that the core has no user interface, so any output you want must be produced by code you write on top of the API. The example exists mainly to prove the gem loads and runs in your setup before you build anything serious. The copyright and license sections confirm the MIT license, so the gem is safe to depend on in closed or open source Ruby projects alike, which removes a common worry when choosing a test dependency. Pinning the version in your Gemfile keeps the engine stable across teammates. The gem is small enough to vendor if your policy forbids external fetches during builds.
Editorial conclusion
cucumber-core is published under the MIT license and installs as the cucumber-core Ruby gem.
Community notes