@@ -11,6 +11,8 @@ We accept anything that benefits the community,
1111thanks for sharing your work with the world.
1212We can discuss implementation details [ here] [ makes_issues ] .
1313
14+ ### Guidelines
15+
14161 . Write your idea: [ here] [ makes_issues ]
15171 . Fork [ Makes on GitHub] [ makes ]
16181 . [ Git] [ git ] -clone your fork
@@ -19,17 +21,50 @@ We can discuss implementation details [here][makes_issues].
19211 . [ Git] [ git ] -push changes to your fork
20221 . Create a ** Pull Request** from your fork to [ Makes] [ makes ]
2123
22- Guidelines:
24+ #### Testing your local changes
25+
26+ You can run local changes by simply running ` m . <job> ` .
27+ If you're adding new files, make sure to ` git add ` them first.
28+
29+ #### Adding documentation
30+
31+ - All changes must be documented in the same PR.
32+ - You can run ` m . /docs/dev ` to serve the [ docs site] ( https://makes.fluidattacks.com )
33+ on localhost.
34+ - Make sure you lint the documentation with ` m . /lintMarkdown/all ` .
35+
36+ #### Adding tests
37+
38+ - All new [ builtins] ( https://makes.fluidattacks.com/api/builtins/ ) must be
39+ tested.
40+ - You can add tests to either ` /makes.nix ` or ` /makes/your-builtin/main.nix `
41+ depending on the nature of the builtin.
42+ - Make sure to add such tests
43+ to the [ GitHub Actions pipelines] ( https://github.com/fluidattacks/makes/tree/main/.github/workflows )
44+ as well.
45+
46+ #### Adding yourself to the mailmap
47+
48+ You must add yourself to the
49+ [ .mailmap] ( https://github.com/fluidattacks/makes/blob/main/.mailmap ) file.
50+ Make sure to test it with ` m . /lintGitMailMap ` .
51+
52+ #### Writing a valid commit message
53+
54+ - Your commit message must follow this [ syntax] ( https://github.com/fluidattacks/makes/tree/main/test/lint-commit-msg ) .
55+ - You must sign your commits by adding a ` Signed-off-by ` line at the end of your
56+ commit message.
57+ - You can take a look at other commits [ here] ( https://github.com/fluidattacks/makes/commits/main ) .
58+ - Make sure to test it with ` m . /lintGitCommitMsg ` .
59+
60+ #### Other PR rules
61+
62+ A PR must:
2363
24- - Keep it simple
25- - Remember we write code for humans, not machines
26- - Write an argument: ` /src/args `
27- - Write a module (if applies): ` /src/evaluator/modules `
28- - Write docs: ` /README.md ` or ` /docs `
29- - Write a test: ` /makes.nix ` or ` /makes/**/main.nix `
30- - Write a test [ GitHub workflow] [ github_workflows ] : ` /.github/workflows/dev.yml `
64+ - Only be one commit ahead of main.
65+ - Have a title and body equal to its commmit message.
3166
32- Examples:
67+ #### Examples
3368
3469- [ feat(build): #262 lint git mailmap] ( https://github.com/fluidattacks/makes/commit/01fcd5790dd54b117da63bcc2480437135da8bb3 )
3570- [ feat(build): #232 lint terraform] ( https://github.com/fluidattacks/makes/commit/081835b563c712b7650dbc5bf1e306d4aff159cf )
0 commit comments