Wizzy
Easy-to-use code generator. Code smarter not harder.
Install / Use
/learn @MJAZ93/WizzyREADME

Wizzy
A directory-based, easy-to-use code generator that integrates seamlessly with your project.

How to Use
Folder Structure
- Each folder represents a new template.
- Every folder must include a
template.jsonfile to define the template's rules and parameters.
See test directory.
template.json
The template.json file includes:
- Description (
desc): Metadata about the template. - Rules (
rules): Defines how files are created or updated. Rules can also reference other templates (template/template), starting always with the temp. - Parameters (
parameters): Inputs required by the template, such as:free: Simple inline text.select: A list of options.formatted: Textarea-like input.
Example template.json:
{
"desc": {
"name": "Template Name",
"description": "Template Description"
},
"rules": [
{
"rule": "{{name}}Activity.java -> ./features/{{feature}}",
"condition": ""
},
{
"rule": "template -> package",
"condition": "name==Login"
}
],
"parameters": [
{
"id": "name",
"desc": "The name of the service. Ex: BananaService",
"regex": "ˆ*Service",
"type": "free",
"required": true
},
{
"id": "type",
"desc": "The type of data exchange",
"regex": "",
"type": "select",
"required": false,
"options": ["GET", "POST", "PUT", "DELETE"]
},
{
"id": "objectOut",
"desc": "The output object",
"type": "formatted",
"required": true,
"condition": "data_exchange==BODY"
}
]
}
Files
- Each folder should include the template files used for creation or modification.
File Types
.n(New Files): Used when the target file does not exist..e(Edit Files): Used when updating an existing file.
For example: Main.java.e, Main.java.n, Main.svelte.e.
Syntax for .n Files
- Use
{{PARAM_NAME}}to reference a parameter. - Use
{%if(condition)%}...{%endif%}to apply conditions.
Example .n File:
package co.vm.features.{{feature}};
import co.vm.features.apis.Api;
// New imports come here
public class {{feature}}Services {
// Service {{name}} {{feature}}
public void {%if(type=="GET")%}fetch{{name}}{%endif%}{%if(type=="POST")%}post{{name}}{%endif%}() {
return {{objectOut}};
}
// New services come here
}
Syntax for .e Files
- Use
@@followed by a regex to define insertion points. - Use
-@@to mark the end of a block.
Example .e File:
@@// New Services come here
// Service {{name}} {{feature}}
public void {%if(type=="GET")%}fetch{{name}}{%endif%}{%if(type=="POST")%}post{{name}}{%endif%}() {
// ...
}
-@@
@@// New Declarations come here
// {{name}} {{feature}}
-@@
Installation
Manual Installation
- Add the
wizzybinary to the root of your project. - Create a
.wizzyfolder and start defining your templates and rules.
One-Liner Installation (macOS)
Run the following command in your terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MJAZ93/wizzy/main/build/remote-mac.sh)"
License
Wizzy is distributed under the Fair Code License.
Donate - Support Development
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
343.1kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
