Contributing to Flux Orchestrator
Learn how to contribute to the project.
Table of contents
- Contributing Overview
- Code of Conduct
- How to Contribute
- Reporting Bugs
- Suggesting Features
- Submitting Changes
- Development Setup
- Code Style
- Go
- TypeScript/React
- Documentation
- Testing
- Backend Tests
- Frontend Tests
- Pull Request Process
- License
- Questions?
Contributing Overview
Thank you for your interest in contributing to Flux Orchestrator! This document provides guidelines and information for contributors.
Code of Conduct
Please be respectful and considerate in your interactions with other contributors.
How to Contribute
Reporting Bugs
If you find a bug, please create an issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Go version, etc.)
Suggesting Features
Feature suggestions are welcome! Please create an issue describing:
- The use case
- How it would work
- Why it would be valuable
Submitting Changes
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name
- Make your changes
- Follow the existing code style
- Add tests if applicable
- Update documentation
- Test your changes
# Backend
go test ./...
go build ./backend/cmd/server
# Frontend
cd frontend
npm run build
- Commit your changes
- Use clear, descriptive commit messages
- Reference issues if applicable
git commit -m "Add feature X to improve Y"
- Push to your fork
git push origin feature/your-feature-name
- Create a Pull Request
- Describe what your PR does
- Link to related issues
- Explain any breaking changes
Development Setup
See DEVELOPMENT.md for detailed setup instructions.
Code Style
Go
- Follow standard Go conventions
- Run
go fmt before committing
- Use meaningful variable and function names
- Add comments for exported functions
- Keep functions small and focused
TypeScript/React
- Use TypeScript for type safety
- Follow React best practices
- Use functional components with hooks
- Keep components focused and reusable
- Use meaningful component and variable names
Documentation
- Update README.md if adding features
- Add inline comments for complex logic
- Update API documentation for API changes
- Include examples where helpful
Testing
- Add tests for new features
- Ensure existing tests pass
- Test manually when possible
Backend Tests
Frontend Tests
Pull Request Process
- Ensure your PR has a clear description
- Link to related issues
- Update documentation
- Wait for review from maintainers
- Address review feedback
- Once approved, your PR will be merged
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Questions?
Feel free to open an issue for any questions about contributing!