# CONTRIBUIR --- >`Para conferir o estado atual do repositório deve ser usada VPN` ### Requerimentos técnicos * `python >= 3.9` * `docker >= 20` * `docker-compose >= 2` * `pre-commit >= 2` * `git >= 2.30` * `rake >= 13` ### Procedimentos para testes 1. Iniciar entorno `rake init` 2. Iterar con `rake tdd` 3. Deter entorno `rake down` 4. limpar cache `git clean -xdf` ### Entorno vivo de desenvolvimento 0. Crear archivo .env y agregar variable TRYTON_PORT_LIVE="Un puerto libre del sistema" 1. Iniciar entorno `rake live:up` 2. Conectar cliente Tryton a `localhost:puerto_configurado` **usuário:** `admin` e **senha:** `admin` 1. Também pode ser usado o cliente web no `http://localhost:puerto_configurado` 2. Para ver saída de `trytond` use `rake live:tail` 3. Deter entorno `rake live:down` ### Despliegue en producción 0. Copiar .env_sample a .env y configurar las variables de entorno 1. Iniciar entorno `rake deploy:up` 2. Conectar cliente Tryton a `localhost:puerto_configurado` **usuário:** `admin` e **senha:** `admin` 1. Também pode ser usado o cliente web no `http://localhost:puerto_configurado` 3. Para ver saída de `trytond` use `rake deploy:tail` 4. Deter entorno `rake live:down` 5. Eliminar entorno (borrará todos los registros) `rake deploy:del` 6. Entrar a la bash del docker `rake deploy:sh_tryton` (otras opciones, sh_cron, sh_worker, sh_nginx, sh_db) 7. Ver top de todos los dockers `rake deploy:top` ### Considerações * Evitar trabalho desnecessário * Evitar generalizar: realizar testes inicialmente e depois eliminar duplicidade. * Evitar redundância: automatizar os processos que sejam necessários. * Evitar usar `git add .` * Fazer expressivo o escrito: renomear, realocar ou deletar. * Os testes devem ser executados em todo momento. * O programa deve se manter em execução durante o tempo todo. * Especular, estudar e aprender durante o tempo todo. ### Considerações sobre os testes * Os cenários (`*.rst`) de teste devem ser escritos em português. * Escrever em português o texto para identificador de classe e método em arquivos `*.py` ### Convenção de `commit` As mensagens de `commit` se classificam como: * **feat(\)** * Nova funcionalidade disponibilizada para usuários do Sistema * **fix(\)** * Corrigir funcionalidades previamente entregues * **chore(\)** * Outras modificações que não chegam diretamente aos usuários. * Exemplo: renomear arquivos, classes, métodos, variáveis, diretórios, scripts, documentação, recursos digitais e outros. > `COMPONENTE` se refere ao nome do diretório **Exemplos de `commit`:** `git commit -m 'feat(): rutas críticas` `git commit -m 'fix(): se adiciona boton faltante` `git commit -m 'chore(): cambio de color en columna Cargo`