Skip to content

Make Todo & Identity Features Optional During Project Setup #1613

@donprecious

Description

@donprecious

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Yes.

When generating new projects using CleanArchitecture, the default inclusion of both the Todo and Identity features becomes repetitive and time-consuming—especially when working in a microservices architecture.

In many cases, these features are not needed (e.g., lightweight services, domain-specific microservices, or services with custom authentication mechanisms). As a result, developers have to manually remove:

Todo-related entities, handlers, endpoints, and tests
Identity setup and related infrastructure

This cleanup process becomes repetitive and slows down development when scaffolding multiple services.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe the solution you'd like

Introduce an option during project creation to include or exclude certain features, specifically:

Todo Feature
Identity Feature

This could be implemented via CLI flags, for example:

dotnet new ca-sln --skip-todo --skip-identity

Or an interactive prompt:

Include Todo Feature? (y/n)
Include Identity Feature? (y/n)

This would allow developers to:

  • Generate lean, purpose-specific services
  • Avoid unnecessary cleanup work
  • Improve productivity when creating multiple projects

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Manually deleting the Todo and Identity modules after project creation
→ This is repetitive and error-prone, especially across multiple services.
Maintaining a custom fork of the template
→ Adds maintenance overhead and diverges from upstream updates.
Creating internal base templates
→ Works, but loses the benefits of the official template updates and community alignment.

Additional context
Add any other context or screenshots about the feature request here.
This feature would be especially valuable for teams building:

Microservices architectures
Event-driven or domain-focused services
Systems using external identity providers (e.g., Auth0, Azure AD, Zitadel)

Making these features optional would improve flexibility while preserving the strength and structure of the template.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions