# social.wips.project

> Published by [wips.social](https://lexicon.garden/identity/did:plc:sodoi37wr44i3ypdwwlqqeup)

✓ This is the authoritative definition for this NSID.

## Description

A wips.social project owned by the repository DID. The project's AT URI is its durable identifier. Protocol ceilings stay generous while keeping worst-case DAG-CBOR size comfortably below the informal 1 MiB network record limit.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:sodoi37wr44i3ypdwwlqqeup/social.wips.project)
- [Documentation](https://lexicon.garden/lexicon/did:plc:sodoi37wr44i3ypdwwlqqeup/social.wips.project/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:sodoi37wr44i3ypdwwlqqeup/social.wips.project/examples)

## Definitions

### `social.wips.project`

**Type**: `record`

Project record. Single-owner in V1 (the repo DID).

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Display name for the project. |
| `links` | `array` | No | User-defined ordered destination links (website, repo, demo, design file, docs, etc.). Protocol ceiling is generous; operational UI limits belong in the app. |
| `status` | `ref` → `social.wips.defs#projectStatus` | Yes | Product status. Known values: social.wips.defs#wip \| social.wips.defs#done. Extensible. |
| `createdAt` | `string` (datetime) | Yes | Client-declared timestamp when the project was originally created. |
| `description` | `string` | No | Optional free-form project description. UI may encourage shorter copy without tightening this protocol ceiling. |

## Raw Schema

```json
{
  "id": "social.wips.project",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "status",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 800,
            "minLength": 1,
            "description": "Display name for the project.",
            "maxGraphemes": 80,
            "minGraphemes": 1
          },
          "links": {
            "type": "array",
            "items": {
              "ref": "social.wips.defs#link",
              "type": "ref"
            },
            "maxLength": 50,
            "description": "User-defined ordered destination links (website, repo, demo, design file, docs, etc.). Protocol ceiling is generous; operational UI limits belong in the app."
          },
          "status": {
            "ref": "social.wips.defs#projectStatus",
            "type": "ref",
            "description": "Product status. Known values: social.wips.defs#wip | social.wips.defs#done. Extensible."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Client-declared timestamp when the project was originally created."
          },
          "description": {
            "type": "string",
            "maxLength": 30000,
            "description": "Optional free-form project description. UI may encourage shorter copy without tightening this protocol ceiling.",
            "maxGraphemes": 3000
          }
        }
      },
      "description": "Project record. Single-owner in V1 (the repo DID)."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A wips.social project owned by the repository DID. The project's AT URI is its durable identifier. Protocol ceilings stay generous while keeping worst-case DAG-CBOR size comfortably below the informal 1 MiB network record limit."
}
```
