Thank you for your interest in contributing to vexErrScope! This document provides guidelines and instructions for contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/vexErrScope.git - Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
go test ./... - Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
# Clone the repository
git clone https://github.com/vextmdev/vexErrScope.git
cd vexErrScope
# Run tests
go test ./...
# Build
go build -o vexErrScope ./cmd/vexErrScope
# Run
./vexErrScope explain testdata/sample.log- Follow standard Go conventions and
gofmt - Use meaningful variable and function names
- Keep functions focused and small
- Add comments only where necessary to explain "why", not "what"
- Write unit tests for new functionality
- Ensure all tests pass before submitting a PR
- Add test cases for edge cases and error conditions
- Use clear, descriptive commit messages
- Keep commits focused on a single change
- Reference issues in commit messages when applicable (e.g., "Fix #123")
To add support for a new error pattern:
- Add pattern detection in
internal/parse/parser.go - Add pattern mapping in
internal/analyze/analyzer.go - Add corresponding unit tests
- Update documentation
Example pattern structure in analyzer.go:
"your_pattern_name": {
ErrorType: "Human Readable Name",
RootCause: "Description of why this error occurs.",
SuggestFix: "Steps to fix this error.",
Confidence: "high|medium|low",
},- Ensure your code follows the project's style guidelines
- Update documentation if needed
- Add or update tests as appropriate
- Ensure all tests pass
- Request review from maintainers
When reporting bugs, please include:
- Go version (
go version) - Operating system
- Steps to reproduce
- Expected behavior
- Actual behavior
- Sample input that triggers the bug (if applicable)
Feature requests are welcome! Please open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
Please read and follow our Code of Conduct.
Feel free to open an issue for any questions about contributing.