Thank you for your interest in contributing to [Project Name]! We welcome contributions from the community.
- Code of Conduct
- Getting Started
- How to Contribute
- Development Workflow
- Coding Standards
- Commit Guidelines
- Pull Request Process
- Contributor License Agreement
By participating in this project, you agree to maintain a respectful and inclusive environment. We expect all contributors to:
- Be respectful and constructive
- Welcome newcomers and help them get started
- Focus on what is best for the community
- Show empathy towards other community members
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/[project-name].git cd [project-name] - Add upstream remote:
git remote add upstream https://github.com/ainvirion/[project-name].git
- Install dependencies:
npm install
- Create a branch for your work:
git checkout -b feature/your-feature-name
Before creating a bug report:
- Check the existing issues to avoid duplicates
- Collect information about the bug (version, OS, error messages, etc.)
When filing a bug report, include:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Environment details
Enhancement suggestions are welcome! Please:
- Check existing issues and discussions first
- Provide a clear use case
- Explain why this enhancement would be useful
- Consider backward compatibility
We welcome code contributions for:
- Bug fixes
- New features
- Performance improvements
- Documentation improvements
- Test coverage
-
Sync with upstream:
git fetch upstream git checkout main git merge upstream/main
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes following our coding standards
-
Write tests for new functionality
-
Run tests to ensure nothing breaks:
npm test -
Run linter:
npm run lint
-
Commit your changes following commit guidelines
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request on GitHub
- Write clear, readable, and maintainable code
- Follow existing code style and patterns
- Add comments for complex logic
- Keep functions small and focused
- Avoid code duplication
[Add specific coding standards for your project's primary language]
- Write unit tests for new functionality
- Maintain or improve test coverage
- Ensure all tests pass before submitting PR
- Include integration tests where appropriate
We follow the Conventional Commits specification:
<type>(<scope>): <subject>
<body>
<footer>
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style changes (formatting, missing semicolons, etc.)
- refactor: Code refactoring
- perf: Performance improvements
- test: Adding or updating tests
- chore: Maintenance tasks
feat(auth): add OAuth2 authentication
Implement OAuth2 authentication flow using the authorization code grant.
Includes token refresh and revocation.
Closes #123
fix(api): handle null response in user endpoint
Add null check to prevent crash when API returns empty response.
Fixes #456
- Update documentation if needed
- Add tests for new functionality
- Ensure CI passes (all tests and linting)
- Update CHANGELOG.md with your changes
- Request review from maintainers
- Address feedback promptly and professionally
- Squash commits if requested (we may do this when merging)
- Code follows project style guidelines
- Tests added/updated and passing
- Documentation updated
- Commits follow commit guidelines
- No breaking changes (or documented if necessary)
- CHANGELOG.md updated
By contributing to this project, you agree that your contributions will be licensed under the Apache License 2.0. You also certify that:
- You created the contribution or have the right to submit it
- You grant AInvirion and the community the right to use your contribution under the Apache License 2.0
- Your contribution does not violate any third-party rights
For significant contributions, you may be asked to sign a formal Contributor License Agreement (CLA).
If you have questions about contributing, please:
- Check existing documentation
- Search closed issues
- Ask in GitHub Discussions
- Contact us at contact@ainvirion.com
Thank you for contributing to [Project Name]!