# `NPM.Package.Quality`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/package/quality.ex#L1)

Scores individual package quality based on metadata completeness.

# `average`

```elixir
@spec average([{String.t(), map()}]) :: float()
```

Average quality across packages.

# `grade`

```elixir
@spec grade(non_neg_integer()) :: String.t()
```

Returns a quality grade.

# `missing_fields`

```elixir
@spec missing_fields(map()) :: [String.t()]
```

Returns missing fields that would improve quality.

# `rank`

```elixir
@spec rank([{String.t(), map()}]) :: [{String.t(), non_neg_integer()}]
```

Ranks packages by quality score.

# `score`

```elixir
@spec score(map()) :: non_neg_integer()
```

Scores a package's quality (0-100).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
