create-spellcraft
v0.0.2
Published
A framework generator for @c6fc/spellcraft plugins.
Readme
✨ create-spellcraft ✨
Scaffold Your SpellCraft Modules with Ease!
create-spellcraft is a zero-configuration command-line tool designed to quickly bootstrap the creation of new Spells for the powerful SpellCraft configuration management framework. Forget about tedious setup – get straight to building.
Installation & Usage
create-spellcraft is designed to be used directly with npm init. Simply navigate to an empty directory where you want to create your new module and run: npm init spellcraft <your-module-name>
Replace <your-module-name> with the desired name for your module (e.g., @my-org/my-project). This name will be used as the package name in your package.json.
Usage
Navigate to an empty directory:
mkdir my-new-module
cd my-new-moduleInitialize your new SpellCraft spell:
npm init spellcraft @me/my-new-moduleThis command will generate a pre-configured file structure and essential files within the my-new-module directory, ready for you to start building your SpellCraft extension.
What's Inside Your New Spell
create-spellcraft sets you up with a sensible default structure and helpful utilities:
├── spellcraft_modules/
├── util.js
├── .gitignore
├── README.md
└── manifest.jsonnet/spellcraft_modules
This directory houses arbitrary JS files that export native functions for use in JSonnet
- util.js: A demo JS module for exporting native JS functions for use in JSonnet.
.gitignore
A standard .gitignore file tailored for SpellCraft spells. It automatically ignores common build artifacts and directories that SpellCraft will manage within user projects, such as .spellcraft/, node_modules/, and render/. This ensures a clean and focused repository.
manifest.jsonnet
This is the heart of your Spell. This is pre-populated with Spellcraft magic imports and demo content.
package.json
A standard NPM package.json file with some SpellCraft-specific configurations and dependencies, such as:
{
// Sets up the utilities so you can use `npm run test` or `npm run cli`
"scripts": {
"gen": "spellcraft generate manifest.jsonnet"
}
}Default npm run actions
There is one scripts created in package.json that are available by default within your project:
npm run gen
This command renders the spell to render/.
