Files
bot-whatsapp/CONTRIBUTING.md
2022-12-01 12:46:49 +01:00

76 lines
2.6 KiB
Markdown

# CONTRIBUTING
__Requerimientos:__
- Node v16 o superior __[descargar node](https://nodejs.org/es/download/)__
- __[Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable)__ como gestor de paquetes. En el link conseguiras las intrucciones para instalar yarn.
- __[VSCode](https://code.visualstudio.com/download)__ (recomendado): Editor de codigo con plugins
- __[Conventional Commits](https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits&ssr=false#overview)__ (plugin-vscode) este plugin te ayudara a crear commit semantico.
- Se usara la rama __dev__ *(https://github.com/leifermendez/bot-whatsapp/tree/dev)* como rama principal hasta que se haga oficialmente el lanzamiento de la V2
### 🚀 Iniciando
__Clonar repo rama dev__
```
git clone --branch dev https://github.com/leifermendez/bot-whatsapp
```
__Instalar dependencias__
```
cd bot-whatsapp
yarn install
```
__Compilar (build)__
Para compilar la aplicación es necesario ejecutar, eso te genera dentro de packages del monorepo un directorio `lib`
```
yarn build
```
> (Solo informativo) Luego de ejecutar el comando conseguiras algo como lo siguiente. Esas carpetas lib NO se suben al repo ya estan ignoradas.
```
packages/bot/lib
packages/cli/lib
packages/database/lib
packages/provider/lib
```
__Linking__
Es el proceso que se realiza para poder hacer uso de los paquetes compilados en tu local.
```
yarn link.dist
```
__Example-app__
Se ejecuta el CLI (Command Line Interface) para ayudarte a crear un app-bot de ejemplo
```
yarn run cli
```
Abrir carpeta __example-app-base__ y ejecutar
```
npm link @bot-whatsapp/bot -S
npm link @bot-whatsapp/provider -S
npm link @bot-whatsapp/database -S
npm i
npm start
```
__Commit y Push__
El proyecto tiene implementado __[husky](https://typicode.github.io/husky/#/)__ es una herramienta que dispara unas acciones al momento de hacer commit y hacer push
__commit:__ Los commit son semanticos esto quiere decir que deben cumplir un standar al momento de escribirlos ejemplo ` feat(adapter): new adapter myqsl ` puede ver más info sobre esto __[aquí](https://github.com/conventional-changelog/commitlint/#what-is-commitlint)__
__push:__ Cada push ejecutar `yarn run test` el cual ejecuta los test internos que tienen que cumplir con __95% de cobertura__.
> Documento en constaten actualización....
------
- [Discord](https://link.codigoencasa.com/DISCORD)
- [Twitter](https://twitter.com/leifermendez)
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
- [Telegram](https://t.me/leifermendez)