Craftsman Scaffolds Your Boilerplate!
Craftsman is the workhorse behind the Wrapt framework and provides a suite of CLI commands for quickly scaffolding out new files and projects for your .NET Web APIs with simple CLI commands and configuration files.
Quickstart
- Make sure you have the .NET 7 SDK installed, along with EF Core
- Install the craftsman tool
dotnet tool install -g craftsman
- Spin up an example project
craftsman new example MyFirstProject
Documentation
For all the documentation on how to use Craftsman, visit wrapt.dev.
Upcoming Features
I'm currently working through a deep example project the really dogfood things and will be making updates around my finding from there. I also want to harden up the frontend work with NextJS soon as well and get that more widely available. If any React devs want to help with this definitely let me know!
Have a request for something you don't see below? Join our discord and let's talk about it!
Coming in 0.22
GetList
feature to GetPagedList
and create a distinct `GetList
Some 0.21 highlights
Some 0.20 highlights
β Specification support
Some 0.19 highlights
β Test projects updated to use XUnit
Some 0.18 highlights
β Built in Migrations
Some 0.17 highlights
β Users and Roles managed in each boundary (AuthN still separate)
Email
Value Object
Some v0.16 highlights
β
Migrate Automapper
to Mapster
Some v0.15 highlights
β Built in Domain Event support (with unit test scaffolding)
Program.cs
only format
Some v0.14 highlights
β Dockerfile and Docker Compose scaffolding
Some v0.13 highlights
register:producer
command
Some v0.12 highlights
β
add:feature
enhancement to add more than just ad-hoc features
β
new:example
command to generate example projects with associated templates
β Auth Server Scaffolding (In-Memory)
β Auditable entities
Support
If Wrapt and Craftsman are saving you time and helping your projects, consider sponsoring me on Github to support ongoing Wrapt development and make it even better!
Contributing
Time is of the essence. Before developing a Pull Request I recommend opening a new topic for discussion. I also haven't had enough PR interest to take the time and put together a contributing.md
, but if you are interested, I will definitely put together a detailed writeup.
Contact Me
Sometimes Github notifications get lost in the shuffle. If you file an issue and don't hear from me in 24-48 hours feel free to ping me on twitter or Discord (pdevito3#4244). We also have own discord channel now for easy contact with me and larger community discussions!