Thank you for your interest in contributing! This document provides guidelines for contributing to the HLS Example Project.
This repository is monitored by Hook Line Sinker (HLS), an AI-powered webhook service that automatically:
- Reviews pull requests
- Labels issues
- Detects security vulnerabilities
- Analyzes code quality
- Suggests improvements
Your contributions will be automatically analyzed to ensure quality and security standards.
- Node.js 18+
- Git
- GitHub account
- Basic understanding of JavaScript/TypeScript
-
Fork the repository
# Click "Fork" button on GitHub -
Clone your fork
git clone https://github.com/YOUR_USERNAME/hls-example-project.git cd hls-example-project -
Add upstream remote
git remote add upstream https://github.com/ORIGINAL_OWNER/hls-example-project.git
-
Install dependencies
npm install
-
Create a branch
git checkout -b feature/your-feature-name
Before starting work, check if an issue already exists for your intended contribution.
Use our issue templates to create:
- 🐛 Bug reports
- ✨ Feature requests
- 🔒 Security vulnerabilities
- 🐌 Performance issues
Follow these guidelines:
- Write clean, readable code
- Follow existing code style
- Add tests for new functionality
- Update documentation as needed
# Run all tests
npm test
# Run linting
npm run lint
# Run type checking
npm run typecheck
# Run build
npm run buildFollow conventional commit format:
# Format: <type>(<scope>): <subject>
# Examples:
git commit -m "feat(api): add user authentication"
git commit -m "fix(ui): resolve button alignment issue"
git commit -m "docs: update installation instructions"
git commit -m "perf(db): optimize query performance"Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringperf: Performance improvementstest: Test additions or correctionschore: Maintenance tasks
git push origin feature/your-feature-name- Use the PR template
- Link related issues
- Provide clear description
- Add screenshots if applicable
- Be respectful and inclusive
- Welcome newcomers and help them get started
- Accept constructive criticism gracefully
- Focus on what's best for the community
- Harassment or discrimination
- Trolling or insulting comments
- Public or private harassment
- Publishing others' private information
- ✅ All tests must pass
- ✅ Code must be linted
- ✅ Must not decrease test coverage
- ✅ Must include relevant tests
- ✅ Must update documentation if needed
- Immediate HLS Analysis: Your PR will be automatically analyzed
- AI Review: HLS will comment with suggestions and findings
- Human Review: Maintainers will review after HLS analysis
- Feedback Loop: Address any comments or suggestions
- Merge: Once approved, your PR will be merged
- Keep PRs focused and small
- One feature/fix per PR
- Write descriptive commit messages
- Update tests and documentation
- Respond to feedback promptly
HLS automatically applies labels. Understanding them helps:
- 🔴
critical: Urgent issues requiring immediate attention - 🟠
high-priority: Important issues to address soon - 🟡
medium-priority: Standard priority items - 🟢
low-priority: Nice-to-have improvements
bug: Something isn't workingenhancement: New feature or requestdocumentation: Documentation improvementssecurity: Security-related issuesperformance: Performance improvements
needs-triage: Awaiting initial reviewneeds-info: More information requiredin-progress: Currently being worked onready-for-review: PR ready for reviewblocked: Blocked by external factors
describe('Component/Function Name', () => {
it('should do something specific', () => {
// Arrange
const input = 'test';
// Act
const result = myFunction(input);
// Assert
expect(result).toBe('expected');
});
});- Aim for >80% code coverage
- Test edge cases
- Test error scenarios
- Test async operations
- Adding new features
- Changing API interfaces
- Modifying configuration options
- Updating setup procedures
- Use clear, concise language
- Include code examples
- Add diagrams for complex concepts
- Keep README up to date
- Version Bumping: Follow semantic versioning
- Changelog: Update CHANGELOG.md
- Testing: Ensure all tests pass
- Review: Final review by maintainers
- Tag: Create version tag
- Release: GitHub Actions handles the rest
- Issues: Bug reports and feature requests
- Discussions: General questions and ideas
- PRs: Code contributions
- Follow RESTful principles
- Use proper HTTP status codes
- Implement proper error handling
- Add OpenAPI documentation
- Component-based architecture
- Responsive design required
- Accessibility (a11y) compliance
- Performance optimization
- Always include migrations
- Consider backward compatibility
- Document schema changes
- Test migration rollbacks
Contributors are recognized in:
- Contributors list
- Release notes
- Project documentation
Thank you for contributing to make this project better! 🎉
🎣 Powered by Hook Line Sinker
Your contributions are automatically analyzed for quality and security
Your contributions are automatically analyzed for quality and security