# Working With This Code Base

This code base is largely autogenerated using the {{config.name}} template with [ns-flip](https://www.npmjs.com/package/ns-flip).
If you follow the [instructions for safe code](https://ns-flip.nostack.net/Making-Files-Customizable),
then you can update the template whenever it changes and keep all of your custom changes!

## Instructions

1. replace everything inside of the custom areas of the files generated.  You can also
      add code within src/custom and import in the customImports area. The following
files and folders are also ignored.  You can update them without difficulty:
{{#each config.ignore}}
 * {{this}}
{{/each}}

2. to update commands, args and flags, run:
  > `npx ns-flip settings {{general.codeDir}}`

3. to update your template, run:

  > `npx ns-flip check {{general.codeDir}}`

  to be sure that your updates are safe.  Then run:

  >  `npx ns-flip generate {{general.codeDir}}`

# Specific Changes To Make
Any command file is contained in src/commands.  You will need to create code for each command.  You could put it all into the custom area,
but it probably would be better to keep it in src/custom.  You could make separate files and
even directories for each command, and import them within customImports.

You also will have to update the tests if you want to test (of course you do ;)).  Each
command for a test has a file in test/commands.  You can create anything you like in test/custom
as well.  Any file ending test.ts over there will get tested when you run `npm run test`.

Check out the [Oclif](https://oclif.io/) documentation for the many things you can do with
their packages.  This template is just a way to get you started as efficiently as possible
and to allow you to stay up-to-date.

# Keep in Touch
It's best to watch the template.  If Oclif or any other
packages used change, you will know when the template updates.

It also could be relevant to watch ns-flip as well.  It is a new tool, evolving quickly.
