Codefair
Codefair automates the process of making your research software FAIR, so you can focus on innovation instead of administration.
What is Codefair?
Codefair is a free and open-source GitHub app that integrates with your GitHub repositories to monitor key activities, generate key metadata files and automatically generate pull requests for compliance. It is design to help make your research software FAIR by checking for compliance with the FAIR4RS principles.



What is a GitHub App?
GitHub Apps are integrations you install on GitHub that act like independent user's with their own, tightly controlled permissions. Once added to one or more repositories (or an entire organization), they listen for events (such as code pushes, pull requests or issue creations) and automatically perform configured tasks. If you’ve used GitHub Actions to write individual workflows (for example, running tests or deploying code) in each repo, think of a GitHub App as a single appliance you install once that applies those automations across all your projects without needing separate workflow files.


How Codefair works
Codefair gets you up and running in seconds and creates a “Dashboard” issue in each repo you connect. From that moment on, it quietly provides feedback on the FAIR Compliance status of your repository through GitHub Issues. Behind the scenes, Codefair monitors your repositories for changes and allows you know create/update your metadata files easily through our web interface. If you'd rather not dig through GitHub, our web dashboard shows the FAIR Compliance of all your projects at a glance and when you're ready to release, Codefair walks you creating a release while also depositing into Zenodo. We handle Zenodo metadata, archiving, and giving your research a FAIR release so you can stay focused on your science.

How is Codefair developed?
Codefair is developed using Probot and is deployed on our own servers. The GitHub app is configured to receive webhooks for important actions such as pushing code, opening or closing issues, opening or merging pull requests, and commenting on discussions. The app is written in Node.js and utilizes the Octokit Library to interact with the GitHub API, enabling seamless integration with GitHub's features and functionality. Zenodo Archival, metadata generation, and pull request creation are all handled by the app.
Who should use Codefair?
Currently, Codefair helps make software FAIR by following the FAIR Biomedical Research Software (FAIR-BioRS) guidelines. However, most of the steps in the FAIR-BioRS guidelines are applicable to any research software, regardless of the field. This means that anyone developing research software can use Codefair. Whether you are developing artificial intelligence (AI)/machine learning (ML) models with Python, data visualization tools with Jupyter Notebook, or data analysis code with R, Codefair is here to assist you.
