Thank you for your interest in contributing to Universal Document Processor! This document provides guidelines and instructions for contributing to this project.
By participating in this project, you agree to abide by our Code of Conduct. Please read it before contributing.
Before creating bug reports, please check the issue list to avoid duplicates. When creating a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Describe the behavior you observed and what you expected to see
- Include screenshots if possible
- Include details about your environment (OS, Node.js version, etc.)
- Use the bug report template when creating an issue
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the proposed enhancement
- Explain why this enhancement would be useful
- Include examples of how it would be used
- Use the feature request template when creating an issue
- Fill in the required template
- Follow the coding style and conventions
- Include appropriate tests
- Update documentation as needed
- Ensure all tests pass
- Link to any related issues
By submitting a Pull Request, you agree that all contributions submitted through Pull Requests will be licensed under the MIT License. This means:
- You grant the project maintainers and users the right to use, modify, and distribute your contributions under the MIT License
- You confirm that you have the right to make these contributions
- You understand that your contributions will become part of the open source project
- You waive any claims to exclusive ownership of the contributed code
If you cannot agree to these terms, please do not submit a Pull Request.
- Fork and clone the repository
- Install dependencies:
pnpm install
- Set up environment variables:
cp env.example .env
- Run tests to ensure everything is working:
pnpm test
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
or
git checkout -b fix/your-bugfix-name
-
Make your changes and commit them with a descriptive message:
git commit -m "Add feature: your feature description" -
Push your branch to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request from your fork to the main repository
- Use TypeScript for new code
- Follow the ESLint and Prettier configurations
- Write JSDoc comments for functions and classes
- Use async/await for asynchronous code
- Handle errors appropriately
- Write tests for new features and bug fixes
- Ensure all tests pass before submitting a PR
- Aim for good test coverage
- Update documentation for new features or changes
- Use clear and concise language
- Include examples where appropriate
src/: Source codeindex.ts: Main entry pointtools/: Core functionality modulestypes/: TypeScript type definitionsutils/: Utility functions
tests/: Test filesunit/: Unit testsintegration/: Integration testsfixtures/: Test fixtures
docs/: Documentationapi/: API documentationexamples/: Usage examples
examples/: Example codescripts/: Build and development scripts
- Update version in package.json
- Update CHANGELOG.md
- Create a new tag with the version number
- Push the tag to trigger the release workflow
If you have any questions, feel free to create an issue or contact the maintainer at teleaistudio@gmail.com.