Welcome to Stack Auth!
Due to the nature of authentication, this may not be the easiest project to contribute to, so if you are looking for projects to help gain programming experience, we may not be a great match. If you're looking for projects for beginners, check out Awesome First PR Opportunities.
If you think Stack Auth is a good fit for you, follow these steps:
- Join our Discord
- Use Stack Auth. The best way to understand the project is to use it. Build an application on top of Stack Auth, and post it on GitHub or write a blog post about how you built it. This also lets us assess your skills and understand where you could best help the project.
- Give us feedback on Discord or GitHub; let us know where you got stuck, and which things you wish were easier. (We appreciate contributions most when they solve problems the authors encountered themselves in real usage.)
- Contribute to the documentation and create examples & guides. This way, you can share your knowledge and expertise with everyone else who's just getting started.
- Only then, start contributing to the codebase. Coordinate with us on Discord beforehand to ensure we are not working on the same thing already, and to make sure a task is not more difficult than it seems.
For any security-related concerns & bug bounties, please email us at security@stack-auth.com.
Please make sure to:
- Install ESLint in your IDE and follow the code format of the code base (e.g., spaces around
=
, semicolons at the end, etc.).- If you are using VSCode, select "Show Recommended Extensions" from the command palette (
Ctrl+Shift+P
) to install the recommended extensions.
- If you are using VSCode, select "Show Recommended Extensions" from the command palette (
- Run
pnpm run test
. All tests should pass. - If you changed the Prisma schema, make sure you've created a migration file. Create only one DB migration file per PR.
- If you changed the API, make sure you have added endpoint tests in
apps/e2e
. - Ensure all dependencies are in the correct
package.json
files. - Ensure the PR is ready for review. If you want to discuss WIP code, mark it as a draft.