Thank you for your interest in contributing to the Cuéntica SDK! This document provides guidelines and instructions for contributing to this open-source project.
By participating in this project, you agree to maintain a welcoming, inclusive, and harassment-free environment. Please be respectful of all contributors regardless of background or experience level.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/cuentica-sdk.git
- Create a branch for your changes:
git checkout -b feature/your-feature-name
- Install dependencies:
npm install
- Copy
.env.example
to.env
and fill in your test API credentials - Run tests to ensure everything is set up correctly:
npm test
- Start the development environment:
npm run dev
- Write in TypeScript
- Follow the existing code style
- Maintain type safety - avoid using
any
- Document all public APIs using TSDoc comments
- Keep functions focused and modular
- Add appropriate error handling
- Write tests for new features and bug fixes
- Ensure all tests pass before submitting:
npm test
- Include both unit and integration tests where appropriate
- Update the README.md if adding new features
- Add TSDoc comments for new methods and classes
- Update type definitions where necessary
- Include examples for new functionality
- Update the API documentation if endpoints change
- Use semantic commit messages:
feat:
for new featuresfix:
for bug fixesdocs:
for documentation changestest:
for test changeschore:
for maintenance tasks
- Keep commits focused and atomic
- Reference issues in commit messages when applicable
- Update your fork with the latest main branch changes
- Ensure your changes pass all tests and lint checks
- Create a pull request with a clear description of the changes
- Include any relevant issue numbers
- Update documentation as needed
- Wait for review and address any feedback
- Tests added/updated and passing
- Documentation updated
- Type definitions updated
- Lint checks passing
- Branch up to date with main
- Commit messages follow guidelines
When reporting bugs, please include:
- SDK version
- Node.js version
- Minimal code example to reproduce
- Expected vs actual behavior
- Any error messages or logs
- Steps to reproduce
For feature requests, please:
- Clearly describe the feature
- Explain the use case
- Provide examples of how it would be used
- Note if it's related to a problem
- Choose an issue to work on or create a new one
- Comment on the issue to let others know you're working on it
- Fork and clone the repository
- Create a feature branch
- Make your changes
- Write/update tests
- Update documentation
- Submit a pull request
The maintainers will handle releases following semantic versioning:
- Major version: Breaking changes
- Minor version: New features, no breaking changes
- Patch version: Bug fixes, no breaking changes
When making changes that affect the API:
- Document all changes thoroughly
- Update type definitions
- Add migration guides for breaking changes
- Update examples in documentation
- Consider backward compatibility
- Create an issue for bugs or feature requests
- Tag questions with 'question' label
- Be clear and provide context
- Search existing issues before creating new ones
By contributing, you agree that your contributions will be licensed under the project's MIT License.
Thank you for contributing to the Cuéntica SDK!