A .NET Core code generation and ETL tool that builds projects from data sources using configurable templates and tasks.
SmartCode is a .NET Core CLI tool for automated code generation and ETL processes. It reads from configurable data sources (like databases), processes data through build tasks, and outputs generated code or transformed data using templates. It solves the problem of manually creating repetitive project structures and data migration scripts.
.NET developers and teams who need to quickly scaffold database-driven applications, generate CRUD layers from existing schemas, or automate data extraction and loading between systems.
Developers choose SmartCode for its pipeline flexibility, extensive template support, and ability to generate full-stack .NET projects from a single configuration, reducing boilerplate code and ensuring consistency across projects.
SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything!!!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates full .NET solution structures including entities, repositories, services, and API controllers directly from database schemas, as shown in the YAML config for SQL Server and PostgreSQL.
Supports Razor and Handlebars templates, enabling custom logic for code generation and ETL transformations, evidenced by the multi-template build tasks in the README.
Uses configurable YAML pipelines to sequence tasks like scaffolding, formatting, and restoring, allowing repeatable workflows for project setup and data migration.
Provides Extract, Transform, Load capabilities to migrate data between databases, as demonstrated in the ETL configuration with column mapping and transform scripts.
Requires verbose YAML setup for even basic tasks, with detailed parameters for data sources, naming converters, and build tasks, which can be overwhelming for quick prototyping.
Primarily designed for .NET Core and C# code generation, limiting its utility in polyglot environments or for teams using other backend stacks.
Parts of the README are in Chinese without full English translation, and the contribution guidelines are sparse, potentially hindering adoption by non-Chinese speakers.
Relies on external CLI tools like dotnet-format for code formatting, as seen in the build tasks, adding extra setup steps and potential version compatibility issues.