We have a few repos that we use to develop, maintain, test, and deploy our products.
Each package that will become a gem should follow this naming scheme avo_NAME
.
We have a template repository which we will have to keep up to date. In it’s readme you’ll find notes on how to maintain the naming.
Each package can build itself using bud
If a packages has a package.json
file it should have a build
script (mandatory) and a watch
script (optional).
The build
script should build its assets (js
and/or css
) and the watch
must be a running process that continues to build it’s assets in development.
Alternatively, it can implement separate watch commands for each of the processes (yarn build:js —watch
, yarn build:css --watch
).
Each package should build and output their own asset files and register it wiht Avo through Avo.asset_manager
.
avo
This is the repo that holds the main Avo product with it’s community features.
It has the dummy
app where we do manual and automated testing for the community features. We should have everything in the community tier there so anyone can use/test them when they download the repo.
prommy
This is a Rails 7 app where we manually test all the packages together.
It will probably have duplicated configuration (resource, actions, dashboards, etc.) files with the dummy
from the Avo
repo.