# People — point.me

Playbook for **Person** entries — Insights authors and bylines.

point.me does **not** use `/people/` or `/team/`. Public profiles are under Insights.

## Routing

| Concept | Value |
|---------|-------|
| People index | **Disabled** (`enablePeopleIndex: false`) — no author directory page to edit as a listing route |
| Profile URL | `/insights/author/{slug}/` |
| Markdown | `https://www.point.me/insights/author/{slug}.md` |
| People base (constants) | `/insights/author` |

Read `cms-edit://customer/routing` for live flags (`enablePerson`, `enablePeopleIndex`).

## When to use

- Create or update a **person** entry (author, spokesperson)
- Link `authors` on Insights articles
- Edit **Person hero**, **Favourite articles**, **Top resources**, **Published in** on the profile stack
- Batch import via `task-authors-import`

Person **profile pages** render from Person entries — they are not marketing **page** entries.

## Required fields

| Field | Notes |
|-------|-------|
| `name` | Display name |
| `slug` | URL segment — lowercase, hyphenated (`firstname-lastname`) |
| `jobTitle` | Optional in the Person schema. Set for public profiles; byline-only stubs may omit it |

## Recommended fields

| Field | Notes |
|-------|-------|
| `bio` | Rich text — profile body |
| `media` / `featuredImage` | Portrait |
| `indexed` | `false` for byline-only stubs without a public profile |

## Profile page structure

Public `/insights/author/{slug}/` typically uses:

| Type | Role |
|------|------|
| **Person hero** | Name, title, portrait from person fields |
| **Favourite articles** / **Top resources** / **Published in** | Author modules — not generic **Hero text left** |

Do not paste marketing homepage heroes onto author profiles.

## Update portrait

Read `cms-edit://customer/task-media-reuse-and-upload` for hosted upload rules.

```bash
cms-edit open --id <person-entry-id>
cms-edit asset set @root media <new-asset-id>
cms-edit diff && cms-edit save
cms-edit preview urls /insights/author/{slug}/
```

## Linking authors to articles

```bash
cms-edit open --article-slug <slug>
cms-edit set @root authors <personId1>,<personId2> --links
cms-edit diff
cms-edit save
```

## Batch import

```bash
cms-edit create person-from-json --file authors.json --dry-run
cms-edit create person-from-json --file authors.json --if-not-exists
```

See `cms-edit help person-from-json` and `task-authors-import`.

## Reference people

| Path | Notes |
|------|-------|
| `/insights/author/gilbert-ott/` | Editorial author |
| `/insights/author/adam-morvitz/` | Leadership / founder-style byline |
| `/insights/author/pointme/` | Brand / staff account — do not impersonate for guest posts |

## Out of scope

- Marketing **page** stacks (`pages`)
- Insights article body (`articles`)
- Creating a `/people/` index — flag is off

## Publish handoff

`save` creates drafts only — publish in Contentful UI when ready.
