Contributing to Risu
July 3, 2026 · View on GitHub
Thank you for your interest in contributing to Risu! This guide will help you get started.
Quick Links
Getting Started
Prerequisites
- Python 2.7 or Python 3.6+ (Risu supports both)
- Git
- Basic shell scripting knowledge
Quick Start
git clone https://github.com/risuorg/risu.git
cd risu
pip install -r test-requirements.txt
pre-commit install
./risu.py --help
Adding a Plugin
See doc/templates/README.md for complete plugin development guide.
Quick template:
cp doc/templates/template_modern.sh risuclient/plugins/core/myarea/myplugin.sh
chmod +x risuclient/plugins/core/myarea/myplugin.sh
./tools/validate_plugin.py risuclient/plugins/core/myarea/myplugin.sh -v
Code Style
Python 2.7 compatible!
✅ DO: from __future__ import print_function, .format(), specific exceptions
❌ DON'T: f-strings, type hints, bare except:
Testing
python -m pytest # Run all tests
python -m pytest tests/test_*.py # Specific tests
tox # Test multiple Python versions
Commit Message Format
Risu follows Conventional Commits format:
<type>(<scope>): <subject>
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
Scopes: plugins, core, magui, ci, deps (optional)
Setup commit template
git config commit.template .gitmessage
Examples
feat(executor): add --profile flag for performance profiling
fix(plugins): handle missing sosreport files gracefully
docs: add PLUGIN_DEVELOPMENT.md tutorial
build(deps): consolidate requirements files
Pull Request Process
- Create feature branch
- Make changes following conventional commits
- Add tests
- Run
pre-commit run --all-files - Push and create PR
For full documentation see CLAUDE.md and ARCHITECTURE.md