-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(cli): project template scaffold cli command #533
base: main
Are you sure you want to change the base?
feat(cli): project template scaffold cli command #533
Conversation
…r-ali/resonate into project-template-scaffold
Wow I am shocked that go doesn't have a higher level library function for unzipping a file. I am super impressed with this, that was way more work than it should have been! I think we need to namespace these commands under something, I am thinking "templates", what do you think?
We have been discussing this feature on our team, and we feel there should be a discovery mechanism so that we can add more templates as we go without having to release a new version of the sdk. We came up with the following strategy:
What do you think? |
Thank you @dfarr, awesome feels super interesting and I'm more understand this proposal and come up with some raw diagram. And I understand what we want but give me some time to make a proper flow and then start implementation it. And regarding to higher level library function for unzip, so i read some stackoverflow and there mostly implement the unzip function by self but I can also double check the unzip function which makes the code easy to understand. |
Hey @dfarr, after understanding your idea, I think the existing create command command:
Any suggestions or improvements? |
Looks good! I don't even think we need a name, we could just have a single name which can be the key in the map here we could print it with the descriptions (the desc key). I thought the name could be the local folder we copy the codebase to? |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #533 +/- ##
==========================================
- Coverage 56.00% 55.15% -0.86%
==========================================
Files 129 133 +4
Lines 13928 14166 +238
==========================================
+ Hits 7801 7813 +12
- Misses 5663 5891 +228
+ Partials 464 462 -2 ☔ View full report in Codecov by Sentry. |
Yes @dfarr you are right, so the idea is if the user want to create the basic Here are some future thinking.
One possible way is to replace the --sdk with some other flag which represent the template nature. |
Exactly! Let's just decouple the idea of an sdk from a template - a template can be anything, any language, pattern, etc (that's where the description can help us, and that is specified in the templates repo) so all the user has to do is specify the key that corresponds to the template. |
Awesome, great idea some the template can be anything which is listed in the json file as key along corresponding href. Will work on it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks so great! My comments at this point are more about just crossing our t's and dotting our i's, otherwise I think we have it!!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggesting adding "Application Node" to the descriptions so it is clear what project type and template is getting created just for explicit clarity - someone might think they are creating a server project perhaps?
@muhammad-asghar-ali this is so awesome! If you have bandwidth, would you be willing to post a screen capture of this functionality for us to review? Overall, this is looking fantastic - connecting with @dfarr about getting this in! |
@muhammad-asghar-ali - I actually just tried this out by pulling your fork. My main suggestion would be switch the top-level command from This is the command I used: resonate template create --name test-app --template py I think it would make more sense if it was: resonate project create --name test-app --template py For a moment I was confused about whether I was creating a new template for the cli or a new resonate project. |
I’ll capture a screen recording of the functionality and share it with you asap. |
Awesome, I think It is good suggestion to add and replace the top-level command from |
…r-ali/resonate into project-template-scaffold
Description:
-
resonate project create --name my-app --template py
-
resonate project create -n my-app -t py
-
resonate project list