Contributing¶
Thanks for your interest in contributing to FastAPI FullAuth!
Development setup¶
git clone https://github.com/mdfarhankc/fastapi-fullauth.git
cd fastapi-fullauth
uv sync --dev --extra sqlalchemy --extra sqlmodel --extra redis --extra oauth
Running tests¶
Linting and formatting¶
Both must pass before submitting a PR. CI enforces this.
Making changes¶
- Fork the repo and create a branch from
main - Make your changes
- Add tests for new functionality
- Ensure all tests pass and lint is clean
- Submit a pull request
Branch naming¶
| Prefix | Use |
|---|---|
feat/ |
New features |
fix/ |
Bug fixes |
refactor/ |
Code improvements |
docs/ |
Documentation |
What to contribute¶
- Bug fixes
- New OAuth providers (Apple, Discord, Microsoft, etc.)
- Adapter implementations (MongoDB, Tortoise ORM, etc.)
- Documentation improvements
- Test coverage improvements
- Performance improvements
Reporting bugs¶
Use the bug report template on GitHub Issues.
Requesting features¶
Use the feature request template on GitHub Issues.
Code style¶
- Follow existing patterns in the codebase
- Use type annotations
- Keep functions focused and small
- Log security-sensitive events via
logging.getLogger("fastapi_fullauth.*") - Don't add docstrings/comments unless the logic isn't self-evident
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.