Thank you for your interest in contributing to the Checkmk MKP Builder Action! This document provides guidelines for contributing to the project.
- Search existing issues first to avoid duplicates
- Use the issue template when creating new issues
- Provide detailed information:
- Operating system and version
- Checkmk version
- Action version
- Complete error messages
- Minimal reproduction case
- Check existing feature requests to avoid duplicates
- Describe the problem you're trying to solve
- Explain your proposed solution with examples
- Consider backwards compatibility
- Fork the repository and create a feature branch
- Make your changes with clear, focused commits
- Test your changes thoroughly
- Update documentation if needed
- Submit a pull request with a clear description
You can test the action locally by:
- Setting up a test repository with Checkmk plugin structure
- Copying your modified files to the test repository
- Running the build script directly:
./mkp-builder.sh --version 1.0.0-test --verbose
- Push to a fork of this repository
- Reference your fork in a test workflow:
- uses: yourusername/mkp-builder@your-branch
- Test with various inputs and directory structures
- Use
#!/bin/bashshebang - Set
set -euo pipefailfor error handling - Use meaningful variable names
- Add comments for complex logic
- Quote variables to prevent word splitting
- Use
[[ ]]instead of[ ]for tests
- Use 2-space indentation
- Quote strings when needed
- Use meaningful step names
- Group related inputs/outputs logically
- Use clear, concise language
- Provide working examples
- Update README.md for new features
- Include troubleshooting for common issues
Test the action with:
- Minimal plugin structure (agent plugin only)
- Complete plugin structure (all components)
- Various Checkmk versions
- Different input combinations
- Edge cases (missing files, invalid syntax)
- Action works with minimal inputs
- Action works with all inputs provided
- Configuration file is respected
- Python validation works correctly
- Verbose output is helpful
- Error messages are clear
- Generated MKP installs correctly in Checkmk
- Documentation is updated
- Update version in relevant files
- Update CHANGELOG with new features/fixes
- Tag the release following semantic versioning
- Test the tagged version before announcing
- Update marketplace if needed
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and improve
- Keep discussions relevant and professional
- Create an issue for bugs or feature requests
- Start a discussion for questions or ideas
- Check existing documentation first
Contributors will be recognized in:
- Release notes
- README acknowledgments
- GitHub contributors list
Thank you for helping make the Checkmk MKP Builder better for everyone!