README.md

# combo_new

An opinionated project generator for Phoenix.

> It's a part of `combo`, which is an opinionated code generator for Phoenix.

## Usage

Install the archive of `combo_new`:

```
$ mix archive.install hex combo_new
```

Create a new Phoenix project:

```
# create a project from combo_lite template
$ mix combo.new.lite demo

# create a project from combo_saas template
$ mix needle.new.saas demo
```

See `mix help` for more details.

## Features

- asset pipeline powered by [esbuild](https://esbuild.github.io/) and Node.js ecosystem
- reduced number of processes running in dev environment, which is derived from [axelson's repo](https://github.com/axelson/hello_phoenix/pull/1)
- liveness probe, which is common in container environments.
- ...

## Sync Status

`combo_new` will continuously track changes in Phoenix and merge them in.

Currently, this repo is synchronized to the commit `dec89f24169d897442fe82a819e0ba312f96c014`(2024/01/03) of [phoenixframework/phoenix](https://github.com/phoenixframework/phoenix).

## Why?

Previously, I made many attempts at codemod on Phoenix generated files:

- [c4710n/phx_custom](https://github.com/c4710n/phx_custom)
- [c4710n/phoenix_custom_assets](https://github.com/c4710n/phoenix_custom_assets)

But they all require some additional steps after executing `mix phx.new`. There were so many additional steps that I had to do them while referring to a checklist.

I wanted to reduce this mental burden from the root, so I made this project generator.

The project generator includes some templates tailored to my own needs. Since these templates are specially tailored, the project generator doesn't need that many options to meet different people's requirements.

Additionally, all the templates are directly executable projects, which makes development and debugging very simple.

## License

Apache License 2.0