4.7 KiB
Contributing to BentoPDF
First off, thank you for considering contributing to BentoPDF! Your help makes this project better for everyone.
This document outlines how to contribute, report issues, and get involved in the project.
Contributor License Agreement (CLA)
Before we can accept your contributions, you must sign our Contributor License Agreement (CLA). This is required because BentoPDF uses a dual licensing model:
- AGPL-3.0 for open source use
- Commercial license for proprietary use
The CLA ensures we can include your contributions in both versions of the project.
For Individual Contributors
Sign our Individual Contributor License Agreement (ICLA). When you submit your first pull request, the CLA Assistant bot will automatically ask you to sign by commenting on the PR.
For Corporate Contributors
If you are contributing on behalf of your employer, your organization needs to sign our Corporate Contributor License Agreement (CCLA). Please contact us at contact@bentopdf.com to arrange corporate CLA signing.
What the CLA Grants
By signing the CLA, you:
- Grant us a broad copyright license to use, modify, and relicense your contributions (including for commercial use)
- Grant a patent license for any patents covering your contribution
- Represent that you have the authority to make the contribution
- Retain full copyright ownership of your contributions
1. How to Contribute
You can contribute in several ways:
- Reporting Bugs: If you find a bug or unexpected behavior, please open an issue. Include steps to reproduce and any relevant screenshots or logs.
- Feature Requests: Suggest new features or improvements by opening an issue and describing your idea clearly.
- Code Contributions: Submit a pull request with new features, bug fixes, or improvements.
- Documentation: Help improve the README, usage examples, or guides.
- Testing: Help test new releases or changes to ensure stability.
Issue Template
When reporting bugs, requesting features, or asking questions, please use our issue template. The template will automatically appear when you create a new issue.
Our issue template helps you provide:
- Clear categorization (Bug, Feature Request, or Question)
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Environment details
- Screenshots or logs
Title Format Examples:
(Bug) Text alignment incorrect on multi-line paragraphs(Feature) Add support for custom PDF metadata(Question) How to embed custom fonts?
Pull Request Template
When submitting code contributions, please use our pull request template. The template will automatically appear when you create a new PR.
Key requirements:
- Link to the related issue (e.g.,
Fixes #123) - Describe the type of change (bug fix, feature, breaking change)
- Explain how you tested your changes
- Complete the checklist before submitting
2. Getting Started with Code Contributions
-
Fork the Repository
git clone https://github.com/alam00000/bentopdf.git cd bento-pdf npm install -
Create a New Branch
git checkout -b feature/my-new-feature -
Make Your Changes
- Follow the code style and conventions used in the project.
- Add comments where necessary.
- Update or add tests if applicable.
-
Run Tests
npm run test -
Commit Your Changes
git add . git commit -m "Add a meaningful commit message" -
Push and Submit a Pull Request
git push origin feature/my-new-feature- Open a pull request on GitHub and provide a clear description of your changes.
3. Code Style
- Follow the existing TypeScript and JavaScript conventions.
- Use
camelCasefor variables and functions. - Keep lines reasonably short and readable.
- Comment complex logic for clarity.
4. Issues and Pull Requests
- Make sure your PR is focused and addresses a single issue or feature.
- Reference related issues in your PR description (e.g.,
Closes #12). - Be responsive to feedback and make requested changes promptly.
5. Reporting Security Issues
If you discover a security vulnerability, please do not open a public issue. Instead, contact the project maintainer directly at:
Email: contact@bentopdf.com
6. Code of Conduct
All contributors are expected to follow the Code of Conduct. Be respectful and considerate in all communications.
Thank you for helping make BentoPDF a better library for everyone!