Walkthrough: setting up a Catala project
While the Catala tutorial introduces you to programming in Catala and the specificities of mirroring legal requirements in your code, it lacks all the aspects of an IT project beyond just writing the code.
Specifically, the Catala team encourages Catala developers to use modern
software engineering standards with respect to project organization and
management. This section acts as a walkthrough guide that shows primarily how
the Catala build system, clerk
, facilitates the workflow of structuring,
testing and deploying an IT project using Catala.
This walkthrough will assume the reader works on an Unix-like system and has a minimum level of practice of the command line and basic system operations. The second, third and fourth section also assume basic knowledge of modern software engineering works, and familiarity with platforms like Gitlab or Github.
This walkthrough guide is structured sequentially to mimick the different steps of creating a new Catala project and organizing its codebase as well as the work around it:
- the first section explains how to
organize Catala source files and configure your project for
clerk
, Catala's build system; - the second section expands on the previous one to add automated deployment of Catala-generated artifacts using the different backends of the compiler;
- the third section is about setting up a modern software engineering stack around the codebase, complete with versionning, automated testing and continuous integration (CI);
- the fourth section is a step-by-step guide for setting up an externally implemented module and its external implementations in all the target backends, all of that integrated in the automated software engineering toolchain described in the previous sections;
- the fifth and final section is mostly non-technical and orthogonal to the previous sections, it is about the human organization of Catala projects involving lawyers and programmers, as well as the important foundational choices to be made at the start of the project.
While the first four sections are primarily geared towards programmers, the Catala teams recommends that everyone on the project, including lawyers, read the fifth section before diving into the production of the Catala code.
Have a good read!