From 080a7f95f1498115e5707435294a4fea08e297cc Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Fri, 12 Apr 2024 11:47:05 -0700 Subject: [PATCH] updated CONTRIBUTING.md based on repolinter Signed-off-by: Natalia Luzuriaga --- CONTRIBUTING.md | 122 +++++++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 64 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7743f119e4..ba733185df 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,3 @@ - - # How to Contribute We're so thankful you're considering contributing to an [open source project of @@ -11,55 +9,83 @@ contributions. We encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md). -## Getting Started - +### Getting Started + +To collect metrics, first make sure you have set the following environment variables: + - GITHUB_TOKEN - The github api key that you are using to collect data + - AUGUR_HOST - The api domain corresponding to an instance of [CHAOSS/Augur](https://github.com/chaoss/augur/) + +Then, install the dependencies in requirements.txt. + +Once the env is set up, either run the 'update data' GitHub Action in `.github/workflows/update_data.yml` or execute the `update.sh` shell script. + +To run the server, make sure that your computer has npm installed. +Once npm is installed run `npm install` and `npm start` in the app/ directory. ### Team Specific Guidelines +- Please try to keep pull requests to a reasonable size; try to split large contributions to multiple PRs +- Please create pull requests into dev unless the contribution is some kind of bugfix or urgent hotfix. +- Document and explain the contribution clearly according to provided standards when possible. +- Feel free to reach out to us if there is any confusion. ### Building dependencies - +1. Clone the repo + + `git clone https://github.com/DSACMS/metrics.git` + +2. Install the required packages in requirements.txt (preferably in a virtual env) + + `pip3 install -r requirements.txt` + +3. Install node dependencies + + `cd app && npm install && cd ..` ### Building the Project - +To collect metrics, first make sure you have set the following environment variables: + - GITHUB_TOKEN - The github api key that you are using to collect data + - AUGUR_HOST - The api domain corresponding to an instance of [CHAOSS/Augur](https://github.com/chaoss/augur/) + +Once the env is set up, either run the 'update data' GitHub Action in `.github/workflows/update_data.yml` or execute the `update.sh` shell script. + +To run the server, run `npm install` and `npm start` in the app/ directory. ### Workflow and Branching - +2. Check out the `main` branch +3. Create a feature branch +4. Write code and tests for your change +5. From your branch, make a pull request against `dev` if you have a feature change and `main` if it is a hotfix +6. Work with repo maintainers to get your change reviewed and resolve git history if needed +7. Wait for your change to be pulled into `dev` and later released into `main` +8. Delete your feature branch ### Testing Conventions - +This project uses pytest as the main testing framework for the project's cli. + +Python tests can be found in the `scripts/tests`. Any new testing +contributions are greatly appreciated and needed to ensure quality of any interpreted +language project. ### Coding Style and Linters - +Python code quality checks are extremely useful for lowering the +cost of maintenence of Python projects. Further information on Pylint can be found [here.](https://pylint.readthedocs.io/en/latest/) ### Issues - - -### Pull Requests - - -## Code Review - - - ## Documentation - +docs. Please file an [issue](https://github.com/DSACMS/metrics/issues/new). ## Policies @@ -166,32 +176,16 @@ questions, just [shoot us an email](mailto:opensource@cms.hhs.gov). ### Security and Responsible Disclosure Policy -The Centers for Medicare & Medicaid Services is committed to ensuring the -security of the American public by protecting their information from -unwarranted disclosure. We want security researchers to feel comfortable -reporting vulnerabilities they have discovered so we can fix them and keep our -users safe. We developed our disclosure policy to reflect our values and uphold -our sense of responsibility to security researchers who share their expertise -with us in good faith. - *Submit a vulnerability:* Unfortunately, we cannot accept secure submissions via email or via GitHub Issues. Please use our website to submit vulnerabilities at [https://hhs.responsibledisclosure.com](https://hhs.responsibledisclosure.com). HHS maintains an acknowledgements page to recognize your efforts on behalf of the American public, but you are also welcome to submit anonymously. -Review the HHS Disclosure Policy and websites in scope: -[https://www.hhs.gov/vulnerability-disclosure-policy/index.html](https://www.hhs.gov/vulnerability-disclosure-policy/index.html). - -This policy describes *what systems and types of research* are covered under this -policy, *how to send* us vulnerability reports, and *how long* we ask security -researchers to wait before publicly disclosing vulnerabilities. - -If you have other cybersecurity related questions, please contact us at -[csirc@hhs.gov](mailto:csirc@hhs.gov). +For more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md). ## Public domain -This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). +This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/) as indicated in [LICENSE](LICENSE). -All contributions to this project will be released under the CC0 dedication. By submitting a pull request or issue, you are agreeing to comply with this waiver of copyright interest. +All contributions to this project will be released under the CC0 dedication. By submitting a pull request or issue, you are agreeing to comply with this waiver of copyright interest. \ No newline at end of file