catalyst v0.3.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/

# Gate on new findings only (baseline workflow)
catalyst --update-baseline .catalyst-baseline.json src/
catalyst --baseline .catalyst-baseline.json --ci 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 50 rules (CAT-001–CAT-050) 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
  • 0
  • 0
  • 0
  • about 5 hours ago
  • July 7, 2026
License

Links
Synced at

Sat, 12 Sep 2026 16:09:07 GMT

Languages