Private
Public Access
1
0
Files
linux_patch_manager/CONTRIBUTING.md
Draco Lunaris 0f0a534f25
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
docs: add CONTRIBUTING.md and SECURITY.md for open source
2026-05-31 00:12:14 -05:00

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

  1. Fork the repository
  2. Create a feature branch from main:
    git checkout -b feat/my-feature
    
  3. Make your changes
  4. 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
    
  5. Commit using conventional commit format (see below)
  6. 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.