---
title: invalid-manifest
description: "The manifest is not valid."
---

# `invalid-manifest`

**Error** · The manifest is not valid.

`git8n check` fails on this rule.

## Why it matters

The manifest tells the editor which files a language disables and which keys stay empty on purpose. A wrong entry is ignored, so the editor and the check read another state than the one you wrote.

## Invalid

`locales/manifest.json`

```json
{
  "files": {
    "common": {
      "fr": "done"
    }
  }
}
```

`locales/en/common.json`

```json
{
  "title": "Hello"
}
```

`locales/fr/common.json`

```json
{
  "title": "Bonjour"
}
```

```text
$ git8n check --source en
locales/manifest.json
  error    locales/manifest.json is not a manifest: files.common.fr is not available, partial or disabled.  invalid-manifest

Read more:
  invalid-manifest  https://git8n.sakuga.dev/docs/reference/rules/invalid-manifest.html

1 error, 0 warnings in 2 files (en → fr, 1 key).
```

## Valid

`locales/manifest.json`

```json
{
  "files": {
    "common": {
      "fr": "partial"
    }
  }
}
```

`locales/en/common.json`

```json
{
  "title": "Hello"
}
```

`locales/fr/common.json`

```json
{
  "title": "Bonjour"
}
```

```text
$ git8n check --source en
0 errors, 0 warnings in 2 files (en → fr, 1 key).
```

## What to do

Correct the manifest: it is a JSON object, its `source` is a language, and the state of a file is `available`, `partial` or `disabled`.

[All the rules](./index.md) · [The command `check`](../cli.md#check)

