create-evolved
is a versatile project scaffolding CLI built with Plop.js and Node.js to accelerate the bootstrap of modern applications, services, and libraries by generating opinionated, best-practice project structures automatically. It combines interactive prompts, customizable Handlebars templates, and a plugin-style architecture to support a wide range of project types.
Before using create-evolved
, ensure you have the following installed on your system:
- git -- A free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
- dotnet -- A cross-platform toolchain for developing, building, running, and publishing .NET applications; included with the .NET SDK.
- pnpm -- A fast, disk space efficient package manager for JavaScript and Node.js projects, providing strict package management and workspace support.
- Generate a new project
pnpm create evolved@latest
-
Follow the interactive prompts
Answer questions about project name, author, license, and optional features -
Start coding
Navigate to yourdirectory
and run the usual commands (pnpm i
,dotnet restore
) as directed by your chosen template.
IMPORTANT: When creating templates, one MUST follow our golden rule: use the most compatible syntax/runtime for services and the latest syntax/LTS for drivers. -- nagaozen
-
.NET Console (net8.0)
Opinionated .NET C# console app. -
.NET Plug-in (net8.0)
Opinionated .NET C# open-for-extension plug-in. -
.NET Services (netstandard2.0)
Opinionated .NET C# service using clean-code architecture and open-for-extension. -
.NET WebAPI (net8.0)
Opinionated .NET C# minimal web API.
We welcome contributions! Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo, make changes and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
This GitHub repository adheres to the principles of GitHub Flow as outlined in the official GitHub documentation. We ensure that all changes are made through branch-based workflows, enabling collaborative development and efficient code review before integration into the main branch.
gitGraph
commit id:"fix(api): export endpoint should be consistent with output clause"
branch feature/amazing
checkout feature/amazing
commit id:"feat(amazing): implement mvp"
checkout main
merge feature/amazing
branch hotfix/cicd
checkout hotfix/cicd
commit id:"fix(cicd): automatic deployment"
checkout main
merge hotfix/cicd
branch feature/incredible
checkout feature/incredible
commit id:"feat(incredible): implement mvp"
checkout main
merge feature/incredible
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/amazing
) - Commit your Changes (
cz
) - Push to the Branch (
git push origin feature/amazing
) - Open a Pull Request