CLI Reference

Complete reference for the Spiderly CLI tool — all commands, options, and usage examples.

Installation

dotnet tool install -g Spiderly.CLI

To update to the latest version:

dotnet tool update -g Spiderly.CLI

Usage

spiderly [command] [options]

Run spiderly help to see all available commands.

Commands

init

Initialize a new Spiderly project with a .NET backend and an Angular frontend.

spiderly init [--name <AppName>] [--db <provider>]
OptionDescription
--nameApp name in PascalCase, without spaces (e.g., MyApp). If omitted, the CLI will prompt you.
--dbDatabase provider: postgresql, sqlserver, or skip. If omitted, the CLI will prompt you. See Database Providers for details on what each option generates.

Examples:

spiderly init
spiderly init --name MyApp --db postgresql

add-new-entity

Create a new entity and generate all necessary files: entity class, Angular pages (list and details), routes, and menu item.

spiderly add-new-entity [--data-view]
OptionDescription
--data-viewGenerate a DataView template instead of the default Table template for the list page.

The CLI will prompt you to enter the entity name in PascalCase (e.g., YourEntityName).

Examples:

spiderly add-new-entity
spiderly add-new-entity --data-view

add-migration

Create a new EF Core migration.

spiderly add-migration <name>
ArgumentDescription
<name>The name for the new migration (required).

Example:

spiderly add-migration AddProductTable

update-database

Apply all pending EF Core migrations to the database.

spiderly update-database

remove-migration

Remove the last EF Core migration.

spiderly remove-migration

list-migrations

List all available EF Core migrations.

spiderly list-migrations

help

Show all available commands and their options.

spiderly help

What Needs a Migration?

Not every entity change requires a database migration. Use this table to decide:

ChangeMigration needed?
Add/remove entity classYes
Add/remove/rename propertyYes
Change property typeYes
Change [StringLength]Yes
Change [Required]Yes
Add/remove [CascadeDelete]/[SetNull]Yes
Change [DisplayName]No (UI only)
Change [UIControlType]No (UI only)
Change [UIControlWidth]No (UI only)
Add/remove [UIDoNotGenerate]No (UI only)
Change [UIOrderedOneToMany]No (UI only)
Add/remove [BlobName]No (mapped to existing string column)
Change [AcceptedFileTypes]/[MaxFileSize]No (validation only)
Add/remove [DoNotAuthorize]No (authorization only)
Change [Controller]No (routing only)