> ## Documentation Index
> Fetch the complete documentation index at: https://docs.linktr.ee/llms.txt
> Use this file to discover all available pages before exploring further.

# Manifest Reference

> Complete reference for LinkApp manifest configuration

## Overview

The manifest describes how your LinkApp appears in the Linktree marketplace. Keep the copy clear, benefit-led, and easy for users to scan.

## Minimal Manifest Example

```ts linkapp.config.ts theme={"system"}
export default {
  manifest: {
    name: "Weather LinkApp",
    tagline: "Show live weather on your profile",
    description: [
      "Display current conditions right on your Linktree, with automatic hourly updates.",
    ],
    manifest_version: "1.0.0",
    version: "0.1.0",
    category: "share",
    search_terms: ["weather", "forecast"],
    supporting_links: {
      terms_of_service: "https://weather.com/terms",
      privacy_policy: "https://weather.com/privacy",
    },
    author: {
      name: "Weather Co",
      accounts: ["weather-demo"],
      contact: {
        url: "https://linktr.ee/weather",
        email: "support@weather.com",
      },
    },
  },
};
```

## Field Reference

| Field              | Type                                   | Required | Quick guidance                                                             |
| ------------------ | -------------------------------------- | -------- | -------------------------------------------------------------------------- |
| `name`             | string (3-50 chars)                    | ✓        | Human-readable app name in title case (kebab-cased to generate LinkApp ID) |
| `tagline`          | string (3-200 chars)                   | ✓        | Short benefit statement for marketplace cards                              |
| `description`      | string\[]                              | ✓        | One or more paragraphs explaining value, features, and audience            |
| `manifest_version` | string (semver)                        | ✓        | Currently always `"1.0.0"`                                                 |
| `version`          | string (semver)                        | ✓        | Your app release version (follow semantic versioning)                      |
| `category`         | `grow` \| `sell` \| `share` \| `other` | ✓        | Choose the primary outcome your app delivers                               |
| `search_terms`     | string\[] (1-10)                       | ✓        | Keywords users might search (avoid duplicates)                             |
| `supporting_links` | object                                 | ✓        | Provide ToS & privacy URLs; docs/site optional                             |
| `author`           | object                                 | ✓        | List who built the app and how to reach you                                |

## Supporting Links

All URLs must be publicly accessible HTTPS links.

```ts theme={"system"}
supporting_links: {
  terms_of_service: "https://example.com/terms",
  privacy_policy: "https://example.com/privacy",
  documentation: "https://example.com/docs", // optional
  website: "https://example.com"              // optional
}
```

## Author Details

Use real contact information so testers and customers can reach you. Only accounts listed below can access the app while it is in draft.

```ts theme={"system"}
author: {
  name: "Acme Apps",
  accounts: ["acme-demo", "acme-staging"],
  contact: {
    url: "https://linktr.ee/acme",
    email: "support@acme.com"
  }
}
```

## LinkApp ID Generation

**Important**: The LinkApp ID is automatically derived from the `name` field by converting it to kebab-case:

* `"Weather LinkApp"` → `weather-linkapp`
* `"Maps"` → `maps`
* `"Bands In Town"` → `bands-in-town`

This ID is used throughout the Linktree platform and **cannot be changed** after deployment. Choose your name carefully.

## Versioning & Validation

* Bump `version` for every release using semantic versioning (`major.minor.patch`).
* Run `linkapp build` to validate the manifest locally before deploying.
* Fix common errors such as missing required fields, non-semver versions, or invalid URLs/emails.

## Next Steps

<CardGroup cols={2}>
  <Card title="Settings Configuration" icon="sliders" href="/essentials/configuration/settings">
    Configure user-facing settings
  </Card>

  <Card title="URL Matching" icon="link" href="/essentials/configuration/url-matching">
    Auto-suggest your app for URLs
  </Card>

  <Card title="Visibility & Discovery" icon="eye" href="/essentials/configuration/visibility">
    Control how users find your app
  </Card>

  <Card title="Back to Configuration" icon="arrow-left" href="/essentials/configuration">
    Return to configuration overview
  </Card>
</CardGroup>
