Note
This project is sponsored by the Open Source project Flagsmith https://github.com/Flagsmith/flagsmith
Feature flags have so many benefits, remote config, testing in production and so much more!
How friendly is your GitHub Open Source Repo? This project will check to make sure you are using Best Practices to attract more users, contributors and Stars, as well as suggest steps as to how you can improve the Repo to achieve this.
- GitHub OAuth
- Integration with Flagsmith
- Add GitHub repo URL
- List of checks and show detailed report
- Badges to show latest status in project's README
- ...
- Login with your GitHub (only public info required)
- Add GitHub repo URL
- Run HealthCheck against repo and view the report (if you have permissions on the repo, you will see more statistics)
- Add a HealthCheck badge to your project
Caution
Node v21+ is required
-
Clone this GitHub Repo
-
Install the dependencies with
npm ci -
Copy
.env.exampleto.env(you will need an environment key from Flagsmith, this is shown later on) -
Create a free account on Flagsmith https://www.flagsmith.com (you can also sign in with GitHub)
-
Create an Organisation and Project
-
Create the Feature Flags with these steps
a. Create the feature
taglineby clickingCreate Featureb. Fill in the Feature Flag form with these details and click
Create Featurec. (OPTIONAL) Import the flags to your Flagsmith account using the file
src/config/flagsmith.json(note this will be per environment, for exampledevelopment) -
Flagsmith keys
a. Get your environment client-side key from Flagsmith and add to
.envfileb. Also create your environment server-side key from Flagsmith and add to
.envfile -
To be able to log in using GitHub OAuth
a. create a GitHub OAuth app on GitHub https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app
b. In your GitHub OAuth app, GitHub will generate the
client idandclient secret, add these to your the.envfile -
Run the project with one of these
a. If you have Postgres installed, you can run the app locally
npm run devORb. Running with Docker Compose (Recommended if you don't have Postgres installed)
- Once you done above steps and have the
.envfile ready - Run the command
docker compose up -d - Once the containers are ready, run the command
npm run db:migrate:dev - Visit
http://localhost:3000in your browser
c. Running in Github Codespaces
- Start a new codespace
- Run
npm ciandnpm run dev - When the project is running in the browser visit this and copy the generated URL. You will use this URL in place of localhost in step 8 above for creating your OAuth app
- Update the environment file with your client id and secret. Make sure to also update the
NEXTAUTH_URL=to the generated codespace URL as well. - Continue with step
9bto run the docker container and database migration.
- Once you done above steps and have the





