README

Project
Automate common Phoenix setup tasks so you can quickly get to building!
Features
- Add tasks - Install and configure packages like Bun, Oban, Credo, Pgvector, and more
- Remove tasks - Clean up unwanted code like DaisyUI, Topbar, theme toggle
- Gen tasks - Generate boilerplate code and run convenience tasks like sorting dependencies by name
Installation
Add project to your list of dependencies in mix.exs:
def deps do
[
{:project, "~> 1.0"}
]
endThen fetch the dependency:
mix deps.get
Generate a custom setup task for your project:
mix project.gen.setup
This creates lib/mix/tasks/<your_app_name>.setup.ex which you can edit to control which tasks run and in what order.
Or run the default setup task directly
mix project.setup
Usage
Optional tasks can be added via flags:
mix project.setup --oban-pro --gigalixir --mix-test-watch
mix your_app_name.setup --oban-pro
Any task can be run individually
Add a package:
mix project.add bun
mix project.add oban,credo,pgvector
Remove code:
mix project.remove daisy_ui
mix project.remove theme_toggle
Generate code:
mix project.gen home_page
mix project.gen app_layout
Available Tasks
For a complete list of available tasks, see the documentation.
Customization
After running mix project.gen.setup, edit the tasks/0 function in lib/mix/tasks/<your_app_name>.setup.ex.
- Reorder tasks
- Remove tasks you don't need
- Add your own custom tasks
- Use
{:optional, :flag_name}placeholders for custom flags