Skip to content

shiva make

Scaffold boilerplate for modules, services, models, migrations, seeds, tests, and contracts.

Usage

bash
shiva make:<type> [name] [options]

Commands

shiva make:module <name>

Scaffold a new module.

bash
shiva make:module my-fishing

Creates resources/[shiva]/my-fishing/ with the full module structure.

Options:

FlagDescription
--no-uiSkip the ui/ directory
--no-clientServer-only module (no client scripts)
--provides <contract>Pre-fill the provides field in manifest.lua

shiva make:service <module> <name>

bash
shiva make:service my-fishing FishingService

Creates resources/[shiva]/my-fishing/server/services/FishingService.lua.


shiva make:model <module> <name>

bash
shiva make:model my-fishing FishingLog

Creates resources/[shiva]/my-fishing/shared/models/FishingLog.lua.


shiva make:migration <module> <description>

bash
shiva make:migration my-fishing create_fishing_logs

Creates resources/[shiva]/my-fishing/migrations/001_create_fishing_logs.lua (auto-numbered).


shiva make:seed <module> <name>

bash
shiva make:seed my-fishing FishingSpots

Creates a seeder file at resources/[shiva]/my-fishing/seeds/FishingSpots.lua.


shiva make:contract <name>

bash
shiva make:contract inventory

Creates a contract definition file at contracts/inventory.lua.


shiva make:test <module>

bash
shiva make:test my-fishing

Creates the spec/ directory with a starter test file.


shiva make:ui

bash
cd resources/[shiva]/my-module
shiva make:ui

Scaffolds ui/ with a Vite + Vue starter.

Options: --framework vue|react|svelte

Released under the MIT License.