mirror of
https://github.com/johndoe6345789/SparkOS.git
synced 2026-04-24 13:34:56 +00:00
1.7 KiB
1.7 KiB
Contributing to SparkOS
Thank you for your interest in contributing to SparkOS!
Project Goals
SparkOS aims to be:
- Minimal: Only essential components
- Clean: Well-documented, readable code
- Portable: dd-able to USB drives
- Extensible: Easy to add features incrementally
Development Setup
-
Clone the repository:
git clone https://github.com/johndoe6345789/SparkOS.git cd SparkOS -
Build the system:
./scripts/build.sh -
Make your changes
-
Test your changes:
make clean make all
Code Style
-
C/C++ Code: Follow Linux kernel style guidelines
- Use tabs for indentation
- Keep lines under 80 characters when reasonable
- Comment complex logic
-
Shell Scripts: Follow Google Shell Style Guide
- For runtime scripts (inside rootfs): Use
#!/bin/shfor POSIX-compliant scripts (busybox compatibility) - For build scripts (host system): Can use
#!/bin/bashwhen bash-specific features are needed - Quote variables
- Use meaningful variable names
- For runtime scripts (inside rootfs): Use
-
Documentation: Write clear, concise documentation
- Update README when adding features
- Comment non-obvious code
- Include usage examples
Submitting Changes
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Test thoroughly
- Commit with descriptive messages
- Push to your fork
- Open a Pull Request
What to Contribute
Priority areas:
- Bug fixes
- Documentation improvements
- Build system enhancements
- Testing infrastructure
- Qt6/QML GUI components
- Wayland integration
- Package management
- Network configuration
Questions?
Open an issue on GitHub for questions or discussions.