Craftsman

screenshot of Craftsman

A .NET scaffolding tool to help you stop worrying about boilerplate and focus on your business logic

Overview:

Craftsman is a tool that works with the Wrapt framework and provides CLI commands for scaffolding new files and projects for .NET Web APIs. It simplifies the process of creating new projects and offers various features to enhance development efficiency.

Features:

  • Logging enhancements and masking
  • Dependabot and Github Actions for tests
  • Support for Postgres with string[] datatype
  • Value Object property scaffolding
  • Moq to NSub conversion
  • New GetAll feature
  • Hangfire scaffolding
  • Migration from Sieve to QueryKit
  • TestContainers update
  • Records for queries, commands, and DTOs
  • Relationships overhaul
  • New default error handler middleware
  • Mapster to Mapperly conversion
  • Intermediate model to bypass DTOs for domain
  • Specification support
  • Test projects updated to use XUnit
  • Integration test improvements with better service collection scoping
  • Options Pattern Configuration
  • Environment Service
  • Built-in Migrations
  • Various testing and other improvements
  • Users and Roles management in each boundary
  • New Email Value Object
  • Functional Tests using Docker DB
  • NextJS template (work in progress)
  • Testing optimizations
  • Common Value Object scaffolding
  • Auth Server rewrite with Keycloak
  • Move permission guards to feature
  • Migrate Automapper to Mapster
  • Updated CLI command structure
  • OpenTelemetry and Jaeger Tracing
  • Built-in Domain Event support
  • Program.cs format
  • Repository and unit of work abstractions
  • SmartEnum property scaffolding
  • Duende BFF scaffolding
  • React scaffolding
  • Dockerfile and Docker Compose scaffolding
  • DDD promoted entities with private setters and factory methods
  • Simplified setup for permissions with HeimGuard library
  • New register:producer command
  • Soft delete capability
  • Shared Kernel

Summary:

Craftsman is a powerful tool that simplifies the process of scaffolding new files and projects for .NET Web APIs. It offers a wide range of features such as logging enhancements, testing improvements, and support for various technologies. By streamlining the project setup process, Craftsman enables developers to focus more on coding and less on manual configuration. With its continuous updates and upcoming features, Craftsman continues to evolve and provide valuable tools for developers.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.