Since grunt-init is also called as external process, this can maybe wait until you can use its API as well. For the moment, this works.

Of course, if anyone wants to change it to actually use the API, no problem.

Manfred Kröhnert wrote:
> In cli/src/AmberCli.st:
>
> >  @@ -933,6 +937,58 @@ main
> >   		^ fileServer start]
> >   ! !
> >
> >  +Object subclass: #Initer
> >  +	instanceVariableNames:'path childProcess nmPath'
> >  +	package:'AmberCli'!
> >  +
> >  +!Initer methodsFor:'action'!
> >  +
> >  +bowerInstallThenDo: aBlock
> >  +	| child |
> >  +	child := childProcess
> >  +		exec: (path join: nmPath with:'.bin'  with:'bower'),'  install'
>
> Instead of doing the |exec:| it should be possible (maybe preferred) 
> to |require('bower')| and use its API.
> See here <http://bower.io/#programmatic-api> on how to do it..
>
> And how about adding the bower step to the |grunt-init-amber| project?
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.c
om/amber-smalltalk/amber/pull/954/files#r11567388>.
>