First of all, thank you for considering contributing to gogitopsdeployer! It is people like you who make the open-source community an amazing place to learn, inspire, and create.
This project follows the Antigravity engineering pillars. Before proposing any changes, please ensure your code aligns with these principles:
- Extreme Modularization: Single responsibility per file. Logic vs. Presentation separation.
- Stateless by Design: No local memory state. Use distributed stores or persistence for stateful data.
- Typed Configuration: Absolute zero hardcoded credentials or URLs. All configuration must be validated at boot time.
- Composition over Inheritance: Small, reusable building blocks combined into complex systems.
- Contract First: Typed interfaces between modules and shared types for communication.
- Use the GitHub Issues tab.
- Describe the unexpected behavior, steps to reproduce, and your environment.
- Open an issue to discuss the proposal before starting implementation.
- This ensures alignment with the project's roadmap and architectural pillars.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Ensure all tests pass (
make test). - Run static analysis (
make lint). - Commit your changes following Conventional Commits.
- Push to the branch and open a PR.
- Language: Variable names, functions, and files in English.
- Documentation: All exported items must have Godoc comments.
- Formatting: Use
gofmt(handled bymake tidyor your IDE).
Let's build a more resilient GitOps future together!
Check the Issues tab before starting work to avoid duplication.