# scalameta/metals

Scala language server with rich IDE features 🚀

Repository: https://github.com/scalameta/metals
Canonical: https://ross.abutalabs.com/products/metals
Homepage: https://scalameta.org/metals/
Language: Scala
License: Apache-2.0
License Family: permissive
Topics: lsp, scalameta, scala, ide, language-server, hacktoberfest
Last push: 2026-08-25T11:37:28+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 82, longevity 100
- inputs: {"age_days": 3225, "days_push": 8, "days_rel": 41, "gap_med": 40, "n_releases_24m": 16}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2328, forks 439 (observed 2026-08-28T04:06:37.580470+00:00)

## What it is
Metals is a Scala language server implementing the Language Server Protocol to bring rich IDE features to any supported text editor. It provides build import via Bloop, diagnostics, goto definition, completions, hover types, find references, rename, and code actions for Scala projects.

## Use cases
- get IDE features for Scala in VS Code or Vim
- run a Scala language server in Emacs
- import sbt projects into a lightweight editor
- goto definition for Scala library dependencies
- see compile errors on save in Sublime Text
- refactor and rename Scala symbols outside IntelliJ

## When to choose
- you want Scala IDE features in editors like VS Code, Vim, Emacs, Sublime, or Helix
- your project uses sbt, Gradle, Maven, Mill, or Bazel and you want automatic build import
- you prefer a lightweight editor over IntelliJ IDEA for Scala development

## When to avoid
- you already use IntelliJ IDEA's full Scala plugin and are satisfied
- you need a standalone IDE rather than an editor-integrated language server
- your editor has no LSP client support

## Facets
- artifact type: library
- maturity: active
- function: editor, developer-tools, linter
- domain: programming-languages, developer-tools, text-editors
- platform: cross-platform, editor-plugin
- tags: scala, lsp, language-server, ide, bloop, semanticdb, sbt, vscode, vim, emacs

## Member repositories
- scalameta/metals (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:37.580470+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:38:13.490348+00:00, confidence not recorded.
  - readme: https://github.com/scalameta/metals (fetched 2026-08-28T04:06:37.580470+00:00, sha 2ca274aebc7d)
  - homepage: https://scalameta.org/metals/ (fetched 2026-08-29T10:18:40.204026+00:00, sha 9f9310d7236a)
  - site_page: https://scalameta.org/metals/docs (fetched 2026-08-29T10:18:40.213281+00:00, sha b08bf5f7ae83)
  - site_page: https://scalameta.org/metals/docs/build-tools/overview (fetched 2026-08-29T10:18:40.215561+00:00, sha d9ca76e8c32d)
  - site_page: https://scalameta.org/metals/docs/contributors/project-goals (fetched 2026-08-29T10:18:40.217401+00:00, sha 732a1deee01b)
  - site_page: https://scalameta.org/metals/docs/contributors/getting-started (fetched 2026-08-29T10:18:40.219171+00:00, sha ae42f3c49f38)
- Data as of 2026-08-30T08:39:29.467469+00:00.
