We're so excited you're interested in helping with SuperTokens! We are happy to help you get started, even if you don't have any previous open-source experience 😊
- Take a look at How to Contribute to an Open Source Project on GitHub
- Go thorugh the SuperTokens Code of Conduct
- Check our Github Issues to see if someone has already answered your question.
- Join our community on Discord and feel free to ask us your questions
You will need to setup the supertokens-core
in order to to run the supertokens-fastapi
tests. Follow this guide to setup supertokens-core
.
Note: If you are NOT contributing to supertokens-core
you can skip steps 1 & 4 under Project Setup of the supertokens-core
contributing guide.
- OS: Linux or macOS
- IDE: PyCharm (recommended) or equivalent IDE
- Fork the
supertokens-fastapi
repository - Clone the forked repository in the parent directory of the previously setup
supertokens-root
. That is,supertokens-fastapi
andsupertokens-root
should exist side by side within the same parent directory. cd supertokens-fastapi
- Create and activate the python virtal env
python3 -m venv env source env/bin/activate
- Install the project dependencies
make dev-install
- Add git pre-commit hooks
make set-up-hooks
- Open the
supertokens-fastapi
project in your IDE. - You can start modifying the code.
-
Navigate to the
supertokens-root
repository -
Start the testing environment
./startTestingEnv --wait
-
In a new terminal, navigate to the
supertokens-fastapi
repository (remember to runsource env/bin/activate
). -
Run all tests
SUPERTOKENS_PATH=../supertokens-root make test
-
If all tests pass the output should be:
- Before submitting a pull request make sure all tests have passed
- Reference the relevant issue or pull request and give a clear description of changes/features added when submitting a pull request
SuperTokens is made possible by a passionate team and a strong community of developers. If you have any questions or would like to get more involved in the SuperTokens community you can check out:
Additional resources you might find useful: