Contributing to Aura Auth
Learn how to contribute to Aura Stack Auth
Thank you for considering contributing to Aura Stack Auth! It's people like you that make this project such a great tool for the community.
What you'll learn
Getting Started
The following steps outline how to set up the local environment.
Fork the repository
The Aura Auth repository should be forked by clicking the "Fork" button in the top right corner.
Clone your fork
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/auth.git
cd authIf you're new to contributing on GitHub, see Contributing to a project.
Add upstream remote
An upstream remote repository should be configured to keep the fork in sync. See GitHub docs.
git remote add upstream https://github.com/aura-stack-ts/auth.gitContribute
Once the scope of the contribution is defined, changes can be implemented.
Create a new branch
Always keep your fork synced with upstream before starting new work:
# syncronize the repo
git switch master && git pull upstream master
# create a new branch to work in.
git switch -c feature/your-feature-nameimplement changes
Changes are implemented in the development environment.
Packages server:
pnpm devDocumentation server
pnpm dev:docsWrite or update tests
Tests must be written or updated to ensure changes are covered.
# Run tests
pnpm test
# Run tests with coverage
pnpm test:coverageCode style
Type checking and formatting must be verified.
pnpm type-checkFormat codebase:
# format code
pnpm format
# check formating
pnpm format:checkCommit changes
Changes should be committed following the Conventional Commits specification.
git commit -m "feat(auth): add support for OAuth 2.0 PKCE flow"Push to the fork:
git push origin feature/your-feature-nameOpen a pull request
Go to GitHub and open a Pull Request with:
- Clear and descriptive title
- Reference to related issues
- Comprehensive description of changes
- Screenshots or GIFs for UI changes (if applicable)
Development Workflow
Project Structure
auth/
├── packages/
│ ├── core/ # Main authentication library
│ │ ├── src/ # Source code
│ │ └── test/ # Tests
│ └── jose/ # JOSE utilities
│ ├── src/ # Source code
│ └── test/ # Tests
├── docs/ # Documentation site (Fumadocs)
├── apps/ # Example applications
└── turbo.json # Turborepo configurationRunning Tests
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run tests with coverage
pnpm test:coverageBest practices
- TypeScript should be used for all new code.
- Variable and function names should be meaningful.
- TSDoc comments should be added for public APIs.
- Functions should be kept small and focused.
- Tests must be written for new features.
- Existing code patterns should be followed.
Your contributions help make authentication easier and more secure for developers everywhere.
Need help ?
If you're unsure where to start:
- Browse the issue tracker
- Look for labels:
- good first issue
- help wanted
- Open a new issue if you have questions or suggestions.
Thank you again for contributing to Aura Auth.