mirror of
https://github.com/Horizontal42/netsleuth.git
synced 2026-11-11 02:12:04 +03:00
docs: add comprehensive CONTRIBUTING.md guide for developers
This commit is contained in:
parent
a94cfedcfb
commit
be9477d1d8
1 changed files with 112 additions and 0 deletions
112
CONTRIBUTING.md
Normal file
112
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
# Contributing to Netsleuth
|
||||
|
||||
Thank you for considering contributing to Netsleuth! We welcome contributions from the community and are happy to review your pull requests.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
Please be respectful and constructive in your interactions. We follow a code of conduct that ensures a welcoming environment for everyone.
|
||||
|
||||
## How Can I Contribute?
|
||||
|
||||
### Reporting Bugs
|
||||
|
||||
Before creating bug reports, please check existing issues as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
|
||||
|
||||
* Use a clear and descriptive title
|
||||
* Describe the exact steps to reproduce the problem
|
||||
* Provide specific examples to demonstrate the steps
|
||||
* Describe the behavior you observed and what behavior you expected
|
||||
* Include screenshots if applicable
|
||||
* Include environment details (OS, Python version, etc.)
|
||||
|
||||
### Suggesting Enhancements
|
||||
|
||||
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
|
||||
|
||||
* A clear and descriptive title
|
||||
* A detailed description of the suggested enhancement
|
||||
* Examples of how this enhancement would be used
|
||||
* Explanation of why this enhancement would be useful
|
||||
|
||||
### Pull Requests
|
||||
|
||||
* Fill in the required template
|
||||
* Follow the Python style guide (PEP 8)
|
||||
* Include tests for new functionality
|
||||
* Update documentation as needed
|
||||
* Add an entry to CHANGELOG.md
|
||||
* Ensure all tests pass and there are no linting errors
|
||||
|
||||
## Development Setup
|
||||
|
||||
1. Fork the repository
|
||||
2. Clone your fork: `git clone https://github.com/your-username/netsleuth.git`
|
||||
3. Install dependencies: `uv pip install -e .[dev]`
|
||||
4. Install pre-commit hooks: `pre-commit install`
|
||||
5. Create a branch: `git checkout -b feature/your-feature-name`
|
||||
|
||||
## Coding Standards
|
||||
|
||||
* Use type hints for all function parameters and return values
|
||||
* Write docstrings for all public functions and classes
|
||||
* Follow PEP 8 style guidelines
|
||||
* Keep functions small and focused
|
||||
* Write meaningful commit messages
|
||||
|
||||
### Commit Message Format
|
||||
|
||||
We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
|
||||
|
||||
```
|
||||
<type>(<scope>): <description>
|
||||
|
||||
[optional body]
|
||||
|
||||
[optional footer(s)]
|
||||
```
|
||||
|
||||
Types include:
|
||||
* `feat`: A new feature
|
||||
* `fix`: A bug fix
|
||||
* `docs`: Documentation changes
|
||||
* `style`: Code style changes (formatting, etc.)
|
||||
* `refactor`: Code refactoring
|
||||
* `test`: Adding or updating tests
|
||||
* `chore`: Maintenance tasks
|
||||
|
||||
## Testing
|
||||
|
||||
* Write unit tests for new functionality
|
||||
* Ensure all existing tests pass
|
||||
* Aim for high test coverage
|
||||
* Test with multiple Python versions (3.10, 3.11, 3.12)
|
||||
|
||||
Run tests with:
|
||||
```bash
|
||||
pytest tests/ -v --cov=src/netsleuth
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
* Update README.md for user-facing changes
|
||||
* Add API documentation for new modules
|
||||
* Include usage examples
|
||||
* Keep documentation up-to-date with code changes
|
||||
|
||||
Build documentation locally:
|
||||
```bash
|
||||
sphinx-build -b html docs/source docs/build
|
||||
```
|
||||
|
||||
## Code Review Process
|
||||
|
||||
1. All submissions require review
|
||||
2. We use GitHub pull requests
|
||||
3. At least one maintainer must approve
|
||||
4. Automated checks must pass
|
||||
|
||||
## Questions?
|
||||
|
||||
Feel free to open an issue with the "question" label if you have any questions about contributing.
|
||||
|
||||
Thank you for contributing to Netsleuth! 🎉
|
||||
Loading…
Add table
Reference in a new issue