Developer manual

This manual is aimed at two audiences: contributors to gitrust code (core or via fork rustwarden) and external developers who build integrations on the public API. It provides everything needed to understand the architecture of the 6 crates, contribute code conforming to the project's standards, or build a client that speaks to the gitrust API. It does not cover the installation of a production instance nor the daily use of the forge.

Learning path — core contributor

The contributor course represents approximately 4 hours in total, with decreasing support: the first tutorial is entirely guided, the third (capstone) requires solving without a step-by-step guide.

graph LR
    A[Utilisateur autonome] --> B[01-getting-started
45 min] B --> C[02-premiere-contribution
90 min] C --> D[03-creer-un-worker-async
capstone 120 min] D --> E[Core contributor]

Checkpoint de parcours : avant de passer au tutoriel 02, vous devez avoir compilé gitrust localement, lancé les tests unitaires et obtenu une instance de développement fonctionnelle. Si ce n'est pas le cas, relisez le tutoriel 01.

Checkpoint de parcours : avant le tutoriel 03 (capstone), vous devez avoir soumis une PR complète avec tests, passé la gate QA et reçu une review. Si ce n'est pas le cas, relisez le tutoriel 02.


Tutorials — learn by doing

The tutorials are guided step-by-step with expected verbatim output. Follow them in order — each assumes the previous one completed.


How-to — recipes for common tasks

How-tos answer “how to do X” without any substantive explanation. View them in any order as needed.


Reference — exact technical information

The reference comprehensively documents the architecture, internal APIs, data schema and QA rules. Intended for occasional consultation.


Explanation — understand the why

Explanations build the mental models necessary to contribute in an informed manner. Read them when you want to understand architectural decisions, not just apply them.