Releases: O6lvl4/codopsy
Releases · O6lvl4/codopsy
v1.2.0 - Almide Support
What's New
- Almide language support — 25th language added via
tree-sitter-almidegrammar - Almide-specific AST handling:
function_namenode,test_declaration,for_in_expression,do_expression - Keyword logical operators (
and/or) recognized for cognitive complexity scoring
Full language list: TypeScript, TSX, JavaScript, Rust, Go, Python, C, C++, Java, Ruby, C#, PHP, Scala, Haskell, Bash, HTML, CSS, JSON, OCaml, Swift, Lua, Zig, Elixir, YAML, Almide
codopsy v1.1.0
What's New
Added 5 new languages:
- Swift (
.swift) - Lua (
.lua) - Zig (
.zig) - Elixir (
.ex,.exs) - YAML (
.yml,.yaml)
Total: 24 languages supported.
Note: Kotlin and Dart are not yet supported due to tree-sitter grammar ABI incompatibility. Will be added when their crates are updated.
Install / Update
cargo install --git https://github.com/O6lvl4/codopsy.gitcodopsy v1.0.0
codopsy v1.0.0
AST-level code quality analyzer for 19 languages.
Supported Languages
TypeScript, TSX, JavaScript, Rust, Go, Python, C, C++, Java, Ruby, C#, PHP, Scala, Haskell, Bash, HTML, CSS, JSON, OCaml
Features
- Cyclomatic & cognitive complexity analysis per function
- Language-specific lint rules — JS/TS: 11 rules, Rust: 6 rules
- Threshold rules for all languages (max-lines, max-depth, max-params, max-complexity)
- A–F quality scoring (complexity 35% + issues 40% + structure 25%)
- Baseline tracking for quality degradation detection
- Hotspot detection — complexity × git churn
- Parallel analysis via rayon
- Configurable via
.codopsyrc.json
Install
cargo install --git https://github.com/O6lvl4/codopsy.gitQuick Start
codopsy analyze ./src # Analyze a project
codopsy analyze ./src -v # Verbose per-file output
codopsy analyze ./src --hotspots # Show complexity hotspots
codopsy init # Generate .codopsyrc.json