Thank you for your interest in contributing to MeridianAlgo! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/meridianalgo.git - Install dependencies:
pnpm install - Create a branch:
git checkout -b feature/your-feature-name
# Build the package
pnpm build# Run all tests
pnpm test# Lint the source code
pnpm lint- Implement functionality in
src/under the appropriate module (e.g.,src/indicators/). - Export public API in
src/index.ts. - Add tests in a
*.test.tsfile alongside your code. - Update documentation in the
docs/folder.
- Write unit tests for all new functionality
- Aim for high test coverage
- Use descriptive test names
- Test edge cases and error conditions
- Mock external dependencies
Example:
describe('MyClass', () => {
it('should calculate correctly', () => {
const instance = new MyClass();
const result = instance.calculate([1, 2, 3]);
expect(result).toEqual([expected]);
});
it('should handle edge cases', () => {
const instance = new MyClass();
expect(() => instance.calculate([])).toThrow();
});
});- Update README.md for user-facing changes
- Add JSDoc comments for public APIs
- Include code examples where appropriate
- Update API reference in docs/
- Check existing issues and discussions
- Open a new issue for bugs or feature requests
- Join our GitHub Discussions for questions
- Be respectful and professional
- Welcome newcomers
- Focus on constructive feedback
- Help others learn and grow
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to MeridianAlgo!