diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..b5db3eb --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,39 @@ +# Contributing to Clairvoyance + +**Clairvoyance** is an open-source project. We appreciate your contributions! + +## Issues + +If you have encountered a bug or want to propose an idea, you can open [a new issue on GitHub](https://github.com/nikitastupin/clairvoyance/issues/new). + +### Best Practices + +1. Check for existing issues before opening a new one. If you find a similar one, add more details to it instead of creating a duplicate. +2. Use relevant template and follow it. +3. Add relevant details, it helps us in triaging and further steps. + +## Code Contribution + +Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. + +### Developer Environment Setup + +To resolve dependencies, execute the following commands in your terminal: + +```shell +python -m pip install pipx +pipx ensurepath +pipx install poetry +poetry config virtualenvs.in-project true +poetry install +``` + +We use [VSCodium](https://vscodium.com/#install) and VSCode IDEs with extension in the [`.vscode/extensions.json` file](../.vscode/extensions.json). Having said that, you might use other tools as long as the outcome follows the guidelines of this project. + +### Git Branches + +Always use dedicated git branches for fixes or features instead of working directly on the main branch. + +### Further Information + +Please refer to our [Development guide](https://github.com/nikitastupin/clairvoyance/wiki/Development) for guidance on testing, code style and more. \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..021f7ea --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + "ms-python.debugpy", + "ms-python.pylint", + "ms-python.black-formatter", + "ms-python.mypy-type-checker", + "ms-python.isort" + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 272a419..45390ff 100644 --- a/README.md +++ b/README.md @@ -13,21 +13,6 @@ Some GraphQL APIs have disabled introspection. For example, [Apollo Server disab Clairvoyance helps to obtain GraphQL API schema even if the introspection is disabled. It produces schema in JSON format suitable for other tools like [GraphQL Voyager](https://github.com/APIs-guru/graphql-voyager), [InQL](https://github.com/doyensec/inql) or [graphql-path-enum](https://gitlab.com/dee-see/graphql-path-enum). -## Contributors - -Thanks to the contributors for their work. - -- [nikitastupin](https://github.com/nikitastupin) -- [Escape](https://escape.tech) team - - [iCarossio](https://github.com/iCarossio) - - [Swan](https://github.com/c3b5aw) - - [QuentinN42](https://github.com/QuentinN42) - - [Nohehf](https://github.com/Nohehf) -- [i-tsaturov](https://github.com/i-tsaturov) -- [EONRaider](https://github.com/EONRaider) -- [noraj](https://github.com/noraj) -- [belane](https://github.com/belane) - ## Getting Started ### pip @@ -70,8 +55,23 @@ In case of questions or issues with Clairvoyance please refer to [wiki](https:// ## Contributing -Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. For more information about tests, internal project structure and so on refer to [Development](https://github.com/nikitastupin/clairvoyance/wiki/Development) wiki page. +Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. For more information about tests, internal project structure and so on refer to our [contributing guide](.github/CONTRIBUTING.md). ## Documentation You may find more details on how the tool works in the second half of the [GraphQL APIs from bug hunter's perspective by Nikita Stupin](https://youtu.be/nPB8o0cSnvM) talk. + +## Contributors + +Thanks to the contributors for their work. + +- [nikitastupin](https://github.com/nikitastupin) +- [Escape](https://escape.tech) team + - [iCarossio](https://github.com/iCarossio) + - [Swan](https://github.com/c3b5aw) + - [QuentinN42](https://github.com/QuentinN42) + - [Nohehf](https://github.com/Nohehf) +- [i-tsaturov](https://github.com/i-tsaturov) +- [EONRaider](https://github.com/EONRaider) +- [noraj](https://github.com/noraj) +- [belane](https://github.com/belane)