AngelMunoz/Perla

dotnet perla init

nojaf opened this issue · 5 comments

nojaf commented

Is your feature request related to a problem? Please describe.
In the docs you mention the project structure.

Describe the solution you'd like
It would be nice if dotnet perla init gave me the index.html, perla.json and src/index.js.

Describe alternatives you've considered
I tried the templates thing:
image

without any success.

In this case while I know it is a little bit clumsy, new command works in the following way

  • perla new project-name

    Takes the default vanilla-js template and generates a new project (added in beta 13, thanks)

  • perla new project-name -t perla-templates/<template-name>

    Generates a new project with the selected name

  • perla new project-name -t <github-user>/<repository>/<template-name>

    Generates a new project with the selected full name of the template

The reason we have that is because we may have cases where a user create's their own "vanilla-js" or their own "fable-feliz" templates the <repository>/<template-name> would be ambiguous, hence why we opted to use the full repository name including the GitHub user.

So, all in all, in your case the command would be:

  • dotnet perla new ff -t perla-templates/fable-feliz

Currently we don't store the "children" directories in the database we only save up to the repository's name I might add that list so we can simplify that to fable-feliz when there is no conflicts.

You can try the updated templates + the command in beta 13

  • perla templates:update AngelMunoz/perla-templates main (once)
  • perla new sample (creates a vanilla template in the sample directory)
  • perla new sample -t perla-templates/fable-feliz (creates a fable-feliz template in the sample directory)
nojaf commented

This is rather a lot of command line syntax to scaffold some files.
Could dotnet perla new not do the wizard thing maybe? Where I can tell my name after it is asked and choose the template from a list.

Seems reasonable there's places where this similarly done in the code base so, I think this is doable in the beta stages.

this is available in beta16 please see #107 for more information