Repository navigation
Development and Contribution
This page gathers information for people who want to contribute to OSMOSE. Contributions can take different forms, from improving the wiki and examples to developing code, testing new features, documenting implementation details, or helping maintain workflows.
For most contributors, the recommended first contribution is to improve the documentation. The wiki is the easiest entry point because it does not require compiling the Java core simulator, modifying the R package, or understanding the full internal code structure. Improving explanations, fixing links, adding examples, clarifying configuration options, and documenting common workflows are all valuable contributions.
Development tasks that involve the Java source code, the R package, Maven, testing, or internal implementation details are documented separately in the pages listed below.
-
Wiki editing
Explains how to edit the OSMOSE wiki, create or update pages, format links, follow naming conventions, and improve documentation. -
Documentation standards
Describes conventions for writing and organising documentation, including page structure, terminology, links, examples, and consistency across the wiki. -
GitHub workflow
Describes the basic GitHub workflow for contributing to OSMOSE repositories, including branches, commits, pull requests, and reviews. -
Development installation
Explains how to set up a development environment when working with development versions of OSMOSE. This may include Java source code, Maven, and other tools not needed for regular users. -
Implementation details
Links to technical pages that describe how OSMOSE processes and modules are implemented in the code. -
Coding conventions
Describes code style and conventions used when contributing to the OSMOSE codebase. -
Testing
Describes testing practices used to check that changes behave as expected and do not break existing functionality.
A good first contribution is to improve or expand a wiki page. This can include:
- fixing outdated links;
- clarifying confusing explanations;
- adding examples;
- documenting a workflow;
- improving page navigation;
- adding links between conceptual, configuration, and implementation pages.
Start with Wiki editing and Documentation standards.
Code-level contributions usually require a development setup. Regular users can install OSMOSE through the R package and use the stable Java .jar files distributed with it. Compiling the Java code is mainly needed when working with development versions or contributing to the core simulator.
For code-related work, start with Development installation, then continue with GitHub workflow, Coding conventions, and Testing.
Implementation pages are intended for advanced users and developers who need to understand how OSMOSE processes are represented in the code. These pages should remain grouped under Implementation details, but they can also be linked from the corresponding conceptual pages.
For example, a process page such as Growth can link to a detailed implementation page explaining how growth is implemented internally.