# starter v0.4.2 - Table of Contents > Composable project starters for Phoenix applications, built on Igniter ## Pages - [README](readme.md) - [Changelog](changelog.md) - [MIT License](license.md) ## Modules - [Starter](Starter.md): Composable project starters for Phoenix applications. - [Starter.Helpers](Starter.Helpers.md): Conveniences for writing steps. - [Starter.Runner](Starter.Runner.md): Expands and runs a starter's steps against an igniter. - [Starter.Steps](Starter.Steps.md): Registry of Starter's built-in steps. - [Starter.Versions](Starter.Versions.md): Fetches latest package versions from Hex, npm, GitHub, and the Oban Pro docs site so generated dependencies start current instead of pinned to whatever Starter shipped with. ## Mix Tasks - [mix starter.add](Mix.Tasks.Starter.Add.md): Runs one or more `:add` steps by name. - [mix starter.add.bun](Mix.Tasks.Starter.Add.Bun.md): Replaces the `esbuild` and `tailwind` asset pipeline with `bun`. - [mix starter.add.credo](Mix.Tasks.Starter.Add.Credo.md): Adds `credo` as a dev/test dependency. - [mix starter.add.dotenv_parser](Mix.Tasks.Starter.Add.DotenvParser.md): Adds `dotenv_parser` to load environment variables from a `.env` file. - [mix starter.add.exsync](Mix.Tasks.Starter.Add.Exsync.md): Adds `exsync` to reload modules on file changes. - [mix starter.add.libcluster](Mix.Tasks.Starter.Add.Libcluster.md): Adds `libcluster` for clustering Elixir nodes. - [mix starter.add.mix_test_watch](Mix.Tasks.Starter.Add.MixTestWatch.md): Adds `mix_test_watch` to automatically run tests on file changes. - [mix starter.add.oban_pro](Mix.Tasks.Starter.Add.ObanPro.md): Adds `oban_pro` for advanced background job processing features. Requires an Oban Pro license. - [mix starter.add.pgvector](Mix.Tasks.Starter.Add.Pgvector.md): Adds `pgvector` support for vector similarity search in Postgres. - [mix starter.add.quokka](Mix.Tasks.Starter.Add.Quokka.md): Adds `quokka`, a formatter plugin that rewrites code to match your Credo configuration. - [mix starter.add.remixicons](Mix.Tasks.Starter.Add.Remixicons.md): Adds Remix Icons as a Tailwind plugin with `remix-#{ICON}` classes. - [mix starter.add.tidewave_config](Mix.Tasks.Starter.Add.TidewaveConfig.md): Creates `.mcp.json` pointing at a local Tidewave MCP server. - [mix starter.add.uuidv7](Mix.Tasks.Starter.Add.Uuidv7.md): Adds `uuidv7` for time-sortable UUID primary keys. Updates the app's `Schema` module when present. - [mix starter.gen](Mix.Tasks.Starter.Gen.md): Runs one or more `:gen` steps by name. - [mix starter.gen.base_schema](Mix.Tasks.Starter.Gen.BaseSchema.md): Generates a `MyApp.Schema` module with sensible primary key and timestamp defaults. Uses `UUIDv7` for primary keys when the `uuidv7` dependency is present, `:binary_id` otherwise. - [mix starter.gen.ecto_force_drop](Mix.Tasks.Starter.Gen.EctoForceDrop.md): Updates the `ecto.drop` alias in `mix.exs` to use `--force-drop`. - [mix starter.gen.generator_defaults](Mix.Tasks.Starter.Gen.GeneratorDefaults.md): Defaults generators to `binary_id` primary keys and `utc_datetime_usec` timestamps, migrations included. - [mix starter.gen.gigalixir](Mix.Tasks.Starter.Gen.Gigalixir.md): Generates Gigalixir deployment configuration: buildpacks, Procfile, release scripts, and production SSL/endpoint config. - [mix starter.gen.gigalixir_libcluster](Mix.Tasks.Starter.Gen.GigalixirLibcluster.md): Configures libcluster's Kubernetes strategy for clustering on Gigalixir. - [mix starter.gen.gitignore](Mix.Tasks.Starter.Gen.Gitignore.md): Adds macOS system files to `.gitignore`, creating the file if needed. - [mix starter.gen.minimal_app_layout](Mix.Tasks.Starter.Gen.MinimalAppLayout.md): Replaces the `Layouts.app/1` component with a minimal header-and-main layout. - [mix starter.gen.minimal_home_page](Mix.Tasks.Starter.Gen.MinimalHomePage.md): Replaces the `phx.new` marketing home page with a minimal starting point, and updates the generated page controller test to match. - [mix starter.gen.mix_env_config](Mix.Tasks.Starter.Gen.MixEnvConfig.md): Adds `config :app, env: Mix.env()` to `config.exs` so the environment is readable at runtime. - [mix starter.gen.pg_extensions](Mix.Tasks.Starter.Gen.PgExtensions.md): Generates a migration enabling common PostgreSQL extensions (citext, pg_trgm, unaccent, vector). - [mix starter.gen.sort_deps](Mix.Tasks.Starter.Gen.SortDeps.md): Sorts the dependencies in `mix.exs` alphabetically by name. - [mix starter.gen.tailwind_formatter](Mix.Tasks.Starter.Gen.TailwindFormatter.md): Generates a formatter that sorts Tailwind CSS classes in HEEx templates. - [mix starter.new](Mix.Tasks.Starter.New.md): Generates `lib/mix/tasks/.starter.ex` containing your project's starter. - [mix starter.remove](Mix.Tasks.Starter.Remove.md): Runs one or more `:remove` steps by name. - [mix starter.remove.agents_md](Mix.Tasks.Starter.Remove.AgentsMd.md): Removes the `AGENTS.md` file that `phx.new` generates. - [mix starter.remove.daisy_ui](Mix.Tasks.Starter.Remove.DaisyUi.md): Removes the `:daisyui` Mix dependency and the CSS plugin blocks that `phx.new` generates. - [mix starter.remove.live_title_suffix](Mix.Tasks.Starter.Remove.LiveTitleSuffix.md): Removes the `suffix=" ยท Phoenix Framework"` attribute from `<.live_title>` in the root layout. - [mix starter.remove.theme_toggle](Mix.Tasks.Starter.Remove.ThemeToggle.md): Removes the theme toggle that `phx.new` generates: the theme scripts in the root layout, and the `theme_toggle` component and its usage in `Layouts`. - [mix starter.remove.topbar](Mix.Tasks.Starter.Remove.Topbar.md): Removes the topbar progress indicator that `phx.new` generates. - [mix starter.run](Mix.Tasks.Starter.Run.md): Finds the starter generated by `mix starter.new` and runs it, passing all flags through.