Iris

A tool for visualizing your Elixir codebase.

Iris aims to reduce the time taken to skim through an Elixir codebase by rendering an interactive GUI displaying the constituent applications, modules, methods and method call paths, even documentation!

Iris for Elixir screenshot

The following features are implemented.

Installation

The package can be installed by adding iris to your list of dependencies in mix.exs:

def deps do
[
{:iris, "~> 0.1.2"}
]
end

Hex package located at https://hexdocs.pm/iris.

Usage

Execute the following command after ensuring iris is added to your dependency list.

mix iris

For more info use the verbose flag as such:

mix iris -v
mix iris --verbose

To link the generated iris GUI in documentation generated by ex_doc

Interactive Demo

HexDocs hosts the Iris GUI for this project! generated by mix iris.docs

Find the interactive UI at HexDocs -- https://hexdocs.pm/iris/irisui.html

Known Limitations

Contribution

If you encounter any issue, raise a github issue with a minimal example that reproduces the issue.

This project implementation can be improved a lot, pull requests that improve the codebase/address any issues are welcome.

License

Iris source code is released under the Apache 2 License.

Any content of Iris, or any content generated by any "Derivative Works" (as specified in the Apache 2 License), must include a direct, and visible link to the Iris repository on each rendered material.


This project is heavily inspired by ExDoc and uses some of its source code in generating and viewing documentation. Documentation views contain direct, readable and visible links to the ExDoc repository as specified by the license. The icon used to denote recursive methods is from Grommet.