Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/mdfarhankc/fastapi-fullauth.git
cd fastapi-fullauth
uv sync --dev --extra sqlalchemy --extra sqlmodel --extra redis --extra oauthuv run pytest tests/ -vuv run ruff check .
uv run ruff format .Both must pass before submitting a PR. CI enforces this.
- 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
feat/description= new featuresfix/description= bug fixesrefactor/description= code improvementsdocs/description= documentation changes
Keep them short and descriptive. Use imperative mood:
add permission-based RBACfix OAuth state token TTLupdate README with docs link
- Bug fixes
- New OAuth providers (Apple, Discord, Microsoft, etc.)
- Adapter implementations (MongoDB, Tortoise ORM, etc.)
- Documentation improvements
- Test coverage improvements
- Performance improvements
Use the bug report template on GitHub Issues. Include:
- Python version
- fastapi-fullauth version
- Minimal reproduction steps
- Expected vs actual behavior
Use the feature request template on GitHub Issues.
- 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
By contributing, you agree that your contributions will be licensed under the MIT License.