1## Contributing to the Guideline Support Library 2 3The Guideline Support Library (GSL) contains functions and types that are suggested for use by the 4[C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines). GSL design changes are made only as a result of modifications to the Guidelines. 5 6GSL is accepting contributions that improve or refine any of the types in this library as well as ports to other platforms. Changes should have an issue 7tracking the suggestion that has been approved by the maintainers. Your pull request should include a link to the bug that you are fixing. If you've submitted 8a PR, please post a comment in the associated issue to avoid duplication of effort. 9 10## Legal 11You will need to complete a Contributor License Agreement (CLA). Briefly, this agreement testifies that you are granting us and the community permission to 12use the submitted change according to the terms of the project's license, and that the work being submitted is under appropriate copyright. 13 14Please submit a Contributor License Agreement (CLA) before submitting a pull request. You may visit https://cla.microsoft.com to sign digitally. 15 16## Housekeeping 17Your pull request should: 18 19* Include a description of what your change intends to do 20* Be a child commit of a reasonably recent commit in the **master** branch 21 * Requests need not be a single commit, but should be a linear sequence of commits (i.e. no merge commits in your PR) 22* It is desirable, but not necessary, for the tests to pass at each commit. Please see [README.md](./README.md) for instructions to build the test suite. 23* Have clear commit messages 24 * e.g. "Fix issue", "Add tests for type", etc. 25* Include appropriate tests 26 * Tests should include reasonable permutations of the target fix/change 27 * Include baseline changes with your change 28 * All changed code must have 100% code coverage 29* To avoid line ending issues, set `autocrlf = input` and `whitespace = cr-at-eol` in your git configuration 30