---
title: Profiles
description: Understand how one complete, versioned Profile determines repository-wide documentation policy.
---

A Profile is a complete repository-wide documentation policy. It contains Rules, defaults, Templates, Documentation Directories, Root Documents, Document Types, Index Policies, and declarative requirements.

## One complete policy

Presswork applies one Profile identity to a Repository Root. A Profile identity contains a Built-in Profile name and a Profile Version, such as `basic@1`.

Selecting a Profile replaces the Basic Profile. Profiles do not merge, inherit from one another, or extend the Basic Profile. This prevents a repository from silently retaining policy from a Profile it no longer selects.

Presswork Configuration can add repository-specific Documentation Directories, Root Documents, Document Types, and Index Policies to the selected Profile. Those additions do not create a new Profile, override built-in Rules or requirements, or add executable behavior.

## Profile Version

A Profile Version fixes the contract of one Built-in Profile independently of the installed Presswork version. The identity in `presswork.json` includes both values:

```json title="presswork.json"
{
  "version": 1,
  "profile": {
    "name": "basic",
    "version": 1
  }
}
```

The top-level `version` is the Configuration Version. The nested `profile.version` is the Profile Version. They version different contracts.

## Basic Profile

The Basic Profile is the complete Built-in Profile that Presswork applies when the Repository Root has no `presswork.json`. Its identity is `basic@1`. Adding `presswork.json` is optional when that policy already matches the repository.

Use [Built-in Profiles](/built-in-profiles/) to compare the policies available in this Presswork release. Then [configure Presswork](/configuring-presswork/) to select one explicitly or add repository-specific declarations.
