Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
If you find a bug, please create an issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Windows version and PowerShell version
- Error messages (if any)
Feature suggestions are welcome! Please create an issue describing:
- The feature you'd like to see
- Why it would be useful
- How it might work
To add support for a new AI tool:
-
Create a Plugin Folder:
- Create a folder in
tools/(e.g.,tools/my-new-tool/). - Create a
tool.conf.ps1following the existing examples. - Add an icon file if available.
- Create a folder in
-
Test locally:
- Run
Menu.batand select Check Tools to verify your tool is detected. - Run Reinstall Menu and verify the context menu entry works.
- Run
-
Submit a pull request:
- Include your new plugin folder.
- Update README if necessary.
- Submit PR with a clear description.
- Use clear, descriptive variable names
- Add comments for complex logic
- Follow PowerShell best practices
- Include error handling
- Test on multiple Windows versions if possible
- Use proper parameter validation
- Include help documentation (comment-based help)
- Handle errors gracefully
- Provide colored output for better UX
- Require admin privileges only when necessary
- Clone the repository
- Make your changes
- Test the installation script
- Test the uninstallation script
- Verify no registry artifacts remain after uninstall
Before submitting changes, please verify:
- Script runs without errors
- Menu appears in all contexts (folder, background, drive)
- Tool launches correctly
- Uninstall removes all entries
- No errors in PowerShell console
- Works on Windows 10 and/or 11
- Documentation is updated
- Code follows existing style
- Update README.md with details of changes
- Update CHANGELOG in README.md
- Ensure all tests pass
- Request review from maintainers
- Address any feedback
Feel free to open an issue for any questions about contributing.
- Be respectful and constructive
- Focus on what's best for the project
- Show empathy toward other contributors
- Accept constructive criticism gracefully
Thank you for contributing!