docs: add CONTRIBUTING.md and SECURITY.md for open source
Some checks failed
CI Pipeline / Rust Format Check (push) Successful in 6s
CI Pipeline / Clippy Lints (push) Successful in 53s
CI Pipeline / Rust Unit Tests (push) Failing after 1m11s
CI Pipeline / Security Audit (push) Successful in 4s
CI Pipeline / Frontend Lint & Type Check (push) Successful in 15s
CI Pipeline / Build .deb & Release (push) Has been skipped
Some checks failed
CI Pipeline / Rust Format Check (push) Successful in 6s
CI Pipeline / Clippy Lints (push) Successful in 53s
CI Pipeline / Rust Unit Tests (push) Failing after 1m11s
CI Pipeline / Security Audit (push) Successful in 4s
CI Pipeline / Frontend Lint & Type Check (push) Successful in 15s
CI Pipeline / Build .deb & Release (push) Has been skipped
This commit is contained in:
94
CONTRIBUTING.md
Normal file
94
CONTRIBUTING.md
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
# Contributing to Linux-Patch-Manager
|
||||||
|
|
||||||
|
Thank you for your interest in contributing to Linux-Patch-Manager! We appreciate every contribution — from bug reports and documentation improvements to new features and security fixes.
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
This project follows the [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) code of conduct. By participating, you are expected to uphold this standard. Please report unacceptable behavior to the maintainers.
|
||||||
|
|
||||||
|
## How to Contribute
|
||||||
|
|
||||||
|
1. **Fork** the repository
|
||||||
|
2. Create a **feature branch** from `main`:
|
||||||
|
```bash
|
||||||
|
git checkout -b feat/my-feature
|
||||||
|
```
|
||||||
|
3. Make your changes
|
||||||
|
4. Ensure all CI checks pass:
|
||||||
|
```bash
|
||||||
|
# Rust backend
|
||||||
|
cargo fmt --check
|
||||||
|
cargo clippy -- -D warnings
|
||||||
|
cargo test
|
||||||
|
|
||||||
|
# TypeScript/React frontend
|
||||||
|
cd frontend
|
||||||
|
npm run lint
|
||||||
|
npm run build
|
||||||
|
npm test
|
||||||
|
```
|
||||||
|
5. **Commit** using conventional commit format (see below)
|
||||||
|
6. Open a **Pull Request** against `main`
|
||||||
|
|
||||||
|
## Development Setup
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- **Rust toolchain** (stable) — [rustup](https://rustup.rs/)
|
||||||
|
- **Node.js** 20+ (for the frontend) — [nvm](https://github.com/nvm-sh/nvm) recommended
|
||||||
|
- **System dependencies**:
|
||||||
|
```bash
|
||||||
|
sudo apt-get install build-essential libsystemd-dev pkg-config libssl-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build & Run
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backend
|
||||||
|
cargo build
|
||||||
|
cargo test
|
||||||
|
|
||||||
|
# Frontend
|
||||||
|
cd frontend
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
npm test
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commit Messages
|
||||||
|
|
||||||
|
We use [Conventional Commits](https://www.conventionalcommits.org/):
|
||||||
|
|
||||||
|
| Prefix | Usage |
|
||||||
|
|----------|------------------------|
|
||||||
|
| `feat:` | New feature |
|
||||||
|
| `fix:` | Bug fix |
|
||||||
|
| `docs:` | Documentation changes |
|
||||||
|
| `chore:` | Maintenance tasks |
|
||||||
|
| `refactor:` | Code refactoring |
|
||||||
|
| `test:` | Adding or updating tests |
|
||||||
|
| `ci:` | CI configuration changes |
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```
|
||||||
|
feat: add patch scheduling to manager dashboard
|
||||||
|
```
|
||||||
|
|
||||||
|
## Pull Request Requirements
|
||||||
|
|
||||||
|
- All CI checks must pass (fmt, clippy, test, audit, build)
|
||||||
|
- One feature or fix per PR — keep changes focused
|
||||||
|
- Include a clear description of what changed and why
|
||||||
|
- Update documentation if your change affects behavior
|
||||||
|
|
||||||
|
## Reporting Issues
|
||||||
|
|
||||||
|
Use [GitHub Issues](https://github.com/Draco-Lunaris/Linux-Patch-Manager/issues) to report bugs, request features, or ask questions. Please include:
|
||||||
|
|
||||||
|
- Steps to reproduce (for bugs)
|
||||||
|
- Expected vs. actual behavior
|
||||||
|
- Relevant logs or error messages
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
By contributing, you agree that your contributions are licensed under the [Apache License 2.0](LICENSE), the same license as this project.
|
||||||
46
SECURITY.md
Normal file
46
SECURITY.md
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Supported Versions
|
||||||
|
|
||||||
|
Only the **latest release** is currently supported with security updates.
|
||||||
|
|
||||||
|
| Version | Supported |
|
||||||
|
|---------|----------|
|
||||||
|
| Latest | ✅ |
|
||||||
|
| Older | ❌ |
|
||||||
|
|
||||||
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
**Do not report security vulnerabilities through public GitHub Issues.**
|
||||||
|
|
||||||
|
Instead, use GitHub's private vulnerability reporting:
|
||||||
|
|
||||||
|
👉 [Report a vulnerability for Linux-Patch-Manager](https://github.com/Draco-Lunaris/Linux-Patch-Manager/security/advisories/new)
|
||||||
|
|
||||||
|
This allows us to coordinate a fix before public disclosure.
|
||||||
|
|
||||||
|
### Response Timeline
|
||||||
|
|
||||||
|
- **Acknowledgment** within 48 hours
|
||||||
|
- **Initial assessment** within 7 days
|
||||||
|
- **Ongoing updates** on remediation progress
|
||||||
|
|
||||||
|
## Disclosure Policy
|
||||||
|
|
||||||
|
We follow **coordinated disclosure**:
|
||||||
|
|
||||||
|
- We ask for **90 days** before public disclosure of a vulnerability
|
||||||
|
- Security advisories are published via [GitHub Security Advisories](https://github.com/Draco-Lunaris/Linux-Patch-Manager/security/advisories)
|
||||||
|
- We will work with you to determine an appropriate disclosure timeline when a fix requires more time
|
||||||
|
|
||||||
|
## Security Best Practices
|
||||||
|
|
||||||
|
This project is a security tool — we hold ourselves to a high standard:
|
||||||
|
|
||||||
|
- **Signed commits**: All commits must be signed (SSH signing)
|
||||||
|
- **CI enforcement**: All PRs require passing CI checks (fmt, clippy, test, audit, build)
|
||||||
|
- **Dependency auditing**: `cargo audit` runs in CI to catch known vulnerabilities
|
||||||
|
|
||||||
|
## Credit
|
||||||
|
|
||||||
|
Contributors who responsibly report vulnerabilities will be credited in the corresponding GitHub Security Advisory.
|
||||||
Reference in New Issue
Block a user