Files
SparkOS/CONTRIBUTING.md
2025-12-28 17:19:57 +00:00

77 lines
1.7 KiB
Markdown

# 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
1. Clone the repository:
```bash
git clone https://github.com/johndoe6345789/SparkOS.git
cd SparkOS
```
2. Build the system:
```bash
./scripts/build.sh
```
3. Make your changes
4. Test your changes:
```bash
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/sh` for POSIX-compliant scripts (busybox compatibility)
- For build scripts (host system): Can use `#!/bin/bash` when bash-specific features are needed
- Quote variables
- Use meaningful variable names
- **Documentation**: Write clear, concise documentation
- Update README when adding features
- Comment non-obvious code
- Include usage examples
## Submitting Changes
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/my-feature`)
3. Make your changes
4. Test thoroughly
5. Commit with descriptive messages
6. Push to your fork
7. 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.