Init and project configuration

At this point, our toy project is

> exa -a
.gitignore  sw_0.cfg  sw_0.tla

> bat .gitignore
───────┬────────────────────────────────────────────────────────────────────────
       │ File: .gitignore
───────┼────────────────────────────────────────────────────────────────────────
   1   │ # Ignore macos trash files
   2   │ .DS_Store
───────┴────────────────────────────────────────────────────────────────────────

Time to matla-ify this project, which is done with matla init.

> matla init
Setting up your project, hang tight.
- adding build directory to gitignore if needed...
- setting up `Matla` module...
- setting up project configuration file...
Init complete, your project is ready to roll.

> exa -a
.gitignore  Matla.tla  Matla.toml  sw_0.cfg  sw_0.tla

We have two new files, but before we discuss them let's adress the .gitignore: in its output, matla lets us know that it added its "build directory" to the gitignore if needed, meaning if one exists and the build directory is not already there".

> bat .gitignore
───────┬────────────────────────────────────────────────────────────────────────
       │ File: .gitignore
───────┼────────────────────────────────────────────────────────────────────────
   1   │ # Ignore macos trash files
   2   │ .DS_Store
   3   │
   4   │ # Ignore matla build directory.
   5   │ /target
───────┴────────────────────────────────────────────────────────────────────────

Lines 3 to 5 are new and add /target as a directory to ignore. As we will see later, this directory will be where matla puts all its compilation/runtime artifacts.