Thank you for considering contributing to ntchk! This document provides guidelines and instructions for contributing.
If you find a bug, please create an issue with:
- Clear title describing the problem
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- System information (Windows version, PowerShell version)
- Screenshots if applicable
Feature suggestions are welcome! Please create an issue with:
- Clear description of the feature
- Use case - why is this feature needed?
- Proposed implementation (if you have ideas)
-
Fork the repository to your GitHub account
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/Network_Check_app.git cd Network_Check_app
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes:
- Follow the existing code style
- Add comments for complex logic
- Test your changes thoroughly
-
Commit your changes:
git add . git commit -m "Add: Clear description of your changes"
Use conventional commit messages:
Add:for new featuresFix:for bug fixesUpdate:for improvements to existing featuresRefactor:for code refactoringDocs:for documentation changes
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request on GitHub
- PowerShell: Follow PowerShell Practice and Style Guide
- XAML: Maintain consistent indentation (4 spaces)
- Comments: Add comments for non-obvious code
- Variables: Use descriptive names (
$speedTestResults, not$str)
ntchk.ps1- Main entry point, UI initializationui/MainWindow.xaml- WPF interface (XAML only)src/*.ps1- Modular functions (each file has specific purpose)build/- Build scripts and configurationassets/- Icons, images, static resources
Before submitting a PR, please test:
-
Basic functionality:
- Speed test runs successfully
- Network info displays correctly
- Diagnostic tools execute without errors
- Settings save and load properly
-
Theme switching:
- Light mode displays correctly
- Dark mode displays correctly
- All text is readable in both modes
-
Error handling:
- Test without internet connection
- Test with invalid paths in settings
- Test diagnostic tools without admin rights
-
Edge cases:
- No network adapter
- Multiple network adapters
- Empty export folder
When adding features:
- Keep it modular - Add new functions to appropriate
src/*.ps1files - Update UI - Modify
ui/MainWindow.xamlif needed - Add settings - If configurable, add to Settings tab
- Update docs - Update README.md and CHANGELOG.md
- Test thoroughly - Ensure it works in both themes
To build a portable release:
cd build
.\Build-Portable.ps1This creates releases/NetworkCheck-vX.X.X-Portable.zip
Please update documentation when:
- Adding new features
- Changing existing behavior
- Fixing bugs that affect usage
Update these files:
README.md- Main documentationCHANGELOG.md- Version historybuild/README.md- If build process changes
If you have questions:
- Check existing Issues
- Create a new issue with the
questionlabel - Contact: juraj@madzo.eu
- Be respectful and constructive
- Welcome newcomers
- Focus on the best solution, not ego
- Help others learn and grow
Every contribution, no matter how small, is appreciated!
Happy coding! 🚀