Skip to content

v0.2.0 - The Nose Knows πŸ•

Choose a tag to compare

@kerrizor kerrizor released this 17 Jul 18:10

πŸ• Keela v0.2.0 - The Nose Knows

Meet Keela β€” a code-sniffing springer spaniel who finds the unused code that other tools miss.

Named after the famous "CSI dog" who could detect microscopic traces that eluded forensic teams, Keela brings that same nose to your Ruby codebase.

What Can Keela Sniff Out?

πŸ”§ Methods - def unused_method that nobody calls

πŸ” Scopes - scope :inactive, -> { } that nothing queries

πŸ”’ Constants - UNUSED_CONSTANT = "value" gathering dust (#2)

πŸ”— Delegations - delegate :unused_method, to: :target going nowhere (#4)

πŸ“ Attributes - attr_accessor :unused_attr that nothing reads or writes (#5)

🌍 I18n Keys (beta) - Translation keys in your locale YAML that no view uses (#16)

How She Works

Baseline mode for CI β€” Keela tracks known unused code and only barks at new dead code:

keela --update-baseline  # First run: establish the baseline
keela                    # CI runs: fail on new unused code

Report mode for exploration β€” See everything:

keela --report

Configuration

πŸ“ Config file - Drop a keela.yml in your project root (#11)

🎯 Include/exclude patterns - Tell Keela where to sniff (#12, #14)

# keela.yml
exclude_patterns:
  - "vendor/**/*"
include_patterns:
  - "engines/**/*.rb"

πŸŽ›οΈ Multi-type scanning - Hunt for specific scents (#18)

keela --type methods,scopes,constants

πŸ“Š JSON output - Machine-readable findings for your pipeline (#19)

keela --format json

Installation

gem install keela

Full Changelog: v0.1.0...v0.2.0

Good girl, Keela. Now go find that dead code! 🦴