This repository is organized as a monorepo containing multiple projects:
api/: Ruby on Rails API backenddocs/: Docusaurus documentation for the APIterraform/: Terraform definitions for AWS deployment
We're excited that you're interested in contributing to the Helium API! This guide will help you understand our development process and how you can contribute effectively.
- Fork the repository
- Clone your fork locally
- Set up the development environment using Docker:
docker-compose up -d
-
Create a Branch: Create a branch for your work
git checkout -b feature/your-feature-name
-
Make Changes: Write your code following our coding standards
- Write clear, documented code
- Include tests for new features
- Follow existing patterns in the codebase
-
Test Your Changes:
docker-compose exec web bundle exec rspec
-
Submit a Pull Request:
- Provide a clear description of your changes
- Reference any related issues
- Ensure all tests pass
- Update documentation if needed
- Follow Ruby style guidelines
- Use Sorbet type annotations
- Write comprehensive tests
- Document public APIs
- Keep commits focused and atomic
- Write both unit and integration tests
- Use Factory Bot for test data
- Follow our RSpec patterns
- Aim for high test coverage
When adding new features, please:
- Update API documentation
- Add code comments where necessary
- Update relevant guides
- Include examples of usage
- Join our Discord community
- Check existing issues and discussions
- Reach out to maintainers
Thank you for contributing to making the Helium API better for everyone!