Igniter is a code generation and project patching framework that enables semantic manipulation of Elixir codebases. It provides tools for creating intelligent generators that can both create new files and modify existing ones safely. Igniter works with AST (Abstract Syntax Trees) through Sourceror.Zipper to make precise, context-aware changes to your code.
Igniter.Project.Application- Working with Application modules and application configurationIgniter.Project.Config- Modifying Elixir config files (config.exs, runtime.exs, etc.)Igniter.Project.Deps- Managing dependencies declared in mix.exsIgniter.Project.Formatter- Interacting with .formatter.exs filesIgniter.Project.IgniterConfig- Managing .igniter.exs configuration filesIgniter.Project.MixProject- Updating project configuration in mix.exsIgniter.Project.Module- Creating and managing modules with proper file placementIgniter.Project.TaskAliases- Managing task aliases in mix.exsIgniter.Project.Test- Working with test and test support files
Igniter.Code.Common- General purpose utilities for working with Sourceror.ZipperIgniter.Code.Function- Working with function definitions and callsIgniter.Code.Keyword- Manipulating keyword listsIgniter.Code.List- Working with lists in ASTIgniter.Code.Map- Manipulating mapsIgniter.Code.Module- Working with module definitions and usageIgniter.Code.String- Utilities for string literalsIgniter.Code.Tuple- Working with tuples