Mix tasks for managing example files in your project

View project on GitHub


Travis CI build status Hex release

See what’s changed lately by reading the project history.

What is an example file?

Many projects contain files which serve as templates or examples for other files. The examples are not themselves operative, but serve to demonstrate the content of an operative file, such as developer-specific configuration.

To illustrate: your project may contain a version-controlled file named config/config.exs.example. You apply the example configuration by copying config/config.exs.example to config/config.exs, and in the process you may decide to alter the content, such as tweaking defaults.

The Mix tasks provided here find, copy, and check the freshness of example files and your copies of them.


Use example_files by adding it to a Mix deps declaration.

# mix.exs

# ...
defp deps do
  [{:example_files, "~> 1.0", only: [:dev, :test]}]
# ...


The example_files commands are exposed as Mix tasks. Get help on them through Mix itself, with mix help | grep example_files and mix help example_files.

  • mix example_files – lists example files in your project and shows the status of each
  • mix example_files.pull — pulls into effect example files in your project by making copies of them using a file name that lacks the “example” nomenclature
  • mix example_files.clean — cleans example files in your project by deleting your copies of them


To submit a patch to the project:

  1. Fork the official repository.
  2. Create your feature branch: git checkout -b my-new-feature.
  3. Commit your changes: git commit -am 'Add some feature'.
  4. Push to the branch: git push origin my-new-feature.
  5. Create a new pull request.

After cloning the repository, mix deps.get to install dependencies. Then mix espec to run the tests. You can also iex to get an interactive prompt that will allow you to experiment. To build this package, mix hex.build.

To release a new version:

  1. Update the “Installation” section of this readme to reference the new version, and commit.
  2. Update the project history in History.md, and commit.
  3. Update the version number in mix.exs, and commit.
  4. Tag the commit and push commits and tags.
  5. Build and publish the package on Hex with mix hex.publish.


Released under the MIT License.