When it comes to open source, there are different ways you can contribute, all of which are valuable.
- Tell us when something is wrong
- Add or modify a component and its criteria
- Add tests to the library
- Suggest a missing library or library version
- Suggest new features
- Improve the code
Prerequisites
Before you can start contributing to our project, you should have the following:
- A GitHub account
- Basic understanding of Project Cactus and its purpose
- An understanding for the current challenges in supporting accessibility in the web
- Knowledge of Git and GitHub is benefical or required
Guideline
First check the existing issues for compliance. Because it's possible the is already a ongoing discussion or someone else is already working on something similar. If you didn't find something suitable, create a new issue describing what you want to change.
We can't get everything right. And let's be honest, this project represents a huge amount of work by a lot of people. We are human and we make mistakes. But in order for us to fix those mistakes, we must first know about them. Please create an issue to bring something to our attention.
When creating an issue, please be as detailed as you can.
-
Create an issue and discuss your topic
-
Fork the repository
-
Clone the forked repository
-
Create a new branch in the forked repository
-
Make changes
- Add or edit the appropriate yaml file in the folder
backend/src/components/
- The file structure is as follows
component: Accordion alternativeComponentNames: Disclosure description: An accordion is a ... imageUrl: /accordion.png testModes: - testMode: Screenreader criteria: - _id: 1 text: Any hidden text ...
- Add or edit the appropriate yaml file in the folder
-
Commit the changes
-
Push changes to your forked repository
-
Create a pull request
-
Wait for review and feedback
-
Merge changes
If you need further instructions, the process is more detailed described in this manual of GitHub
For a new component, it's required to add a suitable component icon in the folder frontend/public/
If you are interested to update the cactus score of a library, you have to do some tests on the website
New libraries can be added on the library overview page, a new version in the library detail page.
Open an issue and describe what function you would like to see on cactus.
The following steps will get you setup to contribute changes to this repo:
- Open an issue and describe your plan to get feedback
- Fork this repository.
- Clone your forked repo:
git clone [email protected]:{your_username}/cactus.git
- Run
npm install
to install dependencies. - Start Coding
Tests
The Cactus project uses Jest for testing. After implementing your contribution, write tests for it. Just create a new test file in the same folder like the changed file or add additional tests to the appropriate existing file.
Before submitting your pull request, run npm test
to make sure there are no (unintended) breaking changes.
By contributing your code to the Cactus GitHub repository, you agree to license your contribution under the MIT license.