4.5 KiB
Executable file
4.5 KiB
Executable file
Contributing to NetPulse
Thank you for your interest in contributing to NetPulse! We welcome contributions of all kinds—whether you’re improving documentation, fixing bugs, proposing new features, or helping with testing.
Table of Contents
- Why Contribute?
- Code of Conduct
- Getting Started
- Reporting Issues
- Feature Requests
- Development Workflow
- Coding Guidelines
- Commit Message Format
- Pull Request Process
- Contact & Support
1. Why Contribute?
NetPulse is an open-source, community-driven project. Your contributions will help:
- Accelerate development of new features
- Improve stability and performance
- Write and refine documentation
- Grow and support a welcoming community
2. Code of Conduct
By participating in this project, you agree to abide by the Code of Conduct. Please read it to ensure a safe and respectful community.
3. Getting Started
- Fork the repository on GitLab:
https://gitlab.com/open-pulse-security/net-pulse - Clone your fork locally:
git clone https://gitlab.com/your-username/net-pulse.git cd NetPulse - Create and activate a Python 3.8+ virtual environment:
python3 -m venv .venv source .venv/bin/activate # Linux/macOS .\.venv\Scripts\activate # Windows - Install development dependencies (once
requirements-dev.txtis added):pip install -r requirements-dev.txt - (Optional) Set up pre-commit hooks for linting/formatting:
pip install pre-commit pre-commit install
4. Reporting Issues
If you find a bug or run into any problems:
- Search existing issues to see if it’s already been reported.
- If not, open a new issue and include:
- A clear, descriptive title
- Steps to reproduce the problem
- Expected vs. actual behavior
- Screenshots or logs, if applicable
5. Feature Requests
We welcome ideas for new features! To request a feature:
- Check the list of open issues/features to avoid duplicates.
- Create a new issue with:
- A descriptive title
- A summary of the proposed feature
- Any relevant use cases or sketches
6. Development Workflow
We follow a GitLab flow:
- Branching
- Create a branch per issue or feature:
git checkout -b feat/<short-description>
git checkout -b fix/<short-description>
- Create a branch per issue or feature:
- Work
- Make your changes
- Run tests and linters locally
- Commit
- Write clear, concise commit messages (see below)
- Push
- Push your branch to your fork:
git push origin feat/<short-description>
- Push your branch to your fork:
- Pull Request
- Open a PR against
mainin the upstream repo - Fill out the PR template with details
- Open a PR against
7. Coding Guidelines
- Follow PEP 8 for Python style.
- Use meaningful variable and function names.
- Keep functions short and focused (max ~50 lines).
- Document public functions and classes with docstrings.
- For UI code (Tkinter), separate logic from presentation where possible.
- Write tests for new features/bug fixes.
8. Commit Message Format
Use a simple, consistent format:
<type>(<scope>): <short description>
<body>
<footer>
- type: feat, fix, docs, refactor, test, chore
- scope: optional area of the code (e.g.,
gui,core,storage) - short description: ≤50 characters
- body: more detailed explanation (wrap at 72 characters)
- footer: issue references, breaking changes, etc.
Example:
feat(core): add JSON-based persistence layer
This adds save_data() and load_data() functions to handle
equipment data in JSON format.
Closes #12
9. Pull Request Process
- Ensure your branch is up to date with
main. - Run all tests and make sure they pass.
- Link related issues in the PR description.
- Describe what you’ve done and why.
- Request reviews from maintainers.
- Address review comments and update your PR.
10. Contact & Support
- For general discussion and questions, use GitLab Discussions.
- For urgent issues, open an issue and tag a maintainer.
- You can also reach the maintainers via email: code@openpulsesec.org
Thank you for helping make NetPulse better! 🚀