GO Feature Flag

A simple and complete feature flag solution, without any complex backend system to install, all you need is a file as your backend. 🎛️

Readme

Last 30 days:

8
Open issues
14
PRs opened
3
Contributors

Project type

Tools

Project tech

Go

Currently seeking

  • Maintainers

Contribution overview

Most contributors are in Paris, France

Overview

A simple and complete feature flag solution, without any complex backend system to install, all you need is a file as your backend.

No server is needed, just add a file to your central system and all your services will react to the changes in this file.

Contributing

Contributing

When contributing to this repository, please first discuss the change you wish to make via an issue.
Please note we have a code of conduct, please follow it in all your interactions with the project.

Pull Request Process

  1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  2. Please mention the issue in your PR description.
  3. Expect to be taken seriously, if there are some feedbacks, feel free to discuss about it, your opinion can be better than mine.

Coding standards

A library is easier to use, and easier for contributors to work on if it has a consistent, unified style, approach, and layout.

We are using pre-commit to lint before each commit, I would recommend you to use it.

pre-commit install

Tests

Every feature or bug should come with an associate test to keep the coverage as high as possible.

Documentation

We are maintaining 2 documentations:

  • README.md which contains everything you need to know to start working with the module.
  • go-feature-flag website which is the full detail documentation of the module.

If your contribution has impact on the documentation, please check both version.

How to run the documentation website locally

For the documentation website we are using mkdocs with the "Material for MkDocs" theme.
To run it locally just use the docker image:

docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material

The website will be available on http://localhost:8000/

Sonar

Sonarcloud is used in the project, it will comment your PR to give you feedback on your code.

Continuous integration

We have a list of steps on each PR.
The CI is running:

  • Tests
  • Coverage
  • Code quality

With this CI you will have feedbacks on your PR after opening your PR. Please review it if it fails.

Project listed on October 13, 2022