2.1 KiB
2.1 KiB
Contributing to PDF Reader MCP Server
Thank you for considering contributing! We welcome contributions from the community.
How to Contribute
-
Reporting Issues: If you find a bug or have a feature request, please open an issue on GitHub.
- Provide a clear description of the issue.
- Include steps to reproduce (for bugs).
- Explain the motivation for the feature request.
-
Submitting Pull Requests:
- Fork the repository.
- Create a new branch for your feature or bugfix (e.g.,
feature/new-pdf-featureorbugfix/parsing-error). - Make your changes, adhering to the project's coding style and guidelines (ESLint, Prettier).
- Add tests for your changes and ensure all tests pass (
npm test). - Ensure your commit messages follow the Conventional Commits standard.
- Push your branch to your fork.
- Open a Pull Request against the
mainbranch of thesylphlab/pdf-reader-mcprepository. - Provide a clear description of your changes in the PR.
Development Setup
- Clone the repository:
git clone https://github.com/sylphlab/pdf-reader-mcp.git - Navigate into the directory:
cd pdf-reader-mcp - Install dependencies:
npm install - Build the project:
npm run build - Run tests:
npm test - Use
npm run watchduring development for automatic recompilation. - Use
npm run validatebefore committing to check formatting, linting, and tests.
Code Style
- We use Prettier for code formatting and ESLint (with strict TypeScript rules) for linting.
- Please run
npm run formatandnpm run lint:fixbefore committing your changes. - Git hooks are set up using Husky and lint-staged to automatically check staged files.
Commit Messages
We follow the Conventional Commits specification. Commit messages are linted using commitlint via a Git hook.
Example:
feat: add support for encrypted PDFs
Implemented handling for password-protected PDF files using an optional password parameter.
License
By contributing, you agree that your contributions will be licensed under the MIT License that covers the project.