Thank you for considering contributing to Middleware! We welcome contributions from everyone.
Before submitting a pull request, please check the issue tracker to see if there are any existing issues or feature requests that you can help with. If you find an issue you'd like to work on, please leave a comment to let others know you're working on it to avoid duplicate efforts.
If you encounter a bug or have a feature request that's not already listed, please create a new issue and provide as much detail as possible.
We use pull requests for code contributions. To submit a pull request:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with clear and concise messages. Refer Making Commits
- Push your changes to your fork.
- Submit a pull request to the main repository, detailing the changes you've made and referencing any relevant issues.
Please follow the existing code style and conventions used in the project. If you're unsure, feel free to ask for clarification in the pull request or issue comments. For linting and all refer Making Commits
-
Pre-commit should be installed as a dev dependency already. If not then Create a virual environment venv or pyenv and run the following command from project root dir:
pip install -r backend/dev-requirements.txt --upgrade
Also install the eslint for both
cli/
andwebserver/
. Please use node 22 for that NOTE: If NVM is not installed, install using nvmnvm install 22 nvm use 22
cd cli yarn add eslint@^8.40.0 eslint-plugin-import@^2.29.0 eslint-plugin-prettier@^5.0.1 eslint-plugin-react@^7.29.4 eslint-plugin-unused-imports@^3.0.0 --dev
cd web-server yarn add eslint@^8.40.0 [email protected] eslint-plugin-import@^2.29.0 eslint-plugin-prettier@^5.0.1 eslint-plugin-react@^7.29.4 eslint-plugin-unused-imports@^3.0.0 --dev
Then install it:
pre-commit install
-
Then after adding the changes to staging, commit it normally. You will observe pre-commit hooks running.
NOTE: The pre-commit hooks modifies the files and you have to again add the modified changes to staging and then commit
-
You can run the pre-commit without committing anything as
pre-commit run --all-files
or
pre-commit run --files [path/to/file]
We use the following labels to categorize and prioritize issues:
bug
: Indicates that the issue reports a bug in the current implementation.feature
: Indicates that the issue requests a new feature or enhancement.documentation
: Indicates that the issue involves updating or adding documentation.help wanted
: Indicates that the issue is open for contributions and help from the community.good first issue
: Indicates that the issue is suitable for newcomers to the project.priority
: high/medium/low: Indicates the priority level of the issue.discussion
: Indicates that the issue is open for discussion and feedback.
If you're creating a new issue, please apply the appropriate labels to help us better organize and address it.
We appreciate feedback and suggestions for improving DORA Metrics. If you have any ideas or comments, please don't hesitate to share them with us in the issue tracker or discussions section.
Thank you for contributing to DORA Metrics! 🚀