Source Code

Thucydides on GitHub

Access the source code for the Thucydides / Serenity BDD reporting library, follow ongoing development, and join the community shaping automated acceptance criteria.

Abstract soft gradient composition in deep navy fading to warm amber, evoking a calm developer-focused atmosphere

What you'll find in the repository

The GitHub project hosts the open-source reporting engine behind Thucydides and Serenity BDD. It's the canonical place to read the code, study examples, and understand how the library generates its living documentation.

Source code

Browse the implementation that powers BDD-style automated acceptance criteria and rich reporting.

Community contributions

Pull requests, forks, and discussions from developers extending and integrating the project.

Open source libraries thrive when their source code is easy to explore, and the project repository for Thucydides and Serenity BDD is designed with that in mind. Visitors can browse the implementation behind the reporting engine, follow along with ongoing development, and gain insight into how living documentation is generated from automated acceptance tests. A clean structure and consistent conventions make it approachable for newcomers who want to learn how BDD-style reporting is built, while still offering depth for experienced contributors looking to extend behavior, refine output, or study the internals that power the wider framework used by teams practicing automated acceptance testing.

A well organized repository reflects a well organized testing philosophy. Within the project, code is grouped by responsibility, separating the reporting engine from the supporting utilities and integration points that allow it to work alongside popular BDD tools. This layout encourages readers to trace how a scenario flows from a feature file through the reporting layers and into the final documentation, reinforcing the idea that automated acceptance criteria are most valuable when their results can be read clearly. Studying the structure is itself a lesson in how thoughtful architecture can make test outcomes meaningful for developers, testers, and stakeholders alike.

Community involvement is central to the project's continued evolution. Contributors are invited to examine issues, suggest improvements, and propose fixes that sharpen the library's reporting capabilities and broaden its integrations with tools like JUnit, JBehave, and Cucumber. Newcomers can start by reading documentation, exploring example projects, and identifying small enhancements that match their interests, while more seasoned users can shape larger features that influence how requirements, epics, and release notes are visualized. The shared goal is to keep the reporting experience aligned with the real needs of teams practicing behavior driven development across diverse environments and configurations.

Browsing the repository is also a chance to understand the design choices that distinguish this reporting approach from conventional test outputs. The code reflects principles such as rich narrative reports, screenshot support, and living documentation built directly from the tests themselves, offering a model worth studying for anyone interested in automated acceptance testing. Whether the goal is to contribute a fix, experiment with custom reporting, or simply learn how the framework is wired together, the repository serves as both a reference and a welcoming entry point for those who want to deepen their engagement with behavior driven development.

Issue tracking

File bugs, request features, and follow fixes across released and in-development versions.

Project repository

Use the link below to open the repository directly on GitHub.

serenity-bdd / serenity-core
The open-source library for writing more effective BDD-style automated acceptance criteria, generating richer test reports and living documentation.

Want the broader context?

Read the background on how Thucydides evolved into Serenity BDD, or jump into a hands-on guide.