Un nouveau projet doit minimalement contenir :
- Un fichier README.md principal qui décrit le projet et qui contient :
- Les auteurs du projet et leurs coordonnées (GitHub)
- Une description courte
- Un lien vers:
- Les instructions de compilation
- Les instructions d'installation
- Les exemples d'utilisation
- La documentation
- Les publications importantes
- Site Web
- Articles scientifiques
- Vidéos YouTube
- Remerciements
- Un logo du laboratoire / compagnie / organisation et lien Internet
- Un fichier LICENSE qui mentionne clairement la license des fichiers sources.
- Ex: GPLv3, BSD 3 clauses, etc.
- Une description sommaire pour facilier la recherche (administratinon du projet GitHub)
- Les mots clés du projet (administratinon du projet GitHub)
- Les "workflows" pour l'intégration continue
- Une organisation adéquate des répertoires (selon le type projet) et une explication de l'organisation.
- Utilisation de CMake comme "build system"
- Style de code uniforme. Ex: Google
- Utilisation des standards modernes C++11/14/20
- Tests avec GoogleTest
- Distribution par release / installateur (si possible)