Pour se familiariser avec les règles, vous pouvez jeter un œil aux fichiers
contenant les règles elles-mêmes (dans le dossier `modele-social`) mais cela
peut s'avérer assez abrupt.
Essayez plutôt de jeter un œil [aux tests](https://github.com/betagouv/publicodes/tree/master/core/test/m%C3%A9canismes)
dans un premier temps, et pourquoi pas à [à l'implémentation des mécanismes](https://github.com/betagouv/publicodes/tree/master/core/source/mecanisms).
### Traduction des normes (lois) en règles Publicodes
Checklist :
- [ ] Lire les articles de vulgarisation (sur le site de l'URSSAF, des impôts, etc.).
- [ ] Utiliser un moteur de recherche spécialisé, comme [RFPaye](https://rfpaye.grouperf.com/).
- [ ] Lire les normes et noter leurs références dans les règles Publicodes.
### Développement de modele-social et de mon-entreprise
Pour développer les règles de `modele-social` et tester en temps réel sur les simulateurs de mon-entreprise, il vous faut lancer la commande suivantes :
```sh
yarn start
```
Les règles s'actualiseront automatiquement et le site se rechargera à chaque modification.
### Tests
Pour tester les règles, il est recommandé de :
- faire tourner un simulateur et vérifier à la main l'adéquation des règles avec les normes
traduites;
- créer des cas de tests de non-régression sous la forme de nouveaux snapshots (cf.
`site/test/regressions`).
### Développement simultané de Publicodes et de mon-entreprise
Il est parfois utile de tester des évolutions de publicodes sur mon-entreprise. C'est possible de la manière suivante :
- cloner les deux dépôts
- sur le dépôt `publicodes` lancer un `yarn build --watch` pour avoir du rechargement à chaud
La commande yarn link prend en paramètre un chemin relatif au dépôt courant, et fonctionne uniquement en local.
Pour revenir au paquet publié sur NPM il faut utiliser :
```sh
yarn unlink --all
```
Pour déployer une version preview de mon-entreprise utilisant une version de publicodes non publiée sur NPM il est possible de référencer un commit ou une branche dans l'attribut résolution du `package.json` :