Add `scaffold.yml` file format base documentation
This commit is contained in:
parent
fa1856ed8f
commit
1eab0f9f84
|
@ -41,6 +41,10 @@ OPTIONS:
|
|||
--help, -h show help (default: false)
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Format du fichier `scaffold.yml`](./doc/scaffold_file_format.md)
|
||||
|
||||
## Licence
|
||||
|
||||
[GPL-3.0](./LICENSE)
|
|
@ -0,0 +1,3 @@
|
|||
# Créer un nouveau modèle de projet
|
||||
|
||||
Un modèle de projet `scaffold` est un simple répertoire (ou dépôt Git) contenant à sa racine un fichier `scaffold.yml`.
|
|
@ -0,0 +1,67 @@
|
|||
## Format du fichier `scaffold.yml`
|
||||
|
||||
Le fichier `scaffold.yml` est au format [YAML](https://yaml.org/). C'est ce fichier qui permet de définir les données à injecter dans les modèles lors de la génération d'un nouveau projet avec la commande `scaffold from ...`.
|
||||
|
||||
**Schéma**
|
||||
|
||||
``` yaml
|
||||
# Version du format de fichier. Actuellement, la seule valeur possible est 1.
|
||||
version: 1
|
||||
|
||||
# Liste des variables à injecter dans les modèles de fichier
|
||||
vars: <[]Var>
|
||||
```
|
||||
|
||||
## Types
|
||||
|
||||
### `<Var>`
|
||||
|
||||
Définition d'une variable injectable dans les modèles de fichier.
|
||||
|
||||
**Schéma**
|
||||
|
||||
```yaml
|
||||
# Type de la variable. Actuellement, la seul valeur possible est "string"
|
||||
type: "string"
|
||||
|
||||
# Nom de la variable. C'est le nom qui permettra d'accéder à la valeur de la variable dans les modèles de fichiers.
|
||||
name: <string>
|
||||
|
||||
# Description de la variable. C'est le texte qui sera affiché dans l'invite de commande au moment de la génération de l'arborescence de fichiers.
|
||||
description: <string>
|
||||
|
||||
# Liste des contraintes appliquées à la valeur de la variable. La valeur est considérée comme invalide tant que l'ensemble des contraintes ne sont pas remplies.
|
||||
constraints: <[]Constraint>
|
||||
```
|
||||
|
||||
### `<Constraint>`
|
||||
|
||||
Définition d'une contrainte appliquée à la valeur d'une variable.
|
||||
|
||||
```yaml
|
||||
# Règle de validation à appliquer à la valeur entrée par l'utilisateur.
|
||||
rule: <Rule>
|
||||
|
||||
# Message à afficher à l'utilisateur si la règle de validation concorde avec la valeur entrée par celui ci.
|
||||
message: <string>
|
||||
```
|
||||
|
||||
**Exemple**
|
||||
|
||||
```yaml
|
||||
# Règle validant que la valeur est ne doit pas être vide.
|
||||
- rule: Input == ""
|
||||
message: Cette valeur ne peut être vide.
|
||||
```
|
||||
|
||||
### `<Rule>`
|
||||
|
||||
Règle de validation d'une contrainte appliquée à une variable.
|
||||
|
||||
Ce n'est ni plus ni moins qu'une condition booléenne écrite avec la syntaxe proposée par la librairie [github.com/antonmedv/expr](https://github.com/antonmedv/expr/blob/master/docs/Language-Definition.md).
|
||||
|
||||
Voici les variables globales disponibles aux règles:
|
||||
|
||||
|Variable|Description|
|
||||
|--------|-----------|
|
||||
|`Input` |Valeur entrée par l'utilisateur|
|
Loading…
Reference in New Issue