Skip to content
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

Proposal: Igniter installer #977

Open
zachdaniel opened this issue Jan 13, 2025 · 2 comments
Open

Proposal: Igniter installer #977

zachdaniel opened this issue Jan 13, 2025 · 2 comments
Labels

Comments

@zachdaniel
Copy link
Contributor

zachdaniel commented Jan 13, 2025

Hey folks! Author if igniter here :)

The AppSignal package seems like a great example of a package that could benefit from an igniter installer. It could condense your getting started down to a single command, which can be interactive, will display diffs to the user, etc.

mix igniter.install appsignal

Normally I wouldn't open an issue like this (shilling my own stuff 😆 ), but I'm also the author of Ash Framework, which has an integration for AppSignal. I'm working on our "installer builder", and would love to be able to add AppSignal to it :)

Demo of the upcoming Ash installer: https://bsky.app/profile/zachdaniel.dev/post/3lflx7kcthc2r

@unflxw
Copy link
Contributor

unflxw commented Jan 14, 2025

Hi @zachdaniel, thank you for reaching out! It's an interesting project. We've been interested in improving our integrations' installation experience.

I'm working on [Ash Framework's] "installer builder", and would love to be able to add AppSignal to it :)

What changes would we need to make in order to make this possible?

@zachdaniel
Copy link
Contributor Author

The way to accomplish this would be to define a mix task called appsignal.install. You can then use the tools provided by igniter to modify the project as necessary to do the installation.

Here is an example from Oban: oban-bg/oban#1208
And one for installing Ash: https://github.com/ash-project/ash/blob/v3.4.55/lib/mix/tasks/install/ash.install.ex#L2

You would begin by adding igniter as an optional dependency, and then run mix igniter.gen.task appsignal.install which will set you up with the shell of your task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants