Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
3.8 KiB
Contributing to Sovran Systems OS
First off, thank you for considering contributing to Sovran_SystemsOS! 🎉
Development and Release Repositories
The GitHub repository is the primary location for Sovran_SystemsOS development
and collaboration and serves as the project's connection to the GitHub
ecosystem. Most work is contributed through feature branches and pull requests
that target GitHub main. Development may also begin in a local branch or on
staging-dev at the project's self-hosted Gitea instance:
https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS.
GitHub main and Gitea staging-dev are kept synchronized as the active
development line, although one may briefly lead the other while changes are
being integrated. The canonical, release-ready code is maintained on Gitea's
stable branch,
in keeping with the self-sovereignty ethos of Sovran_SystemsOS.
The workflow is:
- Most development and project collaboration — including issues, pull
requests, and reviews — happens through GitHub, with completed work
integrated into
main. - Work may also originate locally or on Gitea
staging-dev. Accepted changes are synchronized between GitHubmainand Giteastaging-dev. - When changes are complete and tested, they are promoted to Gitea
stable, which is the code used by released Sovran_SystemsOS builds.
Please note: GitHub main and Gitea staging-dev may contain new features and
code not yet in stable, and that code may not be fully tested.
Moreover, Sovran_SystemsOS has been improved with the help of AI. We have used Copilot and Arean.Ai to work through significant coding challenges and troubleshooting hurdles. We will continue to use AI to help keep Sovran_SystemsOS stable and maintained.
How Can I Contribute?
🐛 Reporting Bugs
- Open an Issue
- Use a clear and descriptive title
- Describe the steps to reproduce the bug
- Include your OS version, hardware specs, and any relevant logs
💡 Suggesting Features
- Open an Issue with the tag
enhancement - Explain the feature and why it would be useful
- Be as detailed as possible
🔧 Submitting Code Changes
1. Fork the Repository
Click the "Fork" button at the top right of the GitHub repository.
2. Clone Your Fork
git clone https://github.com/YOUR_USERNAME/Sovran_SystemsOS.git
cd Sovran_SystemsOS
3. Create a Feature Branch
git checkout -b feature/your-feature-name
4. Make Your Changes
- Write clean, well-commented code
- Follow the existing code style and structure
- Test your changes thoroughly
5. Commit Your Changes
git add .
git commit -m "Brief description of your changes"
6. Push to Your Fork
git push origin feature/your-feature-name
7. Open a Pull Request
- Go to the original repository on GitHub
- Click "New Pull Request"
- Select your fork and branch
- Provide a clear title and description of your changes
- Reference any related Issues (e.g., "Closes #12")
Pull Request Guidelines
- One PR per feature/fix. Do not bundle unrelated changes.
- Keep PRs small and focused. Smaller PRs are easier to review and merge.
- Write meaningful commit messages.
- Do not push directly to
main. Always use a feature branch and open a PR. - Be patient. PRs will be reviewed as soon as possible.
Code Style
- Follow the existing patterns in the codebase
- Comment your code where necessary
- Keep functions small and focused
Code of Conduct
By participating in this project, you agree to be respectful and constructive. We are building something meaningful — let's do it together with integrity.