Prerequisites
Before you begin, make sure you have the following installed:- Node.js 18 or higher
- npm 9 or higher
- Git
Setting up locally
Project structure
Adding a new tool
Create the HTML page
Create
src/pages/your-tool.html, following the structure of an existing tool page as a template.Code style
- Use TypeScript for all new code.
- Follow the existing patterns and conventions in the codebase.
- Run
npm run formatbefore committing to ensure consistent formatting. - Comments are stripped from production builds — avoid adding comments to production code.
Pull request process
Make sure your PR is focused on a single issue or feature. Be responsive to review feedback.
Contributor License Agreement
Before your pull request can be merged, you must sign a Contributor License Agreement (CLA). This is required because BentoPDF uses a dual-license model and the CLA ensures your contributions can be included in both the open-source and commercial versions.- Individual contributors: Sign the Individual CLA (ICLA). The CLA Assistant bot will prompt you automatically when you open your first PR.
- Corporate contributors: Your organization must sign the Corporate CLA (CCLA). Contact contact@bentopdf.com to arrange signing.
Translations
BentoPDF is available in 14 languages. To add a new language or improve an existing translation, see the Translation Guide on GitHub.Reporting issues
Use the GitHub issue template when reporting bugs, requesting features, or asking questions. For security vulnerabilities, do not open a public issue — email contact@bentopdf.com directly.Getting help
GitHub Issues
Report bugs, request features, or ask questions.
Discord Community
Chat with the community and the maintainers.
