# Presswork > Maintain and validate repository documentation for software agents with Presswork. ## Docs - [Presswork](https://presswork.sh/): Maintain and validate repository documentation for software agents with versioned policy, read-only Checks, and actionable outcomes. - [Getting Started](https://presswork.sh/getting-started): Install Presswork, run a first Check against a Git repository, recognize each report outcome, and select an explicit Repository Root. - [Concepts](https://presswork.sh/concepts): Understand how repository boundaries, document discovery, versioned policy, read-only Validation, and Check outcomes fit together. - [Profiles](https://presswork.sh/profiles): Understand how one complete, versioned Profile determines repository-wide documentation policy. ## Guides - [Check a Repository](https://presswork.sh/check-a-repository): Run Validation against a discovered or explicit Repository Root, interpret complete and incomplete Check Reports, and follow recovery guidance. - [Configuring Presswork](https://presswork.sh/configuring-presswork): Create a schema-backed presswork.json, select a complete Profile, add repository policy, and validate the result. - [Create a Document Draft](https://presswork.sh/create-a-document): List repository Document Types, follow the selected Creation Policy, initialize a Document Draft, and finish it with a clean Check Report. - [Generate Agent Guidance](https://presswork.sh/generate-agent-guidance): Prepare repository policy, render repository-specific Agent Skill guidance with presswork skills docs, and handle documented failures. ## Product contracts - [Reference](https://presswork.sh/reference): Choose the exact Presswork contract for configuration, CLI commands, the ESM API, Check Reports, or stable Rule identifiers. - [Presswork Configuration](https://presswork.sh/configuration): Look up the strict presswork.json contract, paths, Document Types, indexes, and Agent Skill guidance. - [Built-in Profiles](https://presswork.sh/built-in-profiles): Compare the complete basic@1 and mattpocock@1 documentation policies distributed with Presswork. - [CLI](https://presswork.sh/cli): Look up all Presswork command families, arguments, options, help forms, output streams, color behavior, diagnostics, and exit status. - [ESM API](https://presswork.sh/api): Use Presswork as an Effect service through its public ESM root export, with schemas, typed results, failures, and live Layer setup. - [Check Report](https://presswork.sh/check-report): Look up Check Report completeness, fields, ordering, diagnostics, JSON serialization, streams, exit status, and recovery behavior. - [Rules](https://presswork.sh/rules): Look up every stable Presswork Rule identifier, its examples, and the policy that enables it. ## Other - [document-type-filename-invalid](https://presswork.sh/rules/document-type-filename-invalid): Reports a direct typed-document child that does not match its Document Type filename pattern. - [documentation-index-directory-missing](https://presswork.sh/rules/documentation-index-directory-missing): Reports a relevant child Documentation Directory omitted from its parent's Index Section. - [documentation-index-document-malformed](https://presswork.sh/rules/documentation-index-document-malformed): Reports a configured Index Document that is not an eligible Recognized Document. - [documentation-index-document-missing](https://presswork.sh/rules/documentation-index-document-missing): Reports a required Index Document that does not exist. - [documentation-index-entry-malformed](https://presswork.sh/rules/documentation-index-entry-malformed): Reports one Index Section list item that identifies more than one relevant member. - [documentation-index-member-duplicate](https://presswork.sh/rules/documentation-index-member-duplicate): Reports a relevant member that appears more than once in its Index Section. - [documentation-index-member-stale](https://presswork.sh/rules/documentation-index-member-stale): Reports an Index Section entry for a member that is no longer relevant. - [documentation-index-member-undescribed](https://presswork.sh/rules/documentation-index-member-undescribed): Reports an index member without meaningful authored loading guidance. - [documentation-index-member-wrong-depth](https://presswork.sh/rules/documentation-index-member-wrong-depth): Reports an index entry for a descendant owned by a child directory's index. - [documentation-index-member-wrong-target](https://presswork.sh/rules/documentation-index-member-wrong-target): Reports an index entry whose target does not match the member it identifies. - [documentation-index-orphaned-document](https://presswork.sh/rules/documentation-index-orphaned-document): Reports a relevant direct child document omitted from its Index Section. - [documentation-index-section-ambiguous](https://presswork.sh/rules/documentation-index-section-ambiguous): Reports an Index Document that contains the configured Index Section heading more than once. - [documentation-index-section-missing](https://presswork.sh/rules/documentation-index-section-missing): Reports an Index Document without its configured Index Section heading. - [markdown-destination-malformed](https://presswork.sh/rules/markdown-destination-malformed): Reports a Markdown destination with invalid URL or percent-encoding syntax. - [markdown-destination-scheme-unsupported](https://presswork.sh/rules/markdown-destination-scheme-unsupported): Reports a Markdown destination that uses an unsupported URI scheme. - [markdown-heading-fragment-missing](https://presswork.sh/rules/markdown-heading-fragment-missing): Reports a checked Markdown fragment that does not match a GitHub heading slug. - [markdown-local-target-case-mismatch](https://presswork.sh/rules/markdown-local-target-case-mismatch): Reports a local Markdown target whose path casing differs from the repository path. - [markdown-local-target-missing](https://presswork.sh/rules/markdown-local-target-missing): Reports a local Markdown destination whose target does not exist. - [markdown-local-target-outside-repository](https://presswork.sh/rules/markdown-local-target-outside-repository): Reports a local Markdown target that escapes the Repository Root. - [mattpocock-adr-number-duplicate](https://presswork.sh/rules/mattpocock-adr-number-duplicate): Reports canonical Architecture Decision Records that share one four-digit number. - [mattpocock-adr-number-gap](https://presswork.sh/rules/mattpocock-adr-number-gap): Reports a missing number in the canonical Architecture Decision Record sequence from 0001. - [mattpocock-adr-status-invalid](https://presswork.sh/rules/mattpocock-adr-status-invalid): Reports an unsupported optional status in a Matt Pocock Profile Architecture Decision Record. - [mattpocock-adr-structure-invalid](https://presswork.sh/rules/mattpocock-adr-structure-invalid): Reports a Matt Pocock Profile Architecture Decision Record without its required title and decision paragraph. - [mattpocock-adr-title-slug-mismatch](https://presswork.sh/rules/mattpocock-adr-title-slug-mismatch): Reports a canonical Architecture Decision Record whose filename slug does not match its H1 title. - [mattpocock-context-map-structure-invalid](https://presswork.sh/rules/mattpocock-context-map-structure-invalid): Reports a root CONTEXT-MAP.md that does not match the Matt Pocock Profile's context-map structure. - [mattpocock-context-structure-invalid](https://presswork.sh/rules/mattpocock-context-structure-invalid): Reports a root CONTEXT.md that does not match the Matt Pocock Profile's context-language structure. - [template-definition-directive-malformed](https://presswork.sh/rules/template-definition-directive-malformed): Reports a malformed, inline, or unsupported presswork Template Directive. - [template-definition-heading-invalid](https://presswork.sh/rules/template-definition-heading-invalid): Reports a Template without exactly one leading H1 or with skipped heading levels. - [template-definition-optional-placement-ambiguous](https://presswork.sh/rules/template-definition-optional-placement-ambiguous): Reports optional Template boundaries that do not wrap one complete heading section. - [template-definition-placeholder-malformed](https://presswork.sh/rules/template-definition-placeholder-malformed): Reports a Template placeholder that is not a lower-case identifier in double braces. - [template-definition-prompt-unmatched](https://presswork.sh/rules/template-definition-prompt-unmatched): Reports prompt Template Directive boundaries that do not form a matching pair. - [template-directive-unresolved](https://presswork.sh/rules/template-directive-unresolved): Reports a presswork Template Directive left in a completed typed document. - [template-heading-missing](https://presswork.sh/rules/template-heading-missing): Reports a required Template heading that is absent from a completed typed document. - [template-heading-order](https://presswork.sh/rules/template-heading-order): Reports a Template heading outside its declared relative order. - [template-heading-structure-invalid](https://presswork.sh/rules/template-heading-structure-invalid): Reports an invalid H1 count or skipped heading level in a completed typed document. - [template-heading-undeclared](https://presswork.sh/rules/template-heading-undeclared): Reports a heading occurrence that a Strict Template does not declare. - [template-placeholder-unresolved](https://presswork.sh/rules/template-placeholder-unresolved): Reports a Template placeholder or placeholder delimiter left in a completed typed document.