we’re thrilled that you want to contribute to api-response-shaper
! to ensure a positive and protective environment for everyone involved, please adhere to the following guidelines.
-
Fork and Clone: Start by forking the
api-response-shaper
repository on Github and cloning it to your local machine:git clone https://github.com/lazarus-org/api-response-shaper.git cd api-response-shaper
-
Create a Branch: Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
-
Install Dependencies: Use Poetry to install the project’s dependencies. if poetry isn’t installed, refer to the Poetry installation guide
poetry install
-
Write Code and Tests: Make your changes and write tests for your new code. Ensure that all tests pass:
poetry run pytest
-
Run Code Quality Checks: Ensure code quality with Pylint:
poetry run pylint response_shaper
-
Commit Your Changes: Use Commitizen to commit your changes according to the Conventional Commits specification:
cz commit
-
Push and Create a PR: Push your changes to your fork on GitHub and open a pull request:
git push origin feature/your-feature-name
-
Bump Version: Use Commitizen to update the version.
cz bump
-
Generate Changelog: Create a changelog with Commitizen:
cz changelog
-
Export Dependencies: Export the project dependencies for development and production:
pip install poetry-plugin-export poetry export -f requirements.txt --output packages/requirements.txt --without-hashes poetry export -f requirements.txt --with dev --output packages/requirements-dev.txt --without-hashes
Commitizen follows the Conventional Commits specification. Your commit message should be structured as follows:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat(core): initialize the core module
- Set up the core structure
- Added initial configurations and settings
- Created basic utility functions
chore(release): build and tag version 1.0.0
- Built the project for production
- Created a new tag for version 1.0.0
- Updated changelog with release notes
feat(auth): add user authentication
- Implemented user login and registration
- Added JWT token generation and validation
- Created middleware for protected routes
fix(api): resolve issue with data fetching
- Fixed bug causing incorrect data responses
- Improved error handling in API calls
- Added tests for the fixed bug
docs(sphinx): update API documentation
- Updated the Sphinx documentation for API changes
- Added examples for new endpoints
- Fixed typos and formatting issues
chore(deps): update project dependencies
- Updated all outdated npm packages
- Resolved compatibility issues with new package versions
- Ran tests to ensure no breaking changes
chore(version): update version to 2.1.0 for build and publish
- Incremented version number to 2.1.0
- Updated package.json with the new version
- Prepared for publishing the new build
test(auth): add unit tests for authentication module
- Created tests for login functionality
- Added tests for registration validation
- Ensured 100% coverage for auth module
refactor(core): improve code structure and readability
- Refactored core module to enhance readability
- Extracted utility functions into separate files
- Updated documentation to reflect code changes
perf(parser): enhance parsing speed
- Optimized parsing algorithm for better performance
- Reduced the time complexity of the parsing function
- Added benchmarks to track performance improvements
Thank you for contributing to api-response-shaper
! We look forward to your contributions.