The ns file provides meta data that is used to generate a code base. Your template contains a sample ns.yml file that should already exist from the beginning in your meta directory. You can think of it as a config file.


ns stands for No Stack, a company devoted to the philosophy of enabling the majority of a stack to be maintained by others.

Settings in the ns File

The following items can appear there:

  1. codeName: change it to any string you'd like.

  2. userClass: if your code is going to be for an application, you must specify a user class. That's especially important when you are creating multiple applications for different user classes that will all share the same server.

  3. template: various information about the template you used. That should have been set automatically by geenee when you called ns newcode.

  4. backend: this key is reserved for various information relevant for code that connects to specific types of servers. Specific examples are described by your template and should be shown in an example.

  5. inputs: this entry should also be filled out as specified in the instructions for your template. The essential function of inputs is for information used by template code (specifically handlebars helper functions) to generate your code properly.

  6. static: declarations of static files used. See more in Static Files.

  7. units: ns divides dynamic data interfaces into units. You can see more about them in Units.

  8. joins: a way of combining units. See more about them in Units.

  9. general: a generic place to store info needed by your template. The template README should tell you details if you need to add anything here.