Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Getting Started
Fork and Clone
- Fork the repository
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/sshift.git
cd sshift
Install Dependencies
npm install
Create a Branch
git checkout -b feature/AmazingFeature
Development Workflow
Run Development Server
npm run dev
The application will be available at https://localhost:3000
Run Tests
# Run all tests
npm test
# Run unit tests only (fast, no server needed)
npm run test:unit
# Run integration tests (requires running server)
npm run test:integration
# Run browser tests (requires running server)
npm run test:browser
Code Style
- Follow the existing code style
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused
Commit Messages
Use clear, descriptive commit messages:
feat: add custom layout support
fix: resolve SSH connection timeout issue
docs: update installation instructions
test: add unit tests for SFTP operations
refactor: simplify session management
Pull Request Process
- Update documentation if you change functionality
- Add tests for new features
- Ensure all tests pass before submitting
- Update the README if needed
- Request review from maintainers
PR Checklist
- Code follows project style guidelines
- All tests pass
- New tests added for new functionality
- Documentation updated
- Commit messages are clear and descriptive
- Branch is up to date with main
Code of Conduct
Be Respectful
- Use welcoming and inclusive language
- Be respectful of differing viewpoints
- Accept constructive criticism gracefully
- Focus on what is best for the community
Be Collaborative
- Help others when you can
- Share knowledge and resources
- Provide constructive feedback
- Work together to solve problems
Questions?
- Issues: GitHub Issues
- Discussions: GitHub Discussions
License
By contributing, you agree that your contributions will be licensed under the MIT License.