CLI para creacion de front
estaría bueno tener un cli para que pueda llamarse así, por ej:
$create_from_template <config-file>
$[SUCCESS] created <client>-demo succesfully, check it out at <endpoint>!
y como resultado se crea una instancia nueva del template con las cosas configuradas, y queda listo lo que se subiría para mostrar a un cliente.
Para esto se puede usar python's click module (Es lo que yo he usado antes para hacer clis)
Especificación
Comportamiento esperado
$create_from_template <config-file>
-
Lee
<config-file>
, la valida y de ahí saca el nombre del<client>
1.1- caso invocado sin
<config-file>
:error:tiene que proveer una config-file. para saber qué tiene que tener la config-file use el flag --h con create_from_template
1.2- caso
<config-file>
incompleto:error: tiene que proveer una config-file adecuada. para saber qué tiene que tener la config-file use el flag --h con create_from_template
-
crea un directorio
<client>-demo
en el $PWD -
clona template-chatbot-front y le asigna el nombre
<client>-chatbot-front
3.1- caso directorio
<client>-chatbot-front
ya existe en<client>-demo
: mensajedetectada versión previa de <client>-chatbot-front. Borrando...
. Borra el directorio y clone uno nuevo. -
ejecuta script para reemplazar de
<client>-chatbot-front
el color, el color del botón del launcher, el fondo de la página y el url que se corresponde con el endpoint de rasa.
Otros posibles comandos
$create_from_template <config-file> reset
borra el directorio
<client>-demo
$create_from_template <config-file> update
hace git pull de todos los repos clonados dentro de
<client>-demo
(Posible)
$create_from_template <config-file> install
configura un entorno e instala lo que sea necesario
npm install
en ambos repos
Config file
Acciones inmediatas
-
- Crear repo cli-demo-front -
- Hacer planificación para accionar incrementalmente -
- Crear repo template-chatbot-front -
- Limpiar repo template-chatbot-front
Plan (tentativo)
-
crear la cli con click, e implementar 1 y 2. issue #2 (closed) -
Después 3,4.
Nota:
Pensar en una estructura POO: Matcher, Replacer, Cloner, Pipeline, Job.