# Other documents

> The library manifest, the source package config and the build diagnostic.

> Generated from the contract schemas of `@taggor/contract` 1.10.0 by `pnpm docs:contract`; do not edit.

The remaining documents of the contract.

## LibraryManifest

Declarative package metadata for an immutable workspace library. Ownership is resolved by the API and builder, not by this document.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | [LibraryName](#named-types-of-the-library-manifest) | yes | The library's package name, scoped to its workspace (`@workspace/name`). |
| `version` | `string`, at most 256 characters, a fixed pattern (see the JSON Schema) | yes | An exact semantic version; prereleases are allowed. |
| `exports` | map to `string`, at most 200 characters, a fixed pattern (see the JSON Schema) (keys: `string`, at most 128 characters, a fixed pattern (see the JSON Schema)), 1 to 50 entries | yes | The entry points the library offers: the export name mapped to a source path inside the package. |
| `peerDependencies` | map to `string`, at most 256 characters (keys: [LibraryPeerPackageName](#named-types-of-the-library-manifest)), at most 30 entries | no | Packages the library expects its user to provide, with the semver ranges it works with. |

## Named types of the library manifest

| Name | Type | Limits |
| --- | --- | --- |
| `LibraryName` | `string` | at most 100 characters, a fixed pattern (see the JSON Schema) |
| `LibraryPeerPackageName` | `string` | at most 100 characters, a fixed pattern (see the JSON Schema) |

## SourcePackageConfig

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `$schema` | `string`, 1 to 2048 characters, a fixed pattern (see the JSON Schema) | no | The JSON Schema URL, so an editor can validate the file. |
| `entry` | `string`, at most 200 characters, a fixed pattern (see the JSON Schema) | no | The component's entry module when it is not `src/index.tsx` (or `.ts`, `.jsx`, `.js`): a relative path under `src/`. |
| `components` | array of object, at most 100 items | no | The project's components, written by `taggor init`. |
| `components[].name` | `string`, 1 to 64 characters | yes | The component's name. |
| `components[].path` | `string`, 1 to 200 characters | yes | The component's entry, a relative path under `src/`. |
| `site_key` | `string`, pattern `^st_[a-z2-7]{10}$` | no | The site that `taggor sites create` recorded for this project. |
| `workspace` | `string`, pattern `^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$` | no | The project's default workspace slug, set by `taggor workspaces use --project`. |

## BuildDiagnostic

One error or warning of a component build. A code you do not know is a generic diagnostic: use its severity, message, hint and docsUrl. Generated from the Zod source in @taggor/contract; do not edit.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `code` | `string`, at most 40 characters, a fixed pattern (see the JSON Schema) | yes | A stable code for the problem. Each has a page in the build diagnostics. A code you do not know is a generic diagnostic. |
| `severity` | one of `"error"`, `"warning"` | yes | Whether the problem stops the build (`error`) or not (`warning`). |
| `message` | `string`, 1 to 2000 characters, a fixed pattern (see the JSON Schema) | yes | What went wrong, in English. |
| `hint` | `string`, 1 to 1000 characters, a fixed pattern (see the JSON Schema) | yes | How to fix it. |
| `docsUrl` | `string`, at most 200 characters, a fixed pattern (see the JSON Schema) | yes | The page of this code in the documentation. |
| `file` | `string`, 1 to 300 characters | no | The file of the package where the problem is, when it is at a place in the source. |
| `line` | `integer`, 1 to 10000000 | no | The line in `file`, counted from 1. |
| `column` | `integer`, 1 to 10000000 | no | The column in `file`, counted from 1. |
| `snippet` | `string`, at most 300 characters, a fixed pattern (see the JSON Schema) | no | The source text around the problem. |
| `manifestPath` | `string`, at most 500 characters, a fixed pattern (see the JSON Schema) | no | The manifest field the problem is about, when it is one (`MANIFEST_INVALID`). |
