Thank you for considering a contribution.
DockerClaw is being built as the OS-level harness framework for OpenClaw. The most valuable early contributions are not only bug fixes, but also clear modules, validators, target-aware improvements, and documentation that makes the system easier to understand and extend.
- new modules
- validator improvements
- target-aware build/runtime resolution
- better generated build and compose outputs
- documentation improvements
- examples that clarify the framework model
Read these first:
README.mddockerclaw-framework.mddev-rules/module-development.mdmodules/template-module/
- keep the framework explicit and composable
- prefer declarative module behavior over hidden script logic
- keep platform assumptions visible
- keep public docs focused on the framework, not local machine state
- avoid introducing silent fallbacks for materially different behaviors
If you are creating or changing a module:
- Follow the module contract:
module.jsonresources.jsonruntime.jsoninstructions.md
- Keep platform compatibility explicit.
- Declare resource ownership clearly.
- Keep bootstrap behavior idempotent.
- Add or update implementation notes in
instructions.md.
Run these before opening a PR:
python3 scripts/validate-modules.pyIf your change affects an agent lock or generated artifacts, also run:
python3 scripts/validate-agent.py <agent-name|path-to-modules.lock.json>Please keep pull requests focused.
- one architectural concern per PR when possible
- explain why the change matters
- call out platform assumptions
- mention any new module, target, or generated artifact introduced
DockerClaw is still in an early public stage.
That means:
- architecture clarity matters more than feature count
- generated workflows are still evolving
- breaking internal structure changes may still happen while the framework hardens
If you want to contribute a module, this is a very good time to do it.