Good documentation is an important part of ZenOS.
Documentation contributions are welcome even if you do not contribute code.
Documentation may cover:
- Installation
- Development
- Architecture
- Kernel configuration
- Root filesystem
- Toybox
- Init
- Networking
- Security
- Build system
- Testing
- Debugging
- AI-assisted system architecture
Use Markdown for project documentation.
Example:
# Heading
## Section
Explain the topic clearly.
### Example
```bash
echo "Hello ZenOS"
## Writing Guidelines
Documentation should be:
- Clear
- Accurate
- Concise
- Beginner-friendly
- Technically precise
## Commands
Always verify commands before documenting them.
Prefer:
```bash
make -j$(nproc)
over documenting commands that have not been tested.
Code examples should be:
- Complete enough to understand.
- Properly formatted.
- Tested where practical.
- Relevant to the current project structure.
Architecture documentation should explain relationships between components.
Example:
Bootloader
↓
Linux Kernel
↓
Init
↓
Root Filesystem
↓
Toybox
↓
Shell
↓
Services
Diagrams can be used when they make complex systems easier to understand.
When changing functionality, check whether documentation needs updating.
For example:
Code change
↓
Does behavior change?
↓
Yes
↓
Update documentation
Documentation-only Pull Requests are welcome.
Examples:
docs: fix installation instructions
docs: document rootfs structure
docs: add QEMU debugging guide