Skip to content

code generation templating engine for generating C# bootstrap code for a clean architecture project

License

Notifications You must be signed in to change notification settings

parameshg/silhouette

Repository files navigation

Silhouette

A code generating and templating engine for generating C# bootstrap code for a clean architecture project. Silhouette can be used to generate domain projects containing entities, enumerations, value objects, events and exceptions with appropriate base classes, multiple types of presentation projects such as standalone APIs using Kestrel or AWS Lambda-based APIs, application project using MediatR with CQRS pattern for commands, queries, multiple types of database projects such as file-based databases using RavenDB.

Commands

The following commands are currently supported in the tool.

Initialize

The init command initializes the solution and structure of domain, application, presentation and persistence projects with approapriate base classes and directories.

silhouette.exe init --name Foobar

Projects with below structure are created.

  • Untitled
    • Backend.Api
      • Backend.Api.csproj
      • Endpoints
      • Global.cs
    • Backend.Api.Standalone
      • Backend.Api.Standalone.csproj
      • Endpoints
      • HomeEndpoint.cs
      • Global.cs
      • Program.cs
    • Backend.Database
      • Backend.Database.csproj
      • Repositories
      • Global.cs
    • Backend.Database.FileSystem
      • Backend.Database.FileSystem.csproj
      • Repositories
      • Global.cs
    • Backend.Domain
      • Backend.Domain.csproj
      • Entities
        • Entity.cs
      • Enumerations
        • Enumeration.cs
      • Events
        • Event.cs
      • Exceptions
        • Error.cs
      • Values
        • ValueObject.cs
      • Global.cs
    • Backend.Server
      • Backend.Server.csproj
      • Commands
      • Queries
      • Repositories
      • AssemblyMarker.cs
      • Global.cs
    • Untitled.sln

About

code generation templating engine for generating C# bootstrap code for a clean architecture project

Topics

Resources

License

Stars

Watchers

Forks

Languages