Back to Documentation
Contributing
Learn how to contribute to OmniSet - add modules, fix bugs, or improve documentation.
Ways to Contribute
There are many ways to help improve OmniSet:
- Add new modules - Support for more software
- Report bugs - Found something broken? Let us know
- Fix bugs - Submit pull requests
- Improve documentation - Fix typos or add examples
- Test on your distro - Help ensure compatibility
- Spread the word - Star the repo, tell others
Project Structure
The OmniSet repository is organized as:
omniset/
├── bin/omniset # CLI executable
├── lib/ # Core libraries
├── modules/ # Module definitions
│ └── <category>/<module>/
│ ├── manifest.yaml
│ └── install.sh
├── web/ # Web selector interface
└── README.md
Development Setup
To work on OmniSet locally:
bash
# Fork the repository on GitHub, then:
git clone https://github.com/YOUR-USERNAME/Install.git
cd Install
# Create a feature branch
git checkout -b feature/your-feature-name
# Test your changes
./bin/omniset doctor Adding a New Module
To add support for a new application:
- Create a directory:
modules/<category>/<module-name>/ - Create
manifest.yamlwith installation methods - Create
install.shwith the installation script - Test on multiple distributions if possible
- Submit a pull request
Module Manifest Format
Each module has a manifest.yaml defining how to install it:
yaml
name: example-app
description: Short description
category: development
methods:
- type: apt
priority: 1
package: example-app
- type: snap
priority: 2
package: example-app
post_install:
- echo "Installation complete" Guidelines
When contributing code:
- Prefer apt/deb packages - Snap/Flatpak only as fallback
- Test on a clean VM - Don't test on your main system
- Follow existing style - Match the code around you
- Keep commits focused - One feature/fix per commit
- Update documentation - If you add features, document them
Reporting Issues
When reporting a bug, include:
- Your Linux distribution and version
- The exact error message
- Output from
./bin/omniset doctor - Steps to reproduce the problem
- What you expected to happen
Open issues at: github.com/omnisetorg/Install/issues
On this page
More docs
Was this helpful?
Help us improve the documentation