Thank you for your interest in contributing to WA API Message Node.JS! This document provides guidelines and information for contributors.
- Node.js 18+
- npm 8+
- Git
-
Fork the repository
# Fork on GitHub, then clone your fork git clone https://github.com/sendzen-io/wa-api-message-node.js.git cd wa-message-api.js
-
Install dependencies
npm install
-
Build the project
npm run build
- Use the GitHub issue tracker
- Search existing issues before creating new ones
- Use the issue template for bug reports and feature requests
- Include steps to reproduce for bugs
-
Create a feature branch
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Make your changes
- Follow the coding standards
- Add tests for new functionality
- Update documentation as needed
-
Test your changes
npm run build
-
Commit your changes
git add . git commit -m "feat: add new feature description"
-
Push to your fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Use the pull request template
- Link related issues
- Provide a clear description of changes
- Use TypeScript for all new code
- Follow existing code patterns and conventions
- Use meaningful variable and function names
- Add JSDoc comments for public APIs
Follow the Conventional Commits specification:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat(whatsapp): add support for audio messages
fix(validation): improve phone number validation
docs: update README with new examples
- Write unit tests for new functionality
- Ensure all tests pass before submitting
- Test with different Node.js versions if possible
- Update README.md for user-facing changes
- Add JSDoc comments for new public methods
- Update type definitions in
src/types/index.ts
src/
├── client/ # HTTP client implementation
├── core/ # Core SDK functionality
├── services/ # Service classes (WhatsApp, Template)
├── types/ # TypeScript type definitions
└── index.ts # Main entry point
dist/ # Compiled JavaScript output
tests/ # Test files
docs/ # Documentation
npm run build- Compile TypeScript to JavaScriptnpm run test- Run test suitenpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run clean- Clean build artifacts
When reporting bugs, please include:
-
Environment information
- Node.js version
- npm version
- Operating system
-
Steps to reproduce
- Clear, numbered steps
- Expected vs actual behavior
-
Code example
- Minimal code that reproduces the issue
- Error messages or stack traces
-
Additional context
- Any relevant configuration
- Related issues or discussions
When requesting features, please include:
-
Use case description
- What problem does this solve?
- How would you use this feature?
-
Proposed solution
- How should the feature work?
- Any API design considerations?
-
Alternatives considered
- Other ways to solve the problem
- Why this approach is preferred
-
Before submitting
- Ensure all tests pass
- Update documentation
- Follow commit message conventions
-
Pull request description
- Clear title and description
- Link to related issues
- Screenshots for UI changes
-
Review process
- Address review feedback promptly
- Keep PRs focused and small
- Update PR if new commits are added
- Version numbers follow Semantic Versioning
- Releases are created from the
mainbranch - Changelog is automatically generated from commit messages
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this code.
- Documentation: Check the README.md
- Issues: Search existing issues
- Discussions: Use GitHub Discussions
- Email: Contact milan@sendzen.io
Contributors will be recognized in:
- README.md contributors section
- Release notes
- GitHub contributors page
Thank you for contributing to WA API Message Node.JS!