Skip to content

Latest commit

 

History

History
206 lines (106 loc) · 16.8 KB

CONTRIBUTING.md

File metadata and controls

206 lines (106 loc) · 16.8 KB

Contribution guidelines

(Français)

Welcome

We’re glad you’re thinking about contributing to the GC Design System. Your contribution helps make the Design System better for the next team that uses it.

Code of conduct

GC Design System is committed to building a safe, welcoming, harassment-free culture for everyone. Refer to our code of conduct when contributing and engaging with the community.

How you can contribute

Getting started

Anyone can contribute to GC Design System. Whether it's submitting a bug, helping us with our “next priorities” or making requests, we welcome your ideas on how to improve GC Design System.

First-time contributor? We’re here to help guide you through a successful contribution. We review all contributions before merging them into the GC Design System. Beyond pull requests, we’ve also created forms to ease with the submission of feature requests, contributions, and reporting bugs. If you’re unsure about anything, don’t hesitate to Contact us.

Submitting contributions to “next priorities”

In the Get Involved page of our site, we'll be posting about our “next priorities”. These will typically be the components or patterns that we’ve identified as priorities in our roadmap to work on next. Before developing them, we want to ensure that the community has an opportunity to submit contributions that can accelerate and inform design and delivery.

The types of contributions we'll be looking for:

  • examples of designs: screenshots, prototypes, links to live services
  • research findings: tell or show us your discovery, your use case, or how your relevant prototype or service has been tested with people using the service
  • code: prototype code or production code; share your implementations of the relevant component or pattern in services

Submit these contributions directly in Github. Include all relevant documents or links in your submission. A GC Design System core team member may reach out to you to learn more about your submission.

Note: We are not currently accepting contributions related to new components, patterns, or features that are not identified in our “next priorities”. Our team is developing our roadmap based on components and patterns that most GC teams can use. Each component requires carefully constructed design, documentation, and code that follows the consistency and standards of the GC Design System and that are backed by research. Please follow our mailing list and “Get Involved” page to learn more about opportunities to collaborate and contribute.

Volunteer as a research participant for GC Design System

We're always looking for new volunteers to help us continue to iterate and improve GC Design System. Contact us to sign up for usability and accessibility testing. You'll be added to our volunteer list and a GC Design System team member will reach out with opportunities to participate.

Submitting bugs and issues

If something is not working the way it's supposed to, we invite you to identify bugs and issues directly via GitHub.

1. Double check that your bug or issue is not already in queue

First, check our issues backlog to check if your bug has already been reported.

If your bug has already been reported, leave a comment in the original issue and provide any additional context (if different than the original submission). This helps us better understand the issue and its impact.

2. Complete the form

3. Submit the issue

A GC Design System core team member may reach out to you if we need further clarification or context. We may also need your help testing possible solutions. Be sure to check in on your issue to answer any questions we may have about it.

If you have a code fix for the issue, go ahead and submit a pull request. Our team tracks issues, so make sure any pull request you submit has a related issue.

Submitting pull requests

Feel free to propose changes by creating pull requests. If you don't have write access, editing a file will create a fork of this project for you to save your proposed changes to. Submitting a change to a file will write it to a new branch in your fork, to send your pull request. Read more about forking a repo or linking pull requests on GitHub.

Creating a Github account

If this is your first time using Github - follow these instructions to create your account.

Github is our preferred channel for contributions. However, if you are having any difficulties or prefer to submit a contribution via a different channel, submit via our Contact us page.

Security

Do not post any security issues on the public repository! See SECURITY.md

How we prioritize

We prioritize issues that affect accessibility. Beyond that, once you’ve submitted a contribution, we'll triage it based on the following considerations:

  1. Size: Can we accomplish this in a sprint or will this take longer?
  2. Severity: What type of functionality is impacted? Is there a workaround?
  3. Priority: Does this align with our vision and roadmap goals?

These considerations help us decide if and when we can work on the issue.

You can stay up-to-date on the status of your contributions through the assigned labels on the issue.

Common terms

There can be a lot of technical language when discussing how you can contribute to the Design System. We’ve included some common terms we use below.

Backlog – A list of deliverables (like a feature request, enhancement, or bug) that should be implemented into upcoming product development.

Bug – A problem resulting in something not working properly or as expected.

Contribution – When a community member gives back in a way that enhances the Design System by contributing to our “next priorities” or helping to fix bugs or issues. that’s released through the system for other people to use.

Feature request – A proposal for something new to be included to the Design System.

Fork – A copy of a repository that you manage.

Pull request – A way to notify project team members when a contributor/developer wants to merge new code changes into a main project repository. You can read more on GitHub.

Repository (aka repo) – On Github, a repository contains all your projects’ files and each of their revisions. You can read more on GitHub.

Roadmap – A summary that outlines a product’s goals, priorities, and progress over a period of time.


Lignes directrices sur les contributions

Bienvenue!

C’est un plaisir de savoir que vous envisagez de contribuer à Système de design GC. Votre participation permet d’améliorer le système de design pour la prochaine équipe qui l’utilisera.

Code de conduite

Système de design GC s’engage à créer une culture sans harcèlement où règnent sécurité et bienveillance. Reportez-vous à notre code de conduite lorsque vous soumettez une contribution et échangez avec la communauté.

Comment contribuer

Pour commencer

Tout le monde peut contribuer à Système de design GC. Qu’il s’agisse de signaler un bogue, de nous aider vis-à-vis de nos « prochaines priorités » ou de faire des demandes, nous accueillons vos idées sur la façon d’améliorer Système de design GC.

Vous contribuez pour la première fois? Nous sommes là pour vous guider dans la réussite de votre contribution. Nous examinons toutes les contributions avant de les fusionner dans Système de design GC. En plus de faire des demandes de tirage (pull requests), vous pouvez utiliser les formulaires que nous avons créés pour faciliter la soumission des demandes de fonctionnalités, des contributions et des rapports de bogue. Si vous doutez de la manière de vous y prendre, n’hésitez pas à nous contacter.

Contribuer aux « prochaines priorités »

Nous publions la nature de nos « prochaines priorités » dans la page « S’impliquer » de notre site Web. Il s’agit généralement des composants ou des modèles que nous avons marqués comme prioritaires dans notre feuille de route. Avant de les développer, nous voulons nous assurer que la communauté a la possibilité de soumettre des contributions qui peuvent en accélérer et en éclairer la conception et la mise en œuvre.

Voici les types de contribution que nous recherchons :

  • Exemples de designs : captures d’écran, prototypes, liens vers des services en ligne.
  • Résultats de recherche : description ou présentation de votre recherche exploratoire, de votre cas d’utilisation ou de la façon dont votre prototype ou service a été testé auprès de personnes.
  • Code : code de prototype ou de production; implémentations du composant ou du modèle en question au sein de services.

Soumettez ces contributions directement dans Github. Incluez tout document ou lien pertinent dans votre soumission. Un membre de l’équipe principale de Système de design GC pourrait communiquer avec vous pour en savoir plus sur votre soumission.

Remarque : À l’heure actuelle, nous n’acceptons pas de contributions liées à de nouveaux composants, modèles ou fonctionnalités qui ne sont pas répertoriés dans nos « prochaines priorités ». Notre équipe élabore notre feuille de route en fonction des composants et des modèles que la plupart des équipes du GC peuvent utiliser. Pour chaque composant, il faut une conception, une documentation et un code soigneusement élaborés qui respectent la cohérence et les normes de Système de design GC et qui sont étayés par des travaux de recherche. Inscrivez-vous à notre liste d’envoi ou suivez notre page « S’impliquer » pour en savoir plus sur les possibilités de collaboration et de contribution.

Se porter volontaire pour participer à nos études

Nous sommes toujours à la recherche de nouvelles personnes pour nous aider à continuer d’itérer et d’améliorer Système de design GC. Contactez-nous pour vous inscrire aux tests d’utilisabilité et d’accessibilité. Vous faites désormais partie de notre liste de volontaires. Un membre de l’équipe de Système de design GC vous contactera lorsqu’une occasion de participer se présentera.

Rapporter des bogues et des problèmes

Si quelque chose ne fonctionne pas comme prévu, nous vous invitons à rapporter les bogues et les problèmes directement dans GitHub.

1. Vérifiez que votre bogue ou problème n’a pas déjà été signalé

Tout d’abord, consultez notre carnet de problèmes (issues) pour vérifier si votre bogue a déjà été signalé.

S’il a déjà été signalé, laissez un commentaire dans le ticket d’origine et fournissez tout contexte supplémentaire (s’il diffère de celui déjà soumis). Cela nous aide à mieux comprendre le problème et ses répercussions.

2. Remplissez le formulaire

3. Soumettez le problème

Un membre de l’équipe de base de Système de design GC pourrait communiquer avec vous si nous avons besoin de précisions ou de contexte. Nous pourrions également avoir besoin de votre aide pour tester des solutions possibles. N’oubliez pas de revenir à votre ticket de temps en temps pour répondre à toute question que nous pourrions avoir à son sujet.

Si vous disposez d’un correctif de code pour le problème, n’hésitez pas à soumettre une demande de tirage (pull request). Notre équipe fait le suivi des problèmes signalés (issues), alors assurez-vous de lier toute demande de tirage à l’un d’eux.

Soumettre une demande de tirage (pull request)

N’hésitez pas à proposer des modifications en créant une demande de tirage (pull request). Si vous n’avez pas d’autorisation d’accès en écriture, la modification d’un fichier créera une duplication (fork) de ce projet dans laquelle vous pourrez enregistrer les modifications proposées. Quand vous ferez une modification à un fichier, celle-ci sera enregistrée dans une nouvelle branche de votre duplication pour la soumission de votre demande de tirage. Vous pouvez vous informer davantage sur la duplication d’un référentiel ou la liaison de demandes de tirage dans GitHub.

Créer un compte GitHub

Si c’est la première fois que vous utilisez GitHub, suivez ces instructions pour créer votre compte.

GitHub est le canal que nous préférons pour les contributions. Cependant, si vous rencontrez des difficultés ou préférez soumettre une contribution via un autre canal, utilisez notre page Contactez-nous.

Sécurité

Ne publiez aucun problème de sécurité sur le dépôt publique! Voir SECURITY.md

Comment nous établissons nos priorités

Nous donnons la priorité aux problèmes d’accessibilité. Au-delà de cela, une fois que vous aurez soumis une contribution, nous la trierons en fonction des questions suivantes :

  1. Ampleur : Est-ce réalisable en un sprint ou cela prendra-t-il plus de temps?
  2. Gravité : Quel type de fonctionnalité est affecté? Existe-t-il une solution de contournement?
  3. Priorité : Cela correspond-il à notre vision et aux objectifs de notre feuille de route?

Ces questions nous aident à décider si et quand nous pouvons travailler sur le problème en question.

Vous pouvez rester au courant de l’état de vos contributions grâce aux étiquettes attribuées au ticket.

Termes courants

Il peut y avoir beaucoup de termes techniques lorsqu’on parle des façons de contribuer au système de design. Voici certains termes courants que nous utilisons.

Carnet de tâches (backlog) : une liste de livrables (p. ex., une demande de fonctionnalité, une amélioration, un bogue) qui doivent être prochainement intégrés dans le développement du produit.

Bogue : un problème entraînant un défaut de fonctionnement.

Contribution : la participation d’une membre ou d’un membre de la communauté à nos « prochaines priorités » ou à la résolution d’un bogue ou d’un problème qui a pour effet d’améliorer le système de design.

Demande de fonctionnalité : la suggestion d’un élément nouveau à ajouter au système de design.

Duplication : une copie (que vous gérez) d’un référentiel.

Demande de tirage : un moyen d’indiquer aux membres d’équipe du projet qu’une personne contributrice/développeuse souhaite fusionner de nouvelles modifications de code dans le référentiel principal du projet. Vous pouvez vous renseigner davantage sur ce sujet sur GitHub (lien externe).

Référentiel : sur GitHub, un référentiel (parfois appelé « dépôt ») contient tous les fichiers de vos projets et chacune de leurs révisions. Vous pouvez vous renseigner davantage sur ce sujet sur GitHub (lien externe).

Feuille de route : un résumé des objectifs, des priorités et des progrès d’un produit sur une période donnée.