Skip to main content

pratidoc

Lint your repository docs - ensure the essentials are always there.

✨ Features 🚀 Quick start 📚 Documentation 🤝 Contribute 👍 Adopters 📜 Legal


Features

pratidoc is a documentation checker which verifies if your project contains a set of essential documentation files:

  • Well-defined files: Only the files common in large open source projects are searched for.
  • Comprehensive choice: Documents from a wide range of categories (like legal, governance, security, community, etc.) are included.
  • Link to source: Wherever applicable each rule points to the official/well-respected resource with more information regarding it.

Table of contents

Quick start

Installation

[!TIP] You can use your favorite package manager like uv, hatch or pdm instead of pip.

> pip install pratidoc

Usage

To check against the rules run the following from the command line:

> pratidoc check

[!NOTE] The command should be ran from the directory which we want to verify and no path(s) should be passed as arguments!

an example output could be:

> ALL:-:-: PRATIDOC1 Multiple README files exist.

[!NOTE] This is a repo-wide linter, therefore it will not point to a specific line, instead ALL:-:-: means that the rule was violated in current working directory.

Advanced

Configuration

You can configure pratidoc in pyproject.toml (or .pratidoc.toml in the root of your project, just remove the [tool.pratidoc] section), for example:

[tool.pratidoc]
# include rules by their code
include_codes = [1, 2, 5] # default: all rules included
# exclude rules by their code (takes precedence over include)
exclude_codes = [4, 5, 6] # default: no rules excluded
# whether to exit after first error or all errors
end_mode = "first" # default: "all"

[!WARNING] You can only disable rules via include/exclude codes as shown above.

Run as a pre-commit hook

pratidoc can be used as a pre-commit hook, to add as a plugin:

repos:
-   repo: "https://github.com/open-nudge/pratidoc"
    rev: ...  # select the tag or revision you want, or run `pre-commit autoupdate`
    hooks:
    -   id: "pratidoc"

Rules

[!TIP] Run pratidoc rules to see the list of available rules.

pratidoc provides the following rules (links omitted for brevity):

Name Enabled Description
PRATIDOC0 True File README should be defined.
PRATIDOC1 True Only one README file should be defined.
PRATIDOC2 True File SECURITY should be defined.
PRATIDOC3 True Only one SECURITY file should be defined.
PRATIDOC4 True File LICENSE should be defined.
PRATIDOC5 True Only one LICENSE file should be defined.
PRATIDOC6 True File CHANGELOG should be defined.
PRATIDOC7 True Only one CHANGELOG file should be defined.
PRATIDOC8 True File CITATION should be defined.
PRATIDOC9 True Only one CITATION file should be defined.
PRATIDOC10 True File DCO should be defined.
PRATIDOC11 True Only one DCO file should be defined.
PRATIDOC12 True File ADOPTERS should be defined.
PRATIDOC13 True Only one ADOPTERS file should be defined.
PRATIDOC14 True File CODE_OF_CONDUCT should be defined.
PRATIDOC15 True Only one CODE_OF_CONDUCT file should be defined.
PRATIDOC16 True File ROADMAP should be defined.
PRATIDOC17 True Only one ROADMAP file should be defined.
PRATIDOC18 True File CODEOWNERS should be defined.
PRATIDOC19 True Only one CODEOWNERS file should be defined.
PRATIDOC20 True File GOVERNANCE should be defined.
PRATIDOC21 True Only one GOVERNANCE file should be defined.
PRATIDOC22 True File CONTRIBUTING should be defined.
PRATIDOC23 True Only one CONTRIBUTING file should be defined.
PRATIDOC24 True File SUPPORT should be defined.
PRATIDOC25 True Only one SUPPORT file should be defined.

You can consult the following resources to learn more about a given document (click on the name to go to the resource):

Contribute

We welcome your contributions! Start here:

Legal

  • This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
  • This project is copyrighted by open-nudge - the appropriate copyright notice is included in each file.

Metadata

Release files for pratidoc 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pratidoc 1.0.0
File Size Uploaded
pratidoc-1.0.0.tar.gz 16.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pratidoc 1.0.0
File Interpreter ABI Platform
pratidoc-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.0 kB

Release files / pratidoc-1.0.0.tar.gz

Download URL pratidoc-1.0.0.tar.gz
Size 16.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0fe9102b78ef1ee57ab07544b35d690b55dbf0b9fd6eb3c9e09ed6a45e8e281a
BLAKE2b-256 checksum
How to use checksums
e8e2853451e839f544972406e4b4704ff6b26b29f322d6d88113357c6a0ab7ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2025.

Transparency log

Release files / pratidoc-1.0.0-py3-none-any.whl

Download URL pratidoc-1.0.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd17144b5f8dd96f4380dbd93fe674b2aa92b38809dae47130aa8d57ed33e3a5
BLAKE2b-256 checksum
How to use checksums
6cbc3604fa2dbb13da975c4bbdbddeba5c9a51ed5cb6aa8a9655285bf8bd78e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page