---
title: Getting Started
description: Install Presswork, run a first Check, and recover from reported documentation or operational problems.
sidebar:
  label: Getting Started
  order: 2
---

## Install Presswork

Install the CLI globally:

```sh
npm install --global presswork
```

Presswork requires Node.js 24 or later.

## Run the first Check

From anywhere inside a Git repository, run the Check:

```sh
presswork check
```

Presswork uses the nearest ancestor containing a `.git` file or directory as the Repository Root. This nearest Git boundary is the sole boundary for discovery, configuration, and Validation. Presswork reads only `presswork.json` at that root. When the file is absent, Presswork uses the complete Basic Profile at `basic@1`; you do not need Presswork Configuration for a first Check.

To select the Repository Root yourself, pass an absolute or relative path:

```sh
presswork check --root /path/to/repository
```

Relative paths resolve from the current directory. An explicit `--root` must be a valid Repository Root; Presswork does not fall back to an ancestor when it is invalid.

A complete Check with no Violations exits `0`. A complete Check with Violations exits `1`. An incomplete Check exits `2` and may retain Violations found before or alongside its Operational Diagnostics.

A Violation means a Rule evaluated documentation and found a requirement that was not satisfied. Fix the reported source using its recovery guidance, then rerun the Check. An Operational Diagnostic means Presswork could not complete part of the Check. Follow its recovery action to restore the blocked operation, then rerun the Check.

See [Check Report](/check-report/) for exact report fields, output streams, JSON behavior, and failures that occur before a report can be produced.

## Select a Profile explicitly

Add `presswork.json` at the Repository Root when the repository must select its policy explicitly:

```json
{
  "$schema": "https://presswork.sh/schema/config.json",
  "version": 1,
  "profile": { "name": "basic", "version": 1 }
}
```

The `$schema` value lets compatible editors show schema documentation and examples and provide completion and validation.

Presswork also supports the complete `mattpocock@1` Built-in Profile. Profile selection replaces the default policy rather than merging with it. After changing configuration or documentation, run `presswork check` again.

Continue to the [Guides](/guides/) to install agent guidance or create a typed document, or use the [Reference](/reference/) for exact commands and Presswork Configuration.
