Thank you for considering contributing to SignMeLad! This document outlines the process for contributing to the project and helps ensure a smooth collaboration experience.
By participating in this project, you are expected to uphold our Code of Conduct. Please report unacceptable behavior to the project maintainers.
Before submitting a bug report:
- Check the issue tracker to see if the bug has already been reported
- Make sure you're using the latest version of the SDK
- Collect information to help reproduce the issue
When submitting a bug report, include:
- A clear and descriptive title
- Steps to reproduce the behavior
- Expected behavior vs. actual behavior
- Screenshots or code snippets if applicable
- Environment details (browser, OS, wallet provider, etc.)
Before submitting an enhancement suggestion:
- Check the issue tracker to see if the enhancement has already been suggested
- Consider if the enhancement aligns with the project's goals
When submitting an enhancement suggestion, include:
- A clear and descriptive title
- Detailed description of the proposed functionality
- Justification for the enhancement
- Possible implementation approach
- Fork the repository
- Create a new branch from
main
- Make your changes
- Add or update tests as necessary
- Ensure all tests pass
- Update documentation if needed
- Submit a pull request
-
Clone the repository:
git clone https://github.com/username/signmelad.git cd signmelad
-
Install dependencies:
npm install
-
Build the project:
npm run build
Run all tests:
npm test
Run tests in watch mode:
npm run test:watch
Generate test coverage report:
npm run test:coverage
This project uses ESLint and Prettier for code formatting. Before submitting a pull request, make sure your code passes linting:
npm run lint
To automatically fix linting issues:
npm run lint:fix
signmelad/
├── dist/ # Compiled output
├── docs/ # Generated API documentation
├── src/ # Source code
│ ├── errors/ # Error handling
│ ├── logger/ # Logging system
│ ├── types/ # TypeScript type definitions
│ ├── auth.ts # Authentication implementation
│ ├── index.ts # Main entry point
│ ├── server.ts # Server-side utilities
│ └── utils.ts # Utility functions
├── tests/ # Test suite
├── demo/ # Demo application
│ ├── backend/ # Example server implementation
│ └── frontend/ # Example client implementation
└── [Configuration files]
This project follows Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for new functionality in a backward-compatible manner
- PATCH version for backward-compatible bug fixes
When adding or modifying functionality, please update the relevant documentation:
- Update JSDoc comments in the code
- Update README.md if necessary
- Update or add examples if appropriate
Follow Conventional Commits for commit messages:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types include:
- feat: A new feature
- fix: A bug fix
- docs: Documentation changes
- style: Code style changes (formatting, indentation)
- refactor: Code changes that neither fix bugs nor add features
- perf: Performance improvements
- test: Adding or updating tests
- chore: Changes to the build process or auxiliary tools
Pull requests will be reviewed by project maintainers. The review process includes:
- Code review
- Test verification
- Documentation check
- Update version in package.json
- Update CHANGELOG.md
- Create a new GitHub release
- Publish to npm
If you have questions about contributing, please open an issue with the prefix "[Question]" in the title.
Thank you for your contributions!