diff --git a/tools/README.md b/tools/README.md
index 78c1b3b04490806c1b6ec3dba0fe376bdd40cd6d..fe6c1a2fbfaee88bc33f2969943d6691eef4734c 100644
--- a/tools/README.md
+++ b/tools/README.md
@@ -4,3 +4,15 @@ This directory contains all tool description that can be imported and used withi
 
 Every rules for a tool should come with an example of use in a workflow as well as a `config.yaml`
 example file (usually containing default parameters that are set up on the `.rules` file itself).
+
+## Design and best practices
+
+All Snakemake tool descriptions try to respect some rules and best practices in their design:
+
+* First part correspond to all options that are set up from a `config.yaml` file
+* Then the tool itself is described with:
+  * input with the nomenclature: `__TOOLNAME_input`
+  * output with the nomenclature: ` __TOOLNAME_output`
+  * params with different options that are described above
+
+input and output are then set up in the Snakemake file that refer to the rule.
\ No newline at end of file