Thank you for your interest in contributing to CmpStr. Contributions of all kinds are welcome, whether they involve bug reports, documentation improvements, or code enhancements.
CmpStr is designed to be extensible at runtime. Many use cases can be addressed by registering custom metrics, processors, or filters directly in your own project without modifying the library itself.
If you have ideas for features, algorithms, or improvements that could benefit a broader audience, please open a GitHub issue first to discuss the proposal.
When reporting a bug or unexpected behavior, please include:
- A clear and concise description of the issue
- Steps to reproduce (ideally with a minimal example)
- Expected vs. actual behavior
- Version of CmpStr and runtime environment
Security-related issues should follow the instructions in SECURITY.md and must not be reported publicly.
To contribute code changes:
- Fork the repository
- Create a feature or fix branch from
master - Apply your changes with clear, focused commits
- Ensure existing tests pass and add tests where appropriate
- Submit a pull request with a concise description of the changes
Please keep pull requests scoped and avoid unrelated refactoring.
- Follow the existing project structure and coding style
- Maintain full TypeScript type safety
- Avoid introducing external runtime dependencies
- Ensure deterministic behavior and stable performance
- Public APIs should remain backward compatible within the same major version
Advanced extension patterns and runtime integration are documented in the GitHub Wiki. Visit Extending CmpStr for detailed information.
By contributing to this repository, you agree that your contributions will be licensed under the MIT License.
Thank you for helping improve CmpStr.