Skip to content

fairdataihub/codefair-app

logo

Codefair

Your coding assistant to make research software reusable without breaking a sweat!


Get the app »

Learn more »

contributors stars open issues license Zenodo DOI Software Heritage archive


About

Codefair is an open-source platform that acts as your personal assistant for making research software FAIR (Findable, Accessible, Interoperable, and Reusable), as defined by the FAIR Principles for Research Software. 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. It currently integrates with GitHub through a dedicated GitHub App, which evaluates your repository and opens a persistent issue called the FAIR Compliance Dashboard. This dashboard shows point-by-point how your software meets FAIR requirements and what's still missing. It updates automatically on every push to the main branch, so compliance becomes an ongoing, incremental process rather than a one-time checklist. For each gap, an action button links to codefair.io, where simple interfaces backed by automation help you resolve it, often ending with Codefair submitting a pull request on your behalf. Support for GitLab and other platforms is planned in the future. We provide more details on the platform's website at codefair.io.

Screenshot of a GitHub issue opened by Codefair

Screenshot of a GitHub issue, called the FAIR Compliance Dashboard, opened by Codefair

Getting started

1. Install the app

Install the Codefair GitHub app from the GitHub marketplace on the GitHub organizations or repositories of your choice.

Note

While Codefair is free, installing it via the GitHub Marketplace may still require a credit card to be associated with your (or your organization’s) GitHub account. To circumvent this requirement, you can alternatively install Codefair directly from the app page.

2. Code as usual

Codefair runs in the background, so no change to your workflow is required. You can keep coding as usual.

3. Track FAIR compliance issues through the Codefair issue dashboard

After installation (and on each subsequent push), Codefair opens or updates an issue in your repository summarising its FAIR compliance status. Check the issue from time to time and click the links in the issue to visit codefair.io for resolving any outstanding items. Codefair will typically submit a pull request with the fix once you are done.

Documentation

See our dedicated webpage for full details on what permissions are used and the features Codefair provides.


For Contributors

Contributing

Contributions are always welcome!

If you are interested in reporting/fixing issues and contributing directly to the code base, please see CONTRIBUTING.md for more information on what we're looking for and how to get started.

Run the GitHub app locally

For detailed instructions on setting up and running the application locally, please refer to our documentation site.

How Codefair is developed

Codefair is developed using Octokit and Nuxt, and is deployed on a virtual machine hosted on Azure. 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. These events drive Codefair's automated workflows, enabling seamless integration with GitHub's features and functionality.

We archive major releases on Zenodo (minor updates are not archived to keep the workflow streamlined and prevent overloading Zenodo with similar code).

Codefair Live Status

View the live status of Codefair at status.codefair.io.


Issues and Feedback

To report any issues with the software, suggest improvements, or request a new feature, please open a new issue via the Issues tab. Alternatively, you can also use our contact form. Provide adequate information (operating system, steps leading to the error, etc.) so we can help you efficiently.

License

This work is licensed under MIT. See LICENSE for more information.

How to cite

If you are using this package or reusing the source code from this repository for any purpose, please cite the corresponding Zenodo record. If you are using the latest version, you can see the citation instruction in the GitHub Citation panel or in the CITATION.cff file. You can also find the citation instruction on the Zenodo page https://doi.org/10.5281/zenodo.13376616 (especially if you would like to cite an older version).




About

Your coding assistant to make research software reusable without breaking a sweat!

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors