-
Notifications
You must be signed in to change notification settings - Fork 35
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
Project template scaffold CLI #501
Comments
Hey, I think the idea is very unique and solve the basic problem in distributed systems and add to the fundamental to the distributing systems. I want to understand more about the idea and contribute to it. I think this issue will help me to learn more about the idea and also needed some help and abstract overview about project, so that will take up this issue and start contributing. So I think we implement like this Add callback cli command. If I'm wrong please correct me. About me: I'm a basic to intermediate golang programmer and want to learn more. |
Hi @muhammad-asghar-ali thanks for you interest in our project! Your intuition is exactly right, we need an additional cobra command called create that will generate the sdk code for a new resonate app. I imagine we could start this feature from either side:
For (1) there is little requisite knowledge, we can just get started right away. For (2) we would need sample sdk apps, which would require working with the python sdk. Let me know which side you prefer to start with and we can go from there. I do have one opinion on how we should implement this feature. When we create a sample app I think we should clone a known repo from the resonatehq org containing the app code. This way we will end up maintaining a library of sample app repos which can be updated independently of this repo. |
Thanks @dfarr, so my understanding is like we need a cli command which creates a project based on the language. So for example, a JS or TS app creation via resonate cli command with automatic setup of resonate's sdk and same goes for Python. here are some questions about the implementation.
Here is a idea about the design |
Nice, I like the design of your cli a lot!
I think we should maintain a collection of repos containing the scaffolding code, for example:
When a user specifies that they want to create a new project we can simply clone this repo to a local directory. We could go one step further and use a project like cookiecutter to permit templating, but I would prefer to get started with a simple clone as-is. |
This looks great! If you like I could create a simple repo with an empty README that we could use as a template for now to get started? If you can work on the cli side we could get started on the sample code side in parallel. |
Yes, sure please create the the repo and I'm working on cli side as well. So we can work in parallel. |
Thanks, will look into it asap. |
Hey @dfarr, is this the private repo? |
Whoops, I guess the default is private, it's public now! |
Hey @dfarr, a quick question about the scaffold-py. Can I fork this or direct clone it? |
@muhammad-asghar-ali - do you have Discord? |
I added you to the repo :) |
Hey @flossypurse, sure I can join |
Hey @dfarr I have a question, for scaffold-py are we planning to use the Flask framework (with rye), or is there another approach we should follow? |
I would prefer to have a super basic app with have zero dependencies, we could do something as simple as an add function.
@flossypurse what are you thinking for the default scaffolding? |
Hi @dfarr, Thanks for clarifying. Working on it. But I think we should have the resonate dependency like via pip or other options? |
Hey @dfarr unable to push change in scaffold-py getting the permission error says
To Note:
Need your guidance related to this. Thank you |
Just changed your permissions to write, please try again. We will probably change the code in that repo before we go live with this feature so even if there is only a README in there that is okay. |
We need something like
resonate create
to scaffold a new project in the language of the developer's choice.Some initial requirements:
The text was updated successfully, but these errors were encountered: