And curl|bash alone is probably okay-ish? You’re still running the code ultimately, so you either trust it or not. It’s what I use for my own project (with a twist: you get the chance to read the script before you run it): https://lunni.dev/docs/install/
But combined with the “ai_personal_chef” it really tripped me off. What the hell is that even supposed to mean? Do I pipe a code written by LLM directly into my shell? (Probably not, it would be pretty expensive for them to run that.)
Just click on the hard to spot "Already have an app?" link and it will show you the individual mix tasks you can run yourself.
I would argue that this is the preferred way to see what's happening and avoid running a remote shell script for the security conscious. ;)
Also the generated project name is completely random and intended to be humourous.
Maybe move the script to something like ash-hq.org/new?project_name={generated}, so that it’s easier to guess what’s going on? Or break it up into steps, like:
# Install prerequisites (Elixir and `igniter_new`):
curl -fsSo 'https://ash-hq.org/install?with=phoenix' | sh
# Create a new app:
mix igniter.new {{ generated }} --yes-to-deps --yes --install ""
cd {{ generated }}
# Install Ash:
mix igniter.install ...
(This could also let you eliminate that “Already have an app?” button-link – the users can just skip the steps they’ve already done.)That's a great suggestion, the one-liner is cute but isn't quite as readable and explanatory as your multi-line version.
Not to mention, the one-liner doesn't show off the true power of igniter -- composability and additive AST patching codegen.
Thanks!