2.3 KiB
2.3 KiB
Contributing to Hive
Thank you for your interest in contributing to Hive! This document provides guidelines and information for contributors.
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct.
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/hive.git - Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
npm run test - Commit your changes following our commit conventions
- Push to your fork and submit a Pull Request
Development Setup
# Install dependencies
npm install
# Copy configuration
cp config.yaml.example config.yaml
# Generate environment files
npm run setup
# Start development environment
docker compose up
Commit Convention
We follow Conventional Commits:
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(auth): add OAuth2 login support
fix(api): handle null response from external service
docs(readme): update installation instructions
Pull Request Process
- Update documentation if needed
- Add tests for new functionality
- Ensure all tests pass
- Update the CHANGELOG.md if applicable
- Request review from maintainers
PR Title Format
Follow the same convention as commits:
feat(component): add new feature description
Project Structure
honeycomb/- React frontend applicationhive/- Node.js backend APIdocs/- Documentationscripts/- Build and utility scripts
Code Style
- Use TypeScript for all new code
- Follow existing code patterns
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
Testing
# Run all tests
npm run test
# Run tests for a specific package
npm run test --workspace=honeycomb
npm run test --workspace=hive
Questions?
Feel free to open an issue for questions or join our Discord community.
Thank you for contributing!