An opinionated set of configuration files & CLI for conveniently bootstrapping Node projects. (NPM Organization)
How does it work?
- Choose a preset to clone from. Currently, the
nodepresets are implemented for Next.js and vanilla Node.js (both using TypeScript) respectively.
~$ ankylos create new-project --preset node
ankylos bootstrapwithin the newly cloned directory. This will read from the preset's
ankylos.config.js, which describes behaviour for preset-specific dependencies, dev-dependencies, templates, and NPM scripts. For example, the
nodepreset has the
vscodeextensions enabled by default. Each of these plugins is an NPM module published under the
@ankylosorganization and contain their own
ankylos.config.js. However, this configuration defines template-specific behaviour, such as files to preserve/copy and template-specific dependencies. Anyways, the
bootstrapsubcommand will initialize a 4-stage bootstrap process:
I. Install all direct dependencies, dev dependencies, and templates under the preset's
II. Install template dependencies and dev dependencies
III. Prompt for project metadata: name, description, kewords, license
IV. Copy files specified by templates into their respective locations relative to the new project
pnpm installin the current directory and you should be good to go!
ankylos is NOT supposed to be
- A generic wrapper to encapsulate configuration entirely. The entire point is
just to bootstrap common configuration and that's all. Things like
ankylos-template-prettier, for example.
- A one-size-fits-all tool for all developers. This tool has been developed with my personal preferences in mind. If you would like to add a template, feel free to create a pull request, but be warned that I may not accept it on grounds of personal preference. At that point, feel free to fork the repository (keep the LICENSE :)!) and adjust the template to your neds
- Currently only supports
pnpm. Support for other package managers is not a priority.
Try it out
With all of that said, feel free to try
ankylos for yourself!
~$ pnpm install --global @ankylos/cli ~$ ankylos --help