Thank you for your interest in contributing to linux-sys-user! This document provides guidelines and information for contributors.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/linux-user.git - Install dependencies:
npm install - Run tests:
npm test - Run linting:
npm run lint
- Node.js >= 6.0.0
- Linux operating system
- Root access (for most operations)
- Use JSHint for code linting:
npm run lint - Follow existing code patterns and style
- Use meaningful variable and function names
- Add comments for complex logic
- Write tests for new features
- Ensure all tests pass:
npm test - Run linting:
npm run lint - Test coverage:
npm run test-coverage
Note: Most tests require root privileges. Some tests may fail if not running as root, which is expected behavior.
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Add tests for your changes
- Ensure linting passes:
npm run lint - Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Submit a pull request
- Provide a clear description of the changes
- Reference any related issues
- Ensure all tests pass
- Follow the existing code style
- Add tests for new functionality
When reporting issues, please include:
- Node.js version (
node --version) - Linux distribution and version
- Steps to reproduce the problem
- Expected vs actual behavior
- Any error messages
This module requires root privileges to function properly. Please be mindful of:
- Input validation and sanitization
- Secure handling of passwords and sensitive data
- Proper error handling to avoid information disclosure
By contributing, you agree that your contributions will be licensed under the MIT License.