Development

Tools, workflows, and resources for contributing to ProteanOS.

ProteanOS development environment with code editor and terminal

Development Overview

This is where you'll find everything related to building and contributing to ProteanOS. We've got tools for compiling, packaging, and managing embedded software, plus docs on how it all fits together.

Whether you're fixing bugs, adding features, or packaging new software, start here.

Development Tools

Packaging System

Packages are how software gets distributed in ProteanOS. If you're planning to contribute, you need to understand how they work.

Project History

Documentation of historical development efforts and design decisions provides context for current architecture choices.

How to Contribute

Pretty straightforward:

  1. Get set up: Install ProKit following the install guide.
  2. Find something to work on: Check the mailing list for open issues or areas needing help.
  3. Make your changes: Follow the coding standards below.
  4. Test it: Make sure it builds and works. Cross-compile for relevant targets.
  5. Send patches: Email them to the dev list for review.

Coding Standards

Keep it clean and consistent:

  • Use clear names that explain what things do
  • One function, one job
  • Comment weird stuff, but prefer code that explains itself
  • Match the style of whatever file you're editing
  • Write commit messages that explain the 'why', not just the 'what'

Testing

Embedded software is tricky to test since you need actual hardware. We use:

  • Unit tests: Test individual pieces in isolation
  • Build tests: Does it compile for all supported targets?
  • Integration tests: Run on emulators or real hardware

Where to Talk

Most coordination happens on the mailing lists:

Development Resources

Mailing Lists/lists/
Git Repositories/git/
Specifications/specs/

Development FAQ

How do I get started contributing?

Set up your development environment using ProKit, then look for areas where you can help—documentation improvements, bug fixes, or feature development. Start with smaller contributions to learn the workflow.

What programming languages does ProteanOS use?

The core system uses C for low-level components and shell scripts for build tools. Higher-level utilities may use other languages. Check individual repositories for language-specific guidelines.

How are patches reviewed?

Patches sent to the development mailing list are reviewed by maintainers and community members. Reviewers provide feedback on code quality, style, and correctness. Iterate based on feedback until the patch is accepted.

Can I work on new features?

Yes, but discuss significant new features on the mailing list before investing substantial effort. This helps ensure alignment with project direction and avoids duplicate work.

How do I set up cross-compilation?

ProKit includes cross-compilation toolchains and configuration. The installation guide covers setup, and the ProKit documentation explains how to configure builds for different target architectures.