Elixir-native tooling for safer AI-assisted coding. Search and rewrite code by AST, detect duplication and generated-code slop, check architecture boundaries, and bootstrap strict mix ci quality gates — all with tools that understand Elixir syntax and BEAM projects.
Every package here is one building block of a larger thesis — a web stack where AI-generated software can be checked, not just generated: failures carry their location and cause, dependencies are traceable with proof, and every check earns its place with a measured false-positive rate. The full picture — manifesto, architecture, roadmap, and honest uncertainties — lives in Building Blocks for the Future Web.
mix igniter.install vibe_kit
mix ciVibeKit is the quickest entry point: it wires Credo, Dialyzer, ExDNA, ExSlop, and Reach into new or existing Mix projects with one Igniter installer. The rest of the ecosystem is useful independently when you need deeper AST tooling, code-flow analysis, fixtures, or an experimental BEAM-native agent runtime.
| Project | What it does | Hex |
|---|---|---|
| vibe_kit | Igniter installer for strict Elixir project quality checks: mix ci, Credo, Dialyzer, ExDNA, ExSlop, and Reach |
| Project | What it does | Hex |
|---|---|---|
| ex_ast | AST-aware search, replace, and diffs for Elixir code | |
| reach | Program dependence graph, call-flow, data-flow, architecture checks, and smell detection for BEAM projects | |
| exograph | Structural Elixir code intelligence and search powered by ExAST, Reach, Ecto, and Postgres/ParadeDB |
| Project | What it does | Hex |
|---|---|---|
| phoenix_replay | Session recording and replay for Phoenix LiveView |
| Project | What it does | Hex |
|---|---|---|
| ex_dna | AST-aware duplicate-code detection with extraction candidates | |
| ex_slop | Credo checks for common low-quality AI-generated Elixir patterns | |
| program_facts | Generate Elixir programs with known structural facts for analyzer testing |
| Project | What it does | Hex |
|---|---|---|
| vibe | Experimental BEAM-native coding agent runtime with TUI, web UI, eval, tools, memory, and subagents | |
| theoria | Elixir-native proof and specification kernel inspired by Lean's trusted-kernel architecture | |
| hex-playground | Corpus playground for running local tools against popular Hex.pm packages | — |
Mix project
├── vibe_kit — one-command quality setup and mix ci conventions
│ ├── credo — general static analysis
│ ├── dialyxir — Dialyzer integration
│ ├── ex_dna — duplicate-code detection
│ ├── ex_slop — generated-code slop checks
│ └── reach — architecture and code-flow checks
├── ex_ast — AST-aware search, replace, and diffs
├── exograph — indexed structural code intelligence
├── program_facts — analyzer fixtures with known facts
├── phoenix_replay — session recording and replay for Phoenix LiveView
└── vibe — experimental BEAM-native agent runtime
Agent-assisted Elixir development is safer when tools understand Elixir syntax, OTP runtime state, and project architecture instead of treating everything as plain text and shell output. Elixir Vibe packages keep analysis structured, outputs compact, checks cheap enough to run often, and BEAM-native workflows first-class.
The deeper argument — why these tools exist, how they compose with the Elixir Volt frontend stack and OpenPencil, and where it's all going — is written up as a living standard: Building Blocks for the Future Web.