generateFeature method
Generates a complete feature structure.
Creates the data, domain, and presentation layers,
registers routes, and updates dependency injection.
The featureName should be in snake_case.
Implementation
void generateFeature(String featureName) {
final snake = FsUtils.toSnakeCaseSafe(featureName);
final pascal = FsUtils.toPascalCase(snake);
final featurePath = p.join(libPath, 'features', snake);
_generateDataLayer(featurePath, snake, pascal);
_generateDomainLayer(featurePath, snake, pascal);
_generatePresentationLayer(featurePath, snake, pascal);
_registerRoute(snake, pascal);
_updateDI(snake, pascal);
}