# `Igniter.Project.IgniterConfig`
[🔗](https://github.com/ash-project/igniter/blob/v0.8.3/lib/igniter/project/igniter_config.ex#L5)

Tools for reading and modifying the `.igniter.exs` file.

The command `mix igniter.setup` will generate this file, as well
as keep it up to date with any new configurations. You can run this
command at any time to update the file without overriding your own config.

If the file does not exist, all values are considered to have their default value.

## Options

- `module_location` - 
  - `:outside_matching_folder`, modules will be placed in a folder exactly matching their path.
  - `:inside_matching_folder`, modules who's name matches an existing folder will be placed inside that folder,
    or moved there if the folder is created.

- `extensions` - 
A list of extensions to use in the project.
- `deps_location` - 
The strategy for finding the `deps` list to add new dependencies to, in your `deps/0` function in `mix.exs`

  - `:last_list_literal` expects your deps function to return a literal list which will be prepended to
  - `{:variable, :name}` expects to find an assignment from the given variable to a list literal, i.e `deps = [...]`, and prepends to that
  - `:mfa` will call the given mfa with the igniter and the zipper within the `deps/0` function. It should return `{:ok, zipper}`
     at the position where the dep should be prepended, or :error if the location could not be found.

- `source_folders` - 
A list of folders to manage elixir files in.
- `dont_move_files` - 
A list of strings or regexes. Any files that equal (in the case of strings) or match (in the case of regexes) will not be moved.
- `module_names` - 
A list of `{match, destination}` tuples used to override module destination paths.

- `match` can be an exact module name string (for example, `"MyApp.Foo"`) or a regex.
- `destination` is currently a destination path string.

# `add_extension`

# `configs`

# `configure`

# `dont_move_file_pattern`

# `get`

# `setup`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
