Skip to content
CAI
Produce a survey ↗Verify a survey

doorgan/sourceror

Sourceror is an Elixir library for parsing, traversing, and modifying Abstract Syntax Trees (AST). It provides utilities for code generation, AST manipulation, and formatting, including a high-performance record-based zipper for efficient tree traversal. The system supports Elixir 1.12+ syntax features and offers tools for renaming, patching, and normalizing Elixir code.

64.6

Adequate · 1 August 2026

51k

lines of production code

Erlang

with Elixir

1

bus factor · 20 authors in all

3

measurements over time

CAI band scale
CAI trend line

How it got here

2021 · Tooling, compatibility, and core module expansion

This period focused on establishing a robust development environment and modernizing the library's core architecture. The team added extensive configuration, documentation, and test coverage while introducing new modules for code parsing, fast zippers, and patching. Additionally, compatibility wrappers were implemented to support Elixir 1.13+ while maintaining backward compatibility.

8 changes

2023–2026 · AST traversal and code utilities

This period focused on enhancing the library's capabilities for parsing, formatting, and traversing Elixir code. Key developments included vendoring Elixir 1.12+ parser and formatter modules, adding comprehensive tests for code normalization, and introducing benchmarks to compare AST traversal performance. Additionally, a suite of utilities for manipulating the abstract syntax tree was ported from Igniter to support code generation.

4 changes

CAI lens gauges

Survey your own repository

doorgan/sourceror was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 1 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 78848afea7 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.
CAI link cards