Contributing
Any contributions (feedback, bug report, merge request ...) are welcome
Adding a language
Commit message format
Commit message should be <language>: <a descriptive message>
- prefix your commit with
<language>:the name of the folderall:when (almost) every languages are touchedmeta:when it is about the project itselfbase:when it touch the root folder
Steps
- copy an existing folder (e.g.
shell) - name the folder with the language
- adapt it
- in
<language>/flake.nix, in thepackages, add every dependencies needed mask <target>must return 0 code on success, non 0 on fail- complete the
<language>/maskfile.mdwithmask testmask lintif possiblemask formatif possiblemask runif possiblemask runshould displayHello worldmask run --name fooshould displayHello foo
mask installif there is specific steps to do manually such as pulling dependenciesmask updateif there is specific steps to update the language and dependencies
- in
<language>/.config/git/hooks/pre-gamble, keepmask formatif possiblemask lintif possible
- in
<language>/flake.nix, change thedescription - in
<language>/README.md, change the title - in
<language>/README.md, change<language>- in the URL
- in the flake command
- in
- add an usage example of the language
- using TDD
- or even better using TCRDD (e.g. using
git-gamble)
- or even better using TCRDD (e.g. using
hellowithout argument or an optionnal (none) or empty string (depending on the language possibility) should outputHello worldhellowithfooargument as string should outputHello foo- if you are a beginner with this language you may need to look at help with language
- using TDD
- in
flake.nix, in thetemplatessection, add the new template - in
.gitlab-ci.yml, in theLANGUAGElist, add the new language
Put the same description in
flake.nix'sdescription<language>/flake.nix'sdescription<language>/README.mdtitle
VSCode support
- in
<language>/.vscode/extension.json, add needed extensions
Document it
-
in
.docs/tool_comparison_table.mdtable, add a row for the new language -
add a symbolic link between the
<language>/README.mdand the documentationln -s ../../<language>/README.md ./.docs/sandboxes/<language>.md -
in
.docs/SUMMARY.md, add a markdwon link to./sandboxes/<language>.md