Create a new ABP.IO project with proper template selection, configuration, and setup. Supports all ABP templates including layered, single-layer, microservice, and modular architectures.
Create a new ABP.IO project using the ABP CLI with proper template selection, configuration, and initial setup.
Your goal is to create a new ABP.IO project with the appropriate template, configuration, and setup based on the specified requirements.
Standard layered application for most scenarios.
Use Cases:
Command:
abp new <solution-name> -t app [options]
Simplified template for small applications.
Use Cases:
Command:
abp new <solution-name> -t app-nolayers [options]
For distributed microservice architectures.
Use Cases:
Command:
abp new <solution-name> -t microservice [options]
Minimal template for custom solutions.
Use Cases:
Command:
abp new <solution-name> -t empty [options]
mvc: ASP.NET Core MVC (default)angular: Angular SPAblazor-webapp: Blazor Web Appblazor: Blazor Serverblazor-server: Blazor Serverno-ui: No UI layeref: Entity Framework Core (default)mongodb: MongoDBnone: No mobile app (default)react-native: React Nativemaui: .NET MAUI--tiered: Creates tiered architecture (separate API and UI layers)--separate-tenant-schema: Different DbContext for tenant schemaleptonx: LeptonX Theme (premium)leptonx-lite: LeptonX-Lite Theme (default)basic: Basic Theme--connection-string: Custom database connection string--skip-migrations: Skip initial database migration--skip-migrator: Skip database migrator--public-website: Add public website (PRO)--without-cms-kit: Exclude CmsKit module--sample-crud-page: Add sample CRUD pageProject Size & Complexity
Team Size
UI Requirements
Database Needs
Analyze requirements and select appropriate template based on:
Execute ABP CLI command with appropriate options:
# Example: Layered MVC application with EF Core
abp new Acme.BookStore -t app -u mvc -d ef
# Example: Angular application with tiered architecture
abp new Acme.BookStore -t app -u angular -d ef --tiered
# Example: Microservice solution
abp new Acme.Microservice -t microservice -u mvc -d ef
dotnet tool install -g Volo.Abp.Cli
cd Acme.BookStore
dotnet restore
dotnet ef database update
dotnet run --project src/Acme.BookStore.Web
Update configuration files as needed:
appsettings.json: Basic configurationappsettings.Development.json: Development settingsappsettings.Production.json: Production settingsabp new Acme.BookStore -t app -u mvc -d ef --theme leptonx-lite
Structure:
abp new Acme.BookStore -t app -u angular -d ef --tiered
Structure:
abp new Acme.Api -t app-nolayers -u no-ui -d ef
Structure:
abp new Acme.Microservice -t microservice -u mvc -d ef
Structure:
// appsettings.json
{
"ConnectionStrings": {
"Default": "Server=localhost;Database=AcmeBookStore;Trusted_Connection=true"
},
"App": {
"SelfUrl": "https://localhost:44300"
}
}
# Create initial migration
dotnet ef migrations add InitialCreate
# Update database
dotnet ef database update
Create your first entity in the Domain layer:
// src/Acme.BookStore.Domain/Books/Book.cs
public class Book : FullAuditedAggregateRoot<Guid>
{
public string Name { get; set; }
public BookType Type { get; set; }
public DateTime PublishDate { get; set; }
public float Price { get; set; }
}
Create corresponding application service:
// src/Acme.BookStore.Application/Books/BookAppService.cs
public class BookAppService : ApplicationService, IBookAppService
{
private readonly IRepository<Book, Guid> _bookRepository;
public BookAppService(IRepository<Book, Guid> bookRepository)
{
_bookRepository = bookRepository;
}
// CRUD operations implementation
}
# Create new ABP solution
abp new Acme.BookStore -t app -u mvc -d ef
# Copy domain entities from old project
# Migrate application services
# Update namespaces
# Migrate configurations
FullAuditedEntity to FullAuditedAggregateRoot<Guid>Abp.* to Volo.Abp.*# Install ABP CLI
dotnet tool install -g Volo.Abp.Cli
# Update connection string in appsettings.json
dotnet ef database update
# Run as administrator or use appropriate permissions
# Clear NuGet cache
dotnet nuget locals all --clear
dotnet restore
This skill provides comprehensive guidance for creating ABP.IO projects with the right template and configuration for your specific needs.