Thank you for your interest in contributing to sshto! This document provides guidelines and instructions for contributing.
- Go 1.24 or later
- Git
-
Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/sshto.git cd sshto -
Install dependencies:
go mod tidy
-
Build the project:
make build
-
Run tests:
make test
- Run
make fmtbefore committing - Run
make vetto check for common issues - Run
make lintfor comprehensive linting (requires golangci-lint) - Follow standard Go conventions and idioms
-
Create a new branch for your feature or fix:
git checkout -b feature/your-feature-name
-
Make your changes and commit with clear, descriptive messages
-
Ensure all tests pass:
make test -
Push to your fork and open a pull request
- Provide a clear description of the changes
- Reference any related issues
- Ensure CI checks pass
- Keep changes focused and atomic
When reporting issues, please include:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Go version and operating system
- Relevant configuration (with sensitive data removed)
Feel free to open an issue for questions or discussion.