Contributing
January 4, 2026 ยท View on GitHub
Reporting Bugs
Before creating a bug report:
- Search existing issues
- Update to the latest version
- Use the bug report template
Include:
- Zsh version (
zsh --version) - Your configuration
- Steps to reproduce
- Expected vs actual behavior
Development Setup
# Fork and clone
git clone https://github.com/YOUR_USERNAME/zsh-vi-man.git
cd zsh-vi-man
# Create a branch
git checkout -b feature/your-feature-name
# Test your changes
zsh test_patterns.zsh
Code Style
- 2 spaces for indentation
- Add comments for complex logic
- Follow existing patterns
Commit Messages
Use conventional commit format:
feat: add support for custom pager options
fix: handle options with equals sign correctly
docs: update installation instructions
test: add tests for slash-separated options
Writing Tests
Add tests to test_patterns.zsh for pattern changes:
pattern=$(build_your_pattern_function "input")
assert_matches "$pattern" \
" expected match line" \
"Description of what should match"
Pull Requests
- Create PR using the template
- Link related issues (use "Fixes #123")
- Ensure tests pass
- Respond to review feedback
CI/CD
GitHub Actions automatically:
- Runs pattern tests
- Verifies plugin loads
- Tests on Ubuntu and macOS
- Checks compatibility with plugin managers