-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Scaffold CLI tool for creating new projects #1330
Comments
Can I take up this one? @arboleya :) |
Sure! I'd say let's try to have a first minimal draft template structure considering the quickstart/counter that we can brainstorm over, review, and expand from there. Also, most "companion" frameworks I mentioned in the issue description have excellent interactive scaffolding tools from which we can look and draw inspiration — if we need interactivity, meaning that a first version with only CLI flags like The output of this task should also align with #1291/ |
@arboleya @FuelLabs/sdk-ts I have created the first draft for the template here if you want to have a look: https://github.com/Dhaiwat10/fuel-cli-starter-template |
How are we thinking about template resolution? I think using something like create-react-app that uses npm or using GitHub would be good, in this way: Resolving templates:
|
@Dhaiwat10 I wonder if keeping the whole |
@luizstacio What do you think about a hybrid approach, like a mix of |
@arboleya I see. I agree about the nomenclature decision you took there. Do you want me to move the directory one level out to the root of the project? |
Agreed @arboleya, I think we should only have two or three 'official' templates at most - covering the most popular frontend frameworks. This would be sufficient for 99% of our users. |
Can we tie it in with the frameworks in the |
@danielbate good idea. Let me see if I can pull that together. |
btw one thing that I found when working on this issue was that As you can see in the package.json, the package's name is npm - create has to be a part of the name of the package. For our tool, I think we should just add another command called
Thoughts? cc @arboleya |
I believe all these may work:
|
I think it is the other way around, but by allowing the community to build the templates, we can reduce our management coverage. We just need to ensure on the install to use the lock inside the template etc... Also, we incentivise people to build templates for other languages otherwise is going to be in our hands only to create these templates. |
I propose we create a repo similar to this one by Next.js where we can store our templates. To start with, we can add two or three 'official' templates. The community can then keep adding templates to this repo via PRs. |
That makes sense. Should we also move our demos to this repo? It could remove a lot of the bloat.
My only concern is that these demos are currently used to validate that the SDK compiles correctly using each tool. If we move them outside, it'd be great to keep these validations. Perhaps some CI automation could do it. Have you thought about it? |
@arboleya Maybe it would be a good idea to tackle this transition separately after this PR? |
Yes, it might be better to do it in separate PRs. |
@digorithm Is there any procedure we need to follow for creating new repos? |
Create a scaffolding tool for generating ready-to-go Fullstack Fuel dApps.
It should support templates and provide a single-command frictionless entry point for newcomers.
Companion frameworks example:
Dead-simple instant quickstart:
npx create fuels@latest my-fuel-quickstart
End goal:
The text was updated successfully, but these errors were encountered: