Onboarding
Opened this issue · 3 comments
Clear and concise description of the problem
A cross-platform, zero-setup onboarding experience via
curl -Ssf stacksjs.org | sh
Suggested solution
-
./bootstrap
is the only file that should be run to set up any user's dev env (mac, windows, linux) -> needs to make sure all proper prerequisites are installed, and if not, prompt to install via pkgx- any subsequent call to the script should ensure the env is still set up correctly
- make sure that before pkgx is installed, we prompt the user for understanding
- ensure
buddy setup
works - ensure
curl -Ssf stacksjs.org | sh
works - remove unused
./config
files - remove unused root project dirs (app, database, docs, resources, lang, server, routes)
- ensure proper root IDE dir is used
Nice-to-haves
-
bun create
templates- we already have much of it done already in ./core/bun-create, just need to wrap those up and get them working based on latest & greatest
Validations
- Follow our Code of Conduct
- Read the Contributing Guide
- Check that there isn't already an issue that requests the same feature (to avoid creating a duplicate)
curl -Ssf stacksjs.org | sh
The script is designed to work with or without an argument. The former where it expects an argument is used to bootstrap the project and install all dependencies.
The latter is assumed to have all the required dependencies ready.
We can't get to the latter until we have bootstrapped a project. The above command is for the 2nd case.
So it's either we change the initial script to pass the project name argument, eg:
curl -Ssf https://stacksjs.org/bootstrap | sh -s -- myProjectName
or we adjust the script accordingly like we can assume a default directory name for initial project bootstrap.
@chrisbbreuer your inputs appreciated. thanks
I will look into here a little more thoroughly toward end of day today, but I'd say we adjust the script accordingly so that it properly works without any inputs as well.
For example, if we don't pass a project name, we can prompt for it, or default to stacks
. Something along those lines, I am thinking.
One thing I know we want to test and optimize for as well is the ./buddy setup
script. I was thinking that it makes sense to run this at last within this automation.
For example,
- need to check if any of the pkgx deps are installed
- if installed, remove them out of the pkgx.yaml
- if not installed, install via pkgx (ensure the user knows those deps are getting installed, maybe a note when getting started or a prompt)
and please check the remainder of what's inside the setup command
Thanks. I look forward to your response.