Skip to main content

Contributing to Replay

Thanks for your interest in contributing!

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork
  3. Run make deps to install dependencies
  4. Run make build to verify the build

Development Workflow

  • Create a feature branch from main
  • Write tests for new functionality
  • Run make test and make vet before submitting
  • Keep commits small and focused
  • Use conventional commit messages (feat:, fix:, chore:, docs:)

Running Tests

Running Examples Locally

Start the required services:
Then run the workflows:

Code Style

  • Follow standard Go conventions (gofmt, go vet, staticcheck)
  • Avoid external dependencies where possible
  • Public API changes should be discussed in an issue first
  • Keep the YAML DSL backward-compatible — prefer additive changes

Pull Request Process

  1. Update documentation if needed
  2. Ensure CI passes (lint, vet, build, test)
  3. Request a review
  4. Squash commits on merge

Areas for Contribution

  • New step types — gRPC, GraphQL, message queue consumers
  • Assertion operators — regex, custom functions
  • Output formats — JUnit XML, JSON report
  • Integrations — Slack notifications, Jira issue creation
  • Plugins — Replay’s architecture supports a plugin system
  • Documentation — More examples, tutorials, video walkthroughs

Reporting Issues

Open an issue with:
  • A clear description of the problem
  • Steps to reproduce (include the workflow YAML)
  • Expected vs actual behaviour
  • Go version and OS