Well the [1] "@angular/cli" package is one example of code generation I don't like. For example you can create a new page with:
ng generate route 'about-page'
This creates a folder called "about-page" with a blank component. Then it modify's the app.routing module. Then it adds the component declaration to the app.module.
The reason it's terrible is that it makes various assumptions about the naming of your files and project structure, which inevitably break things if they're don't match.
A good example of a better abstraction (a.k.a function call) is the [2] "nuxt" package. In this framework you don't need to generate a route, you just add a file to the '/pages' directory and the framework maps it to a route for you. It's a pleasant and simpler experience.
[1] https://cli.angular.io/
[2] https://nuxtjs.org/