|
| 1 | +# How to Contribute |
| 2 | + |
| 3 | +<!-- Basic instructions about where to send patches, check out source code, and get development support.--> |
| 4 | + |
| 5 | +We're so thankful you're considering contributing to an [open source project of |
| 6 | +the U.S. government](https://code.gov/)! If you're unsure about anything, just |
| 7 | +ask -- or submit the issue or pull request anyway. The worst that can happen is |
| 8 | +you'll be politely asked to change something. We appreciate all friendly |
| 9 | +contributions. |
| 10 | + |
| 11 | +We encourage you to read this project's CONTRIBUTING policy (you are here), its |
| 12 | +[LICENSE](LICENSE.md), and its [README](README.md). |
| 13 | + |
| 14 | +## Getting Started |
| 15 | + |
| 16 | +If you're new to the project, look for issues labeled with `good-first-issue` or `help-wanted` to get started. These are typically easier problems that don't require deep knowledge of the codebase. |
| 17 | + |
| 18 | +For more information on how to connect to the API , check out our [developer documentation](https://cmsgov.github.io/bluebutton-developer-help/). You can also check out our [Google Group](https://groups.google.com/forum/#!forum/developer-group-for-cms-blue-button-api) for community discussions. |
| 19 | + |
| 20 | +### Building Dependencies |
| 21 | + |
| 22 | +**System Requirements** |
| 23 | +- npm or yarn |
| 24 | + |
| 25 | +### Building the Project |
| 26 | + |
| 27 | +npm |
| 28 | + |
| 29 | +```bash |
| 30 | +npm install cms-bluebutton-sdk |
| 31 | +``` |
| 32 | + |
| 33 | +npm with TypeScript |
| 34 | + |
| 35 | +```bash |
| 36 | +npm install --save-dev @types/cms-bluebutton-sdk |
| 37 | +``` |
| 38 | + |
| 39 | +Yarn |
| 40 | + |
| 41 | +```bash |
| 42 | +yarn add cms-bluebutton-sdk |
| 43 | +``` |
| 44 | + |
| 45 | +Yarn with TypeScript |
| 46 | + |
| 47 | +```bash |
| 48 | +yarn add --dev @types/cms-bluebutton-sdk |
| 49 | +``` |
| 50 | + |
| 51 | +### Workflow and Branching |
| 52 | + |
| 53 | +We follow standard GitHub Flow practices: |
| 54 | + |
| 55 | +1. **Fork the project** (external contributors) or create a branch (internal contributors) |
| 56 | +2. **Check out the `main` branch** |
| 57 | +3. **Create a feature branch** with a descriptive name |
| 58 | +4. **Write code and tests** for your change |
| 59 | +5. **From your branch, make a pull request** against `CMSgov/cms-bb2-python-sdk/main` |
| 60 | +6. **Work with repo maintainers** to get your change reviewed |
| 61 | +7. **Wait for your change to be merged** into `main` |
| 62 | +8. **Delete your feature branch** after successful merge |
| 63 | + |
| 64 | +### Coding Style and Linters |
| 65 | + |
| 66 | +**Style Guidelines:** |
| 67 | +- Write clear, self-documenting code with appropriate comments |
| 68 | + |
| 69 | +**Linting:** |
| 70 | +- Each application has its own linting guidelines |
| 71 | + |
| 72 | +### Writing Issues |
| 73 | + |
| 74 | +When creating an issue, please use this format: |
| 75 | + |
| 76 | +``` |
| 77 | +module-name: One line summary of the issue (less than 72 characters) |
| 78 | +
|
| 79 | +### Expected behavior |
| 80 | +
|
| 81 | +As concisely as possible, describe the expected behavior. |
| 82 | +
|
| 83 | +### Actual behavior |
| 84 | +
|
| 85 | +As concisely as possible, describe the observed behavior. |
| 86 | +
|
| 87 | +### Steps to reproduce the behavior |
| 88 | +
|
| 89 | +1. List all relevant steps to reproduce the observed behavior |
| 90 | +2. Include specific API calls, user actions, or configuration |
| 91 | +3. Mention any relevant environment details |
| 92 | +
|
| 93 | +### Additional context |
| 94 | +
|
| 95 | +- Node version |
| 96 | +- Operating system |
| 97 | +- Any relevant logs or error messages |
| 98 | +``` |
| 99 | + |
| 100 | +### Writing Pull Requests |
| 101 | + |
| 102 | +**Pull Request Guidelines:** |
| 103 | +- File pull requests against the `main` branch |
| 104 | +- Include a clear description of changes |
| 105 | +- Reference any related issues |
| 106 | +- Ensure all tests pass |
| 107 | +- Include screenshots for UI changes |
| 108 | + |
| 109 | +## Documentation |
| 110 | + |
| 111 | +We welcome improvements to the project documentation. This includes: |
| 112 | + |
| 113 | +- API documentation updates |
| 114 | +- Setup and configuration guides |
| 115 | +- Developer tutorials |
| 116 | +- Code comments and inline documentation |
| 117 | + |
| 118 | +Please file an [issue](https://github.com/CMSGov/ms-bb2-node-sdk/issues) for documentation improvements or submit a pull request with your changes. |
| 119 | + |
| 120 | +**Documentation Resources:** |
| 121 | +- Developer documentation: https://cmsgov.github.io/bluebutton-developer-help/ |
| 122 | +- Current deployment: https://sandbox.bluebutton.cms.gov |
| 123 | +- Community discussions: https://groups.google.com/forum/#!forum/developer-group-for-cms-blue-button-api |
| 124 | + |
| 125 | +## Policies |
| 126 | + |
| 127 | +### Open Source Policy |
| 128 | + |
| 129 | +We adhere to the [CMS Open Source |
| 130 | +Policy](https://github.com/CMSGov/cms-open-source-policy). If you have any |
| 131 | +questions, just [shoot us an email ](mailto:[email protected]). |
| 132 | + |
| 133 | +### Security and Responsible Disclosure Policy |
| 134 | + |
| 135 | +_Submit a vulnerability:_ Vulnerability reports can be submitted through [Bugcrowd](https://bugcrowd.com/cms-vdp). Reports may be submitted anonymously. If you share contact information, we will acknowledge receipt of your report within 3 business days. |
| 136 | + |
| 137 | +For more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md). |
| 138 | + |
| 139 | +## Public domain |
| 140 | + |
| 141 | +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/). |
| 142 | + |
| 143 | +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. |
0 commit comments