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
2.5 KiB
2.5 KiB
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 code of conduct. By participating, you are expected to uphold this standard. Please report unacceptable behavior to the maintainers.
How to Contribute
- Fork the repository
- Create a feature branch from
main:git checkout -b feat/my-feature - Make your changes
- Ensure all CI checks pass:
# Rust backend cargo fmt --check cargo clippy -- -D warnings cargo test # TypeScript/React frontend cd frontend npm run lint npm run build npm test - Commit using conventional commit format (see below)
- Open a Pull Request against
main
Development Setup
Prerequisites
- Rust toolchain (stable) — rustup
- Node.js 20+ (for the frontend) — nvm recommended
- System dependencies:
sudo apt-get install build-essential libsystemd-dev pkg-config libssl-dev
Build & Run
# Backend
cargo build
cargo test
# Frontend
cd frontend
npm install
npm run build
npm test
Commit Messages
We use Conventional Commits:
| 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 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, the same license as this project.