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 through 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-golang tests, you can setup supertokens-core by following this guide
Note: If you are not contributing to the supertokens-core you can skip steps 1 & 4 under Project Setup of the supertokens-core contributing guide.
- Fork the supertokens-golang repository
- Clone the forked repository in the parent directory of the previously setup
supertokens-root.
supertokens-golangandsupertokens-rootshould exist side by side within the same parent directory cd supertokens-golang- You should have a go setup on your local machine
- Open the
supertokens-golangproject in your IDE and you can start modifying the code
- Navigate to the
supertokens-rootrepository - Start the testing environment
./startTestEnv --wait - Navigate to the
supertokens-golangrepository
cd ../supertokens-golang/ - Run all tests, [count=1 ensures tests are not cached]
INSTALL_DIR=../supertokens-root go test ./... -p 1 -v count=1 - If all tests pass the output should be:

- Navigate to the
test-serverfolder within thesupertokens-golangproject:cd ./test/test-server/ - Setup for test:
sh setup-for-test.sh - Start the server:
go run . - In the
supertokens-golangroot folder, open thefrontendDriverInterfaceSupported.jsonfile and note the latest version supported. This version will be used to check out the correct version of thebackend-sdk-testingproject. - Fork the backend-sdk-testing repository.
- Clone your forked repository into the parent directory of the
supertokens-rootproject. Bothsupertokens-rootandbackend-sdk-testingshould exist side by side within the same parent directory. - Change to the
backend-sdk-testingdirectory:cd backend-sdk-testing - Check out the supported FDI version to be tested (as specified in
frontendDriverInterfaceSupported.json):git checkout <FDI-version> - Install dependencies and build the project:
npm install && npm run build-pretty - Run all tests (make sure to have node version >= 16.20.0 and < 17.0.0):
INSTALL_PATH=../supertokens-root npm test
Note that setup-for-test.sh copies some files into the recipe folder. Ensure that these files are not committed.
- 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
- Make sure the PR title follows conventional commits specification
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: