Thank you for your interest in contributing to WebOS Process Manager! This document provides guidelines and instructions for contributing.
- Node.js 18+
- Python 3.11+
- MongoDB 6+
- Git
-
Clone the repository:
git clone https://github.com/your-username/webOS-processMGR.git cd webOS-processMGR -
Set up the frontend:
npm install
-
Set up the backend:
cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
-
Configure environment:
cp .env.example .env # Edit .env with your local settings -
Start MongoDB:
# Using Docker: docker run -d -p 27017:27017 --name mongodb mongo:6 # Or install MongoDB locally
Frontend (in project root):
npm run devBackend (in backend directory):
cd backend
source venv/bin/activate
uvicorn app.main:app --host 0.0.0.0 --port 8888 --reload- We use ESLint for linting
- Run
npm run lintbefore committing - Follow the existing code style in the project
- We use type hints for all function signatures
- Follow PEP 8 style guidelines
- Use meaningful variable and function names
Frontend:
npm run lint # Lint check
npm run build # Type check + buildBackend:
cd backend
source venv/bin/activate
python -m pytest app/tests -vfeature/- New features (e.g.,feature/restart-policy)fix/- Bug fixes (e.g.,fix/validation-error)docs/- Documentation changes (e.g.,docs/api-reference)refactor/- Code refactoring (e.g.,refactor/process-service)
Use clear, descriptive commit messages:
fix: validate ObjectId before database query
- Add ObjectId format validation to prevent crashes
- Return 400 Bad Request for invalid IDs
- Add regression tests for validation
Format:
feat:- New featurefix:- Bug fixdocs:- Documentationrefactor:- Code refactoringtest:- Adding testschore:- Maintenance tasks
- Create a feature branch from
master - Make your changes
- Run tests and linting
- Push your branch
- Open a Pull Request with:
- Clear description of changes
- Any breaking changes noted
- Screenshots for UI changes
- Test results
All submissions require review. We use GitHub pull requests for this purpose.
- Code follows project style guidelines
- Tests pass
- New tests added for new features
- Documentation updated if needed
- No security vulnerabilities introduced
When reporting issues, please include:
- Description: Clear description of the issue
- Steps to Reproduce: How to reproduce the behavior
- Expected Behavior: What you expected to happen
- Actual Behavior: What actually happened
- Environment: OS, Node/Python version, browser
- Screenshots: If applicable
Please see SECURITY.md for reporting security vulnerabilities.
Feel free to open an issue for questions or discussions.
By contributing, you agree that your contributions will be licensed under the MIT License.