## Description Currently, our repository is prone to any dev pushing secrets to the repository by mistake. This can become a major problem very quickly and in the case of services like AWS, an alarm is raised and the key is deactivated causing apps using the key to break. After this PR is merged, people will need to have [git secrets](https://github.com/awslabs/git-secrets) installed in their systems and have to register the AWS secrets to the repo. The setup instructions have been mentioned [here](https://www.notion.so/appsmith/Getting-Started-e81ccc35463343b28e09c200cdbe5f42#c3183e8e6e404701920dd288b8506360) Notes: 1. right now, since we are using the pre-commit hooks using husky, the hooks work when we have done yarn install. 2. Also, the scan only checks the directory we are in while making the change or raising the PR. This is because it uses `git ls-files` to get the list of files to scan. 3. If someone doesn't run `git-secrets --register-aws`, the tests will pass automatically since there is no regex registered with the system to scan against. Fixes #15042 ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist: - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes
2.9 KiB
Contributing code
Getting Started
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests. Before raising a pull request, ensure you have raised a corresponding issue and discussed a possible solution with a maintainer. This gives your pull request the highest chance of getting merged quickly.
Good First Issues
Looking for issues to contribute? Good First Issues is a great place to begin your contribution journey with Appsmith!
🍴 Git Workflow
We use Github Flow, so all code changes happen through pull requests.
- Fork the repo and create a new branch from the
releasebranch. - Branches are named as
fix/fix-nameorfeature/feature-name - Please add tests for your changes. Client-side changes require Cypress/Jest tests while server-side changes require JUnit tests.
- Once you are confident in your code changes, create a pull request in your fork to the release branch in the appsmithorg/appsmith base repository.
- If you've changed any APIs, please call this out in the pull request and ensure backward compatibility.
- Link the issue of the base repository in your Pull request description. Guide
- When you raise a pull request, we automatically run tests on our CI. Please ensure that all the tests are passing for your code change. We will not be able to accept your change if the test suite doesn't pass.
🏡 Setup for local development
Pre-requisites
- Install git-secrets
- Register the secrets with git-secrets
git secrets --register-aws- This is very important step as it the registers the regex to be scanned by the git-secrets.
- Verify the secrets are registered
git secrets --list
- Refer to this repo for more information.
Code setup
Other Contributions
Server Code
Please follow these guidelines according to the module that you wish to contribute to:
Client Code
Please follow the below guideline to add a new JS library to the Appsmith platform:
Please follow the below guideline for widget development