vibe_kit
Igniter installer for Elixir Vibe project conventions
A one-command Elixir setup tool that installs Credo, Dialyzer, ExDNA, and other code quality checkers into any Elixir project and wires them all to a single mix ci command.
VibeKit is a setup tool for Elixir projects that wires in a standard code quality pipeline with a single command. Elixir is a programming language commonly used for building web apps and long-running services. VibeKit works through a system called Igniter, which is an Elixir package for automating project configuration. Running one install command adds several quality-checking tools, their configuration files, and a shared alias called "mix ci" that runs all the checks in sequence.
The checks that mix ci runs by default include: compiling the project with warnings treated as errors, verifying code formatting, running the test suite, running Credo (a style and static analysis tool), running Dialyzer (a type checker for Elixir), checking for duplicated code with ExDNA, and checking architectural rules with Reach. Each of these is a separate Elixir tool; VibeKit installs them all and connects them into one command so you do not have to configure them individually.
The tools that VibeKit includes address different quality concerns. Credo checks for style problems and common mistakes. Dialyzer catches type errors that ordinary testing might miss. ExDNA finds copied or near-identical blocks of code, and by default requires zero such clones. ExSlop adds checks inside Credo specifically aimed at patterns that tend to appear in AI-generated code. Reach enforces architectural boundaries between parts of the codebase.
The strict defaults can be turned off with flags if a project does not need all of them. For example, you can install without Reach, without the zero-clone limit, or without ExSlop. There are also optional flags that generate instruction files for AI coding assistants.
Once installed, VibeKit does not need to stay as a permanent dependency. The project conventions it writes remain, but the installer itself can be removed. Teams that want to keep the install command available can add it explicitly as a development-only dependency.
Where it fits
- Run one install command to add a full code quality pipeline to a new Elixir project before any code is written.
- Use mix ci to run formatting, style checks, type checking, and architecture rules in a single step on every pull request.
- Enable ExSlop to catch patterns typical in AI-generated Elixir code before they get merged.
- Uninstall VibeKit after setup and keep only the tools and configuration files it wrote.