catalyst v0.1.0

Performance linter for Crystal. Catches allocations, O(n²) patterns, and resource leaks before they reach production.

Catalyst

Static performance analysis for Crystal.

Detects allocation anti-patterns, algorithmic complexity issues, and resource leaks before they reach production. Like Fasterer for Crystal.

Installation

git clone https://github.com/unurgunite/catalyst
cd catalyst
crystal build src/catalyst.cr --release -o bin/catalyst

Usage

# Scan a directory recursively
catalyst src/

# Scan specific files
catalyst src/app.cr src/lib.cr

# CI mode — exit code 1 on findings
catalyst --ci src/

# JSON output
catalyst --format json src/

# Apply safe auto-fixes
catalyst --fix src/

# Enable only specific rules
catalyst --rules CAT-001,CAT-002 src/

# List all rules
catalyst --list-rules

Configuration

Create .catalyst.yml in project root:

severity: warning
format: terminal

rules:
  CAT-001:
    severity: error

ignore:
  - lib/**
  - "**/*_spec.cr"

paths:
  - src/

Rules

All 49 rules (CAT-001–CAT-050, except CAT-045) are documented in the Wiki.

Quick reference:

catalyst --list-rules

Development

crystal spec
catalyst src/
ameba src/

License

MIT

Repository

catalyst

Owner
Statistic
  • 0
  • 0
  • 1
  • 0
  • 0
  • 21 days ago
  • July 7, 2026
License

Links
Synced at

Sat, 11 Jul 2026 21:18:07 GMT

Languages