Thank you for your interest in contributing to Prices as Code! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct.
Bugs are tracked as GitHub issues. Search the issues to make sure the bug hasn't been reported already. If you find a bug that hasn't been reported, open a new issue and include:
- A clear title and description
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant code snippets or error messages
Enhancement suggestions are also tracked as GitHub issues. When suggesting an enhancement, please include:
- A clear title and detailed description
- Step-by-step explanation of the suggested enhancement
- Any examples of how the enhancement would work
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
npm test - Make sure linting passes:
npm run lint - Commit your changes with a descriptive commit message
- Push to your branch:
git push origin feature/your-feature-name - Open a pull request to the
mainbranch
- Include tests for any new functionality
- Update documentation if needed
- Follow existing code style and conventions
- Keep pull requests focused on a single concern
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm testWhen adding support for a new billing provider:
- Create a new file in
src/providers/with your provider implementation - Implement the
ProviderClientinterface - Add appropriate types to
src/types.ts - Add tests for your provider
- Update documentation to include your new provider
By contributing to Prices as Code, you agree that your contributions will be licensed under the project's MIT License.