---
title: Built-in Profiles
description: Compare the complete basic@1 and mattpocock@1 documentation policies distributed with Presswork.
---

Presswork provides two complete Built-in Profiles. Selecting `mattpocock@1` replaces `basic@1`; it does not inherit or merge any Basic Profile policy.

## Comparison

| Contract                  | `basic@1`                                                   | `mattpocock@1`                                                               |
| ------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Markdown Dialect          | `github`                                                    | `github`                                                                     |
| Documentation Directories | `docs`                                                      | `docs/adr`                                                                   |
| Root Documents            | `AGENTS.md`, `CONTEXT.md`, `ARCHITECTURE.md`, `DESIGN.md`   | `CONTEXT.md`, `CONTEXT-MAP.md`                                               |
| Document Types            | None                                                        | Non-strict `adr`                                                             |
| Index Policies            | `docs` uses root `AGENTS.md`, section `Source Of Truth Map` | None                                                                         |
| Declarative requirements  | None                                                        | ADR numbering, structure, title slug, and status; context document structure |
| Missing locations         | Valid; they contribute no Recognized Documents              | Valid; all declared locations are lazy                                       |

Both Profiles apply the generic Markdown destination, Document Type, Template, and documentation index Rules. A repository can add declarations through [Presswork Configuration](/configuration/), but configuration cannot replace built-in Document Types or requirements.

## `basic@1`

The Basic Profile recognizes Markdown recursively under `docs` and recognizes `AGENTS.md`, `CONTEXT.md`, `ARCHITECTURE.md`, and `DESIGN.md` at the Repository Root. Its enabled `docs` Index Policy uses root `AGENTS.md` as the Index Document and `Source Of Truth Map` as the Index Section.

It defines no built-in Document Types, Templates, or declarative requirements. `presswork create --list-types` therefore returns an empty catalog unless `presswork.json` adds Document Types.

## `mattpocock@1`

The Matt Pocock Profile recognizes `docs/adr` plus root `CONTEXT.md` and `CONTEXT-MAP.md`. All three locations are optional. It defines no Index Policies.

Its non-strict `adr` Document Type uses `docs/adr/{{number}}-{{slug}}.md`, a bundled Template, and the `domain-modeling` external Creation Policy. Required creation fields are `number`, `slug`, `title`, and `decision`. Because the Creation Policy is external, Presswork validates ADRs but refuses to initialize them.

Canonical ADR numbers start at `0001`, remain unique, and form a contiguous sequence. Each ADR has exactly one H1 followed by a one-to-three-sentence decision paragraph. The filename slug must match the H1 after Presswork's title normalization. Optional frontmatter status is `proposed`, `accepted`, `deprecated`, or `superseded by ADR-NNNN`. The bundled Template permits optional `Considered Options` and `Consequences` sections.

When present, `CONTEXT.md` requires one H1, a one-to-two-sentence description, one `Language` H2, and at least one `**Term**:` definition with authored prose. An `_Avoid_:` list is optional but cannot be empty. Lower-level grouping is optional.

When present, `CONTEXT-MAP.md` requires the exact H1 `Context Map`, one `Contexts` H2 with described repository-local links to `CONTEXT.md` documents, and one `Relationships` H2 with described relationships using `→` or `->`.

Use [Profiles](/profiles/) for selection semantics or [Configuring Presswork](/configuring-presswork/) to select a Built-in Profile.
