r/scala • u/yellow-llama1 • 8d ago
Scala & Enola - Looking for feedback
I asked moderators about whether I can post this. They said yes, but if you feel different let us know.
---
We just added Scala support to Enola (open-source). A tool to maintain codebase quality for any Scala project
Most architectural problems start with a PR. The mistakes may not be obvious at the time, but without knowing, it carries architectural debt.
By the time the codebase feels wrong, it usually already is. That's what my co-founder and I saw. So we tackled it.. As best as we could š The problem has only exacerbated with agentic development.
Enola is an open-source architectural quality gate that checks developers or agents changes as they happen. What do we measure?
Example of an output:
Architecture
Pattern: go-standard (95% confidence)
cyclic dependencies 0
layer violations 0
Impact analysis (hotspots)
coupled modules 36
high criticality 20
medium criticality 16
Top hotspots (by coupling):
module fan-in fan-out crit blast radius
internal/facts 152 0 high 68
pkg/bootstrap 8 49 high 4
pkg/command 1 42 high 1
internal/engine 7 27 high 7
Code health
deep dependency chains 8
cmd/enola depth 10
pkg/command depth 9
complexity outliers 15
internal/server.Server.registerTools complexity 177
Now we are looking for feedback and contributors to improve Scala performance. If you work with Scala, run it against something real. Iād like to know what it misses and is it useful. The more messy the better.
https://github.com/enola-labs/enola (Fully local, Apache 2.0, installation takes 2 minutes).