This CLI aims to help speed up your workflow, guidelines and code reusability by adding support for pasting template building blocks.
Since it's language agnostic it can be used anywhere with minimal setup.
Install with NPM:
npm i -g pastry-cli
Install with Yarn:
yarn global add pastry-cli
- Create a
/pastries
directory in your project source directory. - Populate the directory with template files/folders.
- Run
pastry
inside your terminal while located inside your project.
The cli will guide you through the rest of the steps.
It will look up for a /pastries
directory starting from your cwd
.
This means that you can have default pastries for all projects by placing them in a parent directory.
You can replace any text including filenames with the name you provide when running pastry.
For example: running pastry -n testFile
would change the following:
PLACEHOLDER.ts
~> testFile.ts
When changing text inside a file you have more options:
export default PLACEHOLDER'
~> export default testFile
export default UPPER_PLACEHOLDER'
~> export default TESTFILE
export default LOWER_PLACEHOLDER'
~> export default testfile
export default PASCAL_PLACEHOLDER'
~> export default TestFile
With optional snippets you can predefine parts of code you might want to use in a file.
For example this will prompt you if you want to include the log
snippet:
// pastry-start log
console.log('I may be part of the file, yay!')
// pastry-end log
By running pastry --rename
you can rename existing files.
Currently, there is only support to rename together with the parent directory.
The name of the directory will be used as PLACEHOLDER
is used normally.
Argument | Shorthand | Description |
---|---|---|
--name | -n | Define the new name |
--path | -p | Define the target path |
--template | -t | Name of the template to use |
--rename | -r | Rename existing |
--help | -h | List available arguments |
Configuration can be done by creating a .pastryconfig.json
in the root directory for the project.
{
"templateDir": "{YOUR_TEMPLATE_DIRECTORY}" // default: pastries
}