mirror of
https://github.com/johndoe6345789/SparkOS.git
synced 2026-04-24 13:34:56 +00:00
77 lines
1.7 KiB
Markdown
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.
|