Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 1.92 KB

File metadata and controls

37 lines (28 loc) · 1.92 KB

Rules for working with Igniter

Understanding Igniter

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.

Available Modules

Project-Level Modules (Igniter.Project.*)

  • Igniter.Project.Application - Working with Application modules and application configuration
  • Igniter.Project.Config - Modifying Elixir config files (config.exs, runtime.exs, etc.)
  • Igniter.Project.Deps - Managing dependencies declared in mix.exs
  • Igniter.Project.Formatter - Interacting with .formatter.exs files
  • Igniter.Project.IgniterConfig - Managing .igniter.exs configuration files
  • Igniter.Project.MixProject - Updating project configuration in mix.exs
  • Igniter.Project.Module - Creating and managing modules with proper file placement
  • Igniter.Project.TaskAliases - Managing task aliases in mix.exs
  • Igniter.Project.Test - Working with test and test support files

Code-Level Modules (Igniter.Code.*)

  • Igniter.Code.Common - General purpose utilities for working with Sourceror.Zipper
  • Igniter.Code.Function - Working with function definitions and calls
  • Igniter.Code.Keyword - Manipulating keyword lists
  • Igniter.Code.List - Working with lists in AST
  • Igniter.Code.Map - Manipulating maps
  • Igniter.Code.Module - Working with module definitions and usage
  • Igniter.Code.String - Utilities for string literals
  • Igniter.Code.Tuple - Working with tuples