Skip to content

Building Code Bases

YizYah edited this page Mar 2, 2021 · 3 revisions

steps

Create Code Base


NOTE You can either keep using npx geenee or you can install the cli: npm i -g geenee.

Installing it globally will make it faster. On the other hand, you won't automatically have the latest version of geenee when you use it.


You can install your template locally if it comes without a cli version.

If you have a template that it packed within an installer, you can simply run that installer. For instance, you can use ts-packrat.

This sample template to be installed locally is used in the examples below.: mkdir /ns TEMPLATES=/ns/templates mkdir $TEMPLATES cd $TEMPLATES git clone [email protected]:YizYah/basicNsFrontTemplate.git TEMPLATE=$TEMPLATES/basicNsFrontTemplate ```

  1. Create a first code base:
    PROJECT_NAME=multitask
    
    CODE=~/temp/$PROJECT_NAME
    npx geenee generate $CODE -t $TEMPLATE
    

    Warning: for some templates, creating the code for the first time can take a while. A template may run a number of steps including installations.

Update Ns File

The ns-file tells what you need to customize your base code. Your default one should have generated code already.

  1. Open your default ns file ($CODE/meta/ns.yml). Also read the instructions provided by your template. Minimally, your template README should tell you any unique data that needs to be contained in your ns file.

    Edit the ns file to suit your needs for the code base. If you have not worked with yaml files, you may want to take a minute to learn YAML. See NS Files to understand the file.

  2. Regenerate the Code Base

    npx geenee generate $CODE
    

    The code is now ready for adding custom code.

    You can repeat steps 1 and 2 whenever you like.

Updating the Template

Note that you should call generate with the -t flag any time you update your template.
npx geenee generate $CODE -t $TEMPLATE

Support

If you have any problems, please feel free to ask for help on our community. Feel free to message us individually.